diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/src/BaseWindow.c | 12 | ||||
-rw-r--r-- | widgets/src/BaseWindow.h | 2 | ||||
-rw-r--r-- | widgets/src/StandaloneWindow.c | 4 | ||||
-rw-r--r-- | widgets/src/StandaloneWindow.h | 2 | ||||
-rw-r--r-- | widgets/src/intl.h | 2 |
5 files changed, 16 insertions, 6 deletions
diff --git a/widgets/src/BaseWindow.c b/widgets/src/BaseWindow.c index 8b3fcc378..4d31ee4b0 100644 --- a/widgets/src/BaseWindow.c +++ b/widgets/src/BaseWindow.c @@ -17,6 +17,8 @@ * Author: Chris Lumens <clumens@redhat.com> */ +#include <libintl.h> +#include <stdlib.h> #include <string.h> #include "BaseWindow.h" @@ -522,10 +524,18 @@ void anaconda_base_window_clear_info(AnacondaBaseWindow *win) { * * Since: 1.0 */ -void anaconda_base_window_retranslate(AnacondaBaseWindow *win) { +void anaconda_base_window_retranslate(AnacondaBaseWindow *win, const char *lang) { char *markup; GValue distro = G_VALUE_INIT; + setenv("LANGUAGE", lang, 1); + setlocale(LC_ALL, ""); + + { + extern int _nl_msg_cat_cntr; + ++_nl_msg_cat_cntr; + } + g_value_init(&distro, G_TYPE_STRING); g_value_set_string(&distro, _(win->priv->orig_distro)); diff --git a/widgets/src/BaseWindow.h b/widgets/src/BaseWindow.h index 3dd82bc4c..ef9c21068 100644 --- a/widgets/src/BaseWindow.h +++ b/widgets/src/BaseWindow.h @@ -66,7 +66,7 @@ struct _AnacondaBaseWindowClass { GType anaconda_base_window_get_type (void); GtkWidget *anaconda_base_window_new (); -void anaconda_base_window_retranslate (AnacondaBaseWindow *win); +void anaconda_base_window_retranslate (AnacondaBaseWindow *win, const char *lang); gboolean anaconda_base_window_get_beta (AnacondaBaseWindow *win); void anaconda_base_window_set_beta (AnacondaBaseWindow *win, gboolean is_beta); diff --git a/widgets/src/StandaloneWindow.c b/widgets/src/StandaloneWindow.c index 5d68f8eb4..d7e86a82b 100644 --- a/widgets/src/StandaloneWindow.c +++ b/widgets/src/StandaloneWindow.c @@ -205,8 +205,8 @@ void anaconda_standalone_window_set_may_continue(AnacondaStandaloneWindow *win, * * Since: 1.0 */ -void anaconda_standalone_window_retranslate(AnacondaStandaloneWindow *win) { - anaconda_base_window_retranslate(ANACONDA_BASE_WINDOW(win)); +void anaconda_standalone_window_retranslate(AnacondaStandaloneWindow *win, const char *lang) { + anaconda_base_window_retranslate(ANACONDA_BASE_WINDOW(win), lang); gtk_button_set_label(GTK_BUTTON(win->priv->quit_button), _(QUIT_TEXT)); gtk_button_set_label(GTK_BUTTON(win->priv->continue_button), _(CONTINUE_TEXT)); } diff --git a/widgets/src/StandaloneWindow.h b/widgets/src/StandaloneWindow.h index 6afce6fe7..d156205da 100644 --- a/widgets/src/StandaloneWindow.h +++ b/widgets/src/StandaloneWindow.h @@ -72,7 +72,7 @@ GType anaconda_standalone_window_get_type (void); GtkWidget *anaconda_standalone_window_new (); gboolean anaconda_standalone_window_get_may_continue (AnacondaStandaloneWindow *win); void anaconda_standalone_window_set_may_continue (AnacondaStandaloneWindow *win, gboolean may_continue); -void anaconda_standalone_window_retranslate (AnacondaStandaloneWindow *win); +void anaconda_standalone_window_retranslate (AnacondaStandaloneWindow *win, const char *lang); G_END_DECLS diff --git a/widgets/src/intl.h b/widgets/src/intl.h index 6f8b3d5ca..18aad9f64 100644 --- a/widgets/src/intl.h +++ b/widgets/src/intl.h @@ -23,7 +23,7 @@ #include "../config.h" #include "gettext.h" -#define _(x) gettext(x) +#define _(x) dgettext("anaconda", x) #define N_(String) String #ifdef ENABLE_NLS |