Step 1: ເລືອກຜູ້ໃຫ້ການແປ
ການ ກະທໍາ ນີ້ ທໍາ ງານ ກັບ Azure AI Translator, AWS ແປ ແລະ ການແປ Google Cloud ຢູ່ ຂ້າງ ຫລັງ ຂອງ API ທີ່ ເປັນ ຫນຶ່ງ ດຽວ ກັນ. ເລືອກ ຜູ້ ຈັດ ຫາ ຄົນ ດຽວ ຕໍ່ ການ ແລ່ນ ດ້ວຍ ຂໍ້ ມູນ provider - ວຽກ ງານ ຈະ ປະພຶດ ແບບ ດຽວ ກັນ ບໍ່ ວ່າ ຜູ້ ຈັດ ຫາ ຈະ ເປັນ ແນວ ໃດ ກໍ ຕາມ; ພຽງ ແຕ່ ຂໍ້ ມູນ ທີ່ ແຕກ ຕ່າງ ກັນ. ເບິ່ງ ຜູ້ໃຫ້ການແປ ສໍາ ລັບ ການ ປຽບ ທຽບ ຢ່າງ ຄົບ ຖ້ວນ.
Step 2: ເພີ່ມຂໍ້ມູນແລະລະບົບການເຮັດວຽກ
ເກັບ ຂໍ້ ມູນ ຂອງ ຜູ້ ຈັດ ຫາ ຂອງ ທ່ານ ເປັນ ຄວາມ ລັບ ຂອງ GitHub, ແລ້ວ ສ້າງ .github/workflows/translate.yml. ເລືອກຜູ້ໃຫ້ບໍລິການຂອງທ່ານທາງລຸ່ມນີ້ສໍາລັບການຕັ້ງຄ່າສະເພາະເຈາະຈົງ - ສ່ວນທີ່ເຫຼືອຂອງວຽກງານກໍຄືກັນ.
Azure AI Translator
Azure ເປັນຜູ້ໃຫ້ບໍລິການມາດຕະຖານ, ດັ່ງນັ້ນ provider ອາດຈະຖືກຕັດອອກ. ຈັດຕຽມຊັບພະຍາກອນ Azure AI Translator ໃນເວັບໄຊ Azure, ຈາກນັ້ນເກັບຂໍ້ມູນຂໍ້ມູນຂອງມັນໄວ້:
ເກັບຂໍ້ມູນເຫຼົ່ານີ້ໄວ້ເປັນຄວາມລັບຂອງເກັບຂໍ້ມູນ
TRANSLATOR_KEY— ຂໍ ກະ ແຈ ການ ຈົດ ຈໍາ ສໍາ ລັບ ແຫລ່ງ ຊ່ວຍ ເຫລືອ.TRANSLATOR_ENDPOINT— URL endpoint ພາກພື້ນ.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. ເລືອກ OIDC ຜ່ານ aws-actions/configure-aws-credentials ເພື່ອ ວ່າ ຈະ ບໍ່ ມີ ຄວາມ ລັບ ທີ່ ຍາວ ນານ - ຂັ້ນ ຕອນ ທີ່ ສົ່ງ ອອກ AWS_REGION ໃຫ້ ທ່ານ. ເພື່ອໃຊ້ກະແຈສະຖິຕິແທນ, ໃຫ້ເກັບໄວ້:
ເກັບຂໍ້ມູນເຫຼົ່ານີ້ໄວ້ເປັນຄວາມລັບຂອງເກັບຂໍ້ມູນ
AWS_ACCESS_KEY_ID— ID ກະແຈການເຂົ້າເຖິງ AWS ຂອງທ່ານ.AWS_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ການແປ Google Cloud
ຕັ້ງ provider ເປັນ google. ຢືນຢັນດ້ວຍຂໍ້ມູນ JSON ຂອງບັນຊີການບໍລິການ ຫຼື API key - ໃຫ້ພຽງຢ່າງດຽວ:
ເກັບຂໍ້ມູນເຫຼົ່ານີ້ໄວ້ເປັນຄວາມລັບຂອງເກັບຂໍ້ມູນ
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: ກວດເບິ່ງຜົນຜະລິດ
ເມື່ອຂະບວນການສໍາເລັດແລ້ວ, ການກະທໍາຈະເປີດເຜີຍສາມຜົນອອກທີ່ເຈົ້າສາມາດເຊື່ອມຕໍ່ໃນຄໍາອະທິບາຍຂອງ PR: summary-title, summary-details ແລະ has-new-translations. ມັນ ຍັງ ຂຽນ ຂໍ້ ສະຫລຸບ ຂອງ Markdown ໃນ ຫນ້າ ວຽກ ງານ ຜ່ານ ທາງ core.summary.