diff --git a/README.md b/README.md index 30335755d..ddedb9436 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ Stirling-PDF currently supports 40 languages! | Spanish (Español) (es_ES) | ![89%](https://geps.dev/progress/89) | | Swedish (Svenska) (sv_SE) | ![78%](https://geps.dev/progress/78) | | Thai (ไทย) (th_TH) | ![71%](https://geps.dev/progress/71) | -| Tibetan (བོད་ཡིག་) (zh_BO) | ![79%](https://geps.dev/progress/79) | +| Tibetan (བོད་ཡིག་) (bo_CN) | ![79%](https://geps.dev/progress/79) | | Traditional Chinese (繁體中文) (zh_TW) | ![89%](https://geps.dev/progress/89) | | Turkish (Türkçe) (tr_TR) | ![87%](https://geps.dev/progress/87) | | Ukrainian (Українська) (uk_UA) | ![89%](https://geps.dev/progress/89) | diff --git a/scripts/counter_translation.py b/scripts/counter_translation.py index 789cb7c11..f5bcfa1e5 100644 --- a/scripts/counter_translation.py +++ b/scripts/counter_translation.py @@ -182,7 +182,8 @@ def compare_files( sort_ignore_translation[language]["ignore"].remove( default_key.strip() ) - except ValueError: + except ValueError as e: + print(f"Error processing line {line_num} in {file_path}: {e}") print(f"{line_default}|{line_file}") exit(1) except IndexError: diff --git a/scripts/ignore_translation.toml b/scripts/ignore_translation.toml index 12f3bc7a4..9c95ba192 100644 --- a/scripts/ignore_translation.toml +++ b/scripts/ignore_translation.toml @@ -1,34 +1,190 @@ [ar_AR] ignore = [ + 'lang.div', + 'lang.dzo', + 'lang.que', 'language.direction', ] [az_AZ] ignore = [ + 'lang.afr', + 'lang.bre', + 'lang.div', + 'lang.epo', + 'lang.guj', + 'lang.hin', + 'lang.kan', + 'lang.mal', + 'lang.mar', + 'lang.mlt', + 'lang.mri', + 'lang.msa', + 'lang.nep', + 'lang.ori', + 'lang.pan', + 'lang.san', + 'lang.sin', + 'lang.slk', + 'lang.snd', + 'lang.sun', + 'lang.tam', + 'lang.tat', + 'lang.urd', + 'lang.yor', 'language.direction', ] [bg_BG] +ignore = [ + 'lang.div', + 'lang.dzo', + 'lang.iku', + 'lang.que', + 'language.direction', +] + +[bo_CN] ignore = [ 'language.direction', ] [ca_CA] ignore = [ - 'PDFToText.tags', 'adminUserSettings.admin', + 'lang.amh', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.fao', + 'lang.fry', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.kan', + 'lang.kaz', + 'lang.lao', + 'lang.mar', + 'lang.mri', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.snd', + 'lang.swa', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tir', + 'lang.uzb', + 'lang.uzb_cyrl', 'language.direction', 'watermark.type.1', ] [cs_CZ] ignore = [ + 'lang.amh', + 'lang.asm', + 'lang.bod', + 'lang.bos', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.frk', + 'lang.gla', + 'lang.guj', + 'lang.iku', + 'lang.jav', + 'lang.kan', + 'lang.kat', + 'lang.khm', + 'lang.kir', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.msa', + 'lang.nor', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.san', + 'lang.sin', + 'lang.snd', + 'lang.sun', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgl', + 'lang.tha', + 'lang.tir', + 'lang.uig', + 'lang.urd', + 'lang.uzb', + 'lang.uzb_cyrl', + 'lang.yor', 'language.direction', 'text', ] [da_DK] ignore = [ + 'lang.afr', + 'lang.amh', + 'lang.ben', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.frk', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.jav', + 'lang.kan', + 'lang.khm', + 'lang.lao', + 'lang.lat', + 'lang.ltz', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.msa', + 'lang.nep', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.san', + 'lang.sin', + 'lang.slk_frak', + 'lang.snd', + 'lang.sun', + 'lang.swa', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tha', + 'lang.tir', + 'lang.ton', + 'lang.uig', + 'lang.urd', + 'lang.uzb', + 'lang.yor', 'language.direction', ] @@ -41,8 +197,36 @@ ignore = [ 'addPageNumbers.selectText.3', 'alphabet', 'certSign.name', + 'cookieBanner.popUp.acceptAllBtn', + 'endpointStatistics.top10', + 'endpointStatistics.top20', 'fileChooser.dragAndDrop', 'home.pipeline.title', + 'lang.afr', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.kan', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.nep', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.san', + 'lang.snd', + 'lang.tam', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.urd', + 'lang.yor', 'language.direction', 'legal.impressum', 'licenses.version', @@ -56,13 +240,19 @@ ignore = [ 'validateSignature.cert.version', 'validateSignature.status', 'watermark.type.1', - 'endpointStatistics.top10', - 'endpointStatistics.top20', - 'cookieBanner.popUp.acceptAllBtn', ] [el_GR] ignore = [ + 'lang.ceb', + 'lang.dzo', + 'lang.iku', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.sin', + 'lang.uig', + 'lang.uzb_cyrl', 'language.direction', ] @@ -70,6 +260,31 @@ ignore = [ ignore = [ 'adminUserSettings.roles', 'error', + 'lang.asm', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.fil', + 'lang.frm', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.san', + 'lang.snd', + 'lang.sun', + 'lang.tam', + 'lang.tel', + 'lang.tir', + 'lang.urd', + 'lang.uzb', + 'lang.yor', 'language.direction', 'no', 'showJS.tags', @@ -77,6 +292,23 @@ ignore = [ [eu_ES] ignore = [ + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.mal', + 'lang.pan', + 'lang.que', + 'lang.san', + 'lang.slv', + 'lang.snd', + 'lang.sqi', + 'lang.tat', + 'lang.tir', + 'lang.yor', 'language.direction', ] @@ -96,6 +328,31 @@ ignore = [ 'alphabet', 'compare.document.1', 'compare.document.2', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.eus', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.kaz', + 'lang.khm', + 'lang.lao', + 'lang.ltz', + 'lang.mal', + 'lang.mar', + 'lang.oci', + 'lang.ori', + 'lang.que', + 'lang.san', + 'lang.snd', + 'lang.swa', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.yor', 'language.direction', 'licenses.license', 'licenses.module', @@ -108,6 +365,24 @@ ignore = [ [ga_IE] ignore = [ + 'lang.ceb', + 'lang.cos', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.guj', + 'lang.hat', + 'lang.iku', + 'lang.lao', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.sin', + 'lang.snd', + 'lang.sun', + 'lang.tgk', + 'lang.tir', + 'lang.uig', 'language.direction', ] @@ -120,22 +395,126 @@ ignore = [ ignore = [ 'PDFToBook.selectText.1', 'home.pipeline.title', + 'lang.bod', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.dzo', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mri', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.san', + 'lang.snd', + 'lang.tam', + 'lang.tel', + 'lang.tgl', + 'lang.tir', 'language.direction', 'showJS.tags', ] [hu_HU] ignore = [ + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.fao', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mar', + 'lang.mri', + 'lang.ori', + 'lang.que', + 'lang.tel', + 'lang.tgl', 'language.direction', ] [id_ID] ignore = [ + 'lang.aze', + 'lang.aze_cyrl', + 'lang.bre', + 'lang.cat', + 'lang.ceb', + 'lang.chr', + 'lang.cym', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.eus', + 'lang.fao', + 'lang.frk', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.kan', + 'lang.kaz', + 'lang.kir', + 'lang.lao', + 'lang.lat', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.slk_frak', + 'lang.snd', + 'lang.sun', + 'lang.swa', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tha', + 'lang.tir', + 'lang.uig', + 'lang.urd', + 'lang.uzb', + 'lang.uzb_cyrl', + 'lang.yor', 'language.direction', ] [it_IT] ignore = [ + 'lang.asm', + 'lang.aze', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.fao', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.snd', + 'lang.swa', + 'lang.tam', + 'lang.tel', + 'lang.tgl', + 'lang.urd', + 'lang.yor', 'language.direction', 'no', 'password', @@ -148,11 +527,21 @@ ignore = [ [ja_JP] ignore = [ + 'lang.jav', 'language.direction', ] [ko_KR] ignore = [ + 'lang.fao', + 'lang.pus', + 'lang.sun', + 'language.direction', +] + +[ml_IN] +ignore = [ + 'lang.iku', 'language.direction', ] @@ -160,6 +549,37 @@ ignore = [ ignore = [ 'compare.document.1', 'compare.document.2', + 'lang.afr', + 'lang.asm', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.dzo', + 'lang.epo', + 'lang.fao', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.sin', + 'lang.snd', + 'lang.sun', + 'lang.swa', + 'lang.tam', + 'lang.tel', + 'lang.tgl', + 'lang.ton', + 'lang.urd', + 'lang.yor', 'language.direction', 'navbar.allTools', 'sponsor', @@ -170,6 +590,49 @@ ignore = [ 'PDFToBook.selectText.1', 'adminUserSettings.admin', 'info', + 'lang.afr', + 'lang.amh', + 'lang.ben', + 'lang.bos', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.dan_frak', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.guj', + 'lang.hin', + 'lang.iku', + 'lang.kan', + 'lang.khm', + 'lang.lao', + 'lang.lat', + 'lang.ltz', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.msa', + 'lang.nep', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.que', + 'lang.san', + 'lang.slk_frak', + 'lang.snd', + 'lang.swa', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tha', + 'lang.tir', + 'lang.ton', + 'lang.uig', + 'lang.urd', + 'lang.yor', 'language.direction', 'oops', 'sponsor', @@ -178,27 +641,148 @@ ignore = [ [pl_PL] ignore = [ 'PDFToBook.selectText.1', + 'lang.afr', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.cos', + 'lang.div', + 'lang.dzo', + 'lang.fao', + 'lang.frk', + 'lang.guj', + 'lang.hat', + 'lang.iku', + 'lang.kan', + 'lang.khm', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.nep', + 'lang.oci', + 'lang.ori', + 'lang.pus', + 'lang.que', + 'lang.snd', + 'lang.sun', + 'lang.swa', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.uig', + 'lang.urd', 'language.direction', ] [pt_BR] ignore = [ + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.fao', + 'lang.fil', + 'lang.frk', + 'lang.fry', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.kir', + 'lang.mar', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.snd', + 'lang.tat', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.uig', + 'lang.uzb', + 'lang.yid', 'language.direction', 'pipelineOptions.pipelineHeader', ] [pt_PT] ignore = [ + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.fao', + 'lang.fil', + 'lang.frk', + 'lang.fry', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.kir', + 'lang.mar', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.snd', + 'lang.tat', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.uig', + 'lang.uzb', + 'lang.yid', 'language.direction', ] [ro_RO] ignore = [ + 'lang.amh', + 'lang.asm', + 'lang.bod', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.cos', + 'lang.deu_frak', + 'lang.div', + 'lang.dzo', + 'lang.est', + 'lang.fao', + 'lang.glg', + 'lang.guj', + 'lang.iku', + 'lang.jav', + 'lang.kan', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.nep', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.pus', + 'lang.slk_frak', + 'lang.snd', + 'lang.sun', + 'lang.swa', + 'lang.tam', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.urd', + 'lang.yor', 'language.direction', ] [ru_RU] ignore = [ + 'lang.iku', + 'lang.pus', 'language.direction', ] @@ -207,6 +791,25 @@ ignore = [ 'adminUserSettings.admin', 'home.multiTool.title', 'info', + 'lang.ceb', + 'lang.chr', + 'lang.dzo', + 'lang.epo', + 'lang.iku', + 'lang.kaz', + 'lang.mar', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.san', + 'lang.sin', + 'lang.snd', + 'lang.tat', + 'lang.tel', + 'lang.tgl', + 'lang.tir', + 'lang.urd', + 'lang.uzb', 'language.direction', 'navbar.sections.security', 'text', @@ -215,6 +818,37 @@ ignore = [ [sl_SI] ignore = [ + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.eus', + 'lang.fao', + 'lang.frk', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.lao', + 'lang.mar', + 'lang.mri', + 'lang.oci', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.slk', + 'lang.snd', + 'lang.sun', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tir', + 'lang.urd', + 'lang.uzb', + 'lang.yor', 'language.direction', ] @@ -227,11 +861,43 @@ ignore = [ [sv_SE] ignore = [ + 'lang.ben', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.dzo', + 'lang.epo', + 'lang.guj', + 'lang.hin', + 'lang.kan', + 'lang.lao', + 'lang.lat', + 'lang.mal', + 'lang.mri', + 'lang.ori', + 'lang.pan', + 'lang.que', + 'lang.san', + 'lang.slk_frak', + 'lang.snd', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tir', + 'lang.urd', + 'lang.yor', 'language.direction', ] [th_TH] ignore = [ + 'lang.dzo', + 'lang.kir', + 'lang.pan', + 'lang.sin', + 'lang.slk_frak', + 'lang.tir', + 'lang.uzb_cyrl', 'language.direction', 'pipelineOptions.pipelineHeader', 'showJS.tags', @@ -239,33 +905,111 @@ ignore = [ [tr_TR] ignore = [ + 'lang.afr', + 'lang.bre', + 'lang.ceb', + 'lang.chr', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.fao', + 'lang.guj', + 'lang.kan', + 'lang.lao', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.msa', + 'lang.ori', + 'lang.pus', + 'lang.que', + 'lang.sin', + 'lang.slk', + 'lang.slk_frak', + 'lang.snd', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tgl', + 'lang.tir', + 'lang.urd', + 'lang.yor', 'language.direction', ] [uk_UA] ignore = [ + 'lang.iku', 'language.direction', ] [vi_VN] ignore = [ + 'lang.amh', + 'lang.asm', + 'lang.aze', + 'lang.aze_cyrl', + 'lang.bos', + 'lang.bre', + 'lang.cat', + 'lang.ceb', + 'lang.chr', + 'lang.cos', + 'lang.div', + 'lang.dzo', + 'lang.epo', + 'lang.eus', + 'lang.fao', + 'lang.glg', + 'lang.guj', + 'lang.iku', + 'lang.kan', + 'lang.kaz', + 'lang.kir', + 'lang.lat', + 'lang.ltz', + 'lang.mal', + 'lang.mar', + 'lang.mri', + 'lang.msa', + 'lang.ori', + 'lang.pus', + 'lang.que', + 'lang.sin', + 'lang.slk', + 'lang.slk_frak', + 'lang.snd', + 'lang.swa', + 'lang.syr', + 'lang.tam', + 'lang.tat', + 'lang.tel', + 'lang.tgk', + 'lang.tir', + 'lang.uig', + 'lang.uzb', + 'lang.uzb_cyrl', + 'lang.yid', + 'lang.yor', 'language.direction', 'pipeline.title', 'pipelineOptions.pipelineHeader', 'showJS.tags', ] -[zh_BO] -ignore = [ - 'language.direction', -] - [zh_CN] ignore = [ + 'lang.dzo', + 'lang.iku', + 'lang.que', 'language.direction', ] [zh_TW] ignore = [ + 'lang.dzo', + 'lang.iku', + 'lang.que', 'language.direction', ] diff --git a/src/main/resources/messages_zh_BO.properties b/src/main/resources/messages_bo_CN.properties similarity index 100% rename from src/main/resources/messages_zh_BO.properties rename to src/main/resources/messages_bo_CN.properties diff --git a/src/main/resources/templates/fragments/languages.html b/src/main/resources/templates/fragments/languages.html index e987ea2b3..bf11d91b2 100644 --- a/src/main/resources/templates/fragments/languages.html +++ b/src/main/resources/templates/fragments/languages.html @@ -4,7 +4,7 @@
-
+