+2007-11-27 Tor Lillqvist <tml@novell.com>
+
+ * glib/gutils.c (_glib_get_locale_dir) [Win32]: Use either
+ lib/locale or share/locale depending on which one is in
+ GLIB_LOCALE_DIR. When the configury recognizes GNU gettext (based
+ on the _nl_msg_cat_cntr variable, eek), share/locale gets used.
+
+ * glib-zip.in: Likewise, look for message catalogs either in
+ lib/locale or share/locale.
+
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* gio/gfileattribute.c: Fix up a doc comment.
rm $ZIP
zip $ZIP -@ <<EOF
-COPYING.LIB-2
bin/gspawn-win32-helper.exe
bin/gspawn-win32-helper-console.exe
bin/libglib-2.0-@LT_CURRENT_MINUS_AGE@.dll
bin/libgthread-2.0-@LT_CURRENT_MINUS_AGE@.dll
EOF
-zip -r $ZIP lib/locale/*/LC_MESSAGES/glib20.mo
+if [ -f lib/locale/de/LC_MESSAGES/glib20.mo -a -f share/locale/de/LC_MESSAGES/glib20.mo ]; then
+ if [ lib/locale/de/LC_MESSAGES/glib20.mo -nt share/locale/de/LC_MESSAGES/glib20.mo ]; then
+ zip -r $ZIP lib/locale/*/LC_MESSAGES/glib20.mo
+ else
+ zip -r $ZIP share/locale/*/LC_MESSAGES/glib20.mo
+ fi
+elif [ -f lib/locale/de/LC_MESSAGES/glib20.mo ]; then
+ zip -r $ZIP lib/locale/*/LC_MESSAGES/glib20.mo
+else
+ zip -r $ZIP share/locale/*/LC_MESSAGES/glib20.mo
+fi
zip -r $ZIP share/doc/glib-@GLIB_VERSION@
/**
* _glib_get_locale_dir:
*
- * Return the path to the lib\locale subfolder of the GLib
- * installation folder. The path is in the system codepage. We have to
- * use system codepage as bindtextdomain() doesn't have a UTF-8
- * interface.
+ * Return the path to the share\locale or lib\locale subfolder of the
+ * GLib installation folder. The path is in the system codepage. We
+ * have to use system codepage as bindtextdomain() doesn't have a
+ * UTF-8 interface.
*/
static gchar *
_glib_get_locale_dir (void)
{
- gchar *dir, *cp_dir;
+ gchar *install_dir, *locale_dir;
gchar *retval = NULL;
- dir = g_win32_get_package_installation_directory (GETTEXT_PACKAGE, dll_name);
- cp_dir = g_win32_locale_filename_from_utf8 (dir);
- g_free (dir);
+ install_dir = g_win32_get_package_installation_directory (GETTEXT_PACKAGE, dll_name);
- if (cp_dir)
+ if (install_dir)
{
- /* Don't use g_build_filename() on pathnames in the system
- * codepage. In CJK locales cp_dir might end with a double-byte
- * character whose trailing byte is a backslash.
+ /*
+ * Append "/share/locale" or "/lib/locale" depending on whether
+ * autoconfigury detected GNU gettext or not.
*/
- retval = g_strconcat (cp_dir, "\\lib\\locale", NULL);
- g_free (cp_dir);
+ const char *p = GLIB_LOCALE_DIR + strlen (GLIB_LOCALE_DIR);
+ while (*--p != '/')
+ ;
+ while (*--p != '/')
+ ;
+
+ locale_dir = g_build_filename (install_dir, p, NULL);
+
+ retval = g_win32_locale_filename_from_utf8 (locale_dir);
+
+ g_free (install_dir);
+ g_free (locale_dir);
}
if (retval)