استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "السجل الأولي"v9.7.13/11/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
ملحق Prettier
يقوم prettier-plugin-intlayer بوضع مفاتيح ترجماتك بترتيب ثابت في كل مرة يقوم فيها Prettier بتنسيق ملف. تظل الفروقات (diffs) صغيرة، وتصبح تعارضات الدمج أقل تكرارًا، ويسهل اكتشاف أي لغة مفقودة.
نسخ الكود إلى الحافظة
التثبيت
نسخ الكود إلى الحافظة
يتطلب Prettier الإصدار 3 أو أحدث.
إذا كان مشروعك يستخدم Prettier بالفعل، فإن الأمر intlayer init prettier يقوم بتثبيت الملحق وإضافته إلى ملف التكوين نيابةً عنك.
الاستخدام
أضف الملحق إلى ملف تكوين Prettier:
نسخ الكود إلى الحافظة
لتطبيقه فقط على ملفات تعريف المحتوى الخاصة بك، استخدم التجاوز (override):
نسخ الكود إلى الحافظة
ما الذي يتم ترتيبه
t(): اللغات
تأتي اللغات المثبتة أولاً (en افتراضيًا). وتتبعها بقية اللغات حسب الترتيب الأبجدي.
نسخ الكود إلى الحافظة
plural(): ترتيب CLDR
تنتقل الفئات من أصغر كمية إلى القيمة الاحتياطية (fallback): zero، one، two، few، many، other.
نسخ الكود إلى الحافظة
enu(): حدود تصاعدية
يتم فرز الشروط حسب رقمها، ثم حسب المعامل (<1، <=1، 1، >=1، >1). يوضع fallback في النهاية.
نسخ الكود إلى الحافظة
في وقت التشغيل، يسري أول شرط مطابق. يطبق الملحق الترتيب الجديد فقط عندما تؤول كل كمية إلى نفس المحتوى. عندما يحدد الترتيب النتيجة، يترك الكائن كما كُتب تمامًا. على سبيل المثال، في { '<1': …, '<=-2.3': … } يلتقط المفتاح '<1' كل رقم سالب.
select(): أبجديًا
يتم ترتيب الحالات أبجديًا ويوضع fallback في النهاية.
نسخ الكود إلى الحافظة
بدون مفتاح fallback أو other، يتم استخدام الحالة الأخيرة كقيمة احتياطية. تظل تلك الحالة في النهاية ويتم ترتيب الحالات التي تسبقها فقط.
ملفات .content.json
يتم ترتيب الشكل التسلسلي بنفس الطريقة: { "nodeType": "translation", "translation": { … } }، بالإضافة إلى عقد plural و enumeration و select.
مفاتيح المحتوى (اختياري)
باستخدام intlayerSortContentKeys: true، يقوم الملحق أيضًا بفرز مفاتيح content في القاموس أبجديًا في كل مستويات التداخل. ينطبق هذا فقط في ملفات *.content.*.
نسخ الكود إلى الحافظة
يستمر الترتيب عبر كل دالة مساعدة (t، plural، enu، select، cond، gender، md، insert، nest، file…) للوصول إلى الكائنات داخلها. يحتفظ مخطط المفاتيح الخاص بكل مساعد بترتيبه. لا يُعاد ترتيب المفاتيح الممررة إلى cond() و gender() أبدًا لأن آخر مفتاح يعمل كقيمة احتياطية. تظل الحقول المجاورة لـ content (key، title، locale…) كما هي.
الخيارات
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخيار | القيمة الافتراضية | الوصف |
|---|---|---|
intlayerPinnedLocales | ["en"] | اللغات المحفوظة أولاً في t()، بهذا الترتيب. مرر [] لترتيب كل اللغات أبجديًا. |
intlayerSortContentKeys | false | في ملفات *.content.*، يتم أيضًا فرز مفاتيح محتوى القاموس والكائنات المتداخلة. |
ما يترك دون تغيير
- الكائنات التي تحتوي على spread (
...base)، أو مفتاح محسوب ([key])، أو دالة، أو مفتاح مكرر. - خرائط
plural()بمفتاح لا يمثل فئة CLDR. - خرائط
enu()التي قد يؤدي تغيير ترتيبها إلى تغيير المحتوى المحلول. - استدعاءات أي دالة أخرى مسماة كدالة مساعدة ولكن تم تمرير وسيط ليس كائنًا إليها.
تتحرك التعليقات مع المفتاح الذي تنتمي إليه.
المحللات المدعومة (Parsers)
babel و babel-flow و babel-ts و typescript و flow و acorn و espree و meriyah و json و json5 و jsonc. يتم أيضًا تنسيق كتل <script> في ملفات Vue و Svelte و Astro باستخدام هذه المحللات.
قيد معروف. يشغل Prettier ملحقًا واحدًا فقط لكل محلل. إذا استبدل ملحق آخر محللات JavaScript/TypeScript أيضًا (على سبيل المثالprettier-plugin-tailwindcss)، فسيتم تطبيق آخر ملحق مدرج فقط على تلك الملفات. حدد نطاقprettier-plugin-intlayerلملفات*.content.*باستخدام override لتجنب التعارض.
