Bug 503071 – Application direction changes to right to left even if

2008-06-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 503071 – Application direction changes to right to left even if
        theres no translation

        * configure.in: Bump glib requirement.

        * gtk/gtkaccellabel.c
        (_gtk_accel_label_class_get_accelerator_label):
        * gtk/gtkactiongroup.c (dgettext_swapped):
        * gtk/gtkbuilder.c (gtk_builder_class_init):
        * gtk/gtkbuilderparser.c (_dpgettext),
        (_gtk_builder_parser_translate):
        * gtk/gtkfilechooserdefault.c (list_size_data_func):
        * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
        * gtk/gtkintl.h:
        * gtk/gtkmain.c (setlocale_initialization),
        (do_pre_parse_initialization), (gettext_initialization):
        * gtk/gtkstock.c (gtk_stock_lookup), (sgettext_swapped):
        Use g_dgettext() and g_dngettext().


svn path=/trunk/; revision=20358
This commit is contained in:
Behdad Esfahbod 2008-06-11 23:40:35 +00:00 committed by Behdad Esfahbod
parent 98fbada587
commit d76e3d552e
11 changed files with 66 additions and 33 deletions

View File

@ -1,3 +1,24 @@
2008-06-11 Behdad Esfahbod <behdad@gnome.org>
Bug 503071 Application direction changes to right to left even if
theres no translation
* configure.in: Bump glib requirement.
* gtk/gtkaccellabel.c
(_gtk_accel_label_class_get_accelerator_label):
* gtk/gtkactiongroup.c (dgettext_swapped):
* gtk/gtkbuilder.c (gtk_builder_class_init):
* gtk/gtkbuilderparser.c (_dpgettext),
(_gtk_builder_parser_translate):
* gtk/gtkfilechooserdefault.c (list_size_data_func):
* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
* gtk/gtkintl.h:
* gtk/gtkmain.c (setlocale_initialization),
(do_pre_parse_initialization), (gettext_initialization):
* gtk/gtkstock.c (gtk_stock_lookup), (sgettext_swapped):
Use g_dgettext() and g_dngettext().
2008-06-11 Matthias Clasen <mclasen@redhat.com>
* docs/RELEASE-HOWTO: Updates

View File

@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0])
m4_define([gtk_binary_version], [2.10.0])
# required versions of other packages
m4_define([glib_required_version], [2.15.0])
m4_define([glib_required_version], [2.17.1])
m4_define([pango_required_version], [1.20])
m4_define([atk_required_version], [1.13.0])
m4_define([cairo_required_version], [1.6])

View File

