ترقي
ڊولپمينٽ گائيڊ
دستاويزڪاري صرف 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 ڊاڪس (i18nwebsite/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 سميت)، چينج لاگ اپڊيٽ، ڪميٽ ۽ پش. |
eslint | ESLint هلايو فليٽ ڪنفيگ ذريعي (npm run -s lint:eslint). |
help | سڀ ٽارگيٽ هڪ سٽ جي ڊاڪس سان (ترتيب وار) لسٽ ڪريو. |
lint | sources/ تي web‑ext lint (وقتي ميني فيسٽ؛ ZIPs نظرانداز؛ غير جان ليوا). |
menu | ٽارگيٽ ۽ اختياري آرگومينٽ چونڊڻ لاءِ انٽرايڪٽو مينيو. |
pack | ATN ۽ LOCAL ZIPs بِلڊ ڪريو (لنٽر هلائي؛ پيڪر اسڪرپٽ کي سڏي). |
prettier | ريپوزيٽري کي جاءِ تي فارميٽ ڪريو (لکي ڇڏيندو). |
prettier_check | Prettier چيڪ موڊ ۾ (بغير لکندڙ)؛ ٻيهر فارميٽ جي ضرورت هجي ته ناڪام ٿئي. |
prettier_write | prettier جو عرف. |
test | Prettier (write)، ESLint، پوءِ Vitest (جيڪڏهن ڪوريج ڳنڍيل آهي). |
test_i18n | صرف i18n ٽيسٽ: ايڊ آن placeholders/parity + ويب سائيٽ parity. |
translate_app | translation_app جو عرف. |
translation_app | ايپ UI اسٽِرِنگز sources/_locales/en/messages.json مان ترجمو ڪريو. |
translate_web_docs_batch | ويب سائيٽ ڊاڪس OpenAI Batch API ذريعي ترجمو ڪريو (ترجيحي). |
translate_web_docs_sync | ويب سائيٽ ڊاڪس هم وقتي (legacy، غير بئچ) ترجمو ڪريو. |
translate_web_index | translation_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_github | website/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-v8make 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→falseconfirmDefaultChoice: '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‑matteridاڻبدل رکن ٿا؛ لاگز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 PagesbaseUrlکي/۾ ٻيهر لکي ٿو؛ ریموٽ 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 تي سرور؛ PIDweb-local-preview/.server.pidتي.
web_push_github
- مقصد:
website/buildکيgh-pagesبرانچ ڏانهن پش ڪرڻ. - استعمال:
make web_push_github
ٽِپ: Makefile پاران استعمال ٿيندڙ پيڪيج مينيجر کي اوور رائيڊ ڪرڻ لاءِ NPM=… سيٽ ڪريو (ڊي فالٽ npm).