បើកសំណើទាញបន្ទាប់ពីដំណើរការនីមួយៗ
- id: translate uses: IEvangelist/resource-translator@v3 with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} region: ${{ secrets.TRANSLATOR_REGION }}
- if: steps.translate.outputs.has-new-translations == 'true' uses: peter-evans/create-pull-request@v7 with: branch: machine-translation title: ${{ steps.translate.outputs.summary-title }} body: ${{ steps.translate.outputs.summary-details }} labels: localizationMonorepos: ការបកប្រែវិសាលភាពក្នុងមួយកញ្ចប់
with: sourceLocale: en include: | apps/web/**/*.en.resx packages/shared/**/*.en.json exclude: | **/dist/** **/__tests__/**សទ្ទានុក្រមសម្រាប់ឈ្មោះម៉ាក និងលក្ខខណ្ឌផលិតផល
ទម្លាក់ .github/resource-translator.yml ចូលទៅក្នុង repo:
glossary: Acme: Contoso Octocat: Octocat ".NET": ".NET" "C++": "C++"ពាក្យសទ្ទានុក្រមត្រូវបានអនុវត្ត បន្ទាប់ពី ដូច្នេះលទ្ធផលដែលបកប្រែដោយម៉ាស៊ីនរក្សាម៉ាកដែលអ្នកពេញចិត្ត ទោះបីជាគំរូបានប្តូរវាសម្រាប់មានន័យដូចគ្នាក៏ដោយ។
ប្រភេទអ្នកបកប្រែផ្ទាល់ខ្លួន (ឧស្សាហកម្ម / ដែន)
with: sourceLocale: en subscriptionKey: ${{ secrets.TRANSLATOR_KEY }} endpoint: ${{ secrets.TRANSLATOR_ENDPOINT }} categoryId: 1234abcd-5678-90ef-... បណ្តុះបណ្តាលប្រភេទ Azure Custom Translator នៅលើកម្រងដែលចាប់យកវាក្យសព្ទ និងសម្លេងឧស្សាហកម្មរបស់អ្នក (ច្បាប់ វេជ្ជសាស្រ្ត ទីផ្សារ វិស្វកម្មផ្ទៃក្នុង។ល។) ហើយបញ្ជូនលេខសម្គាល់របស់វាតាមរយៈ categoryId ។ នេះគឺជាដៃចង្កូតសម្លេងខ្លាំងបំផុតដែល Azure ផ្តល់ជូន។
ការត្រួតពិនិត្យសម្លេង + ការត្រឡប់មកវិញយ៉ាងតឹងរឹង
# .github/resource-translator.yml# Industry / domain — choose your tone via a Custom Translator categorycategoryId: legal-en
# Treat profanity strictly for content aimed at younger audiencesprofanityAction: MarkedprofanityMarker: Tag
# Fail the run rather than silently fall back to the general modelallowFallback: false រួមបញ្ចូលគ្នានូវ Custom Translator categoryId ជាមួយ profanityAction និង allowFallback: false ដើម្បីអនុវត្តសំឡេងស្របគ្នា និងបរាជ័យក្នុងលំហូរការងារ ប្រសិនបើប្រភេទដែលបានជ្រើសរើសមិនមានការដាក់ពង្រាយសម្រាប់ទីតាំងគោលដៅរបស់អ្នក។
រត់ស្ងួតមុនពេលបើកលំហូរការងារ
with: dryRun: true failOnError: false សកម្មភាពនេះនៅតែបញ្ចេញលទ្ធផលសង្ខេប និងសេចក្តីសង្ខេបជំហាន ប៉ុន្តែមិនមានឯកសារណាមួយត្រូវបានសរសេរទេ។ រួមបញ្ចូលគ្នាជាមួយ failOnError: false ដើម្បីបង្ហាញរាល់បញ្ហាជាការព្រមានខណៈពេលដែលអ្នកធ្វើម្តងទៀត។