diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-01-06 17:50:49 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2022-01-06 17:54:37 +0800 |
commit | 127685ef2220a857d4c8e9e29519c5db8139b40f (patch) | |
tree | c744d58baf9b502e2ef26c14492496dcc2be5d7e | |
parent | be81f6b4ab7d80bcd02908769311181e4a36997b (diff) | |
download | gtk+-win32-dynamic-iso-code-path.tar.gz |
laguage-names.c: Windows: Look for iso-codes dynamicallywin32-dynamic-iso-code-path
Use the internal APIs _gtk_get_localedir() and gtk_get_datadir() to look for
the XML files and translations for iso-codes, instead of using a path defined
at build time, on Windows.
-rw-r--r-- | gtk/language-names.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gtk/language-names.c b/gtk/language-names.c index 16deef3bea..a9b9d5506c 100644 --- a/gtk/language-names.c +++ b/gtk/language-names.c @@ -18,6 +18,7 @@ #include <hb-ot.h> #include "language-names.h" +#include "gtkprivate.h" #ifndef ISO_CODES_PREFIX #define ISO_CODES_PREFIX "/usr" @@ -200,11 +201,22 @@ languages_variant_init (const char *variant) char *filename; GError *error; - bindtextdomain (variant, ISO_CODES_LOCALESDIR); + char *iso_codes_datadir; + char *iso_codes_localedir; + +#ifdef G_OS_WIN32 + iso_codes_datadir = g_build_filename (_gtk_get_datadir (), "xml", "iso-codes", NULL); + iso_codes_localedir = _gtk_get_localedir (); +#else + iso_codes_datadir = g_strdup (ISO_CODES_DATADIR); + iso_codes_localedir = g_strdup (ISO_CODES_LOCALESDIR); +#endif + + bindtextdomain (variant, iso_codes_localedir); bind_textdomain_codeset (variant, "UTF-8"); error = NULL; - filename = g_strconcat (ISO_CODES_DATADIR, "/", variant, ".xml", NULL); + filename = g_strconcat (iso_codes_datadir, "/", variant, ".xml", NULL); res = g_file_get_contents (filename, &buf, &buf_len, &error); if (res) { @@ -230,6 +242,8 @@ languages_variant_init (const char *variant) g_free (filename); g_free (buf); + g_free (iso_codes_datadir); + g_free (iso_codes_localedir); } static void |