Skip to main content

ترقي


ڊولپمينٽ گائيڊ​

صرف انگريزي ايڊٽ ڪريو؛ ترجما پاڻمرادو پکڙجن ٿا

دستاويزڪاري صرف website/docs (انگريزي) هيٺ تازه ڪريو. website/i18n/<locale>/… هيٺ ترجما جنريٽ ٿين ٿا ۽ کين هٿ سان ايڊٽ نه ڪيو. لوڪلائيزيشن کي تازي ڪرڻ لاءِ ترجمي وارا ٽاسڪ استعمال ڪريو (جهڙوڪ make translate_web_docs_batch).

پيشگي گهرجون​

  • Node.js 22+ ۽ npm (Node 22 سان ٽيسٽ ٿيل)
  • Thunderbird 128 ESR يا نئون (دستي ٽيسٽنگ لاءِ)

پروجيڪٽ لي آئوٽ (اعليٰ سطح)​

  • Root: پيڪيجنگ اسڪرپٽ distribution_zip_packer.sh, ڊاڪس، اسڪرين شاٽس
  • sources/: مکيه ايڊ آن ڪوڊ (پس منظر، آپشنز/پاپ اپ UI، ميني فيسٽس، آئڪنز)
  • tests/: Vitest سوٽ
  • website/: Docusaurus ڊاڪس (i18n website/i18n/de/... هيٺ)

انسٽال ۽ ٽولنگ​

  • روٽ ڊپس انسٽال ڪريو: npm ci
  • ڊاڪس (اختياري): cd website && npm ci
  • ٽارگيٽ ڳوليو: make help

لائيو ڊولپ (web‑ext run)​

  • Firefox Desktop ۾ تيز لوپ (صرف UI سموڪ ٽيسٽ):
  • npx web-ext run --source-dir sources --target=firefox-desktop
  • Thunderbird ۾ هلائڻ (MailExtensions لاءِ ترجيحي):
  • npx web-ext run --source-dir sources --start-url about:addons --firefox-binary "$(command -v thunderbird || echo /path/to/thunderbird)"
  • ٽِپس:
  • Thunderbird جو Error Console کليل رکو (Tools → Developer Tools → Error Console).
  • MV3 ايونٽ پيجز غيرفعال ٿيڻ تي معطل ٿين ٿا؛ ڪوڊ ۾ تبديليءَ کان پوءِ ايڊ آن ٻيهر لوڊ ڪريو، يا web‑ext کي پاڻمرادو ري لوڊ ڪرڻ ڏيو.
  • ڪجهه صرف Firefox وارا رويا مختلف ٿي سگهن ٿا؛ API برابري لاءِ هميشه Thunderbird ۾ تصديق ڪريو.
  • Thunderbird باينري پاتھس (مثال):
  • Linux: thunderbird (مثال طور، /usr/bin/thunderbird)
  • macOS: /Applications/Thunderbird.app/Contents/MacOS/thunderbird
  • Windows: "C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe"
  • پروفائيل الڳ رکڻ: پنهنجي روزاني سيٽ اپ تي اثر کان بچڻ لاءِ ڊولپمينٽ لاءِ ڌار Thunderbird پروفائيل استعمال ڪريو.

ميڪ ٽارگيٽ (ابجد وار)​

Makefile عام ڊولپ وهڪرن کي معياري بڻائي ٿي. هر ٽارگيٽ جو هڪ سٽ وارو خلاصو ڏسڻ لاءِ ڪنهن به وقت make help هلايو.

ٽِپ: make بغير ٽارگيٽ جي هلائڻ سان سادو Whiptail مينيو کلي ٿو جنهن مان ٽارگيٽ چونڊي سگهجي ٿو.

