diff --git a/.scripts/requirements.txt b/.scripts/requirements.txt new file mode 100644 index 0000000000..ba1a5590c4 --- /dev/null +++ b/.scripts/requirements.txt @@ -0,0 +1,4 @@ +polib==1.1.1 +googletrans==3.1.0a0 +translate-toolkit==3.8.1 +requests==2.31.0 \ No newline at end of file diff --git a/Makefile b/Makefile index c778061656..643e323cbd 100644 --- a/Makefile +++ b/Makefile @@ -41,6 +41,7 @@ SPHINX_CONF := $(CPYTHON_CLONE)/Doc/conf.py LANGUAGE := zh_TW LC_MESSAGES := $(CPYTHON_CLONE)/Doc/locales/$(LANGUAGE)/LC_MESSAGES VENV := ~/.venvs/python-docs-i18n/ +VENV_FOR_SCRIPT := ~/.venvs/python-docs-zhtw-script/ PYTHON := $(shell which python3) MODE := autobuild-dev-html BRANCH := $(or $(VERSION), $(shell git describe --contains --all HEAD)) @@ -75,6 +76,33 @@ $(VENV)/bin/sphinx-lint: $(VENV)/bin/activate $(VENV)/bin/blurb: $(VENV)/bin/activate . $(VENV)/bin/activate; python3 -m pip install blurb +$(VENV_FOR_SCRIPT)/bin/activate: + mkdir -p $(VENV_FOR_SCRIPT) + $(PYTHON) -m venv $(VENV_FOR_SCRIPT) + . $(VENV_FOR_SCRIPT)/bin/activate; python3 -m pip install -r .scripts/requirements.txt + +.PHONY: summarize_progress +summarize_progress: $(VENV_FOR_SCRIPT)/bin/activate + cd .scripts && \ + . $(VENV_FOR_SCRIPT)/bin/activate; \ + python3 summarize_progress/main.py + +.PHONY: google_translate +google_translate: $(VENV_FOR_SCRIPT)/bin/activate + if [ -z $(filter-out $@,$(MAKECMDGOALS)) ]; then \ + echo "Please provide a file argument."; \ + exit 1; \ + fi + + @$(eval __target=$(filter-out $@,$(MAKECMDGOALS))) + @$(eval __filepath=$(addprefix ../,$(__target))) + @$(eval __temp_po_file=tmp.po) + + cd .scripts && \ + . $(VENV_FOR_SCRIPT)/bin/activate; \ + python3 google_translate/main.py $(__filepath) > $(__temp_po_file) ; pomerge -t $(__filepath) -i $(__temp_po_file) -o $(__filepath); rm "$(__temp_po_file)" + exit 0 + .PHONY: upgrade_venv upgrade_venv: $(VENV)/bin/activate ## Upgrade the venv that compiles the doc