התאמה של ממשק המשתמש לשוק המקומי באמצעות עורך התרגומים

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

לקבלת מבוא לתרגום האפליקציה לשפות שונות, אפשר לעיין במאמר תמיכה בהבדלים שפות ותרבויות.

איור 1. בעורך התרגומים מוצג טקסט של האפליקציה לפני תרגום

משאבי מחרוזות

משאבי המחרוזת של פרויקט נמצאים בקבצים מסוג strings.xml. הפרויקט שלך יש קובץ strings.xml שמוגדר כברירת מחדל שמכיל משאבי מחרוזות כברירת מחדל השפה של האפליקציה, שהיא השפה שאתם מצפים לה לרוב משתמשי האפליקציה לדבר. אפשר לתרגם גם קבצים מstrings.xml שמכילים מחרוזת משאבים לשפות אחרות כדי שהאפליקציה שלך תתמוך בהם.

לאחר השלמת קובץ ברירת המחדל strings.xml, אפשר להוסיף את התרגומים בעצמך, או לשלם לשירות מקצועי שיבצע את התרגומים. בכל מקרה, את היתרונות של התכונות של Android Studio כדי לנהל ולבדוק טקסט שאפשר להתאים לשוק המקומי. למידע בנושא שירותי תרגום מקצועיים, ראו הזמנת שירותי תרגום.

פתיחת עורך התרגומים

ניתן לגשת אל עורך התרגומים מהמקומות הבאים ב-Android Studio.

פתיחה מתצוגת Android

  1. בקטע Project > (פרויקט >) חלונית Android בצד ימין, בחירת ModuleName > res > ערכים.
  2. לוחצים לחיצה ימנית על הקובץ strings.xml ובוחרים באפשרות פתיחת עורך התרגומים.

    בעורך התרגומים מוצגים צמדי מפתח וערך קובץ strings.xml.

    הערה: לאחר תרגום של strings.xml קבצים, לפרויקט שלך יש מספר התאמות תיקיות values עם סיומות שמציינות את השפה. למשל values-es לספרדית. קובץ ברירת המחדל strings.xml נמצא תמיד ב תיקיית values (ללא סיומת).

איור 1 מציג את טקסט ברירת המחדל של האפליקציה (במקרה הזה, אנגלית) בעורך התרגומים עבור אפליקציה פשוטה, לפני שעבודת התרגום הסתכמה. התוכן של Translate strings.xml קבצים יופיעו משמאל לעמודה לא ניתן לתרגום עם עמודה אחת לכל שפה, כפי שמוצג באיור 2.

פתח מתוך string.xml

ניתן לגשת אל עורך התרגומים מתוך כל אחד מהקבצים ב-strings.xml.

  1. בקטע Project > (פרויקט >) בחלונית Android מימין, בוחרים ModuleName > res > ערכים.
  2. לוחצים לחיצה כפולה על strings.xml כדי לפתוח אותו לעריכה.
  3. בקובץ strings.xml לוחצים על הקישור פתיחת העורך בפינה השמאלית העליונה.

הערה: אם לוחצים על הקישור הסתרת ההתראה, בוחרים באפשרות פתיחה Editor לא יהיה זמין עוד. כדי לשחזר אותו, סוגרים את הפרויקט ופותחים אותו מחדש.

פתיחה מ'עורך העיצוב'

אפשר לפתוח את עורך התרגומים מעורך העיצוב של עורך הפריסה כדי לערוך את ברירת המחדל ותרגום של הטקסט להתאמה טובה יותר לפריסה שלך. למידע נוסף על החלפת שפות בעורך העיצוב: רוצים לדעת איך מציגים טקסט מתורגם ב'עורך העיצוב'?

  1. בקטע Project > (פרויקט >) בחלונית Android מימין, בוחרים ModuleName > res > פריסה.
  2. לוחצים לחיצה כפולה על content_main.xml כדי לפתוח אותו לעריכה.
  3. לוחצים על הכרטיסייה עיצוב בפינה הימנית התחתונה כדי להציג את כלי העריכה עיצוב.
  4. ב- Design Editor, בוחרים את השפה רשימה נפתחת .
  5. בוחרים באפשרות עריכת התרגומים. .

