שאלו את שאלתכם וקבלו סיכום של המסמך על ידי הפניה לדף הזה ולספק ה-AI שתבחרו
היסטוריית גרסאות
- "היסטוריה ראשונית"v9.7.13.11.2026
התוכן של הדף הזה תורגם באמצעות AI.
צפייה בגרסה האחרונה של התוכן המקורי באנגליתאם יש לכם רעיון לשיפור התיעוד הזה, אל תהססו לתרום על ידי הגשת Pull Request ב-GitHub.
קישור GitHub לתיעודהעתקת ה-Markdown של המסמך ללוח
תוסף Prettier
prettier-plugin-intlayer מסדר את מפתחות התרגומים שלך בסדר קבוע בכל פעם ש-Prettier מעצב קובץ. ה-diffs נשארים קטנים, התנגשויות מיזוג (merge conflicts) הופכות לנדירות יותר וקל לזהות לוקאל חסר.
העתקת הקוד ללוח
התקנה
העתקת הקוד ללוח
נדרש 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
המבנה הסדרתי (serialized) ממוין באותו אופן: { "nodeType": "translation", "translation": { … } }, כמו גם צומתי plural, enumeration ו-select.
מפתחות תוכן (אופציונלי)
באמצעות intlayerSortContentKeys: true, התוסף ממיין גם את מפתחות ה-content של המילון בסדר אלפביתי, בכל רמת קינון. הגדרה זו חלה רק על קובצי *.content.*.
העתקת הקוד ללוח
המיון ממשיך דרך כל פונקציית עזר (t, plural, enu, select, cond, gender, md, insert, nest, file…) כדי להגיע לאובייקטים שבתוכם. מיפוי המפתחות הפנימי של כל פונקציית עזר שומר על הסדר שלו. מפתחות המועברים אל cond() ו-gender() לעולם אינם ממוינים מחדש, מכיוון שהמפתח האחרון שלהם משמש כ-fallback. השדות שלצד content (key, title, locale…) נשארים ללא שינוי.
אפשרויות
פתיחת הטבלה בחלון כדי לראות את כל תוכן הנתונים בבירור
| אפשרות | ברירת מחדל | תיאור |
|---|---|---|
intlayerPinnedLocales | ["en"] | לוקאלים הנשמרים ראשונים ב-t(), בסדר זה. העבר [] כדי למיין את כל הלוקאלים אלפביתית. |
intlayerSortContentKeys | false | בקובצי *.content.*, מיין גם את מפתחות התוכן של המילון ואובייקטים מקוננים. |
מה נשאר ללא שינוי
- אובייקטים המכילים spread (
...base), מפתח מחושב ([key]), פונקציה (method) או מפתח משוכפל. - מיפויי
plural()בעלי מפתח שאינו קטגוריית CLDR. - מיפויי
enu()שהסדר החדש שלהם ישנה את התוכן המתקבל. - קריאות לכל פונקציה אחרת בעלת שם הדומה לפונקציית עזר אך מועבר אליה ארגומנט שאינו אובייקט.
הערות זזות יחד עם המפתח שאליו הן שייכות.
מנתחים נתמכים (Parsers)
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5 ו-jsonc. בלוקי ה-<script> של קובצי Vue, Svelte ו-Astro מעוצבים באמצעות מנתחים אלו.
מגבלה ידועה. Prettier מפעיל תוסף יחיד לכל parser. אם תוסף אחר מחליף גם הוא את מנתחי ה-JavaScript/TypeScript (לדוגמהprettier-plugin-tailwindcss), רק התוסף האחרון ברשימה יוחל על קבצים אלו. הגדר את טווחprettier-plugin-intlayerלקובצי*.content.*באמצעות override כדי למנוע התנגשות.
