diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e57a05a6..e33d3713 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,6 @@ jobs: with: python-version: '3.13' - name: Lint - run: ./scripts/lint + run: ./scripts/lint.py permissions: contents: read diff --git a/Makefile b/Makefile index 0f7fe849..cb38bd2b 100644 --- a/Makefile +++ b/Makefile @@ -4,59 +4,59 @@ all: weblate_language_data/languages.py weblate_language_data/plural_tags.py PLURALS_DIFF.md $(wildcard weblate_language_data/locale/*/LC_MESSAGES/django.po) $(filter-out $(patsubst modules/cldr-json/cldr-json/cldr-localenames-full/main/%/languages.json,languages-po/%.po,$(wildcard modules/cldr-json/cldr-json/cldr-localenames-full/main/*/languages.json)),languages-po/en.po) -weblate_language_data/languages.py: languages.csv aliases.csv cldr.csv extraplurals.csv default_countries.csv population.csv qt.csv rtl.csv case-insensitive.csv $(wildcard modules/iso-codes/data/iso_*.json) scripts/generate-language-data - ./scripts/generate-language-data +weblate_language_data/languages.py: languages.csv aliases.csv cldr.csv extraplurals.csv default_countries.csv population.csv qt.csv rtl.csv case-insensitive.csv $(wildcard modules/iso-codes/data/iso_*.json) scripts/generate-language-data.py + ./scripts/generate-language-data.py -PLURALS_DIFF.md: languages.csv cldr.csv gettext.csv l10n-guide.csv translate.csv scripts/list-diff - ./scripts/list-diff +PLURALS_DIFF.md: languages.csv cldr.csv gettext.csv l10n-guide.csv translate.csv scripts/list-diff.py + ./scripts/list-diff.py pre-commit run --files PLURALS_DIFF.md || true -cldr.csv: modules/cldr-json/cldr-json/cldr-core/supplemental/plurals.json modules/cldr-json/cldr-json/cldr-localenames-full/main/en/languages.json scripts/export-cldr - ./scripts/export-cldr +cldr.csv: modules/cldr-json/cldr-json/cldr-core/supplemental/plurals.json modules/cldr-json/cldr-json/cldr-localenames-full/main/en/languages.json scripts/export-cldr.py + ./scripts/export-cldr.py -rtl.csv: modules/cldr-json/cldr-json/cldr-misc-full/main/*/layout.json scripts/export-cldr-orientation languages.csv - ./scripts/export-cldr-orientation +rtl.csv: modules/cldr-json/cldr-json/cldr-misc-full/main/*/layout.json scripts/export-cldr-orientation.py languages.csv + ./scripts/export-cldr-orientation.py -case-insensitive.csv: modules/cldr-json/cldr-json/cldr-core/scriptMetadata.json modules/cldr-json/cldr-json/cldr-core/supplemental/languageData.json scripts/export-cldr-case languages.csv - ./scripts/export-cldr-case +case-insensitive.csv: modules/cldr-json/cldr-json/cldr-core/scriptMetadata.json modules/cldr-json/cldr-json/cldr-core/supplemental/languageData.json scripts/export-cldr-case.py languages.csv + ./scripts/export-cldr-case.py -qt.csv: modules/qttools/src/linguist/shared/numerus.cpp scripts/export-qt languages.csv - ./scripts/export-qt +qt.csv: modules/qttools/src/linguist/shared/numerus.cpp scripts/export-qt.py languages.csv + ./scripts/export-qt.py -gettext.csv: modules/gettext/gettext-tools/src/plural-table.c scripts/export-gettext - ./scripts/export-gettext +gettext.csv: modules/gettext/gettext-tools/src/plural-table.c scripts/export-gettext.py + ./scripts/export-gettext.py .PRECIOUS: languages-po/%.po -languages-po/%.po: modules/cldr-json/cldr-json/cldr-localenames-full/main/en/languages.json modules/cldr-json/cldr-json/cldr-localenames-full/main/%/languages.json scripts/export-languages-po - ./scripts/export-languages-po $* +languages-po/%.po: modules/cldr-json/cldr-json/cldr-localenames-full/main/en/languages.json modules/cldr-json/cldr-json/cldr-localenames-full/main/%/languages.json scripts/export-languages-po.py + ./scripts/export-languages-po.py $* -l10n-guide.csv: modules/l10n-guide/docs/l10n/pluralforms.rst scripts/export-l10n-guide - ./scripts/export-l10n-guide +l10n-guide.csv: modules/l10n-guide/docs/l10n/pluralforms.rst scripts/export-l10n-guide.py + ./scripts/export-l10n-guide.py LANG_DATA = $(shell python -c 'from pkg_resources import Requirement, resource_filename; print(resource_filename(Requirement.parse("translate-toolkit"), "translate/lang/data.py"))') -translate.csv: $(LANG_DATA) scripts/export-translate - ./scripts/export-translate +translate.csv: $(LANG_DATA) scripts/export-translate.py + ./scripts/export-translate.py -weblate_language_data/plural_tags.py: modules/cldr-json/cldr-json/cldr-core/supplemental/plurals.json scripts/export-plural-tags modules/cldr-json/cldr-json/cldr-core/supplemental/aliases.json aliases.csv - ./scripts/export-plural-tags +weblate_language_data/plural_tags.py: modules/cldr-json/cldr-json/cldr-core/supplemental/plurals.json scripts/export-plural-tags.py modules/cldr-json/cldr-json/cldr-core/supplemental/aliases.json aliases.csv + ./scripts/export-plural-tags.py -aliases.csv: scripts/export-iso-aliases modules/iso-codes/data/iso_639-2.json modules/iso-codes/data/iso_639-3.json modules/cldr-json/cldr-json/cldr-core/supplemental/aliases.json - ./scripts/export-iso-aliases +aliases.csv: scripts/export-iso-aliases.py modules/iso-codes/data/iso_639-2.json modules/iso-codes/data/iso_639-3.json modules/cldr-json/cldr-json/cldr-core/supplemental/aliases.json + ./scripts/export-iso-aliases.py @touch $@ -population.csv: modules/cldr-json/cldr-json/cldr-core/supplemental/territoryInfo.json scripts/export-cldr-population - ./scripts/export-cldr-population +population.csv: modules/cldr-json/cldr-json/cldr-core/supplemental/territoryInfo.json scripts/export-cldr-population.py + ./scripts/export-cldr-population.py -languages.csv: modules/iso-codes/data/iso_639-2.json scripts/export-iso-languages scripts/add-iso-population aliases.csv population.csv - ./scripts/export-iso-languages - ./scripts/add-iso-population +languages.csv: modules/iso-codes/data/iso_639-2.json scripts/export-iso-languages.py scripts/add-iso-population.py aliases.csv population.csv + ./scripts/export-iso-languages.py + ./scripts/add-iso-population.py @touch $@ weblate_language_data/locale/django.pot: weblate_language_data/languages.py weblate_language_data/plurals.py xgettext --add-comments=Translators: --msgid-bugs-address=https://github.com/WeblateOrg/language-data/issues/ --from-code=utf-8 --language=python --no-location --package-name="Weblate Language Data" --output=$@.1 weblate_language_data/*.py cp $@.1 $@.2 - ./scripts/copy-pot-date $@ $@.2 + ./scripts/copy-pot-date.sh $@ $@.2 if cmp $@ $@.2 ; then touch $@ ; else cp $@.1 $@; fi rm $@.1 $@.2 diff --git a/pyproject.toml b/pyproject.toml index c011ab20..aea1d727 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -139,7 +139,7 @@ platforms = [ weblate_language_data = "weblate_language_data" [tool.setuptools.packages.find] -exclude = ["modules*"] +exclude = ["modules*", "scripts*"] namespaces = true [tool.tomlsort] diff --git a/scripts/add-iso-population b/scripts/add-iso-population.py similarity index 95% rename from scripts/add-iso-population rename to scripts/add-iso-population.py index ccb49469..aec63887 100755 --- a/scripts/add-iso-population +++ b/scripts/add-iso-population.py @@ -37,6 +37,6 @@ for code, population in POPULATION.items(): if code not in LANGUAGE_CODES and code not in ALIASES: print(f"Adding {code} ({population})") subprocess.run( - ["./scripts/add-iso", code], + ["./scripts/add-iso.py", code], check=False, ) diff --git a/scripts/add-iso b/scripts/add-iso.py similarity index 100% rename from scripts/add-iso rename to scripts/add-iso.py diff --git a/scripts/copy-pot-date b/scripts/copy-pot-date.sh similarity index 100% rename from scripts/copy-pot-date rename to scripts/copy-pot-date.sh diff --git a/scripts/export-cldr-case b/scripts/export-cldr-case.py similarity index 100% rename from scripts/export-cldr-case rename to scripts/export-cldr-case.py diff --git a/scripts/export-cldr-orientation b/scripts/export-cldr-orientation.py similarity index 100% rename from scripts/export-cldr-orientation rename to scripts/export-cldr-orientation.py diff --git a/scripts/export-cldr-population b/scripts/export-cldr-population.py similarity index 100% rename from scripts/export-cldr-population rename to scripts/export-cldr-population.py diff --git a/scripts/export-cldr b/scripts/export-cldr.py similarity index 100% rename from scripts/export-cldr rename to scripts/export-cldr.py diff --git a/scripts/export-gettext b/scripts/export-gettext.py similarity index 100% rename from scripts/export-gettext rename to scripts/export-gettext.py diff --git a/scripts/export-iso-aliases b/scripts/export-iso-aliases.py similarity index 100% rename from scripts/export-iso-aliases rename to scripts/export-iso-aliases.py diff --git a/scripts/export-iso-languages b/scripts/export-iso-languages.py similarity index 86% rename from scripts/export-iso-languages rename to scripts/export-iso-languages.py index a47b9e6d..b470fc43 100755 --- a/scripts/export-iso-languages +++ b/scripts/export-iso-languages.py @@ -38,6 +38,6 @@ with open("modules/iso-codes/data/iso_639-2.json") as handle: continue if "alpha_2" in item: if item["alpha_2"] not in IGNORE and item["alpha_2"] not in languages: - subprocess.run(["./scripts/add-iso", item["alpha_2"]], check=True) + subprocess.run(["./scripts/add-iso.py", item["alpha_2"]], check=True) elif item["alpha_3"] not in IGNORE and item["alpha_3"] not in languages: - subprocess.run(["./scripts/add-iso", item["alpha_3"]], check=True) + subprocess.run(["./scripts/add-iso.py", item["alpha_3"]], check=True) diff --git a/scripts/export-l10n-guide b/scripts/export-l10n-guide.py similarity index 100% rename from scripts/export-l10n-guide rename to scripts/export-l10n-guide.py diff --git a/scripts/export-languages-po b/scripts/export-languages-po.py similarity index 100% rename from scripts/export-languages-po rename to scripts/export-languages-po.py diff --git a/scripts/export-macrolanguages b/scripts/export-macrolanguages.py similarity index 96% rename from scripts/export-macrolanguages rename to scripts/export-macrolanguages.py index 7376a3e5..0a3685ea 100755 --- a/scripts/export-macrolanguages +++ b/scripts/export-macrolanguages.py @@ -27,7 +27,7 @@ HEADER = '''# Copyright © Michal Čihař """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/export-macrolanguages.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/scripts/export-plural-tags b/scripts/export-plural-tags.py similarity index 98% rename from scripts/export-plural-tags rename to scripts/export-plural-tags.py index c23ce150..c3e3a975 100755 --- a/scripts/export-plural-tags +++ b/scripts/export-plural-tags.py @@ -19,7 +19,7 @@ HEADER = '''# Copyright © Michal Čihař """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/export-plural-tags.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/scripts/export-qt b/scripts/export-qt.py similarity index 100% rename from scripts/export-qt rename to scripts/export-qt.py diff --git a/scripts/export-translate b/scripts/export-translate.py similarity index 100% rename from scripts/export-translate rename to scripts/export-translate.py diff --git a/scripts/generate-language-data b/scripts/generate-language-data.py similarity index 99% rename from scripts/generate-language-data rename to scripts/generate-language-data.py index 2b9dfedd..0a3b93d5 100755 --- a/scripts/generate-language-data +++ b/scripts/generate-language-data.py @@ -27,7 +27,7 @@ HEADER = '''# Copyright © Michal Čihař """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/scripts/lint b/scripts/lint.py similarity index 100% rename from scripts/lint rename to scripts/lint.py diff --git a/scripts/list-diff b/scripts/list-diff.py similarity index 100% rename from scripts/list-diff rename to scripts/list-diff.py diff --git a/weblate_language_data/aliases.py b/weblate_language_data/aliases.py index 240ac5e4..164725e0 100644 --- a/weblate_language_data/aliases.py +++ b/weblate_language_data/aliases.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/case_insensitive.py b/weblate_language_data/case_insensitive.py index e230f99b..dcb20581 100644 --- a/weblate_language_data/case_insensitive.py +++ b/weblate_language_data/case_insensitive.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/check_languages.py b/weblate_language_data/check_languages.py index 1c95b614..02e431d5 100644 --- a/weblate_language_data/check_languages.py +++ b/weblate_language_data/check_languages.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/countries.py b/weblate_language_data/countries.py index bffd1857..1c473645 100644 --- a/weblate_language_data/countries.py +++ b/weblate_language_data/countries.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/country_codes.py b/weblate_language_data/country_codes.py index addb8c03..736a5964 100644 --- a/weblate_language_data/country_codes.py +++ b/weblate_language_data/country_codes.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/language_codes.py b/weblate_language_data/language_codes.py index b3146015..c211a393 100644 --- a/weblate_language_data/language_codes.py +++ b/weblate_language_data/language_codes.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/languages.py b/weblate_language_data/languages.py index bdd3fd02..0b8c9fc8 100644 --- a/weblate_language_data/languages.py +++ b/weblate_language_data/languages.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/plural_tags.py b/weblate_language_data/plural_tags.py index 67f393ff..a2b703c1 100644 --- a/weblate_language_data/plural_tags.py +++ b/weblate_language_data/plural_tags.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/export-plural-tags.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/plurals.py b/weblate_language_data/plurals.py index a338e31c..1cbf9242 100644 --- a/weblate_language_data/plurals.py +++ b/weblate_language_data/plurals.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/population.py b/weblate_language_data/population.py index 8db5535a..2e6082f8 100644 --- a/weblate_language_data/population.py +++ b/weblate_language_data/population.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data diff --git a/weblate_language_data/rtl.py b/weblate_language_data/rtl.py index c47b8ca8..c2208188 100644 --- a/weblate_language_data/rtl.py +++ b/weblate_language_data/rtl.py @@ -5,7 +5,7 @@ """ Language data definitions. -This is an automatically generated file, see scripts/generate-language-data +This is an automatically generated file, see scripts/generate-language-data.py Do not edit, please adjust language definitions in following repository: https://github.com/WeblateOrg/language-data