ٽارگيٽهڪ سٽ وارو بيان
cleanمقامي بِلڊ/پريويو آرٽيفيڪٽس (tmp/, web-local-preview/, website/build/) هٽايو.
commitفارميٽ، ٽيسٽ هلاءِ (i18n سميت)، چينج لاگ اپڊيٽ، ڪميٽ ۽ پش.
eslintESLint هلايو فليٽ ڪنفيگ ذريعي (npm run -s lint:eslint).
helpسڀ ٽارگيٽ هڪ سٽ جي ڊاڪس سان (ترتيب وار) لسٽ ڪريو.
lintsources/ تي web‑ext lint (وقتي ميني فيسٽ؛ ZIPs نظرانداز؛ غير جان ليوا).
menuٽارگيٽ ۽ اختياري آرگومينٽ چونڊڻ لاءِ انٽرايڪٽو مينيو.
packATN ۽ LOCAL ZIPs بِلڊ ڪريو (لنٽر هلائي؛ پيڪر اسڪرپٽ کي سڏي).
prettierريپوزيٽري کي جاءِ تي فارميٽ ڪريو (لکي ڇڏيندو).
prettier_checkPrettier چيڪ موڊ ۾ (بغير لکندڙ)؛ ٻيهر فارميٽ جي ضرورت هجي ته ناڪام ٿئي.
prettier_writeprettier جو عرف.
testPrettier (write)، ESLint، پوءِ Vitest (جيڪڏهن ڪوريج ڳنڍيل آهي).
test_i18nصرف i18n ٽيسٽ: ايڊ آن placeholders/parity + ويب سائيٽ parity.
translate_apptranslation_app جو عرف.
translation_appايپ UI اسٽِرِنگز sources/_locales/en/messages.json مان ترجمو ڪريو.
translate_web_docs_batchويب سائيٽ ڊاڪس OpenAI Batch API ذريعي ترجمو ڪريو (ترجيحي).
translate_web_docs_syncويب سائيٽ ڊاڪس هم وقتي (legacy، غير بئچ) ترجمو ڪريو.
translate_web_indextranslation_web_index جو عرف.
translation_web_indexهوم پيج/ناوبار/فوٽر UI ترجمو (website/i18n/en/code.json → .../<lang>/code.json).
web_buildڊاڪس کي website/build ڏانهن بِلڊ ڪريو ( --locales / BUILD_LOCALES کي سپورٽ ڪري ٿو).
web_build_linkcheckآف لائن محفوظ لنڪ چيڪ (ريموٽ HTTP[S] کي ڇڏيندو).
web_build_local_previewمقامي gh‑pages پريويو؛ 8080–8090 تي پاڻمرادو سرور؛ اختياري ٽيسٽ/لنڪ چيڪ.
web_push_githubwebsite/build کي gh-pages برانچ ڏانهن پش ڪريو.

اختيارن لاءِ نحو

  • آپشن پاس ڪرڻ لاءِ make <command> OPTS="…" استعمال ڪريو (ڪوٽس صلاح ڏنل). ھيٺ ھر ٽارگيٽ مثال استعمال ڏيکاري ٿو.

--

لوڪل بِلڊ ٽِپس​

  • لوڪلز جو جزوي سيٽ بِلڊ ڪريو: BUILD_LOCALES="en de" سيٽ ڪريو يا ويب ٽارگيٽس کي OPTS="--locales en,de" پاس ڪريو.
  • ڪنهن مخصوص لوڪل جو پريويو: http://localhost:<port>/Thunderbird-Reply-with-Attachments/de/.

بِلڊ ۽ پيڪيج​

  • ZIPs بِلڊ ڪريو: make pack
  • ريپو روٽ ۾ ATN ۽ LOCAL ZIPs ٺاهي ٿو (آرٽيفيڪٽس هٿ سان ايڊٽ نه ڪريو)
  • ٽِپ: پيڪيج ڪرڻ کان اڳ sources/manifest_ATN.json ۽ sources/manifest_LOCAL.json ٻنهي ۾ ورزن اپڊيٽ ڪريو
  • دستي انسٽال (ڊولپ): Thunderbird → Tools → Add‑ons and Themes → گيئر → Install Add‑on From File… → تيار ڪيل ZIP چونڊيو

ٽيسٽ​

  • پورو سوٽ: make test (Vitest)
  • ڪوريج (اختياري):
  • npm i -D @vitest/coverage-v8
  • make test هلائو؛ HTML رپورٽ لاءِ coverage/index.html کوليو
  • صرف i18n: make test_i18n (UI keys/placeholders/titles + ويب سائيٽ في-لوڪل في-ڊاڪ parity id/title/sidebar_label چيڪس سان)

