'שפה מדומה' היא שפה שמטרתה לדמות מאפיינים של שפות שגורמים לבעיות בממשק המשתמש, בפריסה ובבעיות אחרות שקשורות לתרגום של אפליקציה. זיוף לוקאלים נוצר על ידי תרגומים מיידיים ואוטומטיים שניתנים לקריאה באנגלית לכל ההודעות שניתנות להתאמה אישית. טקסט ללא התאמה לשוק מסוים מציין הודעות שלא ניתן לתרגם בקוד המקור.
שימוש בזיוף אזורים מאפשר לחסוך זמן וכסף, כי אפשר לבצע שינויים בטקסט של ממשק המשתמש ובפריסה שלו לפני שמחויבים את ההודעות במאגר המקור, כדי לשלוח אותן לתרגום מאוחר יותר. רשימה של בעיות אפשריות בתרגום מפורטת בקטע בעיות בלוקליזציה של מודעות וידאו.
שמות הזיופים של Android תואמים למוסכמות הסטנדרטיות של מתן שמות למיקומים, וניתן לנתח את מזהי המיקומים שלהם בכל שפת תכנות שתואמת ל-BCP 47. במובן הזה, שפות פסאודו-מקומיות הן כמו כל שפה מקומית אחרת, כמו צרפתית, סינית או רוסית.
פלטפורמת Android מספקת את שני התחומים הבאים של שפות מזויפות (pseudolocales) כדי לייצג שפות שנכתבות משמאל לימין (LTR) ושפות שנכתבות מימין לשמאל (RTL):
אנגלית (XA): הוספת סימני הטעמה לטינית לטקסט הבסיסי של ממשק המשתמש באנגלית, הרחבת הטקסט המקורי על ידי הוספת טקסט ללא סימני הטעמה והוספת סוגריים לכל יחידת הודעה כדי לחשוף בעיות פוטנציאליות בטקסט המורחב. בעיות אפשריות יכולות להיות הפרעה בפריסה ותחביר של הודעות שנוצר בצורה שגויה, למשל משפט שמפוצל למספר חלקים שמוצגים כהודעות מרובות בסוגריים. זיוף המיקום (pseudolocale) של אנגלית (XA) מוצג באיור 1.
AR (XB): מגדיר את כיוון הטקסט של ההודעות המקוריות משמאל לימין לכיוון מימין לשמאל, כך שהסדר של התווים בהודעה המקורית מתהפך. פסאודו-האזור AR (XB) מוצג באיור 2.
זיוף מיקומים יכול לעזור לכם ליצור גרסה ב-RTL של האפליקציה, גם אם אתם לא כותבים או מדברים בשפות RTL.
הפעלת שפות מזויפות
בדרך כלל מוסיפים שפות מזויפות לגרסאות build שמתמקדות במפתחים. כשאתם בוחרים זירת זמן מזויפת במכשיר, כל האפליקציות שתומכות בזירת זמן מזויפת מקבלות את המאפיינים של זירת הזמן המזויפת שנבחרה, כולל כל אפליקציות המערכת, כמו אפליקציית ההגדרות ולוח ההגדרות המהירות.
כדי להשתמש בזיהוי המיקום המזויף של Android, צריך להשתמש ב-Android 4.3 (רמת API 18) ואילך, ולהפעיל במכשיר את אפשרויות הפיתוח. צריך גם להפעיל מחדש את המכשיר אחרי שמפעילים את אפשרויות הפיתוח.
בשלבים הבאים מוסבר איך מפעילים שפות מזויפות:
כדי להפעיל pseudolocales לאפליקציה ספציפית ב-Android Studio, מוסיפים את ההגדרה הבאה לקובץ
build.gradle
:Groovy
android { ... buildTypes { debug {
pseudoLocalesEnabled
true } } }Kotlin
android { ... buildTypes.getByName("debug") { isPseudoLocalesEnabled = true } }
יוצרים את האפליקציה ומריצים אותה.
משתמשים באפליקציית ההגדרות כדי לבחור שפה מזויפת. השלב הזה משתנה בהתאם לגרסת Android, באופן הבא:
Android מגרסה 5.0 (רמת API 21) ואילך
- במכשיר, פותחים את אפליקציית ההגדרות ומקישים על שפות וקלט > העדפות שפה.
- ברשימה Language preferences (העדפות שפה), גוררים את הכרטיסייה כדי להעביר את השפה המדומה לראש הרשימה ולהפוך אותה לשפה הפעילה. ראו איור 3.
Android 4.4.4 (רמת API 19) ומטה
- במכשיר, פותחים את אפליקציית ההגדרות ומקישים על שפות וקלט > העדפות שפה > הוספת שפה.
- מקישים על 'שפה מזויפת' כדי להוסיף אותה לרשימה העדפות שפה.
- ברשימת העדפות השפה, גוררים את הכרטיסייה כדי להעביר את השפה המדומה לראש הרשימה ולהפוך אותה לשפה הפעילה. ראו איור 3.
בעיות בלוקליזציה של 'נקודות עניין'
שימוש בזיהוי מיקום פסאודונימי הוא דרך יעילה ומצילת זמן לזיהוי בעיות פוטנציאליות בהתאמה לשוק המקומי בממשק המשתמש. הוא עוזר לכם לזהות בעיות בתחומים הבאים:
- מחרוזות מקודדות מראש, שלא ניתן לשלוח לתרגום, מוצגות כטקסט ללא סימני הטעמה בסיומת הדומיין המדומה כדי שיהיה קל לזהות אותן.
- בעיות בפריסה של ממשק המשתמש שנגרמות כתוצאה מהרחבת הטקסט, שמראות איפה ממשק המשתמש יכול להישבר בגלל אורך הטקסט.
שרשור מחרוזות, שמופיע כהודעה אחת שמפוצלת לשתי סוגריים או יותר. המצב הזה עלול להקשות על תרגום מדויק, כי המתרגמים צריכים לתרגם כל חלק בנפרד בלי לדעת שהחלקים קשורים זה לזה. שרשור מחרוזות יכול גם למנוע תרגום תקין, כי בשפות שונות יכול להיות צורך בסדר שונה של חלקים או במבנה שונה לגמרי של משפטים. לדוגמה, בשפות כמו יפנית, קוריאנית וטמילית, הפועל מופיע בסוף המשפט. כשמשפט מקושר, המתרגמים לא יכולים לשנות את סדר המילים לפי הצורך.
בעיות בטקסט דו-כיווני (BIDI), למשל כשתוכן בכיוון טקסט אחד כולל ביטוי בתוך שורה בכיוון הטקסט ההפוך, וכתוצאה מכך קשה לקרוא את המחרוזת.
בעיות שקשורות לכתיבה מימין לשמאל (RTL), למשל רכיבים שלא הופכים לראי. דוגמאות לכך הן אלמנט בממשק המשתמש שלא זז שמאלה, טקסט שלא הופך ומסתובב שמאלה או סימני פיסוק שממוקמים בצורה שגויה. לדוגמה, "pseudolocales rule!" הופך ל-"elur selacoloduesp!" במקום ל-"!elur selacoloduesp".