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-04-08 18:41:28 +0800 |
commit | 03ad19bdbc539ab4e12fdd72d22d1b507aae487b (patch) | |
tree | cddd8e6daee31acce22d07ce8307e793170a75a8 | |
parent | 35d8977bb40bde9ba18a552fe9f7da11640b173a (diff) | |
download | gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar.gz gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar.bz2 gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar.lz gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar.xz gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.tar.zst gsoc2013-empathy-03ad19bdbc539ab4e12fdd72d22d1b507aae487b.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 38353ef4d..b9adeca24 100644 --- a/libempathy-gtk/empathy-account-widget.c +++ b/libempathy-gtk/empathy-account-widget.c @@ -1443,13 +1443,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) |