summaryrefslogtreecommitdiff
path: root/libappstream-glib/as-app-desktop.c
diff options
context:
space:
mode:
Diffstat (limited to 'libappstream-glib/as-app-desktop.c')
-rw-r--r--libappstream-glib/as-app-desktop.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libappstream-glib/as-app-desktop.c b/libappstream-glib/as-app-desktop.c
index 0f78b5b..c4cc099 100644
--- a/libappstream-glib/as-app-desktop.c
+++ b/libappstream-glib/as-app-desktop.c
@@ -284,6 +284,9 @@ as_app_parse_file_key (AsApp *app,
} else if (g_str_has_prefix (key, "Keywords")) {
locale = as_app_desktop_key_get_locale (key);
+ if (flags & AS_APP_PARSE_FLAG_ONLY_NATIVE_LANGS &&
+ !g_strv_contains (g_get_language_names (), locale))
+ return TRUE;
list = g_key_file_get_locale_string_list (kf,
G_KEY_FILE_DESKTOP_GROUP,
key,
@@ -338,6 +341,9 @@ as_app_parse_file_key (AsApp *app,
/* Name[] */
} else if (g_str_has_prefix (key, G_KEY_FILE_DESKTOP_KEY_NAME)) {
locale = as_app_desktop_key_get_locale (key);
+ if (flags & AS_APP_PARSE_FLAG_ONLY_NATIVE_LANGS &&
+ !g_strv_contains (g_get_language_names (), locale))
+ return TRUE;
tmp = g_key_file_get_locale_string (kf,
G_KEY_FILE_DESKTOP_GROUP,
G_KEY_FILE_DESKTOP_KEY_NAME,
@@ -359,6 +365,9 @@ as_app_parse_file_key (AsApp *app,
/* Comment[] */
} else if (g_str_has_prefix (key, G_KEY_FILE_DESKTOP_KEY_COMMENT)) {
locale = as_app_desktop_key_get_locale (key);
+ if (flags & AS_APP_PARSE_FLAG_ONLY_NATIVE_LANGS &&
+ !g_strv_contains (g_get_language_names (), locale))
+ return TRUE;
tmp = g_key_file_get_locale_string (kf,
G_KEY_FILE_DESKTOP_GROUP,
G_KEY_FILE_DESKTOP_KEY_COMMENT,
@@ -377,6 +386,9 @@ as_app_parse_file_key (AsApp *app,
as_app_set_name (app, "C", tmp);
} else if (g_str_has_prefix (key, "X-Ubuntu-Software-Center-Name")) {
locale = as_app_desktop_key_get_locale (key);
+ if (flags & AS_APP_PARSE_FLAG_ONLY_NATIVE_LANGS &&
+ !g_strv_contains (g_get_language_names (), locale))
+ return TRUE;
tmp = g_key_file_get_locale_string (kf,
G_KEY_FILE_DESKTOP_GROUP,
"X-Ubuntu-Software-Center-Name",