תמיכה בריבוי שפות באתר התיעוד הפנימי
סקירה כללית
אתר התיעוד הפנימי של BT Management תומך בשפות הבאות:
- אנגלית - שפת ברירת המחדל
- עברית - תמיכה מלאה ב-RTL (מימין לשמאל)
עבור משתמשים
החלפת שפה
- לחץ על תפריט בחירת השפה בפינה הימנית העליונה של סרגל הניווט
- בחר את השפה המועדפת עליך (English / עברית)
- האתר יטען מחדש עם התוכן והממשק בשפה שנבחרה
מה מתורגם?
- כל רכיבי הממשק (כפתורים, תפריטים, הודעות)
- כותרות ותגיות בסרגל הצד
- כותרות עליונות ותחתונות
- הודעות ניווט
- דף הבית והתכונות המרכזיות
RTL (מימין לשמאל)
כאשר בוחרים עברית:
- הטקסט מוצג מימין לשמאל
- סרגל הניווט משתקף
- סרגל הצד עובר לצד ימין
- כל הממשק מתאים לכיוון עברי
עבור מפתחים
התקנה מקומית
cd docs/internal
npm install
הרצת האתר
באנגלית (ברירת מחדל):
npm start
האתר יהיה זמין ב: http://localhost:3000
בעברית:
npm run start:he
האתר יהיה זמין ב: http://localhost:3000/he/
בנייה לייצור
# בנייה לכל השפות
npm run build
# בנייה רק לעברית
npm run build:he
יצירת/עדכון תרגומים
# יצירת קבצי תרגום לעברית
npm run write-translations:he
פקודה זו תיצור קבצי JSON ב-i18n/he/ עם כל המחרוזות שניתן לתרגם.
מבנה תיקיות
docs/internal/
├── docs/ # תוכן אנגלי מקורי
├── blog/ # בלוג אנגלי מקורי
├── src/ # קומפוננטות React מקוריות
└── i18n/
└── he/ # כל התוכן העברי
├── code.json # תרגומי ממשק (82 מחרוזות)
├── docusaurus-theme-classic/
│ ├── footer.json
│ └── navbar.json
├── docusaurus-plugin-content-docs/
│ └── current/ # תוכן תיעוד בעברית
├── docusaurus-plugin-content-blog/
│ └── [בלוג בעברית]
└── docusaurus-plugin-content-pages/
├── index.tsx # דף בית בעברית
└── components/
הוספת שפה חדשה
- עדכן את
docusaurus.config.ts:
i18n: {
defaultLocale: 'en',
locales: ['en', 'he', 'NEW_LOCALE'],
localeConfigs: {
NEW_LOCALE: {
label: 'Language Name',
direction: 'ltr', // or 'rtl'
htmlLang: 'xx-XX',
},
},
},
- צור קבצי תרגום:
npm run write-translations -- --locale NEW_LOCALE
-
תרגם את קבצי ה-JSON ב-
i18n/NEW_LOCALE/ -
העתק והתאם תוכן:
xcopy /E /I docs i18n\NEW_LOCALE\docusaurus-plugin-content-docs\current
xcopy /E /I blog i18n\NEW_LOCALE\docusaurus-plugin-content-blog
xcopy /E /I src\pages i18n\NEW_LOCALE\docusaurus-plugin-content-pages
- הוסף סקריפטים ל-
package.json:
{
"scripts": {
"start:NEW_LOCALE": "docusaurus start --locale NEW_LOCALE",
"build:NEW_LOCALE": "docusaurus build --locale NEW_LOCALE"
}
}
תמיכה ב-RTL
עבור שפות RTL, הוסף ל-src/css/custom.css:
html[lang='NEW_RTL_LOCALE'] {
direction: rtl;
}
html[lang='NEW_RTL_LOCALE'] .navbar__items {
flex-direction: row-reverse;
}
/* ... additional RTL styles */
תרגום קומפוננטות React
קומפוננטות React כמו HomepageFeatures דורשות תרגום ידני:
- העתק:
src/components/→i18n/LOCALE/docusaurus-plugin-content-pages/components/ - תרגם את המחרוזות בתוך הקומפוננטות
- שמור על המבנה והלוגיקה זהים
בדיקה
# נקה מטמון
npm run clear
# הפעל בשפה הספציפית
npm run start:he
# בדוק:
# ✓ כל הטקסטים מתורגמים
# ✓ RTL עובד כראוי (עברית)
# ✓ הניווט פועל
# ✓ כל הדפים נטענים ללא שגיאות
קבצי תרגום עיקריים
code.json (82 תרגומים)
מכיל את כל מחרוזות הממשק:
- ניווט וכפתורים
- הודעות שגיאה
- סרגל צד ופירורי לחם
- החלפת ערכת נושא
- פגינציה של בלוג
navbar.json
- כותרת האתר
- פריטי תפריט ראשי
- קישורים חיצוניים
footer.json
- קישורים בכותרת תחתונה
- זכויות יוצרים
current.json
- תוויות קטגוריות בסרגל הצד
- שמות מודולים
טיפים והמלצות
- שמור עקביות: השתמש באותה טרמינולוגיה בכל התרגומים
- הקפד על RTL: בדוק שכל האלמנטים מוצגים נכון בשפות RTL
- תרגם בהקשר: הבן את ההקשר לפני תרגום מחרוזות
- שמור על אורך: תרגומים ארוכים עלולים לשבור את הפריסה
- בדוק קישורים: וודא שקישורים פנימיים עובדים בשתי השפות
בעיות נפוצות ופתרונות
בעיה: "Page Not Found" בעברית
פתרון: וודא שהתוכן הועתק ל-i18n/he/docusaurus-plugin-content-docs/current/
בעיה: טקסט לא מתורגם
פתרון: הרץ npm run clear ולאחר מכן npm start
בעיה: RTL לא עובד
פתרון: בדוק ש-direction: 'rtl' מוגדר ב-docusaurus.config.ts ו-CSS מותאם
בעיה: קומפוננטות לא מתורגמות
פתרון: קומפוננטות React דורשות תרגום ידני והעתקה ל-i18n/LOCALE/docusaurus-plugin-content-pages/components/