cups: Fix gettext usage

The previous patches didn't mark some strings as to be translated, and
tried to translate strings with a variable part already inside the
string, which isn't going to work.

Mark the strings as translatable with context, and also make sure to
translate static strings when getting them out of their structure.

https://bugzilla.gnome.org/show_bug.cgi?id=764585
This commit is contained in:
Bastien Nocera
2016-04-15 12:13:34 +02:00
parent 5b7c06118c
commit 97d27ca2f8

View File

@ -4409,40 +4409,37 @@ static const struct {
* Handles "format not a string literal" error * Handles "format not a string literal" error
* https://mail.gnome.org/archives/desktop-devel-list/2016-March/msg00075.html * https://mail.gnome.org/archives/desktop-devel-list/2016-March/msg00075.html
*/ */
static const gchar * static gchar *
get_ipp_choice_translation_string (gint index, get_ipp_choice_translation_string (gint index,
guint i) guint i)
{ {
const gchar *translation; gchar *translation;
gchar *string;
if (i < G_N_ELEMENTS (ipp_choice_translations)) if (i < G_N_ELEMENTS (ipp_choice_translations))
translation = ipp_choice_translations[i].translation; translation = g_strdup (_(ipp_choice_translations[i].translation));
else else
{ {
switch (i) switch (i)
{ {
case 14: case 14:
/* Translators: Output stacker number %d */ /* Translators: Output stacker number %d */
string = g_strdup_printf ("Stacker %d", index); translation = g_strdup_printf (C_("output-bin", "Stacker %d"), index);
break; break;
case 15: case 15:
/* Translators: Output mailbox number %d */ /* Translators: Output mailbox number %d */
string = g_strdup_printf ("Mailbox %d", index); translation = g_strdup_printf (C_("output-bin", "Mailbox %d"), index);
break; break;
case 16: case 16:
/* Translators: Private mailbox */ /* Translators: Private mailbox */
string = g_strdup ("My Mailbox"); translation = g_strdup (C_("output-bin", "My Mailbox"));
break; break;
case 17: case 17:
/* Translators: Output tray number %d */ /* Translators: Output tray number %d */
string = g_strdup_printf ("Tray %d", index); translation = g_strdup_printf (C_("output-bin", "Tray %d"), index);
break; break;
default: default:
g_assert_not_reached (); g_assert_not_reached ();
} }
translation = g_dpgettext2 (GETTEXT_PACKAGE, "output-bin", string);
} }
return translation; return translation;
@ -5206,9 +5203,7 @@ get_ipp_choice_translation (const gchar *ipp_option_name,
if (index != 0 || endptr != nptr) if (index != 0 || endptr != nptr)
{ {
translation = g_strdup (g_dpgettext2 (GETTEXT_PACKAGE, translation = get_ipp_choice_translation_string (index, i);
ipp_option_name,
get_ipp_choice_translation_string (index, i)));
break; break;
} }
} }