From 512217184c2fdda9119382fa93ec5c6bf1b30807 Mon Sep 17 00:00:00 2001 From: Shadi Naif Date: Thu, 20 Apr 2023 17:57:11 +0300 Subject: [PATCH] feat: make extract_translations to use i18n_tool Refs: FC-0012 OEP-58 --- Makefile | 22 ++++++++++++++---- .../{ => conf}/locale/config.yaml | 0 .../locale/en/LC_MESSAGES/django.mo | Bin .../locale/en/LC_MESSAGES/django.po | 0 .../locale/eo/LC_MESSAGES/django.mo | Bin .../locale/eo/LC_MESSAGES/django.po | 0 .../locale/es_419/LC_MESSAGES/django.mo | Bin .../locale/es_419/LC_MESSAGES/django.po | 0 edx_credentials_themes/locale | 1 + 9 files changed, 19 insertions(+), 4 deletions(-) rename edx_credentials_themes/{ => conf}/locale/config.yaml (100%) rename edx_credentials_themes/{ => conf}/locale/en/LC_MESSAGES/django.mo (100%) rename edx_credentials_themes/{ => conf}/locale/en/LC_MESSAGES/django.po (100%) rename edx_credentials_themes/{ => conf}/locale/eo/LC_MESSAGES/django.mo (100%) rename edx_credentials_themes/{ => conf}/locale/eo/LC_MESSAGES/django.po (100%) rename edx_credentials_themes/{ => conf}/locale/es_419/LC_MESSAGES/django.mo (100%) rename edx_credentials_themes/{ => conf}/locale/es_419/LC_MESSAGES/django.po (100%) create mode 120000 edx_credentials_themes/locale diff --git a/Makefile b/Makefile index 73396b54..252f50d4 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,12 @@ NODE_BIN=$(CURDIR)/node_modules/.bin +WORKING_DIR := edx_credentials_themes +EXTRACT_DIR := $(WORKING_DIR)/conf/locale/en/LC_MESSAGES +EXTRACTED_DJANGO_PARTIAL := $(EXTRACT_DIR)/django-partial.po +EXTRACTED_DJANGOJS_PARTIAL := $(EXTRACT_DIR)/djangojs-partial.po +EXTRACTED_DJANGO := $(EXTRACT_DIR)/django.po + # Generates a help message. Borrowed from https://github.com/pydanny/cookiecutter-djangopackage. help: ## display this help message @echo "Please use \`make \` where is one of" @@ -26,8 +32,16 @@ detect_changed_source_translations: dummy_translations: cd edx_credentials_themes && i18n_tool dummy -extract_translations: - cd edx_credentials_themes && django-admin.py makemessages -l en -d django +extract_translations: ## extract strings to be translated, outputting .po files + cd $(WORKING_DIR) && i18n_tool extract + mv $(EXTRACTED_DJANGO_PARTIAL) $(EXTRACTED_DJANGO) + # Safely concatenate djangojs if it exists + if test -f $(EXTRACTED_DJANGOJS_PARTIAL); then \ + msgcat $(EXTRACTED_DJANGO) $(EXTRACTED_DJANGOJS_PARTIAL) -o $(EXTRACTED_DJANGO) && \ + rm $(EXTRACTED_DJANGOJS_PARTIAL); \ + fi + sed -i'' -e 's/nplurals=INTEGER/nplurals=2/' $(EXTRACTED_DJANGO) + sed -i'' -e 's/plural=EXPRESSION/plural=\(n != 1\)/' $(EXTRACTED_DJANGO) generate_translations: extract_translations dummy_translations compile_translations @@ -47,7 +61,7 @@ requirements: base_requirements test: # Confirm compiled assets have not changed, indicating SASS matches CSS. - git diff --exit-code edx_credentials_themes/ + git diff --exit-code edx_credentials_themes/ ":(exclude)edx_credentials_themes/conf" upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in @@ -60,7 +74,7 @@ upgrade: ## update the requirements/*.txt files with the latest packages satisfy pip-compile --upgrade -o requirements/test.txt requirements/test.in validate_translations: generate_translations detect_changed_source_translations - cd edx_credentials_themes && i18n_tool validate + ## Validate translations without (i18n_tool validate) since we're moving towards complying with OEP-58 install_transifex_client: ## Install the Transifex client curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash diff --git a/edx_credentials_themes/locale/config.yaml b/edx_credentials_themes/conf/locale/config.yaml similarity index 100% rename from edx_credentials_themes/locale/config.yaml rename to edx_credentials_themes/conf/locale/config.yaml diff --git a/edx_credentials_themes/locale/en/LC_MESSAGES/django.mo b/edx_credentials_themes/conf/locale/en/LC_MESSAGES/django.mo similarity index 100% rename from edx_credentials_themes/locale/en/LC_MESSAGES/django.mo rename to edx_credentials_themes/conf/locale/en/LC_MESSAGES/django.mo diff --git a/edx_credentials_themes/locale/en/LC_MESSAGES/django.po b/edx_credentials_themes/conf/locale/en/LC_MESSAGES/django.po similarity index 100% rename from edx_credentials_themes/locale/en/LC_MESSAGES/django.po rename to edx_credentials_themes/conf/locale/en/LC_MESSAGES/django.po diff --git a/edx_credentials_themes/locale/eo/LC_MESSAGES/django.mo b/edx_credentials_themes/conf/locale/eo/LC_MESSAGES/django.mo similarity index 100% rename from edx_credentials_themes/locale/eo/LC_MESSAGES/django.mo rename to edx_credentials_themes/conf/locale/eo/LC_MESSAGES/django.mo diff --git a/edx_credentials_themes/locale/eo/LC_MESSAGES/django.po b/edx_credentials_themes/conf/locale/eo/LC_MESSAGES/django.po similarity index 100% rename from edx_credentials_themes/locale/eo/LC_MESSAGES/django.po rename to edx_credentials_themes/conf/locale/eo/LC_MESSAGES/django.po diff --git a/edx_credentials_themes/locale/es_419/LC_MESSAGES/django.mo b/edx_credentials_themes/conf/locale/es_419/LC_MESSAGES/django.mo similarity index 100% rename from edx_credentials_themes/locale/es_419/LC_MESSAGES/django.mo rename to edx_credentials_themes/conf/locale/es_419/LC_MESSAGES/django.mo diff --git a/edx_credentials_themes/locale/es_419/LC_MESSAGES/django.po b/edx_credentials_themes/conf/locale/es_419/LC_MESSAGES/django.po similarity index 100% rename from edx_credentials_themes/locale/es_419/LC_MESSAGES/django.po rename to edx_credentials_themes/conf/locale/es_419/LC_MESSAGES/django.po diff --git a/edx_credentials_themes/locale b/edx_credentials_themes/locale new file mode 120000 index 00000000..618b7e29 --- /dev/null +++ b/edx_credentials_themes/locale @@ -0,0 +1 @@ +conf/locale \ No newline at end of file