static void
init_i18n (void)
{
- /* little trick make en_GB the fallback language, instead
- * of the logical IDs
- * we need the ugly ifdefs, because modest_platform_init is
- * too late.
- */
const gchar *lc_messages = getenv ("LC_MESSAGES");
if (!lc_messages) {
setenv ("LANGUAGE", "en_GB", 1);
setenv ("LC_MESSAGES", "en_GB", 1);
- } else {
- gchar *language = g_strdup_printf ("%s:en_GB", lc_messages);
- setenv ("LC_MESSAGES", language, 1);
- g_free (language);
}
- /* end of little trick */
bindtextdomain (GETTEXT_PACKAGE, MODEST_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
char line[MCC_FILE_MAX_LINE_LEN];
guint previous_mcc = 0;
gchar *territory;
-
+ GHashTable *country_hash;
FILE *file;
/* First we need to know our current region */
g_warning ("Could not open mcc_mapping file");
return;
}
+
+ country_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
while (fgets (line, MCC_FILE_MAX_LINE_LEN, file) != NULL) {
int mcc;
char *country = NULL;
+ GtkTreeIter iter;
const gchar *name_translated;
mcc = parse_mcc_mapping_line (line, &country);
continue;
}
- if (mcc == previous_mcc) {
- /* g_warning ("already seen: %s", line); */
+ if (mcc == previous_mcc ||
+ g_hash_table_lookup (country_hash, country)) {
+ g_message ("already seen: '%s' %d", country, mcc);
continue;
}
previous_mcc = mcc;
+ g_hash_table_insert (country_hash, g_strdup (country), GINT_TO_POINTER (mcc));
+
name_translated = dgettext ("osso-countries", country);
/* Add the row to the model: */
- GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set(GTK_LIST_STORE (model), &iter,
MODEST_UTILS_COUNTRY_MODEL_COLUMN_MCC, mcc,
MODEST_UTILS_COUNTRY_MODEL_COLUMN_NAME, name_translated,
-1);
}
+
+
+ g_hash_table_unref (country_hash);
fclose (file);
/* Fallback to Finland */