הגדרת שורות שלא ניתנות לתרגום

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

כשמסמנים את התיבה לא ניתן לתרגום, השורה המתאימה בברירת המחדל קובץ strings.xml מוסיף את הערך translatable="false". בדוגמה הבאה, EasyApp בשורה העליונה לא מתורגם כי זה שם המוצר.

<resources>
    <string name="app_name" translatable="false">EasyApp</string>
    <string name="action_settings">Settings</string>
    <string name="easy_app">I am a Simple App!</string>
    <string name="next_page">Next Page</string>
    <string name="second_page_message">I am the Second Page!</string>
    <string name="title_activity_second">SecondActivity</string>
</resources>

הוספה ומחיקה של שפות

עורך התרגומים תומך BCP 47 וגם משלב קודים של אזורים וקודים של אזורים (מדינה) לבחירה אחת עבור מיקומים גיאוגרפיים מטורגטים. לוקאל מגדיר יותר מהשפה. מיקום מסוים כולל פורמט תלוי מדינה עבור דברים כמו התאריך והשעה, מטבעות ומספרים עשרוניים.

כדי להוסיף שפה:

  1. בעורך התרגומים, לוחצים על סמל הגלובוס. .
  2. מהרשימה הנפתחת, בוחרים את השפה שרוצים להוסיף.

    השפה החדשה תופיע בעורך התרגומים, והסימן values-* תיקייה עם קובץ strings.xml מתווספת לפרויקט. לדוגמה, values-es לספרדית.

כדי למחוק שפה:

אפשר למחוק שפה בעורך התרגומים על ידי מחיקת כל הערכים בעמודה (ראו עריכה, הוספה או מחיקה של טקסט), או שאפשר למחוק את תיקיית הפרויקט. לאותה שפה, באופן הבא:

  1. בקטע Project > (פרויקט >) בחלונית Android מימין, בוחרים ModuleName > res.
  2. לוחצים לחיצה ימנית על התיקייה values-* לצד השפה שרוצים למחוק. לדוגמה, values-hi בהינדי.
  3. ברשימה הנפתחת, בוחרים באפשרות מחיקה כדי למחוק את התיקייה ואת strings.xml.

עריכה, הוספה ומחיקה של טקסט

אפשר לבצע פעולות על הגדרות הטקסט ישירות בקובץ strings.xml או באמצעות עורך התרגומים. בקטע הזה מתואר הגישה של עורך התרגומים. בעורך התרגומים יש לך אפשרות לערוך, להוסיף או למחוק טקסט דרך תצוגת הרשימה או דרך השדה תרגום בחלק התחתון של עורך התרגומים.

איור 2. תצוגת רשימה בחלק העליון והשדה תרגום למטה

תצוגת רשימה

כדי לערוך או להוסיף טקסט:

  1. לוחצים לחיצה כפולה על התא שבו רוצים לערוך, או להוסיף טקסט.
  2. מבצעים העתקה והדבקה במקלדת, או אם יש לכם מקלדת שתומכת בסימנים דיאקריטיים. במקלדת, מקלידים ישירות בתצוגת הרשימה.
  3. מקישים על Tab או מעבירים את הסמן אל מחוץ לשדה.

כדי למחוק טקסט, מבצעים את הפעולות הבאות:

  1. לוחצים לחיצה כפולה על התא שרוצים למחוק.
  2. בתצוגת הרשימה, בוחרים את הטקסט ומקישים על מחיקה.
  3. מקישים על Tab או מעבירים את הסמן אל מחוץ לשדה.

שדה התרגום

כדי לערוך או להוסיף טקסט:

  1. בתצוגת הרשימה, לוחצים לחיצה אחת על התא שבו רוצים לערוך או להוסיף. טקסט.
  2. בשדה תרגום, מבצעים העתקה והדבקה במקלדת, או אם יש לך מקלדת שתומכת בסימנים דיאקריטיים. מקלידים ישירות בשדה תרגום.
  3. מקישים על Tab או מעבירים את הסמן אל מחוץ לשדה.

