-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
283 additions
and
0 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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__))}/skill_randomness/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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
"""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__))}/skill_randomness/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 | ||
if not fid.startswith("/"): | ||
fid = "/" + fid | ||
with open(f"{locale}/{lang}{fid}", "w") as f: | ||
f.write("\n".join(sorted(samples))) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
{ | ||
"/dialog/first-choice.dialog": [ | ||
"What's your first option?", | ||
"Ok, what's the first choice?" | ||
], | ||
"/dialog/coin-result.dialog": [ | ||
"It landed on {result}", | ||
"{result}" | ||
], | ||
"/dialog/fortune-result.dialog": [ | ||
"{answer}" | ||
], | ||
"/dialog/die-result.dialog": [ | ||
"You rolled a {result}", | ||
"{result}" | ||
], | ||
"/dialog/over-dice-limit.dialog": [ | ||
"You have a limit of {number} dice set in your settings. I will roll {number} of dice instead." | ||
], | ||
"/dialog/fortune-query.dialog": [ | ||
"What is it you wish to know? I will answer yes or no.", | ||
"I know all things...if they are yes or no questions. What is yours?" | ||
], | ||
"/dialog/second-choice.dialog": [ | ||
"What's your second option?", | ||
"Ok, now what's the second choice?" | ||
], | ||
"/dialog/multiple-die-result.dialog": [ | ||
"Your dice are {result_string} with a total of {result_total}" | ||
], | ||
"/dialog/number-result.dialog": [ | ||
"{number}", | ||
"Okay, {number}", | ||
"I picked {number}", | ||
"I chose {number}" | ||
], | ||
"/dialog/choice-result.dialog": [ | ||
"Tough choice, but let's go with {choice}!", | ||
"Definitely {choice}." | ||
], | ||
"/dialog/number-range-not-specified.dialog": [ | ||
"I didn't quite understand your numbers, so I'll pick between 1 and 10.", | ||
"I'm not sure what you said. Let's choose between 1 and 10." | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"/intents/fortune-teller.intent": [ | ||
"Tell me (the |a |my |)(future|fortune)" | ||
], | ||
"/intents/roll-single-die.intent": [ | ||
"roll a {faces} sided die", | ||
"roll a {faces} sided dice", | ||
"roll a dice", | ||
"roll (a| ) die" | ||
], | ||
"/intents/make-a-choice.intent": [ | ||
"help me (make a choice|decide something)" | ||
], | ||
"/intents/pick-a-number.intent": [ | ||
"(pick|select|choose) a number between {lower} and {upper}" | ||
], | ||
"/intents/roll-multiple-dice.intent": [ | ||
"roll {number} d {faces}", | ||
"roll {number} {faces} sided (dice|die)", | ||
"roll {number} (dice|die)" | ||
], | ||
"/intents/flip-a-coin.intent": [ | ||
"flip a coin" | ||
] | ||
} |