@ -750,7 +750,7 @@ _gtk_accel_label_class_get_accelerator_label (GtkAccelLabelClass *klass,
strcpy (msg, "keyboard label|");
g_strlcat (msg, tmp, 128);
str = dgettext (GETTEXT_PACKAGE, msg);
str = _(msg);
if (str == msg)
{
g_string_append (gstring, tmp);

View File

@ -1278,9 +1278,9 @@ static gchar *
dgettext_swapped (const gchar *msgid,
const gchar *domainname)
{
/* Pass through dgettext if and only if msgid is nonempty. */
/* Pass through g_dgettext if and only if msgid is nonempty. */
if (msgid && *msgid)
return dgettext (domainname, msgid);
return (gchar*) g_dgettext (domainname, msgid);
else
return (gchar*) msgid;
}
@ -1288,9 +1288,9 @@ dgettext_swapped (const gchar *msgid,
/**
* gtk_action_group_set_translation_domain:
* @action_group: a #GtkActionGroup
* @domain: the translation domain to use for dgettext() calls
* @domain: the translation domain to use for g_dgettext() calls
*
* Sets the translation domain and uses dgettext() for translating the
* Sets the translation domain and uses g_dgettext() for translating the
* @label and @tooltip of #GtkActionEntry<!-- -->s added by
* gtk_action_group_add_actions().
*

View File

@ -86,7 +86,7 @@ gtk_builder_class_init (GtkBuilderClass *klass)
* The translation domain used when translating property values that
* have been marked as translatable in interface descriptions.
* If the translation domain is %NULL, #GtkBuilder uses gettext(),
* otherwise dgettext().
* otherwise g_dgettext().
*
* Since: 2.12
*/

View File

@ -827,9 +827,9 @@ start_element (GMarkupParseContext *context,
* GNU gettext uses '\004' to separate context and msgid in .mo files.
*/
static const char *
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;
@ -842,13 +842,13 @@ dpgettext (const char *domain,
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = dgettext (domain, msg_ctxt_id);
translation = g_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);
translation = g_dgettext (domain, msg_ctxt_id);
if (translation == msg_ctxt_id)
return msgid;
@ -865,9 +865,9 @@ _gtk_builder_parser_translate (const gchar *domain,
const char *s;
if (context)
s = dpgettext (domain, context, text);
s = _dpgettext (domain, context, text);
else
s = dgettext (domain, text);
s = g_dgettext (domain, text);
return g_strdup (s);
}

View File

@ -10817,7 +10817,7 @@ list_size_data_func (GtkTreeViewColumn *tree_column,
size = gtk_file_info_get_size (info);
#if 0
if (size < (gint64)1024)
str = g_strdup_printf (ngettext ("%d byte", "%d bytes", (gint)size), (gint)size);
str = g_strdup_printf (g_dngettext (GETTEXT_DOMAIN, "%d byte", "%d bytes", (gint)size), (gint)size);
else if (size < (gint64)1024*1024)
str = g_strdup_printf (_("%.1f KB"), size / (1024.));
else if (size < (gint64)1024*1024*1024)

View File

@ -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 = dgettext (contexts[i]->domain, contexts[i]->context_name);
translated_name = g_dgettext (contexts[i]->domain, contexts[i]->context_name);
}
else
{

View File

@ -4,7 +4,7 @@
#include <glib/gi18n-lib.h>
#ifdef ENABLE_NLS
#define P_(String) dgettext(GETTEXT_PACKAGE "-properties",String)
#define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties",String)
#else
#define P_(String) (String)
#endif

View File

@ -527,22 +527,13 @@ enum_locale_proc (LPTSTR locale)
#endif
static void
do_pre_parse_initialization (int *argc,
char ***argv)
setlocale_initialization (void)
{
const gchar *env_string;
#if 0
g_set_error_handler (gtk_error);
g_set_warning_handler (gtk_warning);
g_set_message_handler (gtk_message);
g_set_print_handler (gtk_print);
#endif
static gboolean initialized = FALSE;
if (pre_initialized)
if (initialized)
return;
pre_initialized = TRUE;
initialized = TRUE;
if (do_setlocale)
{
@ -607,6 +598,25 @@ do_pre_parse_initialization (int *argc,
g_warning ("Locale not supported by C library.\n\tUsing the fallback 'C' locale.");
#endif
}
}
static void
do_pre_parse_initialization (int *argc,
char ***argv)
{
const gchar *env_string;
#if 0
g_set_error_handler (gtk_error);
g_set_warning_handler (gtk_warning);
g_set_message_handler (gtk_message);
g_set_print_handler (gtk_print);
#endif
if (pre_initialized)
return;
pre_initialized = TRUE;
gdk_pre_parse_libgtk_only ();
gdk_event_handler_set ((GdkEventFunc)gtk_main_do_event, NULL, NULL);
@ -630,6 +640,8 @@ do_pre_parse_initialization (int *argc,
static void
gettext_initialization (void)
{
setlocale_initialization ();
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, GTK_LOCALEDIR);
bindtextdomain (GETTEXT_PACKAGE "-properties", GTK_LOCALEDIR);

View File

@ -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 = dgettext (item->translation_domain, item->label);
item->label = g_dgettext (item->translation_domain, item->label);
}
}
@ -417,7 +417,7 @@ static const GtkStockItem builtin_items [] =
* a stock item.
*
* If no function is registered for a translation domain,
* dgettext() is used.
* g_dgettext() is used.
*
* Since: 2.8
*
@ -457,7 +457,7 @@ sgettext_swapped (const gchar *msgid,
{
gchar *domainname = data;
return (gchar *)g_strip_context (msgid, dgettext (domainname, msgid));
return (gchar *)g_strip_context (msgid, g_dgettext (domainname, msgid));
}