Step 1: ဘာသာပြန်ပေးသူတစ်ဦးကိုရွေးပါ
အဆိုပါ လှုပ်ရှား မှု သည် Azure AI Translator ၊ AWS ဘာသာပြန် ၊ နှင့် ဂူဂဲလ် 클라우드 ဘာသာပြန် နှင့် ပေါင်းစည်း ထား သော API မျက်နှာပြင် တစ် ခု နောက်ကွယ် တွင် အလုပ် လုပ် သည် ။ provider ထည့်သွင်းမှုဖြင့် အလုပ်လုပ်စဉ်တစ်ခုစီ ထောက်ပံ့ပေးသူတစ်ဦးကို ရွေးချယ်ပါ။ အထောက်အထားများသာလျှင် ကွဲပြားသည်။ နှိုင်းယှဉ် ချက် အပြည့်အစုံ အတွက် ဘာသာပြန်ထောက်ပံ့ပေးသူ ကို ကြည့်ပါ ။
Step 2: အထောက်အထားများနှင့် အလုပ်လုပ်စဉ်တစ်ခုကို ပေါင်းထည့်ပါ
သင့်ထောက်ပံ့ပေးသူ၏ အထောက်အထားများကို GitHub repository လျှို့ဝှက်ချက်များအဖြစ် သိမ်းဆည်းပြီးနောက် .github/workflows/translate.yml ဖန်တီးပါ။ ၎င်း ၏ သတ်သတ်မှတ်မှတ် တပ်ဆင် မှု အတွက် အောက် တွင် သင် ၏ ထောက်ပံ့ ပေး သူ ကို ရွေးချယ် ပါ - ကျန် သော အလုပ် လုပ်ကိုင် မှု သည် တူညီ သည် ။
Azure AI Translator
Azure သည် စံထားချက် ထောက်ပံ့ပေးသူဖြစ်သောကြောင့် provider ချန်လှပ်ထားနိုင်ပါသည်။ Azure Portal တွင် Azure AI Translator အရင်းအမြစ်ကို ပြင်ဆင်ပေးပြီးနောက် ၎င်း၏အထောက်အထားများကို သိမ်းဆည်းပါ။
ဒါတွေကို ဘဏ္ဍာတိုက် လျှို့ဝှက်ချက်တွေအဖြစ် သိမ်းဆည်းပါ
TRANSLATOR_KEY— အရင်းအမြစ်အတွက် နှစ်စဉ်ကြေးသော့။TRANSLATOR_ENDPOINT— ဒေသန္တရအဆုံးသတ် URL.TRANSLATOR_REGION— အရင်းအမြစ်ရဲ့ Azure နယ်မြေပါ။
အလုပ်လုပ်စဉ်ကို ပေါင်းထည့်ပါ
name: translate
on: push: branches: [main] paths: - "src/**/*.en.resx" - "src/**/*.en.json"
permissions: contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - id: translate uses: IEvangelist/resource-translator@v3 with: provider: | azure: subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }} sourceLocale: en toLocales: '["fr","de","es"]' - if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} branch: machine-translationAWS ဘာသာပြန်
provider ကို သတ်မှတ် aws ။ ကြာရှည် လျှို့ဝှက် ချက် များ ကို သိမ်းဆည်း ခြင်း မ ရှိ သောကြောင့် aws-actions/configure-aws-credentials မှတစ်ဆင့် OIDC ကို ပိုမို နှစ်သက် AWS_REGION ပါ ။ တည်ငြိမ်သောခလုတ်များကို အသုံးပြုရန် သိုလှောင်ပါ။
ဒါတွေကို ဘဏ္ဍာတိုက် လျှို့ဝှက်ချက်တွေအဖြစ် သိမ်းဆည်းပါ
AWS_ACCESS_KEY_ID— သင့်ရဲ့ AWS Access key IDAWS_SECRET_ACCESS_KEY— AWS လျှို့ဝှက်သုံးစွဲနိုင်သော သော့။
နယ်မြေ တစ် ခု သည် အမြဲတမ်း လိုအပ် သည် - ၎င်း ကို awsRegion သို့မဟုတ် AWS_REGION ပတ်ဝန်းကျင် ကိန်းဂဏန်း ဖြင့် သတ်မှတ် ပါ ။
အလုပ်လုပ်စဉ်ကို ပေါင်းထည့်ပါ
name: translate
on: push: branches: [main] paths: - "src/**/*.en.resx" - "src/**/*.en.json"
permissions: id-token: write # for aws-actions/configure-aws-credentials (OIDC) contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: arn:aws:iam::123456789012:role/gh-actions-translate aws-region: us-east-1 - id: translate uses: IEvangelist/resource-translator@v3 with: provider: | aws: region: us-east-1 # or rely on AWS_REGION from the step above formality: FORMAL brevity: true sourceLocale: en toLocales: '["fr","de","es"]' - if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} branch: machine-translationဂူဂဲလ် 클라우드 ဘာသာပြန်
provider ကို သတ်မှတ် google ။ ဝန်ဆောင်မှုအကောင့် JSON အထောက်အထားတစ်ခု သို့မဟုတ် API သော့တစ်ခုဖြင့် ခွင့်ပြုပါ၊ တစ်ခုအတိအကျကို ထောက်ပံ့ပေးပါ။
ဒါတွေကို ဘဏ္ဍာတိုက် လျှို့ဝှက်ချက်တွေအဖြစ် သိမ်းဆည်းပါ
GCP_TRANSLATE_CREDENTIALS— ဝန်ဆောင်မှုအကောင့် JSON ကီးတစ်ခု (JSON ကြိုးတခုအနေနှင့်)GCP_TRANSLATE_API_KEY— (သို့) Google Cloud API သော့တစ်ခု ရှိပါတယ်။
ရွေးချယ် စရာ googleProjectId တစ် ခု ကို ချန်လှပ် သောအခါ အထောက်အထား မှ ကောက်ချက်ချ သည် ။
အလုပ်လုပ်စဉ်ကို ပေါင်းထည့်ပါ
name: translate
on: push: branches: [main] paths: - "src/**/*.en.resx" - "src/**/*.en.json"
permissions: contents: write pull-requests: write
jobs: translate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - id: translate uses: IEvangelist/resource-translator@v3 with: provider: | google: # Provide EITHER a service-account JSON credential... credentials: ${{ secrets.GCP_TRANSLATE_CREDENTIALS }} # ...OR an API key: # apiKey: ${{ secrets.GCP_TRANSLATE_API_KEY }} model: nmt sourceLocale: en toLocales: '["fr","de","es"]' - if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} branch: machine-translationStep 3: အရင်းအမြစ် အရင်းအမြစ်ဖိုင်တခုကို ကျူးလွန်ပါ
အရင်းအမြစ်ဖိုင်များက Name.<sourceLocale>.<ext> စည်းဝေးကြီးကို အသုံးပြုသည်။ ဥပမာ ၊ Greetings.en.resx သည် ပြေး ပြီးနောက် Greetings.fr.resx ၊ Greetings.de.resx ၊ နှင့် စသည် ဖြစ် လာ သည် ။
Step 4: Let smart change detection protect your bill
changeDetection defaults to smart and stores a compact .github/resource-translator-state.json manifest in the repo. Commit that file so future runs can reuse stable translations, preserve manual target edits, and send only new, missing, changed, or settings-invalidated keys to the provider. If localized files already exist, run once with snapshotOnly: true to create the manifest without provider calls.
Step 5: ထွက်ပေါ်လာမှုကို စစ်ဆေးပါ
အလုပ်လုပ်စဉ်ပြီးသွားသည်နှင့် လုပ်ဆောင်မှုသည် summary-title၊ summary-details နှင့် has-new-translations ဖြစ်နိုင်သည့် ထွက်ပေါ်မှုသုံးခုကို ဖော်ထုတ်သည်။ ၎င်း သည် အလုပ် စာမျက်နှာ တွင် အမှတ်အသား အကျဉ်းချုပ် တစ် ခု ကို လည်း core.summary သည် ။