diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-03-08 21:36:06 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-03-14 23:54:08 +0800 |
commit | 6bafd5c27c635394128504c7672787b5503f8838 (patch) | |
tree | cda0d670e64f1e80808557faf0cf5a56a652b75a | |
parent | 70394ac04857ef1a66bbed3465d7ec73077ae343 (diff) | |
download | gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar.gz gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar.bz2 gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar.lz gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar.xz gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.tar.zst gsoc2013-empathy-6bafd5c27c635394128504c7672787b5503f8838.zip |
Look for a localized EULA first
-rw-r--r-- | libempathy-gtk/empathy-account-widget.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/libempathy-gtk/empathy-account-widget.c b/libempathy-gtk/empathy-account-widget.c index d55951142..e7cec6b20 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -1412,13 +1412,34 @@ account_widget_skype_show_eula (GtkWindow *parent) { GtkWidget *dialog, *textview, *vbox, *scrolledwindow; GtkTextBuffer *buffer; - gchar *filename = empathy_file_lookup ("skype-eula.txt", "data"); + gchar *filename, *l10n_filename; + const gchar * const * langs; + GError *error = NULL; gchar *eula; gint result; gsize len; - GError *error = NULL; + gint i; + + filename = empathy_file_lookup ("skype-eula.txt", "data"); + + langs = g_get_language_names (); + + for (i = 0; langs[i] != NULL; i++) + { + l10n_filename = g_strconcat (filename, ".", langs[i], NULL); + g_file_get_contents (l10n_filename, &eula, &len, NULL); + g_free (l10n_filename); + + if (eula != NULL) + break; + } + + if (eula == NULL) + { + DEBUG ("Could not open translated Skype EULA"); + g_file_get_contents (filename, &eula, &len, &error); + } - g_file_get_contents (filename, &eula, &len, &error); g_free (filename); if (error != NULL) |