ڊي بگنگ ۽ لاگز​

  • Error Console: Tools → Developer Tools → Error Console
  • رن ٽائيم دوران تفصيلي لاگز کي ٽوگل ڪريو:
  • فعال: messenger.storage.local.set({ debug: true })
  • غيرفعال: messenger.storage.local.set({ debug: false })
  • لاگز جواب لکوڻ/موڪلڻ دوران ظاهر ٿيندا

ڊاڪس (ويب سائيٽ)​

  • ڊيو سرور: cd website && npm run start
  • اسٽيٽڪ سائيٽ بِلڊ: cd website && npm run build
  • ميڪ جا هم منصب (ابجد وار): make web_build, make web_build_linkcheck, make web_build_local_preview, make web_push_github
  • استعمال جا مثال:
  • فقط EN، ٽيسٽ/لنڪ چيڪ کي ڇڏيو، پش نه ڪريو: make web_build_local_preview OPTS="--locales en --no-test --no-link-check --dry-run"
  • سڀ لوڪلز، ٽيسٽ/لنڪ چيڪ سان، پوءِ پش: make web_build_local_preview && make web_push_github
  • شايع ڪرڻ کان اڳ، آف لائن محفوظ لنڪ چيڪ هلائو: make web_build_linkcheck.
  • i18n: انگريزي website/docs/*.md ۾ آهي؛ جرمن ترجما website/i18n/de/docusaurus-plugin-content-docs/current/*.md ۾
  • سرچ: جيڪڏهن Algolia DocSearch جا env ويئرئيبلز CI ۾ سيٽ آهن (DOCSEARCH_APP_ID, DOCSEARCH_API_KEY, DOCSEARCH_INDEX_NAME) ته سائيٽ Algolia سرچ استعمال ڪندي؛ ٻي صورت ۾ لوڪل سرچ تي واپس ويندي. هوم پيج تي، سرچ باڪس کولڻ لاءِ / يا Ctrl+K دٻايو.

  • website/src/pages/donate.js
  • روٽ: /donate (۽ /<locale>/donate)
  • رويو:
  • جيڪڏهن موجوده روٽ وٽ لوڪل آهي (مثال طور، /de/donate) ته اهو ئي استعمال ڪريو
  • ٻي صورت ۾، navigator.languages کي ترتيب ڏنل لوڪلز سان ڀيٽيو؛ ڊي فالٽ لوڪل تي واپس وڃو
  • ريدايريڪٽس:
  • en → /docs/donation
  • ٻيا → /<locale>/docs/donation
  • صحيح baseUrl هينڊلنگ لاءِ useBaseUrl استعمال ڪري ٿو
  • متبادل طور meta refresh + noscript لنڪ شامل آهي


پريويو ٽِپس​

  • Node پريويو صحيح نموني بند ڪرڻ: http://localhost:<port>/__stop کوليو (Local server started کان پوءِ پرنٽ ٿيندو).
  • جيڪڏهن تصويرون MDX/JSX ۾ لوڊ نٿيون ٿين، سائيٽ جي baseUrl جو خيال رکڻ لاءِ useBaseUrl('/img/...') استعمال ڪريو.
  • پريويو پهرين شروع ٿئي ٿو؛ لنڪ چيڪ بعد ۾ هلندو آهي ۽ نان بلاڪنگ آهي (ٽُٽل خارجي لنڪس پريويو کي نه روڪينديون).
  • مثال پريويو URL: http://localhost:<port>/Thunderbird-Reply-with-Attachments/ (“Local server started” کان پوءِ پرنٽ ٿيندو).
  • لنڪ چيڪ ۾ خارجي لنڪس: ڪجهه خارجي سائيٽون (جهڙوڪ addons.thunderbird.net) خودڪار ڪرالرز کي بلاڪ ڪن ٿيون ۽ لنڪ چيڪس ۾ 403 ڏيکاري سگهن ٿيون. پريويو اڃا به شروع ٿيندو؛ اهي نظرانداز ڪرڻ لاءِ محفوظ آهن.

ويب سائيٽ ترجمو ڪريو​

توھان ڇا ترجمو ڪري سگھو ٿا

  • صرف ويب سائيٽ UI: هوم پيج، ناوبار، فوٽر، ۽ ٻيا UI اسٽِرنگز. ڊاڪس جو مواد اڃا لاءِ رڳو انگريزي ۾ رهندو.

ڪٿي ايڊٽ ڪجي

  • website/i18n/<locale>/code.json ايڊٽ ڪريو (en کي ريفرنس طور استعمال ڪريو). {year}, {slash}, {ctrl}, {k}, {code1} جهڙا placeholders اڻبدل رکو.

فائلون ٺاهيو يا تازيون ڪريو

  • سڀني لوڪلز لاءِ گم ٿيل اسٽب ٺاهيو: npm --prefix website run i18n:stubs
  • انگريزي مان اسٽب اوور رائيٽ ڪريو (نئين اسٽِرنگز شامل ڪرڻ کان پوءِ): npm --prefix website run i18n:stubs:force
  • هڪ ئي لوڪل لاءِ متبادل: npx --prefix website docusaurus write-translations --locale <locale>

هوم پيج/ناوبار/فوٽر UI اسٽِرنگز ترجمو (OpenAI)

  • ڪريڊينشلز هڪ ڀيرو سيٽ ڪريو (shell يا .env):
  • export OPENAI_API_KEY=sk-...
  • اختياري: export OPENAI_MODEL=gpt-4o-mini
  • هڪ ئي هلاءُ (سڀ لوڪلز، en کي ڇڏي): make translate_web_index
  • مخصوص لوڪلز تائين محدود ڪريو: make translate_web_index OPTS="--locales de,fr"
  • موجوده قدرن کي اوور رائيٽ ڪريو: make translate_web_index OPTS="--force"

توثيق ۽ ٻيهر ڪوششون

  • ترجمي وارو اسڪرپٽ JSON شڪل جي توثيق ڪري ٿو، curly‑brace placeholders محفوظ رکي ٿو، ۽ يقين ڏياري ٿو ته URLs اڻبدل رهن.
  • توثيق ناڪاميءَ تي، فيڊ بيڪ سان 2 ڀيرا تائين ٻيهر ڪوشش ڪندو ۽ پوءِ موجوده قدر برقرار رکندو.

پنهنجي لوڪل جو پريويو

  • ڊيو سرور: npm --prefix website run start
  • هتي وڃو: http://localhost:3000/<locale>/Thunderbird-Reply-with-Attachments/

جمع ڪرائڻ

  • ايڊٽ ڪيل code.json فائل(ن) سان PR کوليو. تبديليون مرڪوز رکو ۽ ممڪن هجي ته تيز اسڪرين شاٽ شامل ڪريو.

سيڪيورٽي ۽ ڪنفيگريشن ٽِپس​

  • sources/manifest.json ڪميٽ نه ڪريو (بِلڊ عارضي طور ٺاهي ٿو)
  • اپڊيٽ چينل برقرار رکڻ لاءِ browser_specific_settings.gecko.id مستحڪم رکو

سيٽنگز جي مستقلتا​

  • اسٽوريج: سڀ يوزر سيٽنگز storage.local ۾ محفوظ آهن ۽ ايڊ آن اپڊيٽس ۾ به برقرار رهن ٿيون.
  • انسٽال: ڊي فالٽس تڏهن ئي لاڳو ٿيندا جڏهن ڪو ڪي سِختي سان گم هجي (undefined).
  • اپڊيٽ: مائيگريشن رڳو گم ٿيل ڪييز ڀريندي؛ موجوده قدر ڪڏهن به اوور رائيٽ نٿا ٿين.
  • اسڪيمه مارڪر: settingsVersion (في الحال 1).
  • ڪييز ۽ ڊي فالٽس:
  • blacklistPatterns: string[] → ['*intern*', '*secret*', '*passwor*']
  • confirmBeforeAdd: boolean → false
  • confirmDefaultChoice: 'yes'|'no' → 'yes'
  • warnOnBlacklistExcluded: boolean → true
  • ڪوڊ: ڏسو sources/background.js → initializeOrMigrateSettings() ۽ SCHEMA_VERSION.

ڊولپمينٽ وهڪرو (نئين سيٽنگ شامل ڪرڻ)

  • sources/background.js ۾ SCHEMA_VERSION کي بَمپ ڪريو.
  • initializeOrMigrateSettings() ۾ DEFAULTS آبجڪٽ ۾ نئون ڪي + ڊي فالٽ شامل ڪريو.
  • ڊي فالٽس سيڊ ڪندي “صرف-جيڪڏهن-undefined” جو اصول استعمال ڪريو؛ موجوده قدر اوور رائيٽ نه ڪريو.
  • جيڪڏهن سيٽنگ يوزر لاءِ نظر ايندي آهي ته sources/options.js ۾ وائر ڪريو ۽ لوڪلائيزڊ اسٽِرنگز شامل ڪريو.
  • ٽيسٽ شامل/ترتيب ڪريو (tests/background.settings.migration.test.js ڏسو).

دستي ٽيسٽنگ ٽِپس

  • نئون انسٽال نقل ڪريو: ايڪسٽينشن جو ڊيٽا ڊائريڪٽري صاف ڪريو يا نئين پروفائيل سان شروع ڪريو.
  • اپڊيٽ نقل ڪريو: storage.local ۾ settingsVersion کي 0 تي سيٽ ڪريو ۽ ٻيهر لوڊ ڪريو؛ پڪ ڪريو موجوده قدر اڻبدل رهن ۽ صرف گم ٿيل ڪييز شامل ٿين.

ٽربل شوٽنگ​

  • پڪ ڪريو Thunderbird 128 ESR يا نئون هجي
  • رن ٽائيم مسئلن لاءِ Error Console استعمال ڪريو
  • جيڪڏهن محفوظ سيٽنگز صحيح نموني لاڳو نه پيون لڳن ته Thunderbird ٻيهر شروع ڪريو ۽ ٻيهر ڪوشش ڪريو. (Thunderbird سيشنن وچ ۾ اسٽيٽ ڪيش ڪري سگهي ٿو؛ ريسٽارٽ سان تازيون سيٽنگون لوڊ ٿين ٿيون.)

CI ۽ ڪوريج​

  • GitHub Actions (CI — Tests) vitest کي ڪوريج ٿريشولڊز سان هلائي ٿو (85% lines/functions/branches/statements). جيڪڏهن ٿريشولڊ پورو نه ٿيا، نوڪري ناڪام ٿيندي.
  • ورڪ فلو HTML رپورٽ سان coverage-html آرٽيفيڪٽ اپلوڊ ڪري ٿو؛ رن پيج تان ڊائون لوڊ ڪريو (Actions → تازو رن → Artifacts).

حصو وٺڻ​

  • CONTRIBUTING.md ڏسو برانچ/ڪميٽ/PR هدايتن لاءِ
  • ٽِپ: پنهنجي روزاني پروفائيل تي اثر کان بچڻ لاءِ ٽيسٽنگ لاءِ ڌار Thunderbird ڊولپمينٽ پروفائيل ٺاهيو.

ترجما​

  • وڏي “all → all” ترجمي واريون جابز سست ۽ مهانگيون ٿي سگهن ٿيون. پهرين جزوي سيٽ سان شروع ڪريو (مثال طور، چند ڊاڪس ۽ 1–2 لوڪلز)، نتيجو ڏسو، پوءِ وڌايو.

  • ٻيهر ڪوشش پاليسي: ترجمي واريون جابز API غلطن تي وڌ ۾ وڌ 3 ڀيرا ايڪسپونينشل بئڪ آف سان ٻيهر ڪوشش ڪن ٿيون؛ scripts/translate_web_docs_batch.js ۽ scripts/translate_web_docs_sync.js ڏسو.

ڊاڪس لاءِ اسڪرين شاٽس

  • تصويرون website/static/img/ هيٺ محفوظ ڪريو.

  • کين MD/MDX ۾ useBaseUrl('/img/<filename>') وسيلي ريفرنس ڪريو ته جيئن پاتھس سائيٽ جي baseUrl سان ڪم ڪن.

  • website/static/img/ هيٺ تصويرون شامل ڪرڻ يا نالو تبديل ڪرڻ کان پوءِ، تصديق ڪريو سڀ ريفرنس اڃا به useBaseUrl('/img/…') استعمال ڪن ٿا ۽ مقامي پريويو ۾ رينڊر ٿين ٿا. فيئو آئڪنز

  • گهڻ-سائيز favicon.ico پاڻمرادو سڀني بِلڊ رستن (Make + scripts) ۾ website/scripts/build-favicon.mjs وسيلي ٺهندو.

  • ڪابه دستي قدم گهربل ناهي؛ icon-*.png کي اپڊيٽ ڪرڻ ڪافي آهي. جائزي جي ٽِپ

  • ترجمو ٿيل ڊاڪس ۾ front‑matter id اڻبدل رکو؛ موجود هجي ته صرف title ۽ sidebar_label ترجمو ڪريو.

clean​

  • مقصد: مقامي بِلڊ/پريويو آرٽيفيڪٽس هٽائڻ.
  • استعمال: make clean
  • هٽائيندو (جيڪڏهن موجود):
  • tmp/
  • web-local-preview/
  • website/build/

commit​

  • مقصد: فارميٽ، ٽيسٽ، چينج لاگ اپڊيٽ، ڪميٽ، ۽ پش.
  • استعمال: make commit
  • تفصيل: Prettier (write)، make test, make test_i18n هلائي ٿو؛ جڏهن staged فرق هجن ته چينج لاگ شامل ڪري ٿو؛ origin/<branch> ڏانهن پش ڪري ٿو.

eslint​

  • مقصد: فليٽ ڪنفيگ ذريعي ESLint هلائڻ.
  • استعمال: make eslint

help​

  • مقصد: سڀ ٽارگيٽ هڪ سٽ جي ڊاڪس سان لسٽ ڪرڻ.
  • استعمال: make help

lint​

  • مقصد: web-ext استعمال ڪندي MailExtension کي lint ڪرڻ.
  • استعمال: make lint
  • نوٽس: عارضي طور sources/manifest_LOCAL.json → sources/manifest.json ڪاپي ڪندو؛ ٺهيل ZIPs نظرانداز؛ وارننگز پائيپ لائين کي ناڪام نٿيون ڪن.

menu​

  • مقصد: ميڪ ٽارگيٽ ۽ اختياري آرگومينٽ چونڊڻ لاءِ انٽرايڪٽو مينيو.
  • استعمال: make بغير آرگومينٽس جي هلايو.
  • نوٽس: جيڪڏهن whiptail دستياب نه هجي ته مينيو make help تي واپس ويندو.

pack​

  • مقصد: ATN ۽ LOCAL ZIPs بِلڊ ڪرڻ ( lint تي منحصر).
  • استعمال: make pack
  • ٽِپ: پيڪيج ڪرڻ کان اڳ ٻنهي sources/manifest_*.json ۾ ورجن بَمپ ڪريو.

prettier​

  • مقصد: ريپو کي جاءِ تي فارميٽ ڪرڻ.
  • استعمال: make prettier

prettier_check​

  • مقصد: فارميٽنگ جي تصديق (بغير لکندڙ).
  • استعمال: make prettier_check

prettier_write​

  • مقصد: prettier جو عرف.
  • استعمال: make prettier_write

test​

  • مقصد: Prettier (write)، ESLint، پوءِ Vitest (جيڪڏهن ڪوريج انسٽال ٿيل آهي).
  • استعمال: make test

test_i18n​

  • مقصد: ايڊ آن اسٽِرنگز ۽ ويب سائيٽ ڊاڪس لاءِ i18n-مرڪوز ٽيسٽ.
  • استعمال: make test_i18n
  • هلائيندو: npm run test:i18n ۽ npm run -s test:website-i18n.

translate_app / translation_app​

  • مقصد: ايڊ آن UI اسٽِرنگز EN مان ٻين لوڪلز ڏانهن ترجمو ڪرڻ.
  • استعمال: make translation_app OPTS="--locales all|de,fr"
  • نوٽس: ڪي ساخت ۽ placeholders محفوظ رکي ٿو؛ translation_app.log تي لاگ ڪندو. اسڪرپٽ فارم: node scripts/translate_app.js --locales ….

translate_web_docs_batch / translate_web_docs_sync​

  • مقصد: ويب سائيٽ ڊاڪس website/docs/*.md مان website/i18n/<locale>/... ڏانهن ترجمو ڪرڻ.
  • ترجيح: translate_web_docs_batch (OpenAI Batch API)
    • استعمال (فلئگز): make translate_web_docs_batch OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>"
    • Legacy پوزيشنل اڃا قبول ٿيل: OPTS="<doc|all> <lang|all>"
  • رويو: JSONL بِلڊ، اپلوڊ، هر 30 سيڪنڊن ۾ پول، نتيجا ڊائون لوڊ، فائلون لکو.
  • نوٽ: بئچ جاب مڪمل ٿيڻ ۾ 24 ڪلاڪن تائين لڳي سگهن ٿا (OpenAI جي بئچ ونڊو موجب). ڪن soles هر پول تي گذريل وقت ڏيکاريندو.
  • Env: OPENAI_API_KEY (گهربل)، اختياري OPENAI_MODEL, OPENAI_TEMPERATURE, OPENAI_BATCH_WINDOW (ڊي فالٽ 24h)، BATCH_POLL_INTERVAL_MS.
  • Legacy: translate_web_docs_sync
    • استعمال (فلئگز): make translate_web_docs_sync OPTS="--files <doc1,doc2|all> --locales <lang1,lang2|all>"
    • Legacy پوزيشنل اڃا قبول ٿيل: OPTS="<doc|all> <lang|all>"
  • رويو: هم وقتي في-جوڙي درخواستون (بغير بئچ گڏ ڪرڻ).
  • نوٽس: جڏهن OPTS ڇڏيل هجي ته انٽرايڪٽو پرامپٽس. ٻئي موڊس ڪوڊ بلاڪس/ان لائين ڪوڊ محفوظ رکن ٿا ۽ front‑matter id اڻبدل رکن ٿا؛ لاگز translation_web_batch.log (بئچ) يا translation_web_sync.log (سنڪ) ۾.

translate_web_index / translation_web_index​

  • مقصد: ويب سائيٽ UI اسٽِرنگز (هوم پيج، ناوبار، فوٽر) website/i18n/en/code.json مان سڀني لوڪلز ڏانهن website/i18n/<locale>/code.json هيٺ ترجمو ڪرڻ ( en کانسواءِ).
  • استعمال: make translate_web_index يا make translate_web_index OPTS="--locales de,fr [--force]"
  • گهرجون: OPENAI_API_KEY ايڪسپورٽ ڪريو (اختياري: OPENAI_MODEL=gpt-4o-mini).
  • رويو: JSON ساخت جي تصديق، curly‑brace placeholders محفوظ، URLs اڻبدل، ۽ توثيق غلطن تي فيڊ بيڪ سان ٻيهر ڪوششون.

web_build​

  • مقصد: ڊاڪس سائيٽ کي website/build ڏانهن بِلڊ ڪرڻ.
  • استعمال: make web_build OPTS="--locales en|de,en|all" (يا BUILD_LOCALES="en de" سيٽ ڪريو)
  • اندريون: node ./node_modules/@docusaurus/core/bin/docusaurus.mjs build [--locale …].
  • ڊپس: website/ ۾ npm ci رڳو تڏهن هلائيندو جڏهن website/node_modules/@docusaurus موجود نه هجي.

web_build_linkcheck​

  • مقصد: آف لائن محفوظ لنڪ چيڪ.
  • استعمال: make web_build_linkcheck OPTS="--locales en|all"
  • نوٽس: tmp_linkcheck_web_pages ڏانهن بِلڊ ڪندو؛ GH Pages baseUrl کي / ۾ ٻيهر لکي ٿو؛ ریموٽ HTTP(S) لنڪس کي ڇڏيندو.

web_build_local_preview​

  • مقصد: اختياري ٽيسٽ/لنڪ چيڪ سان مقامي gh‑pages پريويو.
  • استعمال: make web_build_local_preview OPTS="--locales en|all [--no-test] [--no-link-check] [--dry-run] [--no-serve]"
  • رويو: پهرين Node پريويو سرور ڪوشش ڪندو (scripts/preview-server.mjs, /__stop کي سپورٽ ڪري ٿو)، پوءِ python3 -m http.server تي واپس ويندو؛ 8080–8090 تي سرور؛ PID web-local-preview/.server.pid تي.

web_push_github​

  • مقصد: website/build کي gh-pages برانچ ڏانهن پش ڪرڻ.
  • استعمال: make web_push_github

ٽِپ: Makefile پاران استعمال ٿيندڙ پيڪيج مينيجر کي اوور رائيڊ ڪرڻ لاءِ NPM=… سيٽ ڪريو (ڊي فالٽ npm).