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-04-08 18:41:28 +0800
commit03ad19bdbc539ab4e12fdd72d22d1b507aae487b (patch)
treecddd8e6daee31acce22d07ce8307e793170a75a8
parent35d8977bb40bde9ba18a552fe9f7da11640b173a (diff)
downloadgsoc2013-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.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 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)