כדי למחוק טקסט, מבצעים את הפעולות הבאות:

  1. לוחצים פעם אחת על התא שרוצים למחוק.
  2. בשדה תרגום, בוחרים את הטקסט ומקישים על מחיקה.

הוספה ומחיקה של מפתחות

בעורך התרגומים, בעמודה מפתח מופיעים המזהים הייחודיים של כל אחד מהתרגומים. פריט נתונים בקובצי strings.xml שלך. אפשר להוסיף ולמחוק מפתחות דרך עורך התרגומים. כשמוחקים מפתח, עורך התרגומים מוחק אותו ואת כל של התרגומים המשויכים. עורך התרגומים משתמש בארגון מחדש של המחיקה הבטוחה כדי למחוק מפתח כדי לדעת אם נעשה שימוש בטקסט המפתח במקום אחר ויש סיכוי לבצע את השינויים הנחוצים לפני שמוחקים את המפתח. המקרר של 'מחיקה בטוחה' מבטיח הקוד עדיין עובר הידור אחרי מחיקת המפתח.

כדי להוסיף מפתח:

  1. בעורך התרגומים, לוחצים על הוספת מפתח. .
  2. בתיבת הדו-שיח, מזינים שם מפתח, ערך ברירת מחדל ואת המיקום של קובץ ברירת המחדל strings.xml.

    איור 3. הוספת מפתח

כדי למחוק מפתח:

  1. בעורך התרגומים, בוחרים את המפתח שרוצים למחוק.
  2. לוחצים על Remove Keys (הסרת המפתחות) .
  3. בתיבת הדו-שיח מחיקה, אתם יכולים להחליט אם לבצע מחיקה בטוחה כדי לחפש בתגובות ובמחרוזות, וללחוץ על אישור.

    איור 4. תיבת דו-שיח למחיקה

    אם אין הפניות (שימושים) למפתח שנמחק, או אם כל ההפניות בטוחות כך שאפשר לכווץ, המפתח נמחק. אחרת, עורך התרגומים יציג את תיבת הדו-שיח זוהו שימושים עם מידע על הבעיות שזוהו.

    איור 5. תיבת דו-שיח למחיקה

  4. בוחרים באפשרות הצגת שימושים כדי לבדוק מה יימחק. חיפוש בטוח לצורך מחיקה תיבת הדו-שיח 'התנגשויות' מציגה את כל השימושים שלא בטוח למחוק, לכן אתם יכולים לערוך את הקוד המתאים.

    איור 6. שימושים לא בטוחים

  5. לוחצים לחיצה ימנית על שימוש כדי להציג את תפריט ההקשר ובוחרים דילוג למקור. תוכלו לבצע את השינויים הנדרשים.
  6. בחלונית איתור התנגשויות בטוחות, בוחרים באפשרות הפעלה מחדש של מחיקה בטוחה כדי ולוודא שאין שימושים אחרים שדורשים התייחסות.
  7. אחרי ניקוי השימושים, לוחצים על Do Refactor (ביצוע ארגון מחדש) כדי למחוק את המפתח.

תיקון השגיאות

באיור 7 מוצג עורך התרגומים שבו מוצג התוכן באנגלית, בספרדית. וצרפתית קובצי strings.xml. הטקסט האדום מציין שורות שיש בהן שגיאות.

איור 7. טקסט אדום מציין מצב שגיאה נדרש תיקון

כדי לתקן שגיאה, מעבירים את העכבר מעל הטקסט האדום כדי להציג הסבר על הבעיה ועל ורזולוציה.

כשמבצעים שינויים בעורך התרגומים, קובצי strings.xml מתעדכנים בהתאם לשינויים שלך. אחרי שיוצרים שינויים בקובץ strings.xml, העמודה המתאימה בעורך התרגומים עדכונים על השינויים שלכם.

דוגמאות לתיקונים של עורך התרגומים:

  • איור 7 מראה שבשורה app_name מסומנת האפשרות לא ניתן לתרגום, אבל יש הוא תרגום לספרדית. כדי לתקן את השגיאה, צריך למחוק את התרגום לספרדית.
  • איור 7 מראה שבשורה next_page חסר תרגום לצרפתית. שימוש ב כדי להעתיק את Page Suivante אל התא כדי לתקן את השגיאה. מקש העתקה והדבקה במקלדת הפעולה מעתיקה את הטקסט עם הסימנים הדיאקריטיים לתא.

