diff --git a/ChangeLog b/ChangeLog index 8e8414ce3e..68e59ac1d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-05-20 14:27:34 Tim Janik + + * reverted recent unapproved changes by Yair Hershkovitz, regarding: + Bug 503071 – Application direction changes to right to left even if theres no translation. + 2008-05-19 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_hide), diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index dbb657f23d..6a7bf1eda5 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -646,7 +646,7 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass, strcpy (msg, "keyboard label|"); g_strlcat (msg, tmp, 128); - str = g_dgettext (GETTEXT_PACKAGE, msg); + str = dgettext (GETTEXT_PACKAGE, msg); if (str == msg) { g_string_append (gstring, tmp); diff --git a/gtk/gtkactiongroup.c b/gtk/gtkactiongroup.c index 6f085ee0dc..3a86464950 100644 --- a/gtk/gtkactiongroup.c +++ b/gtk/gtkactiongroup.c @@ -1280,7 +1280,7 @@ dgettext_swapped (const gchar *msgid, { /* Pass through dgettext if and only if msgid is nonempty. */ if (msgid && *msgid) - return g_dgettext (domainname, msgid); + return dgettext (domainname, msgid); else return (gchar*) msgid; } diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c index 62e2059636..15fbae3a3d 100644 --- a/gtk/gtkbuilderparser.c +++ b/gtk/gtkbuilderparser.c @@ -755,10 +755,13 @@ start_element (GMarkupParseContext *context, element_name); } +/* This function is taken from gettext.h + * GNU gettext uses '\004' to separate context and msgid in .mo files. + */ static const char * -_g_dpgettext (const char *domain, - const char *msgctxt, - const char *msgid) +dpgettext (const char *domain, + const char *msgctxt, + const char *msgid) { size_t msgctxt_len = strlen (msgctxt) + 1; size_t msgid_len = strlen (msgid) + 1; @@ -768,10 +771,22 @@ _g_dpgettext (const char *domain, msg_ctxt_id = g_alloca (msgctxt_len + msgid_len); memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); - msg_ctxt_id[msgctxt_len - 1] = '|'; + msg_ctxt_id[msgctxt_len - 1] = '\004'; memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); - return g_dpgettext (domain, msg_ctxt_id, 0); + translation = dgettext (domain, msg_ctxt_id); + + if (translation == msg_ctxt_id) + { + /* try the old way of doing message contexts, too */ + msg_ctxt_id[msgctxt_len - 1] = '|'; + translation = dgettext (domain, msg_ctxt_id); + + if (translation == msg_ctxt_id) + return msgid; + } + + return translation; } gchar * @@ -782,9 +797,9 @@ _gtk_builder_parser_translate (const gchar *domain, const char *s; if (context) - s = _g_dpgettext (domain, context, text); + s = dpgettext (domain, context, text); else - s = g_dgettext (domain, text); + s = dgettext (domain, text); return g_strdup (s); } diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index 3ee0cc565f..484ae51e6d 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -590,7 +590,7 @@ gtk_im_multicontext_append_menuitems (GtkIMMulticontext *context, #ifdef HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (contexts[i]->domain, "UTF-8"); #endif - translated_name = g_dgettext (contexts[i]->domain, contexts[i]->context_name); + translated_name = dgettext (contexts[i]->domain, contexts[i]->context_name); } else { diff --git a/gtk/gtkintl.h b/gtk/gtkintl.h index caeb68eb60..4b176bd9f6 100644 --- a/gtk/gtkintl.h +++ b/gtk/gtkintl.h @@ -4,7 +4,7 @@ #include #ifdef ENABLE_NLS -#define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties",String) +#define P_(String) dgettext(GETTEXT_PACKAGE "-properties",String) #else #define P_(String) (String) #endif diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index a835224398..e8f386751b 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -177,7 +177,6 @@ const guint gtk_interface_age = GTK_INTERFACE_AGE; static guint gtk_main_loop_level = 0; static gint pre_initialized = FALSE; static gint gtk_initialized = FALSE; -static gint gettext_initialized = FALSE; static GList *current_events = NULL; static GSList *main_loops = NULL; /* stack of currently executing main loops */ @@ -374,8 +373,6 @@ gtk_disable_setlocale (void) g_warning ("gtk_disable_setlocale() must be called before gtk_init()"); do_setlocale = FALSE; - - g_disable_setlocale (); } #ifdef G_PLATFORM_WIN32 @@ -633,10 +630,6 @@ do_pre_parse_initialization (int *argc, static void gettext_initialization (void) { - if (gettext_initialized) - return; - gettext_initialized = TRUE; - #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, GTK_LOCALEDIR); bindtextdomain (GETTEXT_PACKAGE "-properties", GTK_LOCALEDIR); @@ -644,7 +637,6 @@ gettext_initialization (void) bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); bind_textdomain_codeset (GETTEXT_PACKAGE "-properties", "UTF-8"); # endif - g_i18n_init (); #endif } diff --git a/gtk/gtkstock.c b/gtk/gtkstock.c index c649be6277..c50cf9a236 100644 --- a/gtk/gtkstock.c +++ b/gtk/gtkstock.c @@ -176,7 +176,7 @@ gtk_stock_lookup (const gchar *stock_id, if (translate != NULL && translate->func != NULL) item->label = (* translate->func) (item->label, translate->data); else - item->label = g_dgettext (item->translation_domain, item->label); + item->label = dgettext (item->translation_domain, item->label); } } @@ -457,7 +457,7 @@ sgettext_swapped (const gchar *msgid, { gchar *domainname = data; - return (gchar *)g_strip_context (msgid, g_dgettext (domainname, msgid)); + return (gchar *)g_strip_context (msgid, dgettext (domainname, msgid)); }