Step 1: ਅਨੁਵਾਦ ਪ੍ਰਦਾਤਾ ਦੀ ਚੋਣ ਕਰੋ
ਐਕਸ਼ਨ ਇੱਕ ਯੂਨੀਫਾਈਡ ਏਪੀਆਈ ਸਤਹ ਦੇ ਪਿੱਛੇ Azure AI Translator, ਏਡਬਲਯੂਐਸ ਅਨੁਵਾਦ ਅਤੇ ਗੂਗਲ ਕਲਾਉਡ ਅਨੁਵਾਦ ਨਾਲ ਕੰਮ ਕਰਦੀ ਹੈ. provider ਇੰਪੁੱਟ ਦੇ ਨਾਲ ਪ੍ਰਤੀ ਦੌੜ ਲਈ ਇੱਕ ਸਿੰਗਲ ਪ੍ਰਦਾਤਾ ਚੁਣੋ - ਵਰਕਫਲੋ ਪ੍ਰਦਾਤਾ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਇਕੋ ਜਿਹਾ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ; ਸਿਰਫ ਪ੍ਰਮਾਣ ਪੱਤਰ ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ. ਪੂਰੀ ਤੁਲਨਾ ਲਈ ਅਨੁਵਾਦ ਪ੍ਰਦਾਤਾ ਵੇਖੋ.
Step 2: ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ ਇੱਕ ਵਰਕਫਲੋ ਸ਼ਾਮਲ ਕਰੋ
ਆਪਣੇ ਪ੍ਰਦਾਤਾ ਦੇ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ GitHub ਰਿਪੋਜ਼ਟਰੀ ਰਾਜ਼ ਵਜੋਂ ਸਟੋਰ ਕਰੋ, ਫਿਰ .github/workflows/translate.yml ਬਣਾਓ. ਇਸਦੇ ਖਾਸ ਸੈਟਅਪ ਲਈ ਹੇਠਾਂ ਆਪਣੇ ਪ੍ਰਦਾਤਾ ਦੀ ਚੋਣ ਕਰੋ - ਬਾਕੀ ਵਰਕਫਲੋ ਇਕੋ ਜਿਹਾ ਹੈ.
Azure AI Translator
Azure ਡਿਫੌਲਟ ਪ੍ਰਦਾਤਾ ਹੈ, ਇਸ ਲਈ provider ਨੂੰ ਛੱਡਿਆ ਜਾ ਸਕਦਾ ਹੈ. Azure ਪੋਰਟਲ ਵਿੱਚ ਇੱਕ Azure AI Translator ਸਰੋਤ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ, ਫਿਰ ਇਸਦੇ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਸਟੋਰ ਕਰੋ:
ਇਹਨਾਂ ਨੂੰ ਭੰਡਾਰ ਦੇ ਰਾਜ਼ ਵਜੋਂ ਸਟੋਰ ਕਰੋ
TRANSLATOR_KEY— ਸਰੋਤ ਲਈ ਸਬਸਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ.TRANSLATOR_ENDPOINT— ਖੇਤਰੀ ਅੰਤਮ ਬਿੰਦੂ ਯੂਆਰਐਲ.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-translationਏਡਬਲਯੂਐਸ ਅਨੁਵਾਦ
provider ਨੂੰ aws 'ਤੇ ਸੈੱਟ ਕਰੋ। aws-actions/configure-aws-credentials ਦੁਆਰਾ ਓਆਈਡੀਸੀ ਨੂੰ ਤਰਜੀਹ ਦਿਓ ਤਾਂ ਜੋ ਕੋਈ ਲੰਬੇ ਸਮੇਂ ਦੇ ਰਾਜ਼ ਸਟੋਰ ਨਾ ਕੀਤੇ ਜਾਣ - ਕਦਮ ਨਿਰਯਾਤ ਤੁਹਾਡੇ ਲਈ AWS_REGION. ਇਸ ਦੀ ਬਜਾਏ ਸਥਿਰ ਕੁੰਜੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਸਟੋਰ ਕਰੋ:
ਇਹਨਾਂ ਨੂੰ ਭੰਡਾਰ ਦੇ ਰਾਜ਼ ਵਜੋਂ ਸਟੋਰ ਕਰੋ
AWS_ACCESS_KEY_ID— ਤੁਹਾਡੀ ਏਡਬਲਯੂਐਸ ਐਕਸੈਸ ਕੁੰਜੀ ਆਈਡੀ.AWS_SECRET_ACCESS_KEY— ਤੁਹਾਡੀ ਏਡਬਲਯੂਐਸ ਗੁਪਤ ਪਹੁੰਚ ਕੁੰਜੀ.
ਇੱਕ ਖੇਤਰ ਹਮੇਸ਼ਾ ਲੋੜੀਂਦਾ ਹੁੰਦਾ ਹੈ - ਇਸ ਨੂੰ 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— ਇੱਕ ਸਰਵਿਸ-ਖਾਤਾ ਜੇਐਸਓਐਨ ਕੁੰਜੀ (ਇੱਕ ਜੇਐਸਓਐਨ ਸਟਰਿੰਗ ਦੇ ਰੂਪ ਵਿੱਚ).GCP_TRANSLATE_API_KEY— ਜਾਂ ਗੂਗਲ ਕਲਾਉਡ ਏਪੀਆਈ ਕੁੰਜੀ.
ਇੱਕ ਵਿਕਲਪਿਕ 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 ਦੁਆਰਾ ਨੌਕਰੀ ਦੇ ਪੰਨੇ ਵਿੱਚ ਇੱਕ ਮਾਰਕਡਾਉਨ ਸੰਖੇਪ ਵੀ ਲਿਖਦਾ ਹੈ.