הצגת טקסט מתורגם בעורך העיצוב

כדי לראות איך הטקסט המתורגם מוצג בפריסת האפליקציה, צריך להחליף את המצב של המתג בין גרסת ברירת המחדל לגרסה המתורגמת בעורך העיצוב, באופן הבא:

  1. בקטע Project > (פרויקט >) בחלונית Android מימין, בוחרים ModuleName > res > פריסה.
  2. לוחצים לחיצה כפולה על content_main.xml כדי לפתוח אותו לעריכה.
  3. לוחצים על הכרטיסייה עיצוב בפינה הימנית התחתונה כדי להציג את כלי העריכה עיצוב.
  4. ב- Design Editor, בוחרים את השפה רשימה נפתחת .
  5. בוחרים באפשרות עריכת התרגומים .
  6. בוחרים את השפה שבה רוצים להשתמש להצגת האפליקציה.

    איור 8. הרשימה הנפתחת של השפות שבהן נבחרה ספרדית

עורך העיצוב מציג את פריסת האפליקציה בשפה הנבחרת, שבמקרה הזה היא ספרדית.

איור 9. עורך העיצוב מציג טקסט מתורגם ב ספרדי

הגדרת העורך של העיצוב לשפת ברירת המחדל

כדי להחזיר את השפה לברירת המחדל, בוחרים באפשרות es > שפה .

איור 10. הגדרה בתור שפת ברירת המחדל

ניהול ובדיקה של טקסט שניתן להתאמה לשוק המקומי

בפלטפורמת Android וב-Android Studio יש כמה תכונות שיעזרו לכם לנהל ולבדוק האפליקציה שניתנת להתאמה לשוק המקומי טקסט. לתכונות האלה יש אפשרויות שיעזרו לכם לטפל בבעיות עם סקריפטים מימין לשמאל (RTL). כגון ערבית או עברית. בדיקת הטקסט שניתן להתאמה לשוק המקומי מאפשרת לכם לבצע שינויים בממשק המשתמש של הטקסט והפריסה שלו לפני שתשמרו את ההודעות למאגר המקור, תרגום במועד מאוחר יותר.

ארגון מחדש של הפרויקט לתמיכה ב-RTL

ב-Android Studio יש פקודת ארגון מחדש שמאפשרת תמיכה בטקסט דו-כיווני ב-TextView, ConstraintLayout, וגם LinearLayout. האפליקציות שלך יכולות להציג למשתמשים ולערוך טקסט גם משמאל לימין (LTR) וגם מימין לשמאל סקריפטים (RTL). הפקודה גם מספקת שיקוף אוטומטי של פריסות ממשק המשתמש של האפליקציה ושל כל התצוגות הווידג'טים האלה. כדי לראות את השינוי בכיוון הטקסט ואת שיקוף הפריסה, צריך גם להגדיר מאפייני כיוון טקסט ופריסה בעורך הפריסה.

התהליך הבא מראה איך לארגן מחדש את הפרויקט בתמיכה ב-RTL:

  1. בוחרים באפשרות Refactoring > (ארגון מחדש). יש להוסיף תמיכה בצד ימין ככל האפשר כדי להציג את תיבת הדו-שיח שמוצגת איור 11.

    איור 11. הוספת תמיכה בפרוטוקול RTL

    • אם הרכיב <application> עושה קובץ AndroidManifest.xml לא כוללים את המאפיין android:supportsRTL="true", לאחר מכן, מסמנים את התיבה Update AndroidManifest.xml (עדכון AndroidManifest.xml).
    • אם הערך של targetSdkVersion באפליקציה הוא 17 ומעלה, בוחרים באפשרות החלפת מאפיינים שמאליים/ימניים במאפייני התחלה/סיום. כאן המאפיינים צריכים להיות "start" ו-end. במקום 'left' ו-'right'. עבור לדוגמה, android:paddingLeft הופך ל-android:paddingStart.
    • אם הגיל של targetSdkVersion הוא 16 לכל היותר. צריך לבחור יצירת גרסאות -v17 במקרה כזה, צריך להשתמש בקובץ ה-XML את שתי קבוצות המאפיינים. לדוגמה, קוד ה-XML צריך לכלול android:paddingLeft וגם android:paddingStart
  2. כדי להציג את החלון חיפוש תצוגה מקדימה של ארגון מחדש, לוחצים על הפעלה.

    איור 12. בדיקת התצוגה המקדימה

  3. לוחצים על Do Refactor (ביצוע מחדש).

