From 8a06fa2dde42a8766ef2f7a68bad25875731ea20 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:31 -0400 Subject: [PATCH 01/22] New translations themerr-plex.po (French) [ci skip] --- locale/fr/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/fr/LC_MESSAGES/themerr-plex.po b/locale/fr/LC_MESSAGES/themerr-plex.po index df75d5db..421564c7 100644 --- a/locale/fr/LC_MESSAGES/themerr-plex.po +++ b/locale/fr/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: French\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Centre d'aide" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Accueil" + From 99e11bf0f18545a304a95c28c63fb7d27ea339a2 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:33 -0400 Subject: [PATCH 02/22] New translations themerr-plex.po (Spanish) [ci skip] --- locale/es/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/es/LC_MESSAGES/themerr-plex.po b/locale/es/LC_MESSAGES/themerr-plex.po index 5c0c4da9..c5fee6e8 100644 --- a/locale/es/LC_MESSAGES/themerr-plex.po +++ b/locale/es/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Centro de soporte" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Inicio" + From f56f0048ff775d7a3d63830d4ef50f73709b0306 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:34 -0400 Subject: [PATCH 03/22] New translations themerr-plex.po (Bulgarian) [ci skip] --- locale/bg/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/bg/LC_MESSAGES/themerr-plex.po diff --git a/locale/bg/LC_MESSAGES/themerr-plex.po b/locale/bg/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..36af0070 --- /dev/null +++ b/locale/bg/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Bulgarian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: bg\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: bg_BG\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Игри" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Филми" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Изложби" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Художници" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Снимки" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Елементи" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Колекции" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Заглавие" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Тип" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Година" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Дайте своя принос" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Статус" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Добавяне на" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Редактиране на" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Без известен идентификатор" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Предоставен Plex" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Предоставен от потребителя" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr предостави" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "предоставя" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Неизвестен доставчик" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Липсва в ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Неуспешно изтегляне" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Неизвестен статус" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "Базата данни се кешира, моля, опитайте отново скоро." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Дарете" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Спонсори на GitHub" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Подкрепа" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Документи" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Център за поддръжка" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Начало" + From 1733edb18b0e59271c9462f3562dd4fb3c3845d1 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:35 -0400 Subject: [PATCH 04/22] New translations themerr-plex.po (Czech) [ci skip] --- locale/cs/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/cs/LC_MESSAGES/themerr-plex.po diff --git a/locale/cs/LC_MESSAGES/themerr-plex.po b/locale/cs/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..4dece938 --- /dev/null +++ b/locale/cs/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: cs_CZ\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Hry" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Filmy" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Seriály" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Umělci" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Fotky" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Položky" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Sbírky" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Název" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Typ" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Rok" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Přispějte" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Stav" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Přidat" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Upravit" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Žádné známé ID" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Poskytnutý Plex" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Uživatel zadán" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr poskytl" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "poskytnuté" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Neznámý poskytovatel" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Chybí v ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Stahování se nezdařilo" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Neznámý stav" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "Databáze se ukládá do mezipaměti, zkuste to prosím brzy znovu." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Přispět" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Sponzoři z GitHubu" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Podpora" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Dokumenty" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Centrum podpory" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Domů" + From cb390b168cf6842b0168c060c7ba29cda2682a98 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:37 -0400 Subject: [PATCH 05/22] New translations themerr-plex.po (German) [ci skip] --- locale/de/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/de/LC_MESSAGES/themerr-plex.po b/locale/de/LC_MESSAGES/themerr-plex.po index 774eab56..54b48f14 100644 --- a/locale/de/LC_MESSAGES/themerr-plex.po +++ b/locale/de/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Hilfecenter" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Startseite" + From 625902db778f6329fb67bcb8aca23fbbf6263faa Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:38 -0400 Subject: [PATCH 06/22] New translations themerr-plex.po (Hungarian) [ci skip] --- locale/hu/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/hu/LC_MESSAGES/themerr-plex.po diff --git a/locale/hu/LC_MESSAGES/themerr-plex.po b/locale/hu/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..b862be16 --- /dev/null +++ b/locale/hu/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Hungarian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: hu\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: hu_HU\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Játékok" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Filmek" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Megmutatja" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Művészek" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Fotók" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Tételek" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Gyűjtemények" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Cím" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Típus" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Év" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Hozzájárulás" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Állapot" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Add" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Szerkesztés" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Nincs ismert azonosító" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex biztosított" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Felhasználó által biztosított" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr feltéve, hogy" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "feltéve, hogy" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Ismeretlen szolgáltató" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Hiányzik a ThemerrDB-ből" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Sikertelen letöltés" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Ismeretlen státusz" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "Az adatbázis gyorsítótárba kerül, kérjük, próbálja meg hamarosan újra." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Adományozni" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "GitHub szponzorok" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Támogatás" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Dokumentumok" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Támogatási központ" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Home" + From ae6c57f2bc279dec07c86e9e777c7b5aee046f70 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:39 -0400 Subject: [PATCH 07/22] New translations themerr-plex.po (Italian) [ci skip] --- locale/it/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/it/LC_MESSAGES/themerr-plex.po b/locale/it/LC_MESSAGES/themerr-plex.po index 3e17123b..db444aab 100644 --- a/locale/it/LC_MESSAGES/themerr-plex.po +++ b/locale/it/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Centro assistenza" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Pagina iniziale" + From 1dcfdbd16625ee9a82582095817c07fa1159aae8 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:41 -0400 Subject: [PATCH 08/22] New translations themerr-plex.po (Japanese) [ci skip] --- locale/ja/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/ja/LC_MESSAGES/themerr-plex.po b/locale/ja/LC_MESSAGES/themerr-plex.po index 193656a4..f0a2eb71 100644 --- a/locale/ja/LC_MESSAGES/themerr-plex.po +++ b/locale/ja/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-04-05 17:47\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "サポートセンター" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "ホーム" + From 6abd5e0731c6b86263b05fa1499a4549616c5f32 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:42 -0400 Subject: [PATCH 09/22] New translations themerr-plex.po (Korean) [ci skip] --- locale/ko/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/ko/LC_MESSAGES/themerr-plex.po diff --git a/locale/ko/LC_MESSAGES/themerr-plex.po b/locale/ko/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..e2eba8a2 --- /dev/null +++ b/locale/ko/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Korean\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: ko\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: ko_KR\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "게임" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "영화" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "쇼" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "아티스트" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "사진" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "항목" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "컬렉션" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "제목" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "유형" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "연도" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "기여하기" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "상태" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "추가" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "편집" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "알려진 ID 없음" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex 제공" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "사용자 제공" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "테메르 제공" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "제공" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "알 수 없는 공급자" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "ThemerrDB에서 누락됨" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "다운로드에 실패했습니다." + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "알 수 없는 상태" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "데이터베이스가 캐시 중입니다. 잠시 후 다시 시도하세요." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "기부하기" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "GitHub 스폰서" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "지원" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "문서" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "지원 센터" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "홈" + From 03a72cb4c96dc24bc8e315b30d37cc0625febf53 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:44 -0400 Subject: [PATCH 10/22] New translations themerr-plex.po (Polish) [ci skip] --- locale/pl/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/pl/LC_MESSAGES/themerr-plex.po diff --git a/locale/pl/LC_MESSAGES/themerr-plex.po b/locale/pl/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..d5ad21cf --- /dev/null +++ b/locale/pl/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Polish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: pl\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: pl_PL\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Gry" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Filmy" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Pokazy" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Artyści" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Zdjęcia" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Przedmioty" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Kolekcje" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Tytuł" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Typ" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Rok" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Wkład" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Status" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Dodaj" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Edytuj" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Brak znanego identyfikatora" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex dostarczył" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Dostarczone przez użytkownika" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr zapewnił" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "pod warunkiem" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Nieznany dostawca" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Brakujące w ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Pobieranie nie powiodło się" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Nieznany status" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "Baza danych jest buforowana, spróbuj ponownie wkrótce." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Darowizna" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Sponsorzy GitHub" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Wsparcie" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Dokumenty" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Centrum wsparcia" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Strona główna" + From 947c8db2fe9493df33de942388497a4960e53734 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:45 -0400 Subject: [PATCH 11/22] New translations themerr-plex.po (Portuguese) [ci skip] --- locale/pt/LC_MESSAGES/themerr-plex.po | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/locale/pt/LC_MESSAGES/themerr-plex.po b/locale/pt/LC_MESSAGES/themerr-plex.po index 528f1a3d..fb4ad819 100644 --- a/locale/pt/LC_MESSAGES/themerr-plex.po +++ b/locale/pt/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-04-18 23:07\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" @@ -116,7 +116,7 @@ msgstr "Banco de dados está sendo armazenado em cache, por favor, tente novamen #: Contents/Resources/web/templates/navbar.html:23 msgid "Donate" -msgstr "Doar" +msgstr "Doe" #: Contents/Resources/web/templates/navbar.html:28 msgid "GitHub Sponsors" @@ -137,3 +137,4 @@ msgstr "Centro de Suporte" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Residencial" + From 8ab7c99f2694d28bdfc31ec76cee726e75eb6a73 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:46 -0400 Subject: [PATCH 12/22] New translations themerr-plex.po (Russian) [ci skip] --- locale/ru/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/ru/LC_MESSAGES/themerr-plex.po b/locale/ru/LC_MESSAGES/themerr-plex.po index 8fbe11a1..53dde6a3 100644 --- a/locale/ru/LC_MESSAGES/themerr-plex.po +++ b/locale/ru/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Центр поддержки" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Главная" + From 13bab92085727d661a2e3583d2d2222729875c36 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:48 -0400 Subject: [PATCH 13/22] New translations themerr-plex.po (Swedish) [ci skip] --- locale/sv/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/sv/LC_MESSAGES/themerr-plex.po b/locale/sv/LC_MESSAGES/themerr-plex.po index fe6a61c8..ed507c03 100644 --- a/locale/sv/LC_MESSAGES/themerr-plex.po +++ b/locale/sv/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Online support" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Hem" + From 21cb57f22f051a50005b6d638443cdcf71dc138e Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:49 -0400 Subject: [PATCH 14/22] New translations themerr-plex.po (Turkish) [ci skip] --- locale/tr/LC_MESSAGES/themerr-plex.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/locale/tr/LC_MESSAGES/themerr-plex.po b/locale/tr/LC_MESSAGES/themerr-plex.po index fbc234ba..7b5c8963 100644 --- a/locale/tr/LC_MESSAGES/themerr-plex.po +++ b/locale/tr/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-06-16 19:21\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" @@ -80,7 +80,7 @@ msgstr "Bilinen kimlik yok" #: Contents/Resources/web/templates/home.html:152 msgid "Plex provided" -msgstr "Plex sağladı" +msgstr "Plex tarafından sağlanan" #: Contents/Resources/web/templates/home.html:154 msgid "User provided" @@ -88,7 +88,7 @@ msgstr "Kullanıcı tarafından sağlanan" #: Contents/Resources/web/templates/home.html:156 msgid "Themerr provided" -msgstr "Themerr şunları sağladı" +msgstr "Themerr tarafından sağlanan" #: Contents/Resources/web/templates/home.html:158 msgid "provided" @@ -100,7 +100,7 @@ msgstr "Bilinmeyen sağlayıcı" #: Contents/Resources/web/templates/home.html:162 msgid "Missing from ThemerrDB" -msgstr "ThemerrDB'den eksik" +msgstr "ThemerrDB'de eksik" #: Contents/Resources/web/templates/home.html:164 msgid "Failed to download" @@ -137,3 +137,4 @@ msgstr "Destek Merkezi" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Ana Sayfa" + From e07ed0d6d6e1811fdb6fe4ce22b7a16451cd31e1 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:51 -0400 Subject: [PATCH 15/22] New translations themerr-plex.po (Ukrainian) [ci skip] --- locale/uk/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/uk/LC_MESSAGES/themerr-plex.po diff --git a/locale/uk/LC_MESSAGES/themerr-plex.po b/locale/uk/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..25473f54 --- /dev/null +++ b/locale/uk/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: uk_UA\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Ігри" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Фільми" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Шоу" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Виконавці" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Фотографії" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Елементи" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Колекції" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Заголовок" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Тип" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Рік" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Зробити внесок" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Статус" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Додати" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Редагувати" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Невідомий ID" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Надано Plex" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Надано користувачем" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Надано Themerr" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "надано" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Невідомий постачальник" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Відсутній у ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Не вдалося завантажити" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Невідомий статус" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "База даних кешується, будь ласка, повторіть спробу пізніше." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Підтримати проєкт" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Спонсори GitHub" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Підтримка" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Документація" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Служба Підтримки" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Головна" + From 9f25394c480df38a6ab9481ee42a22df90a61e1c Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:52 -0400 Subject: [PATCH 16/22] New translations themerr-plex.po (Chinese Simplified) [ci skip] --- locale/zh/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/zh/LC_MESSAGES/themerr-plex.po b/locale/zh/LC_MESSAGES/themerr-plex.po index d5b87de4..8f1642bf 100644 --- a/locale/zh/LC_MESSAGES/themerr-plex.po +++ b/locale/zh/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-16 18:25\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "支持中心" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "主页" + From 853d0bfcf292c656b6222a8cf2ce8f33c72ebd95 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:53 -0400 Subject: [PATCH 17/22] New translations themerr-plex.po (Chinese Traditional) [ci skip] --- locale/zh_TW/LC_MESSAGES/themerr-plex.po | 140 +++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/zh_TW/LC_MESSAGES/themerr-plex.po diff --git a/locale/zh_TW/LC_MESSAGES/themerr-plex.po b/locale/zh_TW/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..bb687a95 --- /dev/null +++ b/locale/zh_TW/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: zh_TW\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "遊戲" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "電影" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "節目" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "藝術家" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "圖片" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "項目" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "收藏集" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "標題" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "類型" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "年份" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "貢獻" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "狀態" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "新增" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "編輯" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "無已知 ID" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex 提供" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "使用者提供" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr 提供" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "提供" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "未知提供者" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "從 ThemerrDB 遺失" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "下載失敗" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "狀態不明" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "資料庫正在快取,請稍後再試。" + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "捐贈" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "GitHub 贊助" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "支援" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "文件" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "支援中心" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "首頁" + From 10e56da5daf9388808f13f00b9a46c282592e16d Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:54 -0400 Subject: [PATCH 18/22] New translations themerr-plex.po (Vietnamese) [ci skip] --- locale/vi/LC_MESSAGES/themerr-plex.po | 140 ++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/vi/LC_MESSAGES/themerr-plex.po diff --git a/locale/vi/LC_MESSAGES/themerr-plex.po b/locale/vi/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..0a26c37a --- /dev/null +++ b/locale/vi/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Vietnamese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: vi\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: vi_VN\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Trò chơi" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Phim" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Chương trình" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Nghệ sĩ" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Hình ảnh" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Mặt hàng" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Bộ sưu tập" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Tiêu đề" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Loại" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Năm" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Đóng góp" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Trạng thái" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Thêm" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Chỉnh sửa" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Không có ID đã biết" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex cung cấp" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Do người dùng cung cấp" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "Themerr cung cấp" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "được cung cấp" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Nhà cung cấp không xác định" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Thiếu trong ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Không thể tải xuống" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Trạng thái không xác định" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "Cơ sở dữ liệu đang được lưu vào bộ nhớ đệm, vui lòng thử lại sau." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Ủng hộ" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Nhà tài trợ GitHub" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Hỗ trợ" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Tài liệu" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Trung tâm Hỗ trợ" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Trang chủ" + From 040059e1a765a201cc87db8649ccd47d9911fd2b Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:56 -0400 Subject: [PATCH 19/22] New translations themerr-plex.po (Portuguese, Brazilian) [ci skip] --- locale/pt_BR/LC_MESSAGES/themerr-plex.po | 140 +++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 locale/pt_BR/LC_MESSAGES/themerr-plex.po diff --git a/locale/pt_BR/LC_MESSAGES/themerr-plex.po b/locale/pt_BR/LC_MESSAGES/themerr-plex.po new file mode 100644 index 00000000..3e0d2de9 --- /dev/null +++ b/locale/pt_BR/LC_MESSAGES/themerr-plex.po @@ -0,0 +1,140 @@ +msgid "" +msgstr "" +"Project-Id-Version: lizardbyte\n" +"Report-Msgid-Bugs-To: github.com/themerr-plex\n" +"POT-Creation-Date: 2024-03-15 14:05+0000\n" +"PO-Revision-Date: 2026-10-03 01:18\n" +"Last-Translator: \n" +"Language-Team: Portuguese, Brazilian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.9.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Crowdin-Project: lizardbyte\n" +"X-Crowdin-Project-ID: 606145\n" +"X-Crowdin-Language: pt-BR\n" +"X-Crowdin-File: /[LizardByte.Themerr-plex] master/themerr-plex.po\n" +"X-Crowdin-File-ID: 5784\n" +"Language: pt_BR\n" + +#: Contents/Resources/web/templates/home.html:35 +msgid "Games" +msgstr "Jogos" + +#: Contents/Resources/web/templates/home.html:37 +msgid "Movies" +msgstr "Filmes" + +#: Contents/Resources/web/templates/home.html:39 +msgid "Shows" +msgstr "Shows" + +#: Contents/Resources/web/templates/home.html:41 +msgid "Artists" +msgstr "Artistas" + +#: Contents/Resources/web/templates/home.html:43 +msgid "Photos" +msgstr "Fotos" + +#: Contents/Resources/web/templates/home.html:45 +msgid "Items" +msgstr "Itens" + +#: Contents/Resources/web/templates/home.html:88 +msgid "Collections" +msgstr "Coleções" + +#: Contents/Resources/web/templates/home.html:108 +msgid "Title" +msgstr "Título" + +#: Contents/Resources/web/templates/home.html:109 +msgid "Type" +msgstr "Tipo" + +#: Contents/Resources/web/templates/home.html:110 +msgid "Year" +msgstr "Ano" + +#: Contents/Resources/web/templates/home.html:111 +msgid "Contribute" +msgstr "Contribuir" + +#: Contents/Resources/web/templates/home.html:112 +msgid "Status" +msgstr "Status" + +#: Contents/Resources/web/templates/home.html:128 +msgid "Add" +msgstr "Adicionar" + +#: Contents/Resources/web/templates/home.html:131 +msgid "Edit" +msgstr "Editar" + +#: Contents/Resources/web/templates/home.html:147 +msgid "No known ID" +msgstr "Nenhuma identificação conhecida" + +#: Contents/Resources/web/templates/home.html:152 +msgid "Plex provided" +msgstr "Plex fornecido" + +#: Contents/Resources/web/templates/home.html:154 +msgid "User provided" +msgstr "Fornecido pelo usuário" + +#: Contents/Resources/web/templates/home.html:156 +msgid "Themerr provided" +msgstr "A empresa forneceu" + +#: Contents/Resources/web/templates/home.html:158 +msgid "provided" +msgstr "fornecido" + +#: Contents/Resources/web/templates/home.html:160 +msgid "Unknown provider" +msgstr "Fornecedor desconhecido" + +#: Contents/Resources/web/templates/home.html:162 +msgid "Missing from ThemerrDB" +msgstr "Ausente no ThemerrDB" + +#: Contents/Resources/web/templates/home.html:164 +msgid "Failed to download" +msgstr "Falha no download" + +#: Contents/Resources/web/templates/home.html:166 +msgid "Unknown status" +msgstr "Status desconhecido" + +#: Contents/Resources/web/templates/home_db_not_cached.html:9 +msgid "Database is being cached, please try again soon." +msgstr "O banco de dados está sendo armazenado em cache, tente novamente em breve." + +#: Contents/Resources/web/templates/navbar.html:23 +msgid "Donate" +msgstr "Doação" + +#: Contents/Resources/web/templates/navbar.html:28 +msgid "GitHub Sponsors" +msgstr "Patrocinadores do GitHub" + +#: Contents/Resources/web/templates/navbar.html:44 +msgid "Support" +msgstr "Suporte" + +#: Contents/Resources/web/templates/navbar.html:49 +msgid "Docs" +msgstr "Documentos" + +#: Contents/Resources/web/templates/navbar.html:53 +msgid "Support Center" +msgstr "Centro de suporte" + +#: Contents/Resources/web/templates/navbar.html:59 +msgid "Home" +msgstr "Início" + From a14b433702704a4d87208e08071ababfeaac18b4 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:57 -0400 Subject: [PATCH 20/22] New translations themerr-plex.po (English, United States) [ci skip] --- locale/en_US/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/en_US/LC_MESSAGES/themerr-plex.po b/locale/en_US/LC_MESSAGES/themerr-plex.po index 7c2451d2..e324a43b 100644 --- a/locale/en_US/LC_MESSAGES/themerr-plex.po +++ b/locale/en_US/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: English, United States\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Support Center" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Home" + From da7c4036971c472868f7135ec5c32ab47b298b74 Mon Sep 17 00:00:00 2001 From: LizardByte-bot <108553330+LizardByte-bot@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:24:59 -0400 Subject: [PATCH 21/22] New translations themerr-plex.po (English, United Kingdom) [ci skip] --- locale/en_GB/LC_MESSAGES/themerr-plex.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locale/en_GB/LC_MESSAGES/themerr-plex.po b/locale/en_GB/LC_MESSAGES/themerr-plex.po index bf5bbee8..b803eaed 100644 --- a/locale/en_GB/LC_MESSAGES/themerr-plex.po +++ b/locale/en_GB/LC_MESSAGES/themerr-plex.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: lizardbyte\n" "Report-Msgid-Bugs-To: github.com/themerr-plex\n" "POT-Creation-Date: 2024-03-15 14:05+0000\n" -"PO-Revision-Date: 2024-03-15 21:02\n" +"PO-Revision-Date: 2026-10-03 01:18\n" "Last-Translator: \n" "Language-Team: English, United Kingdom\n" "MIME-Version: 1.0\n" @@ -137,3 +137,4 @@ msgstr "Support Centre" #: Contents/Resources/web/templates/navbar.html:59 msgid "Home" msgstr "Home" + From 3a2a364037dbfa7f61c45849a0ff1c480b167ee2 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Fri, 2 Oct 2026 21:40:49 -0400 Subject: [PATCH 22/22] fix(l10n): enable Crowdin CI and discover available locales --- .github/workflows/localize.yml | 5 +- crowdin.yml | 6 ++- locale/themerr-plex.po | 1 + src/common/config.py | 32 +------------ src/common/locales.py | 49 ++++++++++++++++++- tests/unit/common/test_locales.py | 79 +++++++++++++++++++++++++++++++ 6 files changed, 136 insertions(+), 36 deletions(-) create mode 100644 tests/unit/common/test_locales.py diff --git a/.github/workflows/localize.yml b/.github/workflows/localize.yml index b81f3e8b..55d892ce 100644 --- a/.github/workflows/localize.yml +++ b/.github/workflows/localize.yml @@ -36,10 +36,7 @@ jobs: run: uv sync --locked --no-build --no-install-project --no-python-downloads --python ${{ env.PYTHON_VERSION }} - name: Update Strings - run: | - uv run --locked --no-build --no-sync python ./scripts/_locale.py --extract - # Remove Babel's trailing blank line before checking for changed strings. - sed -i '${/^$/d;}' locale/themerr-plex.po + run: uv run --locked --no-build --no-sync python ./scripts/_locale.py --extract - name: git diff run: | diff --git a/crowdin.yml b/crowdin.yml index b8437427..624f6aec 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -2,6 +2,8 @@ "base_path": "." "base_url": "https://api.crowdin.com" # optional (for Crowdin Enterprise only) "preserve_hierarchy": true # false will flatten tree on crowdin, but doesn't work with dest option +"commit_message": "chore(l10n): update translations %original_file_name% (%language%)" +"append_commit_message": false "pull_request_title": "chore(l10n): update translations" "pull_request_labels": [ "crowdin", @@ -17,7 +19,9 @@ "two_letters_code": { # map non-two letter codes here, left side is crowdin designation, right side is babel designation "en-GB": "en_GB", - "en-US": "en_US" + "en-US": "en_US", + "pt-BR": "pt_BR", + "zh-TW": "zh_TW", } }, "update_option": "update_as_unapproved" diff --git a/locale/themerr-plex.po b/locale/themerr-plex.po index add5d912..239ec396 100644 --- a/locale/themerr-plex.po +++ b/locale/themerr-plex.po @@ -1204,3 +1204,4 @@ msgstr "" #: web/templates/translations.html:3 msgid "Help translate" msgstr "" + diff --git a/src/common/config.py b/src/common/config.py index eedd8418..67299ca2 100644 --- a/src/common/config.py +++ b/src/common/config.py @@ -118,36 +118,8 @@ def on_change_plex_url() -> None: 'name': _('Locale'), 'description': _('The localization setting to use.'), 'default': 'en', - 'options': [ - 'de', - 'en', - 'en_GB', - 'en_US', - 'es', - 'fr', - 'it', - 'ja', - 'pt', - 'ru', - 'sv', - 'tr', - 'zh', - ], - 'option_names': [ - f'German ({_("German")})', - f'English ({_("English")})', - f'English (Great Britain) ({_("English (Great Britain)")})', - f'English (United States) ({_("English (United States)")})', - f'Spanish ({_("Spanish")})', - f'French ({_("French")})', - f'Italian ({_("Italian")})', - f'Japanese ({_("Japanese")})', - f'Portuguese ({_("Portuguese")})', - f'Russian ({_("Russian")})', - f'Swedish ({_("Swedish")})', - f'Turkish ({_("Turkish")})', - f'Chinese (Simplified) ({_("Chinese (Simplified)")})', - ], + 'options': locales.supported_locales, + 'option_names': locales.get_locale_names(), 'refresh': True, 'extra_class': 'col-lg-6', }, diff --git a/src/common/locales.py b/src/common/locales.py index ff1b238f..3828c0a6 100644 --- a/src/common/locales.py +++ b/src/common/locales.py @@ -18,6 +18,7 @@ # standard imports import gettext import os +import pathlib import subprocess import sys @@ -33,11 +34,57 @@ default_domain = Names.name.lower() default_locale = 'en' default_timezone = 'UTC' -supported_locales = ['en', 'es'] log = logger.get_logger(__name__) +def get_supported_locales() -> list[str]: + """Return sorted locale codes with a PO or compiled MO catalog for this application. + + Include English as the default even when no catalogs are installed. Source templates, + other gettext domains, and directories without catalogs do not add settings options. + + Returns + ------- + list of str + Available locale codes in alphabetical order, including the English default. + + Examples + -------- + >>> get_supported_locales() + ['aa', 'bg', ... 'en', ... 'zh_TW'] + """ + locale_dir = pathlib.Path(Paths.LOCALE_DIR) + catalogs = set(locale_dir.glob(f'*/LC_MESSAGES/{default_domain}.po')) + catalogs.update(locale_dir.glob(f'*/LC_MESSAGES/{default_domain}.mo')) + return sorted({default_locale} | {catalog.parent.parent.name for catalog in catalogs if catalog.is_file()}) + + +supported_locales = get_supported_locales() + + +def get_locale_names() -> list[str]: + """Return English and native display names for supported locales. + + Names follow the order of ``supported_locales`` so each settings label matches its locale code. + + Returns + ------- + list of str + Settings labels containing each language's English and native display names. + + Examples + -------- + >>> get_locale_names() + [... 'English (English)', ... 'Korean (한국어)', ...] + """ + names = [] + for locale_id in supported_locales: + locale = babel.Locale.parse(locale_id) + names.append(f'{locale.get_display_name("en")} ({locale.get_display_name()})') + return names + + def get_all_locales() -> dict: """ Get a dictionary of all possible locales for use with babel. diff --git a/tests/unit/common/test_locales.py b/tests/unit/common/test_locales.py new file mode 100644 index 00000000..d80b5168 --- /dev/null +++ b/tests/unit/common/test_locales.py @@ -0,0 +1,79 @@ +"""Installed translation catalogs determine settings choices and runtime locale selection.""" + +# standard imports +from pathlib import Path + +# lib imports +import babel +import pytest + +# local imports +from common import config, locales + + +def test_discover_catalogs(tmp_path, monkeypatch): + monkeypatch.setattr(locales.Paths, 'LOCALE_DIR', str(tmp_path)) + for locale_id, filename in [ + ('ko', 'themerr-plex.po'), + ('pt_BR', 'themerr-plex.po'), + ('pt_BR', 'themerr-plex.mo'), + ('zh_TW', 'themerr-plex.mo'), + ('fr', 'other.po'), + ]: + messages = tmp_path / locale_id / 'LC_MESSAGES' + messages.mkdir(parents=True, exist_ok=True) + (messages / filename).touch() + (tmp_path / 'themerr-plex.po').touch() + (tmp_path / 'de' / 'LC_MESSAGES').mkdir(parents=True) + (tmp_path / 'es' / 'LC_MESSAGES' / 'themerr-plex.po').mkdir(parents=True) + + assert locales.get_supported_locales() == ['en', 'ko', 'pt_BR', 'zh_TW'] + + +def test_discover_missing_catalog_directory(tmp_path, monkeypatch): + monkeypatch.setattr(locales.Paths, 'LOCALE_DIR', str(tmp_path / 'missing')) + assert locales.get_supported_locales() == ['en'] + + +def test_repository_catalogs_are_settings_options_and_valid_locales(): + root = Path(__file__).resolve().parents[3] / 'locale' + catalog_codes = {catalog.parent.parent.name for catalog in root.glob('*/LC_MESSAGES/themerr-plex.po')} + options = config._CONFIG_SPEC_DICT['General']['LOCALE'] + assert set(options['options']) == catalog_codes | {'en'} + assert options['options'] == locales.supported_locales + assert len(options['option_names']) == len(options['options']) + for locale_id, name in zip(options['options'], options['option_names']): + locale = babel.Locale.parse(locale_id) + assert name == f'{locale.get_display_name("en")} ({locale.get_display_name()})' + + +@pytest.mark.parametrize('locale_id', locales.supported_locales) +def test_settings_locale_is_accepted_at_runtime(locale_id, monkeypatch): + monkeypatch.setattr(config, 'CONFIG', {'General': {'LOCALE': locale_id}}) + assert locales.get_locale() == locale_id + + +@pytest.mark.parametrize('locale_id', locales.supported_locales) +def test_settings_locale_survives_config_validation(locale_id, tmp_path, monkeypatch): + filename = tmp_path / 'config.ini' + filename.write_text(f'[General]\nLOCALE = {locale_id}\n', encoding='utf-8') + monkeypatch.setattr(config, 'CONFIG', None) + result = config.create_config(str(filename)) + assert result['General']['LOCALE'] == locale_id + + +@pytest.mark.parametrize('value', [None, {'General': {'LOCALE': 'unsupported'}}]) +def test_unavailable_locale_falls_back_to_english(value, monkeypatch): + monkeypatch.setattr(config, 'CONFIG', value) + assert locales.get_locale() == 'en' + + +def test_new_catalog_has_display_name_and_runtime_support(tmp_path, monkeypatch): + messages = tmp_path / 'ko' / 'LC_MESSAGES' + messages.mkdir(parents=True) + (messages / 'themerr-plex.po').touch() + monkeypatch.setattr(locales.Paths, 'LOCALE_DIR', str(tmp_path)) + monkeypatch.setattr(locales, 'supported_locales', locales.get_supported_locales()) + monkeypatch.setattr(config, 'CONFIG', {'General': {'LOCALE': 'ko'}}) + assert locales.get_locale() == 'ko' + assert locales.get_locale_names() == ['English (English)', 'Korean (한국어)']