diff --git a/static/generate_i18n_resources_list.py b/static/generate_i18n_resources_list.py
index b083e3578..037ab77a1 100755
--- a/static/generate_i18n_resources_list.py
+++ b/static/generate_i18n_resources_list.py
@@ -29,7 +29,8 @@ def get_translation_info(filepath):
lang_code = Path(filepath).stem
with open(filepath, 'r', encoding="utf-8") as f:
content = json.load(f)
- return lang_code, content["name"]
+ lang_name = content.get("name")
+ return lang_code, lang_name
language_list = []
json_files = translation_dir.glob("*.json")
@@ -39,7 +40,11 @@ with open(resource_file, 'w', encoding="utf-8") as f:
continue
print("Processing", i18n_file.name)
if i18n_file.name != "test.json":
- language_list.append(get_translation_info(i18n_file))
+ lang_code, lang_name = get_translation_info(i18n_file)
+ if lang_name:
+ language_list.append((lang_code, lang_name))
+ else:
+ print(f"Warning: missing 'name' in {i18n_file.name}")
f.write(str(i18n_file.relative_to(script_path.parent)) + '\n')
language_list = [{name: code} for code, name in sorted(language_list)]
diff --git a/static/i18n_resources_list.txt b/static/i18n_resources_list.txt
index 1f2d55283..56e1dc610 100644
--- a/static/i18n_resources_list.txt
+++ b/static/i18n_resources_list.txt
@@ -2,15 +2,20 @@ skin/i18n/ar.json
skin/i18n/bn.json
skin/i18n/cs.json
skin/i18n/de.json
+skin/i18n/dga.json
+skin/i18n/el.json
skin/i18n/en.json
skin/i18n/fr.json
skin/i18n/he.json
skin/i18n/hy.json
+skin/i18n/ia.json
skin/i18n/it.json
skin/i18n/ja.json
skin/i18n/ko.json
skin/i18n/ku-latn.json
+skin/i18n/lb.json
skin/i18n/mk.json
+skin/i18n/nl.json
skin/i18n/nqo.json
skin/i18n/pl.json
skin/i18n/ru.json
diff --git a/static/skin/i18n/dga.json b/static/skin/i18n/dga.json
new file mode 100644
index 000000000..312e5d5dd
--- /dev/null
+++ b/static/skin/i18n/dga.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Alhaji Yakubu"
+ ]
+ },
+ "welcome-page-overzealous-filter": "Duoro kyebe. E na boɔra ka fo ",
+ "search": "Bo",
+ "book-filtering-all-categories": "Zagre zaa",
+ "book-filtering-all-languages": "Kɔkɔrɛɛ zaa",
+ "count-of-matching-books": "{{COUNT}} gama",
+ "download": "Tagebo",
+ "direct-download-link-text": "Toribu",
+ "direct-download-alt-text": "Toribu tagebo",
+ "hash-download-alt-text": "Tage bonmannaa",
+ "magnet-link-text": "Kurimaraa sobie",
+ "magnet-alt-text": "Tage kurimaraa",
+ "library-opds-feed": "Gamadie OPDS diibu",
+ "filter-by-tag": "Guy yi kpuli {{TAG}}",
+ "stop-filtering-by-tag": "Bare gyɛɛbo kpuli {{TAG}}"
+}
diff --git a/static/skin/i18n/el.json b/static/skin/i18n/el.json
new file mode 100644
index 000000000..3718d36b0
--- /dev/null
+++ b/static/skin/i18n/el.json
@@ -0,0 +1,21 @@
+{
+ "@metadata": {
+ "authors": [
+ "Norhorn"
+ ]
+ },
+ "welcome-page-overzealous-filter": "Κανένα αποτέλεσμα. Θέλετε να επαναφέρετε το φίλτρο;",
+ "powered-by-kiwix-html": "Με την υποστήριξη by Kiwix",
+ "search": "Αναζήτηση",
+ "book-filtering-all-categories": "Όλες οι κατηγορίες",
+ "book-filtering-all-languages": "Όλες οι γλώσσες",
+ "count-of-matching-books": "{{COUNT}} βιβλίο(α)",
+ "download": "Λήψη",
+ "direct-download-link-text": "Απευθείας",
+ "direct-download-alt-text": "άμεση λήψη",
+ "hash-download-alt-text": "λήψη αναγνωριστικού",
+ "torrent-download-link-text": "Αρχείο torrent",
+ "torrent-download-alt-text": "λήψη torrent",
+ "filter-by-tag": "Φίλτρο ανά ετικέτα \"{{TAG}}\"",
+ "stop-filtering-by-tag": "Διακοπή φίλτρου ανά ετικέτα \"{{TAG}}\""
+}
diff --git a/static/skin/i18n/fr.json b/static/skin/i18n/fr.json
index 687757b09..2aac0a23b 100644
--- a/static/skin/i18n/fr.json
+++ b/static/skin/i18n/fr.json
@@ -30,5 +30,23 @@
"home-button-text": "Aller à la page principale de « {{BOOK_TITLE}} »",
"random-page-button-text": "Aller à une page sélectionnée aléatoirement",
"searchbox-tooltip": "Rechercher « {{BOOK_TITLE}} »",
- "confusion-of-tongues": "Deux livres ou plus dans des langues différentes participeraient à la recherche, ce qui pourrait conduire à des résultats confus."
+ "confusion-of-tongues": "Deux livres ou plus dans des langues différentes participeraient à la recherche, ce qui pourrait conduire à des résultats confus.",
+ "welcome-page-overzealous-filter": "Aucun résultat. Souhaitez-vous réinitialiser le filtre ?",
+ "powered-by-kiwix-html": "Propulsé par Kiwix",
+ "search": "Rechercher",
+ "book-filtering-all-categories": "Toutes les catégories",
+ "book-filtering-all-languages": "Toutes les langues",
+ "count-of-matching-books": "{{COUNT}} livre(s)",
+ "download": "Télécharger",
+ "direct-download-link-text": "Direct",
+ "direct-download-alt-text": "téléchargement direct",
+ "hash-download-link-text": "Hachage sha256",
+ "hash-download-alt-text": "télécharger le hachage",
+ "magnet-link-text": "Lien Magnet",
+ "magnet-alt-text": "télécharger le lien Magnet",
+ "torrent-download-link-text": "Fichier torrent",
+ "torrent-download-alt-text": "télécharger le torrent",
+ "library-opds-feed": "Flux OPDS de la bibliothèque",
+ "filter-by-tag": "Filtrer par la balise « {{TAG}} »",
+ "stop-filtering-by-tag": "Arrêter le filtrage par la balise « {{TAG}} »"
}
diff --git a/static/skin/i18n/he.json b/static/skin/i18n/he.json
index 3fdb5fb5c..0bc8a00cc 100644
--- a/static/skin/i18n/he.json
+++ b/static/skin/i18n/he.json
@@ -29,5 +29,23 @@
"home-button-text": "מעבר לדף הראשי של \"{{BOOK_TITLE}}\"",
"random-page-button-text": "מעבר לדף שנבחר אקראית",
"searchbox-tooltip": "חיפוש \"{{BOOK_TITLE}}\"",
- "confusion-of-tongues": "שני ספרים או יותר בשפות שונות ישתתפו בחיפוש, מה שעלול להוביל לתוצאות מבלבלות."
+ "confusion-of-tongues": "שני ספרים או יותר בשפות שונות ישתתפו בחיפוש, מה שעלול להוביל לתוצאות מבלבלות.",
+ "welcome-page-overzealous-filter": "אין תוצאות. האם לאפס את המסנן?",
+ "powered-by-kiwix-html": "מופעל על־ידי Kiwix",
+ "search": "חיפוש",
+ "book-filtering-all-categories": "כל הקטגוריות",
+ "book-filtering-all-languages": "כל השפות",
+ "count-of-matching-books": "{{COUNT}} ספרים",
+ "download": "הורדה",
+ "direct-download-link-text": "ישירה",
+ "direct-download-alt-text": "הורדה ישירה",
+ "hash-download-link-text": "גיבוב Sha256",
+ "hash-download-alt-text": "הורדת גיבוב",
+ "magnet-link-text": "קישור Magnet",
+ "magnet-alt-text": "הורדת magnet",
+ "torrent-download-link-text": "קובץ טורנט",
+ "torrent-download-alt-text": "הורדת טורנט",
+ "library-opds-feed": "הזנת OPDS של ספרייה",
+ "filter-by-tag": "סינון לפי התג \"{{TAG}}\"",
+ "stop-filtering-by-tag": "להפסיק סינון לפי התג \"{{TAG}}\""
}
diff --git a/static/skin/i18n/ia.json b/static/skin/i18n/ia.json
new file mode 100644
index 000000000..b34ca748e
--- /dev/null
+++ b/static/skin/i18n/ia.json
@@ -0,0 +1,25 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "welcome-page-overzealous-filter": "Nulle resultato. Vole tu reinitialisar le filtro?",
+ "powered-by-kiwix-html": "Actionate per Kiwix",
+ "search": "Cercar",
+ "book-filtering-all-categories": "Tote le categorias",
+ "book-filtering-all-languages": "Tote le linguas",
+ "count-of-matching-books": "{{COUNT}} libro(s)",
+ "download": "Discargar",
+ "direct-download-link-text": "Directe",
+ "direct-download-alt-text": "discargamento directe",
+ "hash-download-link-text": "Hash SHA256",
+ "hash-download-alt-text": "hash del discargamento",
+ "magnet-link-text": "Ligamine Magnet",
+ "magnet-alt-text": "ligamine \"magnet\" de discargamento",
+ "torrent-download-link-text": "File Torrent",
+ "torrent-download-alt-text": "discargar Torrent",
+ "library-opds-feed": "Fluxo OPDS del bibliotheca",
+ "filter-by-tag": "Filtrar per etiquetta \"{{TAG}}\"",
+ "stop-filtering-by-tag": "Non plus filtrar per etiquetta \"{{TAG}}\""
+}
diff --git a/static/skin/i18n/it.json b/static/skin/i18n/it.json
index f764c005d..5edd9c570 100644
--- a/static/skin/i18n/it.json
+++ b/static/skin/i18n/it.json
@@ -23,5 +23,9 @@
"library-button-text": "Vai alla pagina di benvenuto",
"home-button-text": "Vai alla pagina principale di '{{BOOK_TITLE}}'",
"random-page-button-text": "Vai a una pagina selezionata casualmente",
- "searchbox-tooltip": "Cerca '{{BOOK_TITLE}}'"
+ "searchbox-tooltip": "Cerca '{{BOOK_TITLE}}'",
+ "book-filtering-all-categories": "Tutte le categorie",
+ "book-filtering-all-languages": "Tutte le lingue",
+ "count-of-matching-books": "{{COUNT}} libro/i",
+ "download": "Scarica"
}
diff --git a/static/skin/i18n/ja.json b/static/skin/i18n/ja.json
index 8e36ce258..01a85dafa 100644
--- a/static/skin/i18n/ja.json
+++ b/static/skin/i18n/ja.json
@@ -15,5 +15,8 @@
"fulltext-search-unavailable": "全文検索は利用できません",
"no-search-results": "このコンテンツでは全文検索エンジンが利用できません",
"library-button-text": "ウェルカムページに移動",
- "random-page-button-text": "無作為に選ばれたページに移動する"
+ "random-page-button-text": "無作為に選ばれたページに移動する",
+ "search": "検索",
+ "book-filtering-all-categories": "すべてのカテゴリー",
+ "book-filtering-all-languages": "すべての言語"
}
diff --git a/static/skin/i18n/lb.json b/static/skin/i18n/lb.json
new file mode 100644
index 000000000..823f665f8
--- /dev/null
+++ b/static/skin/i18n/lb.json
@@ -0,0 +1,26 @@
+{
+ "@metadata": {
+ "authors": [
+ "Robby",
+ "Volvox"
+ ]
+ },
+ "name": "Lëtzebuergesch",
+ "suggest-search": "Maacht eng Volltext-Sich fir {{PATTERN}}",
+ "random-article-failure": "Ups! Et konnt keen zoufällegen Artikel ausgewielt ginn :(",
+ "404-page-title": "Inhalt net fonnt",
+ "404-page-heading": "Net fonnt",
+ "500-page-title": "Interne Feeler um Server",
+ "500-page-heading": "Interne Feeler um Server",
+ "fulltext-search-unavailable": "Volltext-Sich net verfügbar",
+ "home-button-text": "Gitt op d'Haaptsäit vun '{{BOOK_TITLE}}'",
+ "random-page-button-text": "Gitt op eng zoufälleg gewielte Säit",
+ "searchbox-tooltip": "No '{{BOOK_TITLE}}' sichen",
+ "welcome-page-overzealous-filter": "Kee Resultat. Wëllt Dir de Filter zrécksetzen?",
+ "search": "Sichen",
+ "book-filtering-all-categories": "All Kategorien",
+ "book-filtering-all-languages": "All Sproochen",
+ "count-of-matching-books": "{{COUNT}} Buch/Bicher",
+ "download": "Eroflueden",
+ "direct-download-link-text": "Direkt"
+}
diff --git a/static/skin/i18n/mk.json b/static/skin/i18n/mk.json
index cd833b097..9b1a85bf0 100644
--- a/static/skin/i18n/mk.json
+++ b/static/skin/i18n/mk.json
@@ -28,5 +28,23 @@
"home-button-text": "Оди на главната страница на „{{BOOK_TITLE}}“",
"random-page-button-text": "Оди на случајно избрана страница",
"searchbox-tooltip": "Пребарај го „{{BOOK_TITLE}}“",
- "confusion-of-tongues": "Во пребарувањето ќе учествуваат две или повеќе книги на различни јазици, што може да довете до збунувачки исход."
+ "confusion-of-tongues": "Во пребарувањето ќе учествуваат две или повеќе книги на различни јазици, што може да довете до збунувачки исход.",
+ "welcome-page-overzealous-filter": "Нема исход. Дали би сакале да го поништите филтерот?",
+ "powered-by-kiwix-html": "Овозможено од Кивикс",
+ "search": "Пребарај",
+ "book-filtering-all-categories": "Сите категории",
+ "book-filtering-all-languages": "Сите јазици",
+ "count-of-matching-books": "{{COUNT}} книги",
+ "download": "Преземи",
+ "direct-download-link-text": "Непосредно",
+ "direct-download-alt-text": "непосредно преземање",
+ "hash-download-link-text": "Sha256-тараба",
+ "hash-download-alt-text": "преземи тараба",
+ "magnet-link-text": "Магнетна врска",
+ "magnet-alt-text": "преземи магнет",
+ "torrent-download-link-text": "Торентна податотека",
+ "torrent-download-alt-text": "преземи торент",
+ "library-opds-feed": "Библиотечен OPDS-тековник",
+ "filter-by-tag": "Филтрирај по ознаката „{{TAG}}“",
+ "stop-filtering-by-tag": "Запри филтрирање по ознаката „{{TAG}}“"
}
diff --git a/static/skin/i18n/nl.json b/static/skin/i18n/nl.json
new file mode 100644
index 000000000..b7f9bd983
--- /dev/null
+++ b/static/skin/i18n/nl.json
@@ -0,0 +1,30 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie",
+ "Vistaus"
+ ]
+ },
+ "too-many-books": "Er zijn teveel boeken opgevraagd ({{NB_BOOKS}}). Het limiet is {{LIMIT}}.",
+ "no-book-found": "Er zijn geen boeken die overeenkomen met de zoekcriteria",
+ "no-value-for-arg": "Er is geen waarde opgegeven bij {{ARGUMENT}}",
+ "no-query": "Er is geen zoekterm opgegeven.",
+ "welcome-page-overzealous-filter": "Geen resultaat. Wilt u het filter resetten?",
+ "powered-by-kiwix-html": "Mogelijk gemaakt door Kiwix",
+ "search": "Zoeken",
+ "book-filtering-all-categories": "Alle categorieën",
+ "book-filtering-all-languages": "Alle talen",
+ "count-of-matching-books": "{{COUNT}} boek(en)",
+ "download": "Downloaden",
+ "direct-download-link-text": "Direct",
+ "direct-download-alt-text": "directe download",
+ "hash-download-link-text": "SHA256-hash",
+ "hash-download-alt-text": "controlesom (hash) van de download",
+ "magnet-link-text": "Magnet-link",
+ "magnet-alt-text": "magnet-link van de download",
+ "torrent-download-link-text": "Torrent-bestand",
+ "torrent-download-alt-text": "torrent downloaden",
+ "library-opds-feed": "OPDS-feed van de bibliotheek",
+ "filter-by-tag": "Filteren op tag \"{{TAG}}\"",
+ "stop-filtering-by-tag": "Stoppen met filteren op tag \"{{TAG}}\""
+}
diff --git a/static/skin/i18n/qqq.json b/static/skin/i18n/qqq.json
index 62089d562..89a108ddf 100644
--- a/static/skin/i18n/qqq.json
+++ b/static/skin/i18n/qqq.json
@@ -29,23 +29,23 @@
"library-button-text": "Tooltip of the button leading to the welcome page",
"home-button-text": "Tooltip of the button leading to the main page of a book",
"random-page-button-text": "Tooltip of the button opening a randomly selected page",
- "searchbox-tooltip": "Tooltip displayed for the search box in the viewer"
- , "welcome-page-overzealous-filter": "Text shown when book filtering on the welcome page produces zero results"
- , "powered-by-kiwix-html": "Link to Kiwix website"
- , "search": "A general search action (text displayed on search buttons or as aplaceholder in searchboxes)"
- , "book-filtering-all-categories": "Choosing this filter will disable filtering of books by category"
- , "book-filtering-all-languages": "Choosing this filter will disable filtering of books by language"
- , "count-of-matching-books": "Reporting the count of books matching the filter"
- , "download": "A general download action"
- , "direct-download-link-text": "Link text for a direct download"
- , "direct-download-alt-text": "Hint for a direct download icon"
- , "hash-download-link-text": "Link text for downloading the hash"
- , "hash-download-alt-text": "Hint for the icon of hash download"
- , "magnet-link-text": "Link text for a magnet link"
- , "magnet-alt-text": "Hint for the icon of a magnet link"
- , "torrent-download-link-text": "Link text for downloading the torrent file"
- , "torrent-download-alt-text": "Hint for the icon of torrent download"
- , "library-opds-feed": "Hint for the library OPDS feed link"
- , "filter-by-tag": "Hint for a link that would load results filtered by a single tag"
- , "stop-filtering-by-tag": "Tooltip for the button that cancels filtering by tag"
+ "searchbox-tooltip": "Tooltip displayed for the search box",
+ "welcome-page-overzealous-filter": "Text shown when book filtering on the welcome page produces zero results",
+ "powered-by-kiwix-html": "Link to Kiwix website",
+ "search": "A general search action (text displayed on search buttons or as aplaceholder in searchboxes)",
+ "book-filtering-all-categories": "Choosing this filter will disable filtering of books by category",
+ "book-filtering-all-languages": "Choosing this filter will disable filtering of books by language",
+ "count-of-matching-books": "Reporting the count of books matching the filter",
+ "download": "A general download action",
+ "direct-download-link-text": "Link text for a direct download",
+ "direct-download-alt-text": "Hint for a direct download icon",
+ "hash-download-link-text": "Link text for downloading the hash",
+ "hash-download-alt-text": "Hint for the icon of hash download",
+ "magnet-link-text": "Link text for a magnet link",
+ "magnet-alt-text": "Hint for the icon of a magnet link",
+ "torrent-download-link-text": "Link text for downloading the torrent file",
+ "torrent-download-alt-text": "Hint for the icon of torrent download",
+ "library-opds-feed": "Hint for the library OPDS feed link",
+ "filter-by-tag": "Hint for a link that would load results filtered by a single tag",
+ "stop-filtering-by-tag": "Tooltip for the button that cancels filtering by tag"
}
diff --git a/static/skin/i18n/ru.json b/static/skin/i18n/ru.json
index e1ba1b0d6..7706e3ba8 100644
--- a/static/skin/i18n/ru.json
+++ b/static/skin/i18n/ru.json
@@ -31,5 +31,7 @@
"home-button-text": "Перейти на главную страницу '{{BOOK_TITLE}}'",
"random-page-button-text": "Перейти на случайно выбранную страницу",
"searchbox-tooltip": "Искать '{{BOOK_TITLE}}'",
- "confusion-of-tongues": "В поиске будут участвовать две или более книг на разных языках, что может привести к запутанным результатам."
+ "confusion-of-tongues": "В поиске будут участвовать две или более книг на разных языках, что может привести к запутанным результатам.",
+ "book-filtering-all-categories": "Все категории",
+ "download": "Скачать"
}
diff --git a/static/skin/i18n/sl.json b/static/skin/i18n/sl.json
index 7d160bd1d..d932f3922 100644
--- a/static/skin/i18n/sl.json
+++ b/static/skin/i18n/sl.json
@@ -28,5 +28,23 @@
"home-button-text": "Pojdite na glavno stran »{{BOOK_TITLE}}«",
"random-page-button-text": "Pojdite na naključno izbrano stran",
"searchbox-tooltip": "Poiščite »{{BOOK_TITLE}}«",
- "confusion-of-tongues": "V iskanju bi bili uporabljeni dve ali več knjig v različnih jezikih, kar lahko pripelje do nejasnih zadetkov."
+ "confusion-of-tongues": "V iskanju bi bili uporabljeni dve ali več knjig v različnih jezikih, kar lahko pripelje do nejasnih zadetkov.",
+ "welcome-page-overzealous-filter": "Ni zadetkov. Želite ponastaviti filter?",
+ "powered-by-kiwix-html": "Omogoča Kiwix",
+ "search": "Išči",
+ "book-filtering-all-categories": "Vse kategorije",
+ "book-filtering-all-languages": "Vsi jeziki",
+ "count-of-matching-books": "{{COUNT}} knjiga(i/e)",
+ "download": "Prenesi",
+ "direct-download-link-text": "Neposredno",
+ "direct-download-alt-text": "neposredni prenos",
+ "hash-download-link-text": "Zgoščena vrednost SHA256",
+ "hash-download-alt-text": "prenesi zgoščeno vrednost",
+ "magnet-link-text": "Magnetna povezava",
+ "magnet-alt-text": "prenesi magnet",
+ "torrent-download-link-text": "Torrent datoteka",
+ "torrent-download-alt-text": "prenesi torrent",
+ "library-opds-feed": "Vir OPDS knjižnice",
+ "filter-by-tag": "Filtriraj po oznaki »{{TAG}}«",
+ "stop-filtering-by-tag": "Ustavi filtriranje po oznaki »{{TAG}}«"
}
diff --git a/static/skin/i18n/zh-hant.json b/static/skin/i18n/zh-hant.json
index 91d55a47e..0ecad1f61 100644
--- a/static/skin/i18n/zh-hant.json
+++ b/static/skin/i18n/zh-hant.json
@@ -29,5 +29,23 @@
"home-button-text": "前往「{{BOOK_TITLE}}」的首頁",
"random-page-button-text": "前往隨機選取頁面",
"searchbox-tooltip": "在{{BOOK_TITLE}}搜尋",
- "confusion-of-tongues": "搜索裡有加入兩本或更多不同語言的書籍,這可能會導致混淆結果。"
+ "confusion-of-tongues": "搜索裡有加入兩本或更多不同語言的書籍,這可能會導致混淆結果。",
+ "welcome-page-overzealous-filter": "沒有結果。您想要重新設定篩選嗎?",
+ "powered-by-kiwix-html": "由 Kiwix 提供技術支援",
+ "search": "搜尋",
+ "book-filtering-all-categories": "所有分類",
+ "book-filtering-all-languages": "所有語言",
+ "count-of-matching-books": "{{COUNT}} 本書籍",
+ "download": "下載",
+ "direct-download-link-text": "直接",
+ "direct-download-alt-text": "直接下載",
+ "hash-download-link-text": "Sha256 雜湊",
+ "hash-download-alt-text": "下載雜湊",
+ "magnet-link-text": "Magnet 連結",
+ "magnet-alt-text": "下載 magnet",
+ "torrent-download-link-text": "Torrent 檔案",
+ "torrent-download-alt-text": "下載 torrent",
+ "library-opds-feed": "圖書館 OPDS 訊息來源",
+ "filter-by-tag": "依標籤「{{TAG}}」篩選",
+ "stop-filtering-by-tag": "停止依標籤「{{TAG}}」篩選"
}
diff --git a/static/skin/languages.js b/static/skin/languages.js
index 1ff325f1c..161a7b900 100644
--- a/static/skin/languages.js
+++ b/static/skin/languages.js
@@ -1,4 +1,7 @@
const uiLanguages = [
+ {
+ "الإنجليزية": "ar"
+ },
{
"বাংলা": "bn"
},
@@ -32,6 +35,9 @@ const uiLanguages = [
{
"kurdî": "ku-latn"
},
+ {
+ "Lëtzebuergesch": "lb"
+ },
{
"македонски": "mk"
},
@@ -50,6 +56,9 @@ const uiLanguages = [
{
"slovenčina": "sk"
},
+ {
+ "slovenščina": "sl"
+ },
{
"Svenska": "sv"
},
diff --git a/test/server.cpp b/test/server.cpp
index 21c79ba18..0b3b9e414 100644
--- a/test/server.cpp
+++ b/test/server.cpp
@@ -145,7 +145,7 @@ const ResourceCollection resources200Uncompressible{
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/search_results.css" },
{ STATIC_CONTENT, "/ROOT%23%3F/skin/search_results.css?cacheid=76d39c84" },
{ DYNAMIC_CONTENT, "/ROOT%23%3F/skin/languages.js" },
- { STATIC_CONTENT, "/ROOT%23%3F/skin/languages.js?cacheid=fe100348" },
+ { STATIC_CONTENT, "/ROOT%23%3F/skin/languages.js?cacheid=b00b12db" },
{ ZIM_CONTENT, "/ROOT%23%3F/raw/zimfile/meta/Title" },
{ ZIM_CONTENT, "/ROOT%23%3F/raw/zimfile/meta/Description" },
@@ -281,7 +281,7 @@ R"EXPECTEDRESULT( href="/ROOT%23%3F/skin/index.css?cacheid=f0ee124c"
src: url("/ROOT%23%3F/skin/fonts/Poppins.ttf?cacheid=af705837") format("truetype");
src: url("/ROOT%23%3F/skin/fonts/Roboto.ttf?cacheid=84d10248") format("truetype");
-
+
@@ -306,7 +306,7 @@ R"EXPECTEDRESULT(
-
+
const blankPageUrl = root + "/skin/blank.html?cacheid=6b1fa032";
@@ -1028,6 +1028,9 @@ TEST_F(ServerTest, UserLanguageList)
const auto r = zfs1_->GET("/ROOT%23%3F/skin/languages.js");
EXPECT_EQ(r->body,
R"EXPECTEDRESPONSE(const uiLanguages = [
+ {
+ "الإنجليزية": "ar"
+ },
{
"বাংলা": "bn"
},
@@ -1061,6 +1064,9 @@ R"EXPECTEDRESPONSE(const uiLanguages = [
{
"kurdî": "ku-latn"
},
+ {
+ "Lëtzebuergesch": "lb"
+ },
{
"македонски": "mk"
},
@@ -1079,6 +1085,9 @@ R"EXPECTEDRESPONSE(const uiLanguages = [
{
"slovenčina": "sk"
},
+ {
+ "slovenščina": "sl"
+ },
{
"Svenska": "sv"
},