Step 1: පරිවර්තන සැපයුම්කරුවෙකු තෝරන්න
මෙම ක් රියාව එක් ඒකාබද්ධ API මතුපිටක් පිටුපස Azure AI Translator, AWS පරිවර්තනය සහ ගූගල් වලාකුළු පරිවර්තනය සමඟ ක් රියා කරයි. provider ආදානය සමඟ එක් ධාවනයකට තනි සැපයුම්කරුවෙකු තෝරන්න - කාර්ය ප් රවාහය සැපයුම්කරු නොතකා එක හා සමාන ලෙස හැසිරේ; අක්තපත්ර පමණක් වෙනස් වේ. සම්පූර්ණ සංසන්දනය සඳහා පරිවර්තන සපයන්නන් බලන්න.
Step 2: අක්තපත්ර සහ කාර්ය ප්රවාහයක් එකතු කරන්න
ඔබේ සැපයුම්කරුගේ අක්තපත්ර GitHub ගබඩා රහස් ලෙස ගබඩා කරන්න, ඉන්පසු .github/workflows/translate.yml සාදන්න. එහි නිශ්චිත සැකසුම සඳහා පහත ඔබේ සැපයුම්කරු තෝරන්න - ඉතිරි කාර්ය ප් රවාහය සමාන වේ.
Azure AI Translator
Azure යනු පෙරනිමි සැපයුම්කරු වන බැවින් provider ඉවත් කළ හැකිය. Azure ද්වාරයේ Azure AI පරිවර්තක සම්පතක් සැපයීම, ඉන්පසු එහි අක්තපත්ර ගබඩා කරන්න:
මේවා ගබඩා රහස් ලෙස ගබඩා කරන්න
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 පරිවර්තනය
aws provider සකසන්න. aws-actions/configure-aws-credentials හරහා OIDC වලට වැඩි කැමැත්තක් දක්වන්න, එබැවින් දිගුකාලීන රහස් ගබඩා නොකෙරේ - පියවර අපනයනය ඔබ වෙනුවෙන් AWS_REGION. ඒ වෙනුවට ස්ථිතික යතුරු භාවිතා කිරීමට, ගබඩා කරන්න:
මේවා ගබඩා රහස් ලෙස ගබඩා කරන්න
AWS_ACCESS_KEY_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 provider සකසන්න. සේවා ගිණුමක් JSON අක්තපත්ර හෝ API යතුරක් සමඟ සත්යාපනය කරන්න - හරියටම එකක් සැපයීම:
මේවා ගබඩා රහස් ලෙස ගබඩා කරන්න
GCP_TRANSLATE_CREDENTIALS— සේවා ගිණුමක් JSON යතුර (JSON නූලක් ලෙස).GCP_TRANSLATE_API_KEY— හෝ ගූගල් වලාකුළු 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. එය core.summary හරහා රැකියා පිටුවට මාර්ක්ඩවුන් සාරාංශයක් ද ලියයි.