Step 1: மொழிபெயர்ப்பு வழங்குநரைத் தேர்வுசெய்க
செயல் ஒரு ஒருங்கிணைந்த API மேற்பரப்பின் பின்னால் Azure AI மொழிபெயர்ப்பாளர், AWS மொழிபெயர்ப்பு மற்றும் Google கிளவுட் மொழிபெயர்ப்பு உடன் செயல்படுகிறது. provider உள்ளீட்டுடன் ஒரு ஓட்டத்திற்கு ஒரு வழங்குநரைத் தேர்ந்தெடுக்கவும் - பணிப்பாய்வு வழங்குநரைப் பொருட்படுத்தாமல் ஒரே மாதிரியாக செயல்படுகிறது; நற்சான்றிதழ்கள் மட்டுமே வேறுபடுகின்றன. முழு ஒப்பீட்டிற்கு மொழிபெயர்ப்பு வழங்குநர்கள் பார்க்கவும்.
Step 2: நற்சான்றிதழ்கள் மற்றும் பணிப்பாய்வு ஆகியவற்றைச் சேர்க்கவும்
உங்கள் வழங்குநரின் நற்சான்றிதழ்களை GitHub களஞ்சியங்களாக சேமிக்கவும், பின்னர் .github/workflows/translate.yml உருவாக்கவும். அதன் குறிப்பிட்ட அமைப்புக்கு கீழே உள்ள உங்கள் வழங்குநரைத் தேர்ந்தெடுக்கவும் - மீதமுள்ள பணிப்பாய்வு ஒரே மாதிரியாக இருக்கும்.
Azure AI மொழிபெயர்ப்பாளர்
அஸூர் இயல்புநிலை வழங்குநர், எனவே provider தவிர்க்கப்படலாம். Azure போர்ட்டலில் Azure AI Translator ரிசோர்ஸை வழங்கவும், அதன் நற்சான்றிதழ்களைச் சேமிக்கவும்:
இவற்றை களஞ்சிய ரகசியங்களாக சேமிக்கவும்
TRANSLATOR_KEY— வளத்திற்கான சந்தா விசை.TRANSLATOR_ENDPOINT— பிராந்திய இறுதிப்புள்ளி URL.TRANSLATOR_REGION— வளத்தின் அஸூர் பகுதி.
பணிப்பாய்வுகளைச் சேர்க்கவும்
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 அணுகல் விசை ஐடி.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-translationGoogle கிளவுட் மொழிபெயர்ப்பு
provider google ஆக அமைக்கவும். சேவைக் கணக்கு JSON நற்சான்றிதழ் அல்லது API விசை மூலம் அங்கீகரிக்கவும் — சரியாக ஒன்றை வழங்கவும்:
இவற்றை களஞ்சிய ரகசியங்களாக சேமிக்கவும்
GCP_TRANSLATE_CREDENTIALS— ஒரு சேவைக் கணக்கு JSON விசை (JSON சரமாக).GCP_TRANSLATE_API_KEY— அல்லது Google கிளவுட் 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 வழியாக வேலைப் பக்கத்தில் ஒரு மார்க்டவுன் சுருக்கத்தையும் எழுதுகிறது.