Skip to content

Bilingual UI he

Marco Supino edited this page Sep 20, 2026 · 11 revisions

🇬🇧 English

ממשק דו-לשוני

NavAid מגיע עם ממשק עברית (ימין-לשמאל) ואנגלית מלאים. החליפו באמצעות בורר השפות בסרגל הכלים (🌐).

NavAid באנגלית

אותה אפליקציה בעברית (RTL):

ממשק NavAid בעברית

איך השפה נבחרת

הבחירה מתבצעת בכל טעינת עמוד, והיא קצרה:

  1. ?lang=he או ?lang=en בכתובת, אחרת
  2. עברית — NavAid משמש לטיסה במרחב האווירי הישראלי, ורוב מי שפותח אותו קורא בעברית.

זה כל הכלל. השפה אינה נזכרת. כתובת נקייה navaid.supino.org היא עברית בכל פעם, לא רק בראשונה, ואנגלית היא בחירה שהכתובת נושאת — הבורר בסרגל הכלים, בורר השפה שבהודעת הבטיחות וכל קישור שמשתפים מתוך האפליקציה קובעים אותה.

מה שהוחלף הוא navaid.lang שמור: הוא גרם לכתובת נקייה להיות דבר אחר בכל מכשיר, ולכן "תפתח את navaid.supino.org" הפכה לשאלה שאי אפשר לענות עליה — גם עבור מי שמדריך טייס בקשר. מפתח שנשאר מגרסה ישנה יותר מתעלמים ממנו.

שני מקומות נוספים נושאים את אותה החלטה:

  • להודעת הבטיחות יש בורר שפה משלה, כי היא הדבר הראשון על המסך והבורר של סרגל הכלים נמצא מאחוריה. מה שנבחר בה הוא שפת האפליקציה, לא של ההודעה. ראו הודעת הבטיחות.
  • אודות, פרטיות ותנאי שימוש מזהים שפה בדיוק באותה דרך — ?lang, אחרת עברית — ואינם שומרים דבר גם הם. בעבר הם נפלו לאנגלית ושמרו את הנפילה הזאת, ולכן פתיחת תנאי השימוש לפני המתכנן הפכה את כל האפליקציה לאנגלית.

האתחול מגדיר את <html lang> ו-<html dir> עוד לפני גיליון הסגנון, וכותב ?lang=… לכתובת — כך שהשפה שעל המסך היא השפה שבקישור שמעתיקים.

איפה המחרוזות

  • docs/i18n/he/strings.js — דריסות בעברית.
  • docs/i18n/en/strings.js — ריק (window.S = {}); ברירת המחדל האנגלית מוגדרת בתוך docs/app/core.js.

קובץ הלוקאל נטען ראשון, ואז core.js ממזג תחתיו את ברירות המחדל האנגליות (window.S = Object.assign({ …ברירות מחדל… }, window.S || {})) — כך שמפתח כמו tbAddWp מקבל את ערך הלוקאל אם קיים, ואחרת את האנגלית. ה-HTML משתמש בתכונות data-i18n="key" / data-i18n-title="key" / data-i18n-placeholder="key", ומעבר אתחול קצר עובר על ה-DOM וממלא טקסט / כותרת / placeholder מתוך S.

הוספת מחרוזת מתורגמת חדשה דורשת:

  1. רשומה חדשה ב-docs/app/core.js (ברירת המחדל האנגלית), ואם היא מתורגמת — דריסה ב-docs/i18n/he/strings.js.
  2. data-i18n="newKey" על האלמנט.
  3. אין לעדכן ערכי cache רק לצורך פריסה. ב־docs/index.html נשאר הערך המפורש ?v=src; כתובות נתונים בקובצי app/i18n שומרות על ערך המקור הקיים. תהליך הפריסה מחליף את שני הסוגים ב-SHA הקצר של הענף.

טיפול ב-RTL

  • <html dir="rtl"> מוגדר כשהעברית פעילה.
  • סרגל הכלים מחליף את הידית ואת אייקון הכיווץ באמצעות תכונות CSS לוגיות (inline-start / inline-end).
  • לעברית יש עמוד כניסה ב-docs/he/index.html שמפנה ל-/?lang=he, כדי לשמור כתובת עברית יציבה שניתנת לאינדוקס.

שמות עצמים

בגרף CVFR יש 172 חברי שכבה; 170 נקודות הדיווח הפעילות מוצגות בשכבה ונושאות שדות name, ‏en (אנגלית) ו־he (עברית). תג המפה מוצג בשפת הממשק; תיבת החיפוש מתאימה לשתי השפות ומציגה ראשי / חלופי.

שדות התעופה נושאים name (ICAO), he ו-en. החיפוש מתאים לשלושתם, ותווית הסמן מציגה את קוד ה-ICAO יחד עם השם בשפת הממשק.

מחרוזות של דפיות שדה

מציג הדפיות מוסיף את מפתחות ה-i18n הבאים (ברירות מחדל אנגליות ב-docs/app/core.js, דריסות עברית ב-docs/i18n/he/strings.js):

מפתח אנגלית עברית
plates Charts דפיות
plateCategoryApproach Approach גישה
plateCategorySid SID SID
plateCategoryStar STAR STAR
plateCategoryGround Ground קרקע
plateCategoryVfr VFR / Airport VFR / שדה תעופה
plateCategoryOther Other אחר
plateOpen Open פתח
plateDownload Download הורד
plateOpenTab Open in new tab פתח בלשונית חדשה
plateClose Close סגור
platesNone No charts available — see official AIP אין דפיות — ראה AIP הרשמי
plateLoadError Failed to load chart. טעינת הדפית נכשלה.
plateAttribution Charts © Israel CAAI / Ministry of Transport מפות © רשות התעופה האזרחית / משרד התחבורה — מפורסם ב-AIP

הערות למתרגמים

  • כפתורי הסרגל והכותרות שלהם גלויים למשתמש ונבדקים: בחרו את הניסוח הטבעי הקצר ביותר — הסרגל צר.
  • מחרוזות החלונית למידע נוסף גלויות אף הן ובשימוש תכוף.
  • "Mag var" הוא מונח תעופתי — בעברית "נטייה מגנטית"; אין להמציא מונח.
  • "CVFR" נשאר כפי שהוא בשתי השפות (ראשי תיבות מוכרים בינלאומית).
  • שמות מותג כמו GitHub ו-Wiki נשארים באנגלית גם בממשק העברי.

SEO

  • העמוד חושף חלופות hreflang עבור he, en ו-x-default, כך שמנועי חיפוש מפנים כל משתמש לשפה הנכונה.
  • כותרת העמוד נכתבת מחדש לגרסה מתורגמת בעת החלפת שפה; תגי meta description / OG יבואו בהמשך (ראו מפת הדרכים ל-SEO).

NavAid · 🇮🇱 עברית

For pilots

For developers


🇮🇱 עברית

לטייסים

למפתחים


🌐 Live 🧪 Staging 📦 Repo 💡 Ideas / bugs

Clone this wiki locally