mirror of
https://github.com/tuxbox-neutrino/buildenv.git
synced 2025-08-26 23:13:18 +02:00
.github: add translate workflow
This commit is contained in:
29
.github/scripts/translate.py
vendored
Normal file
29
.github/scripts/translate.py
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
from googletrans import Translator
|
||||||
|
|
||||||
|
def translate_readme(input_text, target_lang):
|
||||||
|
translator = Translator()
|
||||||
|
translated = translator.translate(input_text, dest=target_lang)
|
||||||
|
translated_text = translated.text
|
||||||
|
|
||||||
|
# add hint for automatically translation
|
||||||
|
translated_text = f"This is an automatically translated file. Original content in [German](https://github.com/tuxbox-neutrino/buildenv/blob/3.2.4/README-de.md):\n\n{translated_text}"
|
||||||
|
|
||||||
|
# replace [Build Image](#Build-Image) with [Build Image](#build-image), Use this workaround, because translater breaks this anchor
|
||||||
|
translated_text = translated_text.replace("[Build Image](#Build Image)", "[Build Image](#build-image)")
|
||||||
|
|
||||||
|
# fix broken links
|
||||||
|
translated_text = translated_text.replace("devtool -reference.html", "devtool-reference.html")
|
||||||
|
translated_text = translated_text.replace("dev-manual -common-tasks.html", "dev-manual-common-tasks.html")
|
||||||
|
|
||||||
|
return translated_text
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
input_text = open("README-de.md", "r").read()
|
||||||
|
target_lang = "en" # target language is english
|
||||||
|
translated_text = translate_readme(input_text, target_lang)
|
||||||
|
|
||||||
|
with open("README-en.md", "w") as outfile:
|
||||||
|
outfile.write(translated_text)
|
||||||
|
|
||||||
|
|
||||||
|
|
42
.github/workflows/readme.yml
vendored
Normal file
42
.github/workflows/readme.yml
vendored
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
name: Translate README
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 3.2.4
|
||||||
|
paths:
|
||||||
|
- 'README-de.md'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
translate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.x
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install --upgrade googletrans==3.1.0a0
|
||||||
|
|
||||||
|
- name: Translate README
|
||||||
|
run: |
|
||||||
|
python .github/scripts/translate.py
|
||||||
|
|
||||||
|
- name: Commit and push translated README
|
||||||
|
run: |
|
||||||
|
git config --global user.email "actions@github.com"
|
||||||
|
git config --global user.name "GitHub Actions"
|
||||||
|
git add README-en.md
|
||||||
|
git commit -m "readme: Automatically translated README to English"
|
||||||
|
git push
|
||||||
|
|
Reference in New Issue
Block a user