تخطَّ إلى المحتوى

الترجمات

قيد التطوير

الإنجليزية هي اللغة المصدر. وكل اللغات الأخرى تتبعها.

ماذا المصدر الترجمات
خزنة الويب، وتستخدمها كل التطبيقات apps/web/src/i18n/en.ts ar.ts، وtranslations/web/<language>.json
إضافة المتصفح apps/extension/src/i18n.ts translations/extension/<language>.json
تطبيق سطح المكتب apps/desktop/src/i18n.ts translations/desktop/<language>.json
تطبيقات الهاتف apps/web/src/i18n/phone.ts translations/phone/<language>.json
الموقع apps/website/src/i18n/landing/en.json <language>.json بجانبه
واجهة التوثيق apps/website/src/content/i18n/en.json <language>.json بجانبه
صفحات التوثيق docs/<path>.md docs/<language>/<path>.md

يبقى سجل التغييرات بالإنجليزية. أما تطبيقا iPhone وAndroid الأصليان فيأخذان نصوصهما من كتالوجي الويب والهاتف عبر tools/native-resources، فلا يحتاجان إلى ترجمة خاصة بهما.

افتح Weblate عندما يعمل، أو عدّل الملف في طلب دمج:

  • نصوص التطبيقات: عدّل ar.ts أو الكتلة ar في كتالوج التطبيق، ثم شغّل node tools/translations/sync.mjs export. يتحقق CI من تطابق الاثنين.
  • التوثيق: عدّل الصفحة الموجودة تحت docs/ar/.

يُنفّذ Weblate commits على ملفات translations/ وعلى docs/ar/. شغّل node tools/translations/sync.mjs import لنقل التصحيحات العربية من translations/ إلى كتالوجات TypeScript.

إبقاء التوثيق متزامنًا

Section titled “إبقاء التوثيق متزامنًا”

يعرض الأمر node tools/translations/check-docs.mjs الصفحات الإنجليزية التي لا ترجمة لها، ويفشل عند وجود ترجمات فقدت صفحتها الإنجليزية، أو غيّرت قيمة status لصفحة، أو تشير إلى صفحة إنجليزية. الصفحة التي لا ترجمة لها تعرض النص الإنجليزي مع تنبيه، فلا تترك أي صفحة إنجليزية جديدة فجوة في الموقع.

  • العربية الفصحى المعاصرة، بسيطة ومباشرة، وبالنبرة نفسها كما في الإنجليزية.
  • استخدم الكلمات التي تستخدمها التطبيقات. الكتالوج العربي apps/web/src/i18n/ar.ts هو المسرد: مثلًا «الخزنة» مقابل vault و«البريد المُقنَّع» مقابل masked email.
  • تبقى أسماء المنتجات بالأحرف اللاتينية: Octa Pass وTouch ID وWindows Hello وWeblate.
  • الأرقام الغربية (0–9)، كما في التطبيقات.
  • الأوامر والشيفرة وأسماء الملفات وأسماء الإعدادات مثل OCTAPASS_PUBLIC_URL والروابط تبقى كما هي.
  • الرسائل ذات العدد تحتاج إلى أشكال الجمع الستة كلها: zero وone وtwo وfew وmany وother.
  • لا تباعد بين أحرف النص العربي: فهو يكسر اتصال الحروف.
  1. افتح اللغة في Weblate، أو أضف translations/<component>/<language>.json يدويًا.
  2. أضفها إلى LOCALES في apps/web/src/i18n/core.ts مع اتجاهها، وحمّل كتالوجاتها في كل تطبيق.
  3. أضفها إلى locales في apps/website/astro.config.mjs.
  4. ترجم ما تستطيع من صفحات التوثيق. وتعود البقية إلى الإنجليزية.

الخطوة 2 تغيير في الشيفرة عن قصد: تُطلق اللغة عندما تكتمل نصوص تطبيقاتها، لأن مدير كلمات المرور المترجم جزئيًا يسهل أن يُساء فهمه.

للمشرفين. يشير الملف .weblate بعميل wlc إلى المشروع، ويسرد translations/weblate.json كل مكوّن مع قناع الملف وصيغته وإعداداته. تستخدم صفحات التوثيق مكوّن Markdown واحدًا لكل صفحة، تنشئه إضافة اكتشاف المكوّنات، مع تفعيل Translate front matter values. راجع translations/README.md.