diff --git a/src/as-component.c b/src/as-component.c index cb59c0c9..12706561 100644 --- a/src/as-component.c +++ b/src/as-component.c @@ -3734,14 +3734,15 @@ static void as_component_xml_keywords_to_node (AsComponent *cpt, xmlNode *root) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; - g_hash_table_iter_init (&iter, priv->keywords); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (priv->keywords); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { xmlNode *node; - const gchar *locale = (const gchar*) key; - gchar **kws = (gchar**) value; + const gchar *locale = (const gchar*) link->data; + gchar **kws = (gchar**) g_hash_table_lookup (priv->keywords, locale); /* skip cruft */ if (as_is_cruft_locale (locale)) @@ -3891,22 +3892,23 @@ as_component_xml_serialize_languages (AsComponent *cpt, xmlNode *cptnode) { AsComponentPrivate *priv = GET_PRIVATE (cpt); xmlNode *node; - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; if (g_hash_table_size (priv->languages) == 0) return; node = xmlNewChild (cptnode, NULL, (xmlChar*) "languages", NULL); - g_hash_table_iter_init (&iter, priv->languages); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (priv->languages); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { guint percentage; const gchar *locale; xmlNode *l_node; g_autofree gchar *percentage_str = NULL; - locale = (const gchar*) key; - percentage = GPOINTER_TO_INT (value); + locale = (const gchar*) link->data; + percentage = GPOINTER_TO_INT (g_hash_table_lookup (priv->languages, locale)); percentage_str = g_strdup_printf("%i", percentage); l_node = xmlNewTextChild (node, @@ -3927,21 +3929,23 @@ as_component_xml_serialize_custom (AsComponent *cpt, xmlNode *cptnode) { AsComponentPrivate *priv = GET_PRIVATE (cpt); xmlNode *node; - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; if (g_hash_table_size (priv->custom) == 0) return; node = xmlNewChild (cptnode, NULL, (xmlChar*) "custom", NULL); - g_hash_table_iter_init (&iter, priv->custom); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (priv->custom); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { + const gchar *key = (const gchar*) link->data; xmlNode *snode; snode = xmlNewTextChild (node, NULL, (xmlChar*) "value", - (xmlChar*) value); + (xmlChar*) g_hash_table_lookup (priv->custom, key)); xmlNewProp (snode, (xmlChar*) "key", (xmlChar*) key); @@ -4861,8 +4865,8 @@ static void as_component_yaml_emit_languages (AsComponent *cpt, yaml_emitter_t *emitter) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; if (g_hash_table_size (priv->languages) == 0) return; @@ -4870,13 +4874,14 @@ as_component_yaml_emit_languages (AsComponent *cpt, yaml_emitter_t *emitter) as_yaml_emit_scalar (emitter, "Languages"); as_yaml_sequence_start (emitter); - g_hash_table_iter_init (&iter, priv->languages); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (priv->languages); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { guint percentage; const gchar *locale; - locale = (const gchar*) key; - percentage = GPOINTER_TO_INT (value); + locale = (const gchar*) link->data; + percentage = GPOINTER_TO_INT (g_hash_table_lookup (priv->languages, locale)); as_yaml_mapping_start (emitter); as_yaml_emit_entry (emitter, "locale", locale); @@ -4894,8 +4899,8 @@ static void as_component_yaml_emit_custom (AsComponent *cpt, yaml_emitter_t *emitter) { AsComponentPrivate *priv = GET_PRIVATE (cpt); - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; if (g_hash_table_size (priv->custom) == 0) return; @@ -4903,11 +4908,12 @@ as_component_yaml_emit_custom (AsComponent *cpt, yaml_emitter_t *emitter) as_yaml_emit_scalar (emitter, "Custom"); as_yaml_mapping_start (emitter); - g_hash_table_iter_init (&iter, priv->custom); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (priv->custom); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { as_yaml_emit_entry (emitter, - (const gchar*) key, - (const gchar*) value); + (const gchar*) link->data, + (const gchar*) g_hash_table_lookup (priv->custom, link->data)); } as_yaml_mapping_end (emitter); diff --git a/src/as-xml.c b/src/as-xml.c index f107fc1b..6ea91cea 100644 --- a/src/as-xml.c +++ b/src/as-xml.c @@ -355,14 +355,15 @@ as_xml_add_description_node_helper (AsContext *ctx, xmlNode *root, xmlNode **des void as_xml_add_description_node (AsContext *ctx, xmlNode *root, GHashTable *desc_table) { - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; xmlNode *desc_node = NULL; - g_hash_table_iter_init (&iter, desc_table); - while (g_hash_table_iter_next (&iter, &key, &value)) { - const gchar *locale = (const gchar*) key; - const gchar *desc_markup = (const gchar*) value; + keys = g_hash_table_get_keys (desc_table); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { + const gchar *locale = (const gchar*) link->data; + const gchar *desc_markup = g_hash_table_lookup (desc_table, locale); if (as_is_cruft_locale (locale)) continue; @@ -379,14 +380,15 @@ as_xml_add_description_node (AsContext *ctx, xmlNode *root, GHashTable *desc_tab void as_xml_add_localized_text_node (xmlNode *root, const gchar *node_name, GHashTable *value_table) { - GHashTableIter iter; - gpointer key, value; + g_autoptr(GList) keys = NULL; + GList *link; - g_hash_table_iter_init (&iter, value_table); - while (g_hash_table_iter_next (&iter, &key, &value)) { + keys = g_hash_table_get_keys (value_table); + keys = g_list_sort (keys, (GCompareFunc) g_ascii_strcasecmp); + for (link = keys; link != NULL; link = link->next) { xmlNode *cnode; - const gchar *locale = (const gchar*) key; - const gchar *str = (const gchar*) value; + const gchar *locale = (const gchar*) link->data; + const gchar *str = (const gchar*) g_hash_table_lookup (value_table, locale); if (as_str_empty (str)) continue; diff --git a/tests/samples/collection/xml/foobar-1.xml b/tests/samples/collection/xml/foobar-1.xml index 9220a411..f0b3eb17 100644 --- a/tests/samples/collection/xml/foobar-1.xml +++ b/tests/samples/collection/xml/foobar-1.xml @@ -12,21 +12,6 @@ StrategyGame - - org.foobar.AsSampleGame - game-package - A Game - A real game with content rating - game.png - org.foobar.AsSampleGame.desktop - - Game - - - moderate - mild - - 0install.desktop 0install-core @@ -91,6 +76,157 @@ zh_TW + + org.inkscape.Inkscape + inkscape + Inkscape + אינקסקייפ + ఇంక్‌స్కేప్ + Create and edit Scalable Vector Graphics images + إنشاء و تحرير الرسومات الشعاعية + Стварэньне й зьмяненьне відарысаў вэктарнай ґрафікі (SVG) + Създаване и редакция на изображения Scalable Vector Graphics + স্কেলেবল ভেক্টর গ্রাফিক্স ছবি তৈরী ও সম্পাদনা করুন + Krouiñ hag embann skeudennoù mod SVG (Scalable Vector Graphics) + Creeu i editeu imatges de gràfics de vectors escalables + Creeu i editeu imatges de gràfics de vectors escalables + Vytvářejte a upravujte vektorovou grafiku (SVG) + Opret og redigér SVG-billeder + Skalierbare Vektorgrafiken (SVG) erzeugen und bearbeiten + ཆ་ཚད་འཇལ་བཏུབ་པའི་མཉམ་ཐིག་ཚད་རིས་ཀྱི་གཟུགས་བརྙན་ཚུ་གསར་བསྐྲུན་དང་ཞུན་དག་འབད། + Δημιουργήστε και τροποποιήστε διανυσματικές εικόνες τύπου Scalable Vector Graphics + Eatecray andway editway Alablescay Ectorvay Aphicsgray imagesway + Kreu kaj redaktu bildoj en formato SVG (Scalable Vector Graphics) + Cree y edite Gráficos Vectoriales Escalables (SVG) + SVG-vektorgraafikas piltide joonistamine ja muutmine + Sortu eta editatu Grafiko Bektorial Eskalakor (SVG) irudiak + Luo ja muokkaa Scalable Vector Graphics -piirroksia + Créer et éditer des images Scalable Vector Graphics + Cree e edite imaxes Scalable Vector Graphics + יצירה ועריכה של תמונות בגרפיקת וקטורים נמתחת + Stvaranje i uređivanje vektorskih crteža + Scalable Vector Graphics (méretezhető vektorgrafika, SVG)-képek létrehozása és szerkesztése + Membuat dan mengedit gambar Scalable Vector Graphics + Crea e modifica immagini Scalable Vector Graphics + Scalable Vector Graphics (SVG) イメージの作成と編集を行います + បង្កើត និង​កែសម្រួល​​​រូបភាព​ក្រាហ្វិក​វ៉ិចទ័រ​ដែល​អាច​ធ្វើ​មាត្រដ្ឋាន​បាន​​ + SVG 이미지 생성 및 편집 + Kurti ir redaguoti vektorinius grafinius piešinius + Lag og rediger Skalerbar VektorGrafikk-bilder + स्केलेबुल भेक्टर ग्राफिक्स छविहरू सिर्जना गर्नुहोस् र सम्पादन गर्नुहोस् + SVG-tekeningen (Scalable Vector Graphics) maken en bewerken + Lag og rediger skalerbare vektorbilete (SVG) + ਸਕੇਲੇਬਲ ਵੈਕਟਰ ਗਰਾਫਿਕਸ ਚਿੱਤਰ ਬਣਾਓ ਅਤੇ ਸੋਧੋ + Tworzenie i edycja grafiki wektorowej SVG + Crie e edite imagens Gráficas Vectoriais Escalaveis + Crie e edite desenhos vetoriais escaláveis (SVG) + Creează și editează imagini în format Scalable Vector Graphics + Создание и редактирование масштабируемой векторной графики в формате SVG + Tvorba a úprava obrázkov Scalable Vector Graphics + Ustvarjajte in urejajte vektorske slike SVG + Прављење и уређивање SVG векторских слика + Pravljenje i uređivanje SVG vektorskih slika + Skapa och redigera SVG-bilder + సదిశ రేఖాచిత్రాలని సృష్టించండి మరియు దిద్దుబాటు చేయండి + สร้างและแก้ไขภาพ Scalable Vector Graphics + Ölçeklenebilir Vektör İmgeleri oluşturur ve düzenler + Створення та редагування зображень у форматі SVG + Tạo và sửa ảnh véc-tơ co giãn được + 创建并编辑可缩放矢量图形图像 + 建立和編輯可縮放向量繪圖圖形 + inkscape.png + inkscape.png + https://inkscape.org/ + https://inkscape.org/learn/faq/ + inkscape.desktop + + Graphics + VectorGraphics + + + application/illustrator + application/vnd.corel-draw + image/svg+xml + image/svg+xml-compressed + image/x-eps + + + ar + be + bg + br + ca + ca@valencia + cs + da + de + dz + en_GB + en_US@piglatin + eo + es + et + eu + fi + fr + gl + he + hr + hu + id + it + ja + km + ko + lt + nb + ne + nl + pl + pt + pt_BR + ro + ru + sk + sl + sr + sr@latin + sv + uk + vi + zh_CN + zh_TW + + + inkscape + + + + org.example.DeleteMe + delete-me + DeleteMe! + A component that should be removed via a merge-component. + deleteme.png + org.example.DeleteMe.desktop + + Game + + + + org.foobar.AsSampleGame + game-package + A Game + A real game with content rating + game.png + org.foobar.AsSampleGame.desktop + + Game + + + moderate + mild + + kig.desktop kig @@ -351,140 +487,4 @@ application/xye-xml - - org.inkscape.Inkscape - inkscape - Inkscape - אינקסקייפ - ఇంక్‌స్కేప్ - Create and edit Scalable Vector Graphics images - إنشاء و تحرير الرسومات الشعاعية - Стварэньне й зьмяненьне відарысаў вэктарнай ґрафікі (SVG) - Създаване и редакция на изображения Scalable Vector Graphics - স্কেলেবল ভেক্টর গ্রাফিক্স ছবি তৈরী ও সম্পাদনা করুন - Krouiñ hag embann skeudennoù mod SVG (Scalable Vector Graphics) - Creeu i editeu imatges de gràfics de vectors escalables - Creeu i editeu imatges de gràfics de vectors escalables - Vytvářejte a upravujte vektorovou grafiku (SVG) - Opret og redigér SVG-billeder - Skalierbare Vektorgrafiken (SVG) erzeugen und bearbeiten - ཆ་ཚད་འཇལ་བཏུབ་པའི་མཉམ་ཐིག་ཚད་རིས་ཀྱི་གཟུགས་བརྙན་ཚུ་གསར་བསྐྲུན་དང་ཞུན་དག་འབད། - Δημιουργήστε και τροποποιήστε διανυσματικές εικόνες τύπου Scalable Vector Graphics - Eatecray andway editway Alablescay Ectorvay Aphicsgray imagesway - Kreu kaj redaktu bildoj en formato SVG (Scalable Vector Graphics) - Cree y edite Gráficos Vectoriales Escalables (SVG) - SVG-vektorgraafikas piltide joonistamine ja muutmine - Sortu eta editatu Grafiko Bektorial Eskalakor (SVG) irudiak - Luo ja muokkaa Scalable Vector Graphics -piirroksia - Créer et éditer des images Scalable Vector Graphics - Cree e edite imaxes Scalable Vector Graphics - יצירה ועריכה של תמונות בגרפיקת וקטורים נמתחת - Stvaranje i uređivanje vektorskih crteža - Scalable Vector Graphics (méretezhető vektorgrafika, SVG)-képek létrehozása és szerkesztése - Membuat dan mengedit gambar Scalable Vector Graphics - Crea e modifica immagini Scalable Vector Graphics - Scalable Vector Graphics (SVG) イメージの作成と編集を行います - បង្កើត និង​កែសម្រួល​​​រូបភាព​ក្រាហ្វិក​វ៉ិចទ័រ​ដែល​អាច​ធ្វើ​មាត្រដ្ឋាន​បាន​​ - SVG 이미지 생성 및 편집 - Kurti ir redaguoti vektorinius grafinius piešinius - Lag og rediger Skalerbar VektorGrafikk-bilder - स्केलेबुल भेक्टर ग्राफिक्स छविहरू सिर्जना गर्नुहोस् र सम्पादन गर्नुहोस् - SVG-tekeningen (Scalable Vector Graphics) maken en bewerken - Lag og rediger skalerbare vektorbilete (SVG) - ਸਕੇਲੇਬਲ ਵੈਕਟਰ ਗਰਾਫਿਕਸ ਚਿੱਤਰ ਬਣਾਓ ਅਤੇ ਸੋਧੋ - Tworzenie i edycja grafiki wektorowej SVG - Crie e edite imagens Gráficas Vectoriais Escalaveis - Crie e edite desenhos vetoriais escaláveis (SVG) - Creează și editează imagini în format Scalable Vector Graphics - Создание и редактирование масштабируемой векторной графики в формате SVG - Tvorba a úprava obrázkov Scalable Vector Graphics - Ustvarjajte in urejajte vektorske slike SVG - Прављење и уређивање SVG векторских слика - Pravljenje i uređivanje SVG vektorskih slika - Skapa och redigera SVG-bilder - సదిశ రేఖాచిత్రాలని సృష్టించండి మరియు దిద్దుబాటు చేయండి - สร้างและแก้ไขภาพ Scalable Vector Graphics - Ölçeklenebilir Vektör İmgeleri oluşturur ve düzenler - Створення та редагування зображень у форматі SVG - Tạo và sửa ảnh véc-tơ co giãn được - 创建并编辑可缩放矢量图形图像 - 建立和編輯可縮放向量繪圖圖形 - inkscape.png - inkscape.png - https://inkscape.org/ - https://inkscape.org/learn/faq/ - inkscape.desktop - - Graphics - VectorGraphics - - - application/illustrator - application/vnd.corel-draw - image/svg+xml - image/svg+xml-compressed - image/x-eps - - - ar - be - bg - br - ca - ca@valencia - cs - da - de - dz - en_GB - en_US@piglatin - eo - es - et - eu - fi - fr - gl - he - hr - hu - id - it - ja - km - ko - lt - nb - ne - nl - pl - pt - pt_BR - ro - ru - sk - sl - sr - sr@latin - sv - uk - vi - zh_CN - zh_TW - - - inkscape - - - - org.example.DeleteMe - delete-me - DeleteMe! - A component that should be removed via a merge-component. - deleteme.png - org.example.DeleteMe.desktop - - Game - - diff --git a/tests/samples/desktop-converted.xml b/tests/samples/desktop-converted.xml index 23f6261c..e5e70c75 100644 --- a/tests/samples/desktop-converted.xml +++ b/tests/samples/desktop-converted.xml @@ -2,108 +2,108 @@ org.kde.ksysguard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard + حارس نظامك KSysGuard + Системна защита + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard Wachtôrz Systemë KDE - KSysGuard - KSysGuard + KSysGuard + KSysGuard + KSysGuard KSysGuard - KSysGuard - حارس نظامك + KSysGuard KDE-Sistemobservilo - К‑систембран KSysGuard KSysGuard KSysGuard - കെസിസ്ഗാര്‍ഡ് + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + केडीई तंत्र रक्षक + KSysGuard + KSysGuard + KSysGuard + KSysGuard KDE kerfisvörður KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard + KSysGuard KSysGuard + കെസിസ്ഗാര്‍ഡ് के सिसगार्ड - KSysGuard - KSysGuard - K‑sistembran - Системна защита - KDE 系统卫士 - KSysGuard - KSysGuard - KDE тизим назоратчиси KSysGuard - KSysGuard - KSysGuard - KDE tizim nazoratchisi - KSysGuard + KSysGuard KSysGuard KSysGuard - KSysGuard - KSysGuard + ਕੇਸਿਸ-ਗਾਰਡ + Monitor systemu KDE + KSysGuard + KSysGuard KGardianSistem - KSysGuard - KSysGuard Системный монитор - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSysGuard - KSisGåde - K‑sistembran KSysGuard KSysGuard - KSysGuard KSysGuard - KSysGuard - KSysGuard К‑систембран - KSysGuard - KSysGuard + К‑систембран + K‑sistembran + K‑sistembran KDE:s systemövervakare - KSysGuard - केडीई तंत्र रक्षक - ਕੇਸਿਸ-ਗਾਰਡ - KSysGuard - KSysGuard - KSysGuard - Monitor systemu KDE Ҳифзи системаи KDE ป้องกันระบบ-K - KSysGuard - Övervaka processor som kör och systemprestanda + KSysGuard + KSysGuard + KSysGuard + KDE tizim nazoratchisi + KDE тизим назоратчиси + KSysGuard + KSisGåde + KSysGuard + KDE 系统卫士 + KSysGuard + Monitor running processes and system performance + Controlador de processos en execució i rendiment del sistema + Controlador de processos en execució i rendiment del sistema + Overvåg kørende processer og systemets ydelse Laufende Prozess und Systemauslastung überwachen + Επόπτης εκτελούμενων διεργασιών και απόδοσης συστήματος + Monitor running processes and system performance + Monitor de procesos en ejecución y del rendimiento del sistema + Töötavate protsesside ja süsteemi jõudluse jälgimine + Tarkkaile käynnissä olevia prosesseja ja järjestelmän suorituskykyä + Vixiar os procesos en execución e o rendemento do sistema. + מנטר תהליכים פיעילים וביצועי מערכת + Actieve processen en systeemprestaties monitoren + Overvak køyrande prosessar og systemyting Monitoruje uruchomione procesy i wydajność systemu + Vigiar os processos em execução e a performance do sistema Monitora os processos em execução e o desempenho do sistema + Наблюдение за процессами и производительностью системы Monitoruje spustené procesy a výkon systému Nadzirajte tekoča opravila in zmogljivost sistema - 监视运行的进程和系统效率 - Tarkkaile käynnissä olevia prosesseja ja järjestelmän suorituskykyä - Monitor running processes and system performance - Επόπτης εκτελούμενων διεργασιών και απόδοσης συστήματος - מנטר תהליכים פיעילים וביצועי מערכת Надгледајте процесе у раду и перформансе система - Vixiar os procesos en execución e o rendemento do sistema. - Vigiar os processos em execução e a performance do sistema - Controlador de processos en execució i rendiment del sistema - Monitor de procesos en ejecución y del rendimiento del sistema - Töötavate protsesside ja süsteemi jõudluse jälgimine - Nadgledajte procese u radu i performanse sistema - Наблюдение за процессами и производительностью системы - 監視執行中的行程與系統效能 - Monitor running processes and system performance Надгледајте процесе у раду и перформансе система - Controlador de processos en execució i rendiment del sistema + Nadgledajte procese u radu i performanse sistema Nadgledajte procese u radu i performanse sistema - Overvåg kørende processer og systemets ydelse - Actieve processen en systeemprestaties monitoren - Overvak køyrande prosessar og systemyting + Övervaka processor som kör och systemprestanda Стеження за процесами та швидкодією системи + 监视运行的进程和系统效率 + 監視執行中的行程與系統效能 System @@ -114,171 +114,163 @@ org.gnome.Nautilus - Datnes Lêers - Ficheiros - Dosyalar - Ficheros Fichers - Berkas - Arquivos - Αρχεία - Fitxers الملفات ফাইলসমূহ + Ficheros + Файлы + Файлове + ফাইল + ফাইল + Datoteke + Files + Fitxers + Fitxers + Dosyeler + Soubory + Filer + Dateien + Αρχεία + Files + Files Dosieroj Archivos Failid - Датотеки Fitxategiak - ഫയലുകള്‍ - Skrár - File - ھۆججەتلەر - फाइल्स् - Fail-fail - Файли - Файлы پرونده‌ها - Файлове - Datoteke - 文件 - ファイル - ফাইল Tiedostot - Filer - Datoteke - फाइलहरू Fichiers - Bestanden File - Filer - Fitxers - Fișiere - Tập tin Comhaid - Nautilus Faidhlichean - 檔案 - ফাইল - Fichièrs - Soubory Ficheiros + ફાઇલો + קבצים + फ़ाइल + Fájlok + Berkas + Skrár + File + ファイル Файлдар ಕಡತಗಳು 파일 - ફાઇલો + Файлдар + Ba Fisyé + Failai + Datnes + Датотеки + ഫയലുകള്‍ + फाइल्स् + Fail-fail + Filer + फाइलहरू + Bestanden + Filer + Fichièrs + ଫାଇଲଗୁଡିକ + ਫਾਇਲਾਂ + Pliki + Ficheiros + Arquivos + Fișiere + Nautilus Súbory Datoteke - ଫାଇଲଗୁଡିକ - Filer - Файлдар - Files - Dateien Датотеке - 檔案 + Datoteke Filer - קבצים - Files - फ़ाइल - Dosyeler - ਫਾਇਲਾਂ - Files கோப்புகள் - Ba Fisyé దస్త్రాలు - Fájlok - Pliki Файлҳо แฟ้ม - Failai - Piekļūt un organizēt datnes - Aceder e organizar ficheiros - Dosyalara erişin ve düzenleyin - Acceder a los ficheros y organizalos + Dosyalar + ھۆججەتلەر + Файли + Tập tin + 文件 + 檔案 + 檔案 Accedir a os fichers y organizar-los - Mengakses dan mengelola berkas - Acesse e organize arquivos - Προσπελάστε και οργανώστε αρχεία - Organitzeu i accediu a fitxers نظم الملفات وصِل إليها অভিগম কৰক আৰু ফাইলসমূহ আয়োজিত কৰক - Atingi kaj organizi dosierojn - Acceder a los archivos y organizarlos - Ligipääs failidele ning failipuu korrastamine - Пристапувајте и организирајте датотеки - ഫയലുകള്‍ ലഭ്യമാക്കി ക്രമത്തിലാക്കുക - Aðgangur og skipulag skráa - Accede ai file e li organizza - ھۆججەتلەرنى تەشكىللەش ۋە زىيارەت - फाइल्स्ला प्रवेश द्वया व संघटित करा - Akses dan mengurus fail-fail - Доступ до файлів - Pristupite datotekama i organizujte ih + Acceder a los ficheros y organizalos Доступ і кіраванне файламі Достъп и управление на файлове - دسترسی و سازماندهی پرونده‌ها - 访问和组织文件 - ファイルの操作や整理をします ফাইলে ব্যবাহর এবং সাজানো - Käsittele ja järjestä tiedostoja - Utforsk og organiser filer + ফাইলগুলি অ্যাক্সেস এবং সংগঠিত করুন Pristupite i organizujte datoteke + Access and organize files + Organitzeu i accediu a fitxers + Organitzeu i accediu a fitxers + Dosyelerge iriş ve olarnı tertiple + Přístup k souborům a jejich správa + Tilgå og organisér filer + Auf Dateien zugreifen und diese organisieren + Προσπελάστε και οργανώστε αρχεία + Access and organize files + Access and organise files + Atingi kaj organizi dosierojn + Acceder a los archivos y organizarlos + Ligipääs failidele ning failipuu korrastamine + دسترسی و سازماندهی پرونده‌ها + Käsittele ja järjestä tiedostoja Accéder aux fichiers et les organiser - Bestanden gebruiken en organiseren Dopre e organize file - Aksesser og organiser filer - Organitzeu i accediu a fitxers - Accesați și organizați fișiere - Truy cập và tổ chức tập tin Déan rochtain ar chomhaid agus eagraigh iad - Управление файлами Faigh cothrom air faidhlichean is rianaich iad - 存取與組織檔案 - ফাইলগুলি অ্যাক্সেস এবং সংগঠিত করুন - Accedir als fichièrs e los organizar - Přístup k souborům a jejich správa Acceda e organice ficheiros + ફાઇલોને વાપરો અને સંચાલિત કરો + גישה לקבצים וארגונם + फ़ाइलों को व्यवस्थित और पहुँच प्राप्त करें + Fájlok elérése és rendszerezése + Mengakses dan mengelola berkas + Aðgangur og skipulag skráa + Accede ai file e li organizza + ファイルの操作や整理をします Файлдарға қатынау және оларды реттеу ಕಡತಗಳನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಿ ಹಾಗು ವ್ಯವಸ್ಥಿತವಾಗಿ ಜೋಡಿಸಿ 파일 조작 및 정리 - ફાઇલોને વાપરો અને સંચાલિત કરો + Koyíngela mpe kobɔngisa ya kásá + Atverti ir tvarkyti failus + Piekļūt un organizēt datnes + Пристапувајте и организирајте датотеки + ഫയലുകള്‍ ലഭ്യമാക്കി ക്രമത്തിലാക്കുക + फाइल्स्ला प्रवेश द्वया व संघटित करा + Akses dan mengurus fail-fail + Utforsk og organiser filer + Bestanden gebruiken en organiseren + Aksesser og organiser filer + Accedir als fichièrs e los organizar + ଫାଇଲମାନଙ୍କୁ ଅଭିଗମ କରନ୍ତୁ ଏବଂ ସଙ୍ଗଠନ କରନ୍ତୁ + ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਤੇ ਪਰਬੰਧ + Organizowanie plików + Aceder e organizar ficheiros + Acesse e organize arquivos + Accesați și organizați fișiere + Управление файлами Prístupuje k súborom a organizuje ich Dostop in razvrščanje datotek - ଫାଇଲମାନଙ୍କୁ ଅଭିଗମ କରନ୍ତୁ ଏବଂ ସଙ୍ଗଠନ କରନ୍ତୁ - Tilgå og organisér filer - Access and organize files Приступите датотекама и организујте их - Auf Dateien zugreifen und diese organisieren - 存取與組織檔案 + Pristupite datotekama i organizujte ih Kom åt och organisera filer - גישה לקבצים וארגונם - Access and organize files - फ़ाइलों को व्यवस्थित और पहुँच प्राप्त करें - Dosyelerge iriş ve olarnı tertiple - ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਤੇ ਪਰਬੰਧ - Access and organise files கோப்புகளை அணுகு மற்றும் ஒழுங்கு படுத்து - Koyíngela mpe kobɔngisa ya kásá దస్త్రాలను నిర్వహించండి మరియు ప్రాప్తించండి - Fájlok elérése és rendszerezése - Organizowanie plików Кушодан ва мураттабсозии файлҳо เข้าถึงและจัดระเบียบแฟ้ม - Atverti ir tvarkyti failus + Dosyalara erişin ve düzenleyin + ھۆججەتلەرنى تەشكىللەش ۋە زىيارەت + Доступ до файлів + Truy cập và tổ chức tập tin + 访问和组织文件 + 存取與組織檔案 + 存取與組織檔案 Utility Core FileManager - - mape - pārvaldnieks - pārlūkot - disks - datņu sistēma - datne - folder manager @@ -292,36 +284,6 @@ lêerstelsel leer - - pasta - gestor - explorar - disco - sistema - ficheiros - - - katalog - folder - menedżer - menadżer - manadżer - manedżer - manager - eksploruj - eksplorator - dysk - system plików - - - klasör - yönetici - gezgin - keşfet - gözat - disk - dosya sistemi - carpeta chestor @@ -329,43 +291,6 @@ disco sistema de fichers - - folder - manager - explore - disk - filesystem - pengelola - peramban - sistem - berkas - - - pasta - gerenciador - explorar - disco - sistema de arquivos - - - φάκελος - διαχειριστής - εξερεύνηση - δίσκος - σύστημα αρχείων - folder - manager - explore - disk - filesystem - - - carpeta - gestor - explora - disc - sistema de fitxers - مجلد مدير @@ -380,126 +305,143 @@ ডিস্ক ফাইলচিস্টেম - - dosierujo - administrilo - foliumi - esplori - disko - dosiersistemo - - - carpeta - gestor - explorar - disco - sistema de archivos - - - kaust - kataloog - haldur - haldus - sirvija - sirvimine - ketas - kõvaketas - failisüsteem + + папка + кіраўнік + прагляд + дыск + файлавая сістэма - + + папка + файл + навигация + директория + система + диск + устройство + управление + мениджър folder manager explore disk filesystem + directory + file - - mappa - stjórnun - skoða - diskur - skráakerfi + + ফোল্ডার + ম্যানেজার + এক্সপ্লোর + ডিস্ক + ফাইলসিস্টেম - - cartella - gestore - esplora - disco - file - file system + + direktorij + menadžer + istraživanje + disk + datotečni sistem - + folder manager explore disk filesystem - قىسقۇچ - باشقۇرغۇ - دىسكا - ھۆججەت سىستېمىسى - - फोल्डर - मॅनेजर - एक्सप्लोर - डिस्क - फाइलसिस्टम + + carpeta + gestor + explora + disc + sistema de fitxers - - тека - менеджер - папка - диск - файл + + carpeta + gestor + explora + disc + sistema de fitxers - - fascikla - folder - upravnik - menadžer - istraži + + cilbent + idareci + araştır disk - sistem datoteka - fajlsistem - фасцикла - фолдер - управник - менаџер - истражи - диск - систем датотека - фајлсистем + dosyesistemi + + + složka + správce + správa + prohlížení + procházení + disk + souborový systém + systém souborů + + + mappe + håndtering + udforsk + gennemse + disk + filsystem + + + Ordner + Verwaltung + Laufwerk + Festplatte + Dateisystem + Dateien + + + φάκελος + διαχειριστής + εξερεύνηση + δίσκος + σύστημα αρχείων folder manager explore disk filesystem - - папка - кіраўнік - прагляд - дыск - файлавая сістэма - - - папка - файл - навигация - директория - система - диск - устройство - управление - мениджър + folder manager explore disk filesystem - directory - file + + + dosierujo + administrilo + foliumi + esplori + disko + dosiersistemo + + + carpeta + gestor + explorar + disco + sistema de archivos + + + kaust + kataloog + haldur + haldus + sirvija + sirvimine + ketas + kõvaketas + failisüsteem پوشه @@ -513,32 +455,6 @@ disk filesystem - - folder - manager - explore - disk - filesystem - 目录 - 文件夹 - 管理 - 浏览 - 磁盘 - 硬盘 - 文件系统 - - - folder - manager - explore - disk - filesystem - フォルダー - マネージャー - エクスプローラー - ディスク - ファイルシステム - folder manager @@ -550,20 +466,6 @@ levy tiedostojärjestelmä - - mappe - håndterer - utforsk - disk - filsystem - - - direktorij - menadžer - istraživanje - disk - datotečni sistem - dossier gestionnaire @@ -571,18 +473,6 @@ disque système de fichiers - - folder - manager - explore - disk - filesystem - map - beheer - verkenner - schijf - bestandssysteem - cartele gjestôr @@ -591,83 +481,171 @@ file filesystem - - carpeta - gestor - explora - disc - sistema de fitxers + + pasgan + manaidsear + rannsaich + diosg + siostam-faidhle - + + cartafol + xestor + explorar + disco + sistema de ficheiros + + + ફોલ્ડર + સંચાલક + સંશોધન + ડિસ્ક + ફાઇલસિસ્ટમ + + + תיקייה + מנהל + עיון + סיור + כונן + מערכת קבצים + + folder manager explore disk filesystem - administrator - dosar - disc + + + mappa + könyvtár + kezelés + kezelő + intéző + lemez + fájlrendszer + commander + + + folder + manager + explore + disk + filesystem + pengelola + peramban sistem + berkas - + + mappa + stjórnun + skoða + diskur + skráakerfi + + + cartella + gestore + esplora + disco + file + file system + + folder - thư - mục - thu - muc manager - quản - - quan - ly explore - khám - phá - kham - pha disk - đĩa - dia filesystem - hệ - thống - tập - tin - he - thong - tap + フォルダー + マネージャー + エクスプローラー + ディスク + ファイルシステム - - папка - менеджер - обзор + + бума + басқарушы + шолу диск - файловая система + файлдық жүйе - - pasgan - manaidsear - rannsaich - diosg - siostam-faidhle + + ಕಡತಕೋಶ + ವ್ಯವಸ್ಥಾಪಕ + ಹುಡುಕು + ಡಿಸ್ಕ್‍ + ಕಡತವ್ಯವಸ್ಥೆ - + folder + 폴더 manager + 관리 explore + 찾아보기 disk + 디스크 filesystem - 資料夾 - 管理程式 - 磁碟 - 檔案系統 + 파일 + 시스템 - - ফোল্ডার - ম্যানেজার - এক্সপ্লোর - ডিস্ক - ফাইলসিস্টেম + + dosíye + moyángeli + motálitali + disiki + fisyé ya sistɛ́mɛ + + + aplankas + tvarkytuvė + naršyti + diskas + failų sistema + + + mape + pārvaldnieks + pārlūkot + disks + datņu sistēma + datne + + + folder + manager + explore + disk + filesystem + + + फोल्डर + मॅनेजर + एक्सप्लोर + डिस्क + फाइलसिस्टम + + + mappe + håndterer + utforsk + disk + filsystem + + + folder + manager + explore + disk + filesystem + map + beheer + verkenner + schijf + bestandssysteem dorsièr @@ -676,56 +654,65 @@ disc sistèma de fichièrs - - složka - správce - správa - prohlížení - procházení - disk - souborový systém - systém souborů + + ଫୋଲଡର + ପରିଚାଳକ + ଅନ୍ୱେଷଣ + ଡିସ୍କ + ଫାଇଲତନ୍ତ୍ର + + + ਫੋਲਡਰ + ਮੈਨੇਜਰ + explore + ਡਿਸਕ + ਫਾਇਲ-ਸਿਸਟਮ + + + katalog + folder + menedżer + menadżer + manadżer + manedżer + manager + eksploruj + eksplorator + dysk + system plików - - cartafol - xestor + + pasta + gestor explorar disco - sistema de ficheiros - - - бума - басқарушы - шолу - диск - файлдық жүйе + sistema + ficheiros - - ಕಡತಕೋಶ - ವ್ಯವಸ್ಥಾಪಕ - ಹುಡುಕು - ಡಿಸ್ಕ್‍ - ಕಡತವ್ಯವಸ್ಥೆ + + pasta + gerenciador + explorar + disco + sistema de arquivos - + folder - 폴더 manager - 관리 explore - 찾아보기 disk - 디스크 filesystem - 파일 - 시스템 + administrator + dosar + disc + sistem - - ફોલ્ડર - સંચાલક - સંશોધન - ડિસ્ક - ફાઇલસિસ્ટમ + + папка + менеджер + обзор + диск + файловая система priečinok @@ -742,28 +729,6 @@ datotečni sistem disk - - ଫୋଲଡର - ପରିଚାଳକ - ଅନ୍ୱେଷଣ - ଡିସ୍କ - ଫାଇଲତନ୍ତ୍ର - - - mappe - håndtering - udforsk - gennemse - disk - filsystem - - - folder - manager - explore - disk - filesystem - фасцикла фолдер @@ -788,24 +753,28 @@ disk filesystem - - Ordner - Verwaltung - Laufwerk - Festplatte - Dateisystem - Dateien - - + + fascikla + folder + upravnik + menadžer + istraži + disk + sistem datoteka + fajlsistem + фасцикла + фолдер + управник + менаџер + истражи + диск + систем датотека + фајлсистем folder manager explore disk filesystem - 資料夾 - 管理員 - 磁碟 - 檔案系統 mapp @@ -814,42 +783,6 @@ disk filsystem - - תיקייה - מנהל - עיון - סיור - כונן - מערכת קבצים - - - folder - manager - explore - disk - filesystem - - - cilbent - idareci - araştır - disk - dosyesistemi - - - ਫੋਲਡਰ - ਮੈਨੇਜਰ - explore - ਡਿਸਕ - ਫਾਇਲ-ਸਿਸਟਮ - - - folder - manager - explore - disk - filesystem - அடைவு மேலாளர் @@ -857,13 +790,6 @@ வட்டு கோப்புமுறைமை - - dosíye - moyángeli - motálitali - disiki - fisyé ya sistɛ́mɛ - సంచయం నిర్వాహకం @@ -871,16 +797,6 @@ డిస్కు దస్త్రవ్యవస్థ - - mappa - könyvtár - kezelés - kezelő - intéző - lemez - fájlrendszer - commander - ҷузвдон мудир @@ -895,12 +811,96 @@ ดิสก์ ระบบแฟ้ม - - aplankas - tvarkytuvė - naršyti - diskas - failų sistema + + klasör + yönetici + gezgin + keşfet + gözat + disk + dosya sistemi + + + folder + manager + explore + disk + filesystem + قىسقۇچ + باشقۇرغۇ + دىسكا + ھۆججەت سىستېمىسى + + + тека + менеджер + папка + диск + файл + + + folder + thư + mục + thu + muc + manager + quản + + quan + ly + explore + khám + phá + kham + pha + disk + đĩa + dia + filesystem + hệ + thống + tập + tin + he + thong + tap + + + folder + manager + explore + disk + filesystem + 目录 + 文件夹 + 管理 + 浏览 + 磁盘 + 硬盘 + 文件系统 + + + folder + manager + explore + disk + filesystem + 資料夾 + 管理程式 + 磁碟 + 檔案系統 + + + folder + manager + explore + disk + filesystem + 資料夾 + 管理員 + 磁碟 + 檔案系統 org.gnome.Nautilus diff --git a/tests/test-pool.c b/tests/test-pool.c index fed31ab9..034b61c3 100644 --- a/tests/test-pool.c +++ b/tests/test-pool.c @@ -207,6 +207,14 @@ as_assert_component_lists_equal (GPtrArray *cpts_a, GPtrArray *cpts_b) g_assert (as_test_compare_lines (cpts_a_xml, cpts_b_xml)); } +static gint +compare_component (gconstpointer a, gconstpointer b) +{ + AsComponent *ca = *((AsComponent**) a); + AsComponent *cb = *((AsComponent**) b); + return g_ascii_strcasecmp (as_component_get_id (ca), as_component_get_id (cb)); +} + /** * test_cache_complex: * @@ -235,6 +243,7 @@ test_cache_complex () /* get XML representation of the data currently in the pool */ mdata = as_metadata_new (); cpts = as_pool_get_components (pool); + g_ptr_array_sort (cpts, compare_component); for (i = 0; i < cpts->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts, i)); @@ -269,6 +278,7 @@ test_cache_complex () as_metadata_clear_components (mdata); cpts = as_pool_get_components (pool); + g_ptr_array_sort (cpts, compare_component); for (i = 0; i < cpts->len; i++) { AsComponent *cpt = AS_COMPONENT (g_ptr_array_index (cpts, i)); as_metadata_add_component (mdata, cpt); diff --git a/tests/test-xmldata.c b/tests/test-xmldata.c index b2e077b4..d57e961f 100644 --- a/tests/test-xmldata.c +++ b/tests/test-xmldata.c @@ -145,11 +145,11 @@ test_appstream_write_locale () const gchar *EXPECTED_XML = "\n" "\n" " firefox.desktop\n" - " Firefoux\n" " Firefox\n" " Feuerfuchs\n" - " Navigateur web\n" + " Firefoux\n" " Web browser\n" + " Navigateur web\n" " firefox-bin\n" " \n" " network\n" @@ -897,8 +897,8 @@ test_appstream_write_metainfo_to_collection (void) "\n" " \n" " org.example.Test\n" - " Test\n" " Test\n" + " Test\n" " Testo\n" " Just a unittest.\n" " Nur ein Unittest.\n" @@ -961,8 +961,8 @@ static const gchar *xmldata_screenshots = "org.example.ScreenshotTest\n" " \n" " \n" - " Das Hauptfenster, welches irgendwas zeigt\n" " The main window displaying a thing\n" + " Das Hauptfenster, welches irgendwas zeigt\n" " https://example.org/alpha.png\n" " https://example.org/alpha_small.png\n" " \n" @@ -1262,8 +1262,8 @@ static const gchar *xmldata_agreements = "org.example.AgreementsTest\n" " \n" " \n" - " Einführung\n" " Intro\n" + " Einführung\n" " \n" "

Mighty Fine

\n" "
\n"