דלג לתוכן הראשי

תמיכה בריבוי שפות באתר התיעוד הפנימי

סקירה כללית

אתר התיעוד הפנימי של BT Management תומך בשפות הבאות:

  • אנגלית - שפת ברירת המחדל
  • עברית - תמיכה מלאה ב-RTL (מימין לשמאל)

עבור משתמשים

החלפת שפה

  1. לחץ על תפריט בחירת השפה בפינה הימנית העליונה של סרגל הניווט
  2. בחר את השפה המועדפת עליך (English / עברית)
  3. האתר יטען מחדש עם התוכן והממשק בשפה שנבחרה

מה מתורגם?

  • כל רכיבי הממשק (כפתורים, תפריטים, הודעות)
  • כותרות ותגיות בסרגל הצד
  • כותרות עליונות ותחתונות
  • הודעות ניווט
  • דף הבית והתכונות המרכזיות

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/

הוספת שפה חדשה

  1. עדכן את docusaurus.config.ts:
i18n: {
defaultLocale: 'en',
locales: ['en', 'he', 'NEW_LOCALE'],
localeConfigs: {
NEW_LOCALE: {
label: 'Language Name',
direction: 'ltr', // or 'rtl'
htmlLang: 'xx-XX',
},
},
},
  1. צור קבצי תרגום:
npm run write-translations -- --locale NEW_LOCALE
  1. תרגם את קבצי ה-JSON ב-i18n/NEW_LOCALE/

  2. העתק והתאם תוכן:

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
  1. הוסף סקריפטים ל-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 דורשות תרגום ידני:

  1. העתק: src/components/i18n/LOCALE/docusaurus-plugin-content-pages/components/
  2. תרגם את המחרוזות בתוך הקומפוננטות
  3. שמור על המבנה והלוגיקה זהים

בדיקה

# נקה מטמון
npm run clear

# הפעל בשפה הספציפית
npm run start:he

# בדוק:
# ✓ כל הטקסטים מתורגמים
# ✓ RTL עובד כראוי (עברית)
# ✓ הניווט פועל
# ✓ כל הדפים נטענים ללא שגיאות

קבצי תרגום עיקריים

code.json (82 תרגומים)

מכיל את כל מחרוזות הממשק:

  • ניווט וכפתורים
  • הודעות שגיאה
  • סרגל צד ופירורי לחם
  • החלפת ערכת נושא
  • פגינציה של בלוג
  • כותרת האתר
  • פריטי תפריט ראשי
  • קישורים חיצוניים

footer.json

  • קישורים בכותרת תחתונה
  • זכויות יוצרים

current.json

  • תוויות קטגוריות בסרגל הצד
  • שמות מודולים

טיפים והמלצות

  1. שמור עקביות: השתמש באותה טרמינולוגיה בכל התרגומים
  2. הקפד על RTL: בדוק שכל האלמנטים מוצגים נכון בשפות RTL
  3. תרגם בהקשר: הבן את ההקשר לפני תרגום מחרוזות
  4. שמור על אורך: תרגומים ארוכים עלולים לשבור את הפריסה
  5. בדוק קישורים: וודא שקישורים פנימיים עובדים בשתי השפות

בעיות נפוצות ופתרונות

בעיה: "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/

משאבים נוספים