mirror of
https://github.com/tuxbox-neutrino/buildenv.git
synced 2025-08-26 15:02:58 +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