Step 1: અનુવાદ પૂરતા ને પસંદ કરો
ક્રિયા એક એકીકૃત API સપાટીની પાછળ Azure AI Translator, AWS અનુવાદ અને ગૂગલ ક્લાઉડ અનુવાદ સાથે કામ કરે છે. provider ઇનપુટ સાથે રન દીઠ એક જ પ્રદાતા પસંદ કરો - વર્કફ્લો પ્રદાતાને ધ્યાનમાં લીધા વિના સમાન રીતે વર્તે છે; ફક્ત ઓળખપત્રો અલગ પડે છે. સંપૂર્ણ સરખામણી માટે અનુવાદ પૂરા પાડનારાઓ જુઓ.
Step 2: શ્રેય અને વર્કફ્લો ઉમેરો
તમારા પ્રદાતાના ઓળખપત્રોને GitHub રિપોઝિટરી રહસ્યો તરીકે સંગ્રહિત કરો, પછી .github/workflows/translate.yml બનાવો. તેના વિશિષ્ટ સેટઅપ માટે નીચે તમારા પ્રદાતાને પસંદ કરો - બાકીનો વર્કફ્લો સમાન છે.
Azure AI Translator
Azure એ મૂળભૂત પ્રદાતા છે, તેથી provider બાકાત રાખી શકાય છે. એઝ્યુર પોર્ટલમાં એઝ્યુર એઆઈ ટ્રાન્સલેટર રિસોર્સને પ્રોવિઝન કરો, પછી તેના ઓળખપત્રો સ્ટોર કરો:
આને રિપોઝીટરી રહસ્યો તરીકે સંગ્રહો
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 દ્વારા ઓઆઈડીસીને પ્રાધાન્ય આપો જેથી કોઈ લાંબા સમય સુધી ચાલતા રહસ્યો સંગ્રહિત ન થાય - પગલું નિકાસ તમારા માટે AWS_REGION. તેની જગ્યાએ સ્થિર કીઓ વાપરવા માટે, સંગ્રહ:
આને રિપોઝીટરી રહસ્યો તરીકે સંગ્રહો
AWS_ACCESS_KEY_ID— તમારું એડબલ્યુએસ ઍક્સેસ કી આઈડી.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ગૂગલ ક્લાઉડ અનુવાદ
provider google પર સુયોજિત કરો. ક્યાં તો સેવા-ખાતા JSON શ્રેય અથવા API કી સાથે સત્તાધિકરણ કરો - બરાબર એક પૂરું પાડો:
આને રિપોઝીટરી રહસ્યો તરીકે સંગ્રહો
GCP_TRANSLATE_CREDENTIALS— સેવા-ખાતા JSON કી (JSON શબ્દમાળા તરીકે).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 દ્વારા જોબ પૃષ્ઠમાં માર્કડાઉન સારાંશ પણ લખે છે.