למידע נוסף על ארגון מחדש (Refactoring) של הפרויקט לתמיכה ב-RTL, אפשר לעיין במאמר תמיכה בתקן RTL מקורי ב-Android 4.2.

מאפייני כיוון הטקסט והפריסה

החלון 'מאפיינים' שבצד ימין מספק את המאפיין textDirection לשימוש עם ווידג'טים של טקסט ואת המאפיין layoutDirection לשימוש עם ווידג'טים לפריסה לשנות את הכיוון של רכיבי הטקסט והפריסה. מאפייני הכיוון מפורטים החלון מאפיינים שמשמאל, ועובדים עם API ברמה 17 ומעלה.

כדי לראות את שינוי כיוון הטקסט ואת שיקוף הפריסה, צריך גם לשלב מחדש את הפרויקט לתמיכה ב-RTL. באנגלית, כיוון הטקסט שינוי מזיז רק את סימני הפיסוק מהצד הימני הצד השמאלי של הטקסט; לדוגמה, "שלום עולם!" הופך ל-"!Hello World". כדי לראות טקסט LTR מעבר ל-RTL, תצטרכו להשתמש בשפה מימין לאפליקציה. אם רוצים להשתמש באנגלית שינוי הטקסט ל-RTL למטרות בדיקה, צריך להשתמש ב-pseudolocales. לוקאלים פסאודונימים לא תלויים בפקודת הארגון מחדש ובמאפייני הכיוונים.

כדי לגשת למאפייני המסלול ולהשתמש בהם, מבצעים את הפעולות הבאות:

  1. בעורך הפריסה, בוחרים ווידג'ט טקסט.
  2. פותחים את החלון Properties (מאפיינים) ומחפשים את נכס RTL שבו רוצים להשתמש.

    כדי להגדיר את ערך המאפיין, בוחרים אחת מהאפשרויות הבאות:

    • firstStrong: ברירת המחדל לתצוגת הרמה הבסיסית (root). התו הכיוונים החזקה הראשון קובע את כיוון הפסקה. אם אין תו כיווני חזק, כיוון הפסקה הוא כיוון הפריסה המוגדר בתצוגה.
    • anyRtl: הכיוון של הפסקה הוא RTL אם היא מכילה תו RTL חזק; אחרת, הוא יהיה LTR אם הוא מכיל תווי LTR חזקים. אם אין לא, כיוון הפסקה הוא כיוון הפריסה המוגדר בתצוגה.
    • ltr: כיוון הפסקה הוא LTR.
    • rtl: כיוון הפסקה הוא RTL.
    • לוקאל: כיוון הפסקה מגיע מהלוקאל של המערכת.
    • עוברת בירושה: ברירת המחדל. משתמשים בכיוון שמוגדר בהורה.
  3. כדי לבדוק את הטקסט והפריסה ההפוך, צריך להריץ את האפליקציה.

לוקאלים פסאודוניים

פסאודו-לוקאל הוא סימולציה של לוקאל, שנועדה להציג את המאפיינים של השפות שגורמות בעיות בממשק המשתמש, בפריסה, בזמן אמת (RTL) ובעיות תרגום אחרות בזמן תרגום אפליקציה. Pseudolocales מספקים תרגומים מיידיים ואוטומטיים הניתנים לקריאה באנגלית לכל ההודעות שניתן להתאים לשוק המקומי. הזה מאפשר לזהות הודעות שלא ניתנות לתרגום בקוד המקור.

למידע נוסף על אופן השימוש בפסאודו-לוקאלים, אפשר לעיין במאמר בדיקה האפליקציה עם Pseudolocales