Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/previewer
diff options
context:
space:
mode:
authorHib Eris <hib@hiberis.nl>2010-05-17 09:38:16 (GMT)
committer Hib Eris <hib@hiberis.nl>2010-05-25 12:23:03 (GMT)
commit61c9b15fa57e40c9561ae8d5ca13228d4e7a897a (patch)
tree61c05c3ee7ad0e064a26338f159c3d803054370b /previewer
parent2085e3e413cc926551b9ba6ce91689f9b9e236ce (diff)
[windows] Fix localization on Windows
Fixes bgo#610548
Diffstat (limited to 'previewer')
-rw-r--r--previewer/ev-previewer.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/previewer/ev-previewer.c b/previewer/ev-previewer.c
index 990a003..14d4f2f 100644
--- a/previewer/ev-previewer.c
+++ b/previewer/ev-previewer.c
@@ -100,6 +100,33 @@ ev_previewer_load_document (const gchar *filename,
g_free (uri);
}
+static gchar*
+ev_previewer_get_locale_dir ()
+{
+#ifdef G_OS_WIN32
+ gchar *install_dir = NULL, *locale_dir;
+ gchar *retval = NULL;
+
+ install_dir =
+ g_win32_get_package_installation_directory_of_module (NULL);
+
+ if (install_dir) {
+ locale_dir = g_build_filename (install_dir,
+ "share", "locale", NULL);
+ retval = g_win32_locale_filename_from_utf8 (locale_dir);
+ g_free (install_dir);
+ g_free (locale_dir);
+ }
+
+ if (retval)
+ return retval;
+ else
+ return g_strdup ("");
+#else
+ return g_strdup (GNOMELOCALEDIR);
+#endif
+}
+
gint
main (gint argc, gchar **argv)
{
@@ -139,7 +166,9 @@ main (gint argc, gchar **argv)
#ifdef ENABLE_NLS
/* Initialize the i18n stuff */
- bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
+ gchar *tmp = ev_previewer_get_locale_dir ();
+ bindtextdomain (GETTEXT_PACKAGE, tmp);
+ g_free (tmp);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif