aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-03-08 21:36:06 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-03-14 23:54:08 +0800
commit6bafd5c27c635394128504c7672787b5503f8838 (patch)
treecda0d670e64f1e80808557faf0cf5a56a652b75a
parent70394ac04857ef1a66bbed3465d7ec73077ae343 (diff)
downloadgsoc2013-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.c27
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)