-
Notifications
You must be signed in to change notification settings - Fork 128
Added i18n component and related scripts #1082
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
e82194a
7e793de
098de27
10856a1
4922e98
9f21e76
29f1441
f0316dc
e45ede2
ba88b63
d443ffb
da52eb5
3370e50
d48e425
806a152
3329c54
7a835c5
d110429
a115312
89841d6
b37b503
48fe8df
8e0e318
f0c039f
b9ce30a
5f23def
429cff5
a28c5f8
c3be2c0
74a4cf5
3578a86
162b943
462bf46
cb6dce0
b40d775
e807621
851b85c
0b4097a
63e0d21
9caca4b
dec7c1d
4ca88aa
8989ffa
f87d8af
8cb0bd5
3637fef
da45b5e
0483909
28ded1d
ffdb9ae
ee03f0b
4f25151
d448d72
9ca1eae
2653bd9
e6a13cf
48d7c93
ba25b24
f994790
4c118b7
23da84c
12531b3
cdf91c6
d0c95f7
fbf8f6a
4bbb406
bbe00bd
f3eb480
ebeed10
3d0d5e3
7ec10f1
6f0c85c
a53b54d
4125ea4
626b0d2
71395f4
1d4307e
a5c1a03
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you explain what these new workflows are for? |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
|
||
concurrency: | ||
group: translate-changed | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
translate-changed: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: cd | ||
run: | | ||
cd i18n | ||
- name: Use Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
cache: yarn | ||
- name: Fetch Yarn Dependencies | ||
run: | | ||
yarn install | ||
- name: Clone translated_xmls | ||
run: | | ||
git clone -b translated_xmls https://github.com/source-academy/sicp.git translation_output | ||
- name: Get Changed Files | ||
id: changed-files | ||
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46 | ||
with: | ||
files: | | ||
xml/**.xml | ||
- name: Create .env | ||
run: | | ||
touch .env | ||
echo API_MODEL=gpt-4.1-nano >> .env | ||
echo API_KEY=${{ secrets.OPENAI_KEY }} >> .env | ||
# echo API_KEY=${{ secrets.OPENAI_KEY2 }} >> .env | ||
Comment on lines
+38
to
+39
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If they are no longer used, the secret should be deleted. |
||
echo MAX_LEN=5000 >> .env | ||
echo MAX_TRANSLATION_NO=10 >> .env | ||
echo CONTEXT=3 >> .env | ||
echo TOKEN_WARNING=7000 >> .env | ||
- name: Translate Changed Files | ||
if: steps.changed-files.outputs.anychanged == 'true' | ||
env: | ||
CHANGED_FILES: ${{ steps.changed_files.outputs.all_changed_files }} | ||
run: | | ||
npx tsx index.ts "${CHANGED_FILES[@]}" | ||
- name: Deploy | ||
uses: peaceiris/actions-gh-pages@v4 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
publish_dir: ./translation_output | ||
force_orphan: false # leave the possibility for direct modification on translated xmls |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
on: | ||
workflow_dispatch: | ||
workflow_call: | ||
|
||
concurrency: | ||
group: translate-everything | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
translate-everything: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: cd | ||
run: | | ||
cd i18n | ||
- name: Use Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
cache: yarn | ||
- name: Fetch Yarn Dependencies | ||
run: | | ||
yarn install | ||
- name: Create .env | ||
run: | | ||
touch .env | ||
echo API_MODEL=gpt-4.1-nano >> .env | ||
echo API_KEY=${{ secrets.OPENAI_KEY }} >> .env | ||
# echo API_KEY=${{ secrets.OPENAI_KEY2 }} >> .env | ||
Comment on lines
+29
to
+30
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ditto. |
||
echo MAX_LEN=5000 >> .env | ||
echo MAX_TRANSLATION_NO=10 >> .env | ||
echo CONTEXT=3 >> .env | ||
echo TOKEN_WARNING=7000 >> .env | ||
- name: Run Translation | ||
run: | | ||
npx tsx index.ts | ||
- name: Deploy | ||
uses: peaceiris/actions-gh-pages@v4 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
publish_dir: ./translation_output | ||
force_orphan: false # leave the possiblity for direct modification on translated xmls |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
API_KEY= | ||
|
||
# Model to be used for translation | ||
# ensure that selected assistant supports file search API | ||
# models that are tried and shown to work includes: o3-mini, 4o and 4o mini | ||
AI_MODEL=gpt-4.1-nano | ||
|
||
# maximum number of characters to be sent for translation per batch, default: 3000 | ||
# smaller number of characters could lead to greater translation quality | ||
# but worse continuity | ||
MAX_LEN=5000 | ||
|
||
#Optional, only specify if calling alternative LLM provider | ||
# Note: We require the Assistant API which only OpenAI provides as of 13 April 2025 | ||
AI_BASEURL= | ||
|
||
# maximum number of concurent translations that are allowed | ||
# if unspecified default to 5 | ||
MAX_TRANSLATION_NO=10 | ||
|
||
# Number of previous messages to be referred to in a thread for LLM Translation, if unspecified, default to 3 | ||
# Higher context size might lead to greater continuity in translation but higher cost and lower speed. | ||
CONTEXT=3 | ||
|
||
# Number of token per query which when exceeded will log an error | ||
# Formula to derive an adequate value: MAX_LEN * CONTEXT * k, where k is a constant | ||
# Recommended k = 1.5 | ||
TOKEN_WARNING=7000 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/node_modules | ||
/translation_output | ||
/logs |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
function: 函数 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we cloning from a specific branch instead of merging it to the default branch?