Skip to content

Latest commit

 

History

History
180 lines (134 loc) · 12.1 KB

File metadata and controls

180 lines (134 loc) · 12.1 KB

मार्कडाउन ट्रांसलेटर एक्शन

रीडमी अनुवाद

किसी भी भाषा में MARKDOWN/READMEs का अनुवाद करने के लिए GitHub एक्शन

MARKDOWN फ़ाइलों का विभिन्न अन्य भाषाओं में अनुवाद करें, एकाधिक फ़ाइलों और उपनिर्देशिकाओं का समर्थन करता है।

स्थापित करना

वर्कफ़्लो फ़ाइल जोड़ेंआपके प्रोजेक्ट के लिए (उदा..github/workflows/translate-readme.yml):

name: Translate README

on:
  push:
    branches:
      - main
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 24.x
      # ISO Language Codes: https://cloud.google.com/translate/docs/languages
      - name: Adding README - Chinese Simplified
        uses: ikhsan3adi/markdown-translator@v3
        with:
          LANG: zh-CN
          FILES: |-
            README.md
            OTHER-README.md
            sub/dir/README.md
            very/deep/sub/directories/FOO.md
            /very/deep/sub/directories/BAR.md
            docs/**/*.md
            notes/*.txt

      - name: Adding README translations
        uses: ikhsan3adi/markdown-translator@v3
        with:
          LANG: |- # multiple languages
            zh-CN
            zh-TW
            ja
          FILES: |-
            README.md
            docs/**/*.md

ग्लोब समर्थन: FILESग्लोब पैटर्न स्वीकार करता है -docs/**/*.mdप्रत्येक मार्कडाउन फ़ाइल का अनुवाद करता हैdocs/उन्हें एक-एक करके सूचीबद्ध किए बिना पुनरावर्ती रूप से, औरnotes/*.txtदिखाता है कि सादा-पाठ फ़ाइलें भी काम करती हैं। शाब्दिक नेस्टेड पथ उसी तरह काम करते हैं:sub/dir/README.mdऔरvery/deep/sub/directories/FOO.mdग्लोबिंग की कोई आवश्यकता नहीं है. ग्लब्स और शाब्दिक पथों को स्वतंत्र रूप से मिलाएं; के साथ पथ बहिष्कृत करेंIGNORE(उदाdocs/external/**). फ़ाइलों को पहले से ही नाम दिया गया है<name>.<lang>.<ext>(मौजूदा अनुवाद) हमेशा छोड़ दिए जाते हैं।

लिखने की अनुमति आवश्यक:नौकरी की घोषणा करनी होगीpermissions: contents: write(ऊपर दिखाया गया है) या आपके रेपो पर वापस पुश 403 के साथ खारिज कर दिया गया है। एक समीक्षा चरण को प्राथमिकता दें? तय करनाPULL_REQUEST: trueएक शाखा को आगे बढ़ाने और उसके स्थान पर एक पीआर खोलने की (आवश्यकता है)।permissions: pull-requests: writeभी)।

डिफ़ॉल्ट रूप से वृद्धिशील:केवल वे फ़ाइलें जिनका स्रोत बदल गया है, उनका पुनः अनुवाद किया जाता है, जिससे अनुवाद कोटा बच जाता है। परिवर्तनों को a के माध्यम से ट्रैक किया जाता है<!-- markdown-translator:<hash> -->प्रत्येक अनुवाद फ़ाइल में हेडर टिप्पणी लिखी जाती है। इस शीर्षलेख के बिना मौजूदा अनुवादों का एक बार पुनः अनुवाद किया जाता है।

मार्कडाउन बनाम सादा पाठ:मार्कडाउन फ़ाइलें (.md,.markdown,.mdx,.mdown,.mkd) का अनुवाद मार्कडाउन-अवेयर किया गया है - कोड स्पैन, फेंसिड ब्लॉक, फ्रंटमैटर और यूआरएल अछूते रहते हैं। कोई अन्य फ़ाइल (उदा..txt) रिक्त पंक्तियों और पंक्ति अंत को संरक्षित करते हुए, पंक्ति दर पंक्ति अनुवादित किया जाता है।

काँटा

:चेतावनी: दौड़ना न भूलेंnpm run buildप्रतिबद्ध होने से पहले

विन्यास

विकल्प

आप निम्नलिखित विकल्पों के साथ कार्रवाई को आगे कॉन्फ़िगर कर सकते हैं:

  • LANG: जिस भाषा में आप अपने रीडमी का अनुवाद करना चाहते हैं उसकी नई पंक्ति से अलग की गई सूची। डिफ़ॉल्ट सरलीकृत चीनी है. समर्थित भाषाएँ नीचे पाई जा सकती हैं। (गलती करना:zh-CN) (आवश्यक:false)

  • FILES: अनुवाद करने के लिए न्यूलाइन-पृथक फ़ाइलें। ग्लोब पैटर्न का समर्थन करता है (उदा.docs/**/*.md) और शाब्दिक नेस्टेड पथ (उदा.sub/dir/README.md). मार्कडाउन फ़ाइलें मार्कडाउन-अवेयर (कोड स्पैन, फ्रंटमैटर, फेंसिड ब्लॉक और यूआरएल अछूते) अनुवादित हैं; अन्य फ़ाइलें (उदा..txt) रिक्त पंक्तियों और पंक्ति अंत को संरक्षित करते हुए, पंक्ति दर पंक्ति अनुवादित किया जाता है। (गलती करना:[README.md]) (आवश्यक:false)

  • IGNORE: कब को बाहर करने के लिए न्यूलाइन-पृथक ग्लोब पैटर्नFILESग्लोबिंग का उपयोग करता है. (डिफ़ॉल्ट: ``) (आवश्यक:false)

  • IGNORE_PATTERN: न्यूलाइन-पृथक रेगेक्स पैटर्न। किसी पैटर्न से मेल खाने वाला कोई भी पाठ अअनुवादित छोड़ दिया जाता है - कोड, कमांड आउटपुट या उचित संज्ञा के लिए उपयोगी। (डिफ़ॉल्ट: ``) (आवश्यक:false)

  • COMMIT: क्या जेनरेट किए गए अनुवादों को प्रतिबद्ध करना है। करने के लिए सेटfalseड्राई-रन के लिए जो केवल अनुवाद फ़ाइलें लिखता है। (गलती करना:true) (आवश्यक:false)

  • PUSH: क्या कमिट्स को रिपॉजिटरी में वापस धकेलना है। (गलती करना:true) (आवश्यक:false)

  • PULL_REQUEST: किसी शाखा पर पुश करें और वर्तमान शाखा के लिए प्रतिबद्ध होने के बजाय एक पुल अनुरोध खोलें। (गलती करना:false) (आवश्यक:false)

  • INCREMENTAL: केवल उन फ़ाइलों का पुनः अनुवाद करें जिनका स्रोत बदल गया है। स्रोत हैश को अनुवाद फ़ाइल की हेडर टिप्पणी में ट्रैक किया जाता है, इसलिए अपरिवर्तित होने पर मौजूदा अनुवाद छोड़ दिए जाते हैं - अनुवाद कोटा सहेजता है। (गलती करना:true) (आवश्यक:false)

आउटपुट

  • FILES_CREATED: उत्पन्न की गई अनुवाद फ़ाइलों की नई पंक्ति से अलग की गई सूची।

उदाहरण: सीधे पुश के बजाय पुल अनुरोध

- name: Adding README translations as a PR
  uses: ikhsan3adi/markdown-translator@master
  with:
    LANG: zh-CN
    FILES: README.md
    PULL_REQUEST: true
    PUSH: true

उदाहरण: ड्राई-रन (फ़ाइलें लिखें, कोई कमिट/पुश नहीं)

- name: Generate README translations locally
  uses: ikhsan3adi/markdown-translator@master
  with:
    LANG: zh-CN
    FILES: README.md
    COMMIT: false

उदाहरण: डॉक्स निर्देशिका में ग्लोब

- name: Translate all docs
  uses: ikhsan3adi/markdown-translator@master
  with:
    LANG: ja
    FILES: |-
      README.md
      docs/**/*.md
    IGNORE: |-
      docs/external/**/*.md

स्थानीय स्तर पर चलाएँ

npm startआपके टर्मिनल और डिफ़ॉल्ट से समान तर्क चलाता हैCOMMIT/PUSHकोfalse, इसलिए यह केवल अनुवाद फ़ाइलें लिखता है - कोई प्रतिबद्धता नहीं, कोई धक्का नहीं। झंडे कार्रवाई इनपुट को प्रतिबिंबित करते हैं (कबाब-केस), द्वारा अलग किया गया,:

npm install

# translate README.md to Indonesian, dry-run only
npm start -- --lang id --files README.md

# multiple languages and glob patterns
npm start -- --lang "id,ja" --files "README.md,docs/**/*.md" --ignore "docs/external/**"

# skip text matching a regex
npm start -- --lang zh-CN --files README.md --ignore-pattern "^\|.*\|$"

# translate plain text files too
npm start -- --lang id --files notes.txt

# full local run with commit + push
npm start -- --lang id --files README.md --commit --push

npm start -- --help

समर्थित भाषाएँ

समर्थित भाषाएँ यहां https://cloud.google.com/translate/docs/lengths पर पाई जा सकती हैं

विकास

सुझावों और योगदानों का हमेशा स्वागत है!

लाइसेंस

साथ