From abcd1d57ad8c74bca8465c019f54b50e841255e7 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 17 Sep 2008 12:42:07 +0100 Subject: [PATCH] bugfix: store translations in the C locale so we can still provide a package name in C even if there are no translations --- client/pk-import-desktop.c | 5 +++++ libpackagekit/pk-extra.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/client/pk-import-desktop.c b/client/pk-import-desktop.c index 0fd7f1b49..5feab0b41 100644 --- a/client/pk-import-desktop.c +++ b/client/pk-import-desktop.c @@ -157,6 +157,11 @@ pk_desktop_process_desktop (const gchar *package_name, const gchar *filename) /* get the default entry */ name_unlocalised = g_key_file_get_string (key, G_KEY_FILE_DESKTOP_GROUP, "Name", NULL); + if (!egg_strzero (name_unlocalised)) { + g_print ("C"); + pk_extra_set_locale (extra, "C"); + pk_extra_set_data_locale (extra, package_name, name_unlocalised); + } /* for each locale */ for (i=0; ilen; i++) { diff --git a/libpackagekit/pk-extra.c b/libpackagekit/pk-extra.c index 5f33919b0..a2ce19cff 100644 --- a/libpackagekit/pk-extra.c +++ b/libpackagekit/pk-extra.c @@ -229,6 +229,16 @@ pk_extra_populate_locale_cache (PkExtra *extra) sqlite3_free (error_msg); return FALSE; } + + /* get summary packages - no translation */ + statement = g_strdup_printf ("SELECT package, summary FROM localised WHERE locale = '%s'", "C"); + rc = sqlite3_exec (extra->priv->db, statement, pk_extra_populate_locale_cache_callback, extra, &error_msg); + g_free (statement); + if (rc != SQLITE_OK) { + egg_warning ("SQL error: %s\n", error_msg); + sqlite3_free (error_msg); + return FALSE; + } return TRUE; }