From 294af53b38d985f5491e92c9c8b5f2e1201c41d2 Mon Sep 17 00:00:00 2001 From: miro Date: Wed, 15 May 2024 03:30:38 +0100 Subject: [PATCH] automations/translations --- .github/workflows/publish_alpha.yml | 1 + .github/workflows/sync_tx.yml | 32 +++++++++++++++++ scripts/prepare_translations.py | 53 ++++++++++++++++++++++++++++ scripts/sync_translations.py | 54 +++++++++++++++++++++++++++++ translations/ca-es/regexes.json | 5 +++ translations/ca-es/vocabs.json | 8 +++++ translations/da-dk/regexes.json | 5 +++ translations/da-dk/vocabs.json | 8 +++++ translations/de-de/regexes.json | 5 +++ translations/de-de/vocabs.json | 8 +++++ translations/el-gr/regexes.json | 5 +++ translations/el-gr/vocabs.json | 8 +++++ translations/en-us/regexes.json | 5 +++ translations/en-us/vocabs.json | 8 +++++ translations/es-es/regexes.json | 5 +++ translations/es-es/vocabs.json | 8 +++++ translations/eu-eu/regexes.json | 5 +++ translations/eu-eu/vocabs.json | 7 ++++ translations/fa-ir/regexes.json | 5 +++ translations/fa-ir/vocabs.json | 8 +++++ translations/fr-fr/regexes.json | 5 +++ translations/fr-fr/vocabs.json | 8 +++++ translations/gl-es/regexes.json | 5 +++ translations/gl-es/vocabs.json | 8 +++++ translations/hu-hu/regexes.json | 5 +++ translations/hu-hu/vocabs.json | 8 +++++ translations/it-it/regexes.json | 5 +++ translations/it-it/vocabs.json | 8 +++++ translations/nl-nl/regexes.json | 5 +++ translations/nl-nl/vocabs.json | 8 +++++ translations/pl-pl/regexes.json | 5 +++ translations/pl-pl/vocabs.json | 8 +++++ translations/pt-br/regexes.json | 5 +++ translations/pt-br/vocabs.json | 8 +++++ translations/ro-ro/regexes.json | 5 +++ translations/ro-ro/vocabs.json | 8 +++++ translations/ru-ru/regexes.json | 5 +++ translations/ru-ru/vocabs.json | 8 +++++ translations/sv-se/regexes.json | 5 +++ translations/sv-se/vocabs.json | 8 +++++ translations/tr-tr/regexes.json | 5 +++ translations/tr-tr/vocabs.json | 8 +++++ 42 files changed, 386 insertions(+) create mode 100644 .github/workflows/sync_tx.yml create mode 100644 scripts/prepare_translations.py create mode 100644 scripts/sync_translations.py create mode 100644 translations/ca-es/regexes.json create mode 100644 translations/ca-es/vocabs.json create mode 100644 translations/da-dk/regexes.json create mode 100644 translations/da-dk/vocabs.json create mode 100644 translations/de-de/regexes.json create mode 100644 translations/de-de/vocabs.json create mode 100644 translations/el-gr/regexes.json create mode 100644 translations/el-gr/vocabs.json create mode 100644 translations/en-us/regexes.json create mode 100644 translations/en-us/vocabs.json create mode 100644 translations/es-es/regexes.json create mode 100644 translations/es-es/vocabs.json create mode 100644 translations/eu-eu/regexes.json create mode 100644 translations/eu-eu/vocabs.json create mode 100644 translations/fa-ir/regexes.json create mode 100644 translations/fa-ir/vocabs.json create mode 100644 translations/fr-fr/regexes.json create mode 100644 translations/fr-fr/vocabs.json create mode 100644 translations/gl-es/regexes.json create mode 100644 translations/gl-es/vocabs.json create mode 100644 translations/hu-hu/regexes.json create mode 100644 translations/hu-hu/vocabs.json create mode 100644 translations/it-it/regexes.json create mode 100644 translations/it-it/vocabs.json create mode 100644 translations/nl-nl/regexes.json create mode 100644 translations/nl-nl/vocabs.json create mode 100644 translations/pl-pl/regexes.json create mode 100644 translations/pl-pl/vocabs.json create mode 100644 translations/pt-br/regexes.json create mode 100644 translations/pt-br/vocabs.json create mode 100644 translations/ro-ro/regexes.json create mode 100644 translations/ro-ro/vocabs.json create mode 100644 translations/ru-ru/regexes.json create mode 100644 translations/ru-ru/vocabs.json create mode 100644 translations/sv-se/regexes.json create mode 100644 translations/sv-se/vocabs.json create mode 100644 translations/tr-tr/regexes.json create mode 100644 translations/tr-tr/vocabs.json diff --git a/.github/workflows/publish_alpha.yml b/.github/workflows/publish_alpha.yml index fb96c28..784d7e8 100644 --- a/.github/workflows/publish_alpha.yml +++ b/.github/workflows/publish_alpha.yml @@ -14,6 +14,7 @@ on: - 'MANIFEST.in' - 'README.md' - 'scripts/**' + - 'translations/**' workflow_dispatch: jobs: diff --git a/.github/workflows/sync_tx.yml b/.github/workflows/sync_tx.yml new file mode 100644 index 0000000..2fd378e --- /dev/null +++ b/.github/workflows/sync_tx.yml @@ -0,0 +1,32 @@ +name: Run script on merge to dev by gitlocalize-app + +on: + workflow_dispatch: + push: + branches: + - dev + +jobs: + run-script: + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v2 + with: + ref: dev + fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository. + - name: Setup Python + uses: actions/setup-python@v1 + with: + python-version: 3.9 + + - name: Run script if merged by gitlocalize-app[bot] + if: github.event_name == 'push' && github.event.head_commit.author.username == 'gitlocalize-app[bot]' + run: | + python scripts/sync_translations.py + + - name: Commit to dev + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Update translations + branch: dev diff --git a/scripts/prepare_translations.py b/scripts/prepare_translations.py new file mode 100644 index 0000000..46dee45 --- /dev/null +++ b/scripts/prepare_translations.py @@ -0,0 +1,53 @@ +"""this script should run every time the contents of the locale folder change +except if PR originated from @gitlocalize-app +TODO - on commit to dev +""" + +import json +from os.path import dirname +import os + +locale = f"{dirname(dirname(__file__))}/locale" +tx = f"{dirname(dirname(__file__))}/translations" + + +for lang in os.listdir(locale): + intents = {} + dialogs = {} + vocs = {} + regexes = {} + for root, _, files in os.walk(f"{locale}/{lang}"): + b = root.split(f"/{lang}")[-1] + + for f in files: + if b: + fid = f"{b}/{f}" + else: + fid = f + with open(f"{root}/{f}") as fi: + strings = [l.replace("{{", "{").replace("}}", "}") + for l in fi.read().split("\n") if l.strip() + and not l.startswith("#")] + + if fid.endswith(".intent"): + intents[fid] = strings + elif fid.endswith(".dialog"): + dialogs[fid] = strings + elif fid.endswith(".voc"): + vocs[fid] = strings + elif fid.endswith(".rx"): + regexes[fid] = strings + + os.makedirs(f"{tx}/{lang}", exist_ok=True) + if intents: + with open(f"{tx}/{lang}/intents.json", "w") as f: + json.dump(intents, f, indent=4) + if dialogs: + with open(f"{tx}/{lang}/dialogs.json", "w") as f: + json.dump(dialogs, f, indent=4) + if vocs: + with open(f"{tx}/{lang}/vocabs.json", "w") as f: + json.dump(vocs, f, indent=4) + if regexes: + with open(f"{tx}/{lang}/regexes.json", "w") as f: + json.dump(regexes, f, indent=4) diff --git a/scripts/sync_translations.py b/scripts/sync_translations.py new file mode 100644 index 0000000..9322d94 --- /dev/null +++ b/scripts/sync_translations.py @@ -0,0 +1,54 @@ +"""this script should run in every PR originated from @gitlocalize-app +TODO - before PR merge +""" + +import json +from os.path import dirname +import os + +locale = f"{dirname(dirname(__file__))}/locale" +tx = f"{dirname(dirname(__file__))}/translations" + + +for lang in os.listdir(tx): + intents = f"{tx}/{lang}/intents.json" + dialogs = f"{tx}/{lang}/dialogs.json" + vocs = f"{tx}/{lang}/vocabs.json" + regexes = f"{tx}/{lang}/regexes.json" + + if os.path.isfile(intents): + with open(intents) as f: + data = json.load(f) + for fid, samples in data.items(): + if samples: + samples = [s for s in samples if s] # s may be None + with open(f"{locale}/{lang}/{fid}", "w") as f: + f.write("\n".join(sorted(samples))) + + if os.path.isfile(dialogs): + with open(dialogs) as f: + data = json.load(f) + for fid, samples in data.items(): + if samples: + samples = [s for s in samples if s] # s may be None + with open(f"{locale}/{lang}/{fid}", "w") as f: + f.write("\n".join(sorted(samples))) + + if os.path.isfile(vocs): + with open(vocs) as f: + data = json.load(f) + for fid, samples in data.items(): + if samples: + samples = [s for s in samples if s] # s may be None + with open(f"{locale}/{lang}/{fid}", "w") as f: + f.write("\n".join(sorted(samples))) + + if os.path.isfile(regexes): + with open(regexes) as f: + data = json.load(f) + for fid, samples in data.items(): + if samples: + samples = [s for s in samples if s] # s may be None + with open(f"{locale}/{lang}/{fid}", "w") as f: + f.write("\n".join(sorted(samples))) + diff --git a/translations/ca-es/regexes.json b/translations/ca-es/regexes.json new file mode 100644 index 0000000..93eef13 --- /dev/null +++ b/translations/ca-es/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(lletreja|com s'escriu|ortografia) (de la paraula|del mot|de les paraules|dels mots) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/ca-es/vocabs.json b/translations/ca-es/vocabs.json new file mode 100644 index 0000000..dbfd2aa --- /dev/null +++ b/translations/ca-es/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "(lletreja|com s'escriu)", + "(com s'escriu|lletreja) (el mot|la paraula)", + "(com s'escriu|lletrejament de|lletreig de)", + "(lletrejament|lletreig) (del mot|de la paraula)" + ] +} \ No newline at end of file diff --git a/translations/da-dk/regexes.json b/translations/da-dk/regexes.json new file mode 100644 index 0000000..e83476e --- /dev/null +++ b/translations/da-dk/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(stav ordet|stav ord|stavningen af ordet|stavningen(?! the)|stav(?! the)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/da-dk/vocabs.json b/translations/da-dk/vocabs.json new file mode 100644 index 0000000..5d1b5ad --- /dev/null +++ b/translations/da-dk/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "stav", + "stav ord", + "stavning af", + "stavning af ord" + ] +} \ No newline at end of file diff --git a/translations/de-de/regexes.json b/translations/de-de/regexes.json new file mode 100644 index 0000000..ff31e6e --- /dev/null +++ b/translations/de-de/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(Buchstabiere mir|wie schreibt man|wie buchstabiert man|wie schreibt man(?! the)|spell(?! the)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/de-de/vocabs.json b/translations/de-de/vocabs.json new file mode 100644 index 0000000..8f4b8c8 --- /dev/null +++ b/translations/de-de/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "buchstabiere", + "buchstabiere das Wort", + "Aussprache von", + "Aussprache von dem wort" + ] +} \ No newline at end of file diff --git a/translations/el-gr/regexes.json b/translations/el-gr/regexes.json new file mode 100644 index 0000000..5896212 --- /dev/null +++ b/translations/el-gr/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(\u03c3\u03c5\u03bb\u03bb\u03ac\u03b2\u03b9\u03c3\u03b5 \u03c4\u03b7 \u03bb\u03ad\u03be\u03b7|\u03c3\u03c5\u03bb\u03bb\u03ac\u03b2\u03b9\u03c3\u03b5 \u03bb\u03ad\u03be\u03b7|\u03c3\u03c5\u03bb\u03bb\u03ac\u03b2\u03b9\u03c3\u03bc\u03b1 \u03c4\u03b7\u03c2 \u03bb\u03ad\u03be\u03b7\u03c2|) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/el-gr/vocabs.json b/translations/el-gr/vocabs.json new file mode 100644 index 0000000..facdce1 --- /dev/null +++ b/translations/el-gr/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "\u03c3\u03c5\u03bb\u03bb\u03b1\u03b2\u03af\u03b6\u03c9", + "\u03c3\u03c5\u03bb\u03bb\u03b1\u03b2\u03af\u03b6\u03c9 \u03bb\u03ad\u03be\u03b7", + "\u03c3\u03c5\u03bb\u03bb\u03b1\u03b2\u03b9\u03c3\u03bc\u03cc\u03c2 \u03c4\u03b7\u03c2", + "\u03c3\u03c5\u03bb\u03bb\u03b1\u03b2\u03b9\u03c3\u03bc\u03cc\u03c2 \u03c4\u03b7\u03c2 \u03bb\u03ad\u03be\u03b7\u03c2" + ] +} \ No newline at end of file diff --git a/translations/en-us/regexes.json b/translations/en-us/regexes.json new file mode 100644 index 0000000..3dab168 --- /dev/null +++ b/translations/en-us/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(spell the word|spell word|spelling of the word|spelling of(?! the)|spell(?! the)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/en-us/vocabs.json b/translations/en-us/vocabs.json new file mode 100644 index 0000000..89862d8 --- /dev/null +++ b/translations/en-us/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "spell", + "spell word", + "spelling of", + "spelling of word" + ] +} \ No newline at end of file diff --git a/translations/es-es/regexes.json b/translations/es-es/regexes.json new file mode 100644 index 0000000..5969dad --- /dev/null +++ b/translations/es-es/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(deletrea la palabra|deletrea|deletreo de la palabra|deletrear(?! la)|deletrea(?! la)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/es-es/vocabs.json b/translations/es-es/vocabs.json new file mode 100644 index 0000000..3990f6f --- /dev/null +++ b/translations/es-es/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "deletrear", + "deletrear la palabra ", + "deletrear de ", + "deletrea la palabra" + ] +} \ No newline at end of file diff --git a/translations/eu-eu/regexes.json b/translations/eu-eu/regexes.json new file mode 100644 index 0000000..38bd8df --- /dev/null +++ b/translations/eu-eu/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(letreiatu|letraka esan|esan letraka) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/eu-eu/vocabs.json b/translations/eu-eu/vocabs.json new file mode 100644 index 0000000..ae94c63 --- /dev/null +++ b/translations/eu-eu/vocabs.json @@ -0,0 +1,7 @@ +{ + "Spell.voc": [ + "letreiatu", + "letraka esan", + "esan letraka" + ] +} \ No newline at end of file diff --git a/translations/fa-ir/regexes.json b/translations/fa-ir/regexes.json new file mode 100644 index 0000000..f64939a --- /dev/null +++ b/translations/fa-ir/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(\u0627\u0633\u067e\u0644 \u06a9\u0646|\u0627\u0633\u067e\u0644 \u06a9\u0644\u0645\u0647|\u0647\u062c\u06cc \u06a9\u0646|\u0647\u062c\u06cc \u06a9\u0644\u0645\u0647) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/fa-ir/vocabs.json b/translations/fa-ir/vocabs.json new file mode 100644 index 0000000..1148443 --- /dev/null +++ b/translations/fa-ir/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "\u0647\u062c\u06cc \u06a9\u0646", + "\u06a9\u0644\u0645\u0647 \u0647\u062c\u06cc \u06a9\u0646", + "\u0647\u062c\u06cc", + "\u0647\u062c\u06cc \u06a9\u0644\u0645\u0647" + ] +} \ No newline at end of file diff --git a/translations/fr-fr/regexes.json b/translations/fr-fr/regexes.json new file mode 100644 index 0000000..41d5b38 --- /dev/null +++ b/translations/fr-fr/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(\u00e9pelle le mot|\u00e9pelle|orthographe du mot|orthographe de|\u00e9criture de) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/fr-fr/vocabs.json b/translations/fr-fr/vocabs.json new file mode 100644 index 0000000..ac4f689 --- /dev/null +++ b/translations/fr-fr/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "\u00e9pelle", + "\u00e9pelle le mot", + "\u00e9pellation de", + "\u00e9pellation du mot" + ] +} \ No newline at end of file diff --git a/translations/gl-es/regexes.json b/translations/gl-es/regexes.json new file mode 100644 index 0000000..b32bfb1 --- /dev/null +++ b/translations/gl-es/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(deletrea a palabra|deletreo da palabra|ortograf\u00eda de(?! the)|deletrea(?! the)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/gl-es/vocabs.json b/translations/gl-es/vocabs.json new file mode 100644 index 0000000..3f4fb4f --- /dev/null +++ b/translations/gl-es/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "deletrear", + "deletrear palabra", + "ortograf\u00eda de", + "deletreo da palabra" + ] +} \ No newline at end of file diff --git a/translations/hu-hu/regexes.json b/translations/hu-hu/regexes.json new file mode 100644 index 0000000..4b61d24 --- /dev/null +++ b/translations/hu-hu/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(?P\\w+) (kiejt\u00e9se|helyes\u00edr\u00e1sa|bet\u0171z\u00e9se)" + ] +} \ No newline at end of file diff --git a/translations/hu-hu/vocabs.json b/translations/hu-hu/vocabs.json new file mode 100644 index 0000000..eb0509a --- /dev/null +++ b/translations/hu-hu/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "bet\u0171zd", + "bet\u0171zd azt, hogy", + "hogy \u00edrjuk azt hogy", + "hogy \u00edrjuk azt a sz\u00f3t hogy" + ] +} \ No newline at end of file diff --git a/translations/it-it/regexes.json b/translations/it-it/regexes.json new file mode 100644 index 0000000..01da955 --- /dev/null +++ b/translations/it-it/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(fai lo spelling|spelling della parola) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/it-it/vocabs.json b/translations/it-it/vocabs.json new file mode 100644 index 0000000..0886455 --- /dev/null +++ b/translations/it-it/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "ortografia", + "ortografia parola", + "ortografia di", + "ortografia della parola" + ] +} \ No newline at end of file diff --git a/translations/nl-nl/regexes.json b/translations/nl-nl/regexes.json new file mode 100644 index 0000000..68d43f6 --- /dev/null +++ b/translations/nl-nl/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(spel het woord|spel woord|spelling of het woord|spelling of(?! the)|spel(?! het)) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/nl-nl/vocabs.json b/translations/nl-nl/vocabs.json new file mode 100644 index 0000000..18d458e --- /dev/null +++ b/translations/nl-nl/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "spellen", + "woord spellen", + "spelling van", + "spelling van woord" + ] +} \ No newline at end of file diff --git a/translations/pl-pl/regexes.json b/translations/pl-pl/regexes.json new file mode 100644 index 0000000..9247a6c --- /dev/null +++ b/translations/pl-pl/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(przeliteruj s\u0142owo|literuj s\u0142owo|litery w s\u0142owie) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/pl-pl/vocabs.json b/translations/pl-pl/vocabs.json new file mode 100644 index 0000000..8b79cf5 --- /dev/null +++ b/translations/pl-pl/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "literuj", + "literowanie", + "pisownia", + "pisownia s\u0142owa" + ] +} \ No newline at end of file diff --git a/translations/pt-br/regexes.json b/translations/pt-br/regexes.json new file mode 100644 index 0000000..f1aa826 --- /dev/null +++ b/translations/pt-br/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(soletre a palavra| soletra\u00e7\u00e3o da palavra | ortografia de |soletre) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/pt-br/vocabs.json b/translations/pt-br/vocabs.json new file mode 100644 index 0000000..adcd6b5 --- /dev/null +++ b/translations/pt-br/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "soletrar", + "soletrar palavra", + "ortografia de", + "soletra\u00e7\u00e3o da palavra" + ] +} \ No newline at end of file diff --git a/translations/ro-ro/regexes.json b/translations/ro-ro/regexes.json new file mode 100644 index 0000000..2dae613 --- /dev/null +++ b/translations/ro-ro/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(rosti\u021bi cuv\u00e2ntul | silabise\u0219te cuv\u00e2ntul|ortografierea cuv\u00e2ntului | ortografie a (?! lui) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/ro-ro/vocabs.json b/translations/ro-ro/vocabs.json new file mode 100644 index 0000000..c4fa27c --- /dev/null +++ b/translations/ro-ro/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "Ortografie ", + "Cuv\u00e2nt Ortografic ", + "ortografia", + "ortografie a cuv\u00e2ntului " + ] +} \ No newline at end of file diff --git a/translations/ru-ru/regexes.json b/translations/ru-ru/regexes.json new file mode 100644 index 0000000..e114a6d --- /dev/null +++ b/translations/ru-ru/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(\u043f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0438 \u0441\u043b\u043e\u0432\u043e \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u043c|\u043f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0438 \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u043c|\u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u043e|\u043a\u0430\u043a \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u043e|\u043f\u0440\u0430\u0432\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430|\u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0438\u0448\u0435\u0442\u0441\u044f) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/ru-ru/vocabs.json b/translations/ru-ru/vocabs.json new file mode 100644 index 0000000..39cac5e --- /dev/null +++ b/translations/ru-ru/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439 \u043f\u043e \u0431\u0443\u043a\u0432\u0430\u043c", + "\u043a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u043e", + "\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 ", + "\u043a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u043e" + ] +} \ No newline at end of file diff --git a/translations/sv-se/regexes.json b/translations/sv-se/regexes.json new file mode 100644 index 0000000..1abd1df --- /dev/null +++ b/translations/sv-se/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(stava ordet|stava till|stava till ordet)(?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/sv-se/vocabs.json b/translations/sv-se/vocabs.json new file mode 100644 index 0000000..cf7352b --- /dev/null +++ b/translations/sv-se/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "stava", + "stava ordet", + "stavningen av", + "stavningen av ordet" + ] +} \ No newline at end of file diff --git a/translations/tr-tr/regexes.json b/translations/tr-tr/regexes.json new file mode 100644 index 0000000..b7909ab --- /dev/null +++ b/translations/tr-tr/regexes.json @@ -0,0 +1,5 @@ +{ + "word.rx": [ + "(kelimeyi hecele|kelimeyi hecele|hecele|harf harf kodla) (?P\\w+)" + ] +} \ No newline at end of file diff --git a/translations/tr-tr/vocabs.json b/translations/tr-tr/vocabs.json new file mode 100644 index 0000000..45f161a --- /dev/null +++ b/translations/tr-tr/vocabs.json @@ -0,0 +1,8 @@ +{ + "Spell.voc": [ + "harf harf kodlamak", + "kelimeyi hecele", + "heceleme", + "kelimeyi hecele" + ] +} \ No newline at end of file