מערכת Android פועלת במכשירים רבים ובאזורים רבים. כדי להגיע לכמה שיותר משתמשים, עליך לוודא האפליקציה מטפלת בטקסט, בקובצי אודיו, במספרים, במטבעות ובגרפיקה שמתאימות למקומות שבהם משתמשים באפליקציה.
בדף הזה מתוארות שיטות מומלצות להתאמה לשוק המקומי של Android באפליקציות.
צריך להיות לכם ידע מעשי ב-Kotlin או בתכנות Java והם מכירים את השפה המשאבים של Android בטעינה, הצהרה על רכיבי ממשק משתמש ב-XML, ושיקולים של פיתוח, כמו מחזור החיים של פעילות, והעקרונות הכלליים של הבינלאומיות ולוקליזציה.
מומלץ להשתמש במסגרת המשאבים של Android כדי להפריד כמה שיותר מהמאפיינים 'הותאמו לשוק המקומי' מהפונקציונליות העיקרית של האפליקציה.
- מכניסים את רוב התוכן של ממשק המשתמש של האפליקציה או את כולו אל קובצי משאבים, כפי שמתואר בדף הזה סקירה כללית של משאבי האפליקציה
- ההתנהגות של ממשק המשתמש, לעומת זאת, מבוססת בקוד מבוסס Kotlin או קוד מבוסס Java. לדוגמה, אם משתמשים מזינים נתונים שצריך בפורמט או מיון שונים בהתאם למקום, משתמשים ב-Kotlin שפת תכנות Java לטיפול בנתונים באופן פרוגרמטי. בדף הזה לא תלמדו על האופן שבו ניתן להתאים לשוק המקומי קוד מבוסס Kotlin או קוד מבוסס Java.
למדריך קצר להתאמה לשוק המקומי של מחרוזות באפליקציה, אפשר לעיין במאמר לתמוך בשפות שונות וגם תרבויות.
סקירה כללית: מעבר בין משאבים ב-Android
משאבים הם מחרוזות טקסט, פריסות, צלילים, גרפיקה וכל פריט סטטי אחר הנתונים שדרושים לאפליקציה ל-Android. אפליקציה יכולה לכלול כמה גרסאות קבוצות של משאבים, שכל אחד מהם מותאם אישית לתצורה שונה של מכשיר. כאשר משתמש מפעיל את האפליקציה, Android בוחר וטוען את המשאבים באופן אוטומטי שמתאימים למכשיר בצורה הטובה ביותר.
הדף הזה מתמקד בהתאמה לשוק המקומי ובלוקאל. לקבל תיאור מלא של מעבר בין משאבים וכל סוגי ההגדרות האישיות להגדיר, כמו כיוון המסך או סוג מסך מגע, ספק מקורות מידע חלופיים.
כשכותבים את האפליקציה, יוצרים משאבים חלופיים וברירת מחדל
לשימוש באפליקציה. כשהמשתמשים מריצים את האפליקציה שלך, מערכת Android
בוחר אילו משאבים ייטענו על סמך לוקאל המכשיר.
כדי ליצור משאבים, צריך למקם קבצים בתוך
ספריות משנה שקיבלו שם ייחודי של ספריית res/
של הפרויקט.
למה משאבי ברירת המחדל חשובים
כשהאפליקציה פועלת במיקום שלא ציינת
טקסט ספציפי ללוקאל עבור, Android טוענת את מחרוזות ברירת המחדל מ-
res/values/strings.xml
אם קובץ ברירת המחדל חסר
חסר מחרוזת שדרושה לאפליקציה, אז האפליקציה לא פועלת
ומציג שגיאה. הדוגמה הבאה ממחישה מה יכול לקרות כאשר
קובץ הטקסט שמוגדר כברירת מחדל אינו מלא.
דוגמה:
קוד מבוסס Kotlin או מבוסס Java של אפליקציה מתייחס לשתי מחרוזות בלבד: text_a
ו-text_b
. האפליקציה כוללת קובץ משאבים שמותאם לשוק המקומי
(res/values-en/strings.xml
) שמגדיר את text_a
וגם
text_b
באנגלית. האפליקציה כוללת גם ברירת מחדל
קובץ משאב (res/values/strings.xml
) שכולל
הגדרה של text_a
, אבל לא של text_b
.
- כשהאפליקציה הזו מופעלת במכשיר שהלוקאל שלו מוגדר לאנגלית,
ייתכן שהאפליקציה תפעל ללא בעיה,
res/values-en/strings.xml
מכיל/ה את שני הטקסט הנדרש מחרוזות. - עם זאת, כשהאפליקציה הזו מופעלת במכשיר שמוגדר בשפה שאינה אנגלית, המשתמש יראה הודעת שגיאה ולחצן סגירה. לחצן. האפליקציה לא נטענת.
כדי למנוע מצב כזה, צריך לוודא שres/values/strings.xml
קיים ושמגדיר כל מחרוזת נדרשת. המצב הזה חל על
כל סוגי המשאבים, לא רק מחרוזות: צריך ליצור קבוצה של ברירת מחדל
קובצי משאבים שמכילים את כל המשאבים שהאפליקציה שולחת אליהם קריאה,
כמו פריסות, פריטים גרפיים או אנימציות. מידע על בדיקות זמין במאמר
בדיקה של משאבי ברירת מחדל.
שימוש במשאבים להתאמה לשוק המקומי
הקטע הזה מסביר איך ליצור משאבי ברירת מחדל ומשאבים חלופיים. במאמר מוסבר גם איך המשאבים מוקצים קדימות ואיך אתם מתייחסים במשאבים בקוד.
יצירת משאבי ברירת מחדל
צריך להזין את טקסט ברירת המחדל של האפליקציה בres/values/strings.xml
. למחרוזות האלה, משתמשים
שפת ברירת המחדל היא השפה שאתם מצפים לה
של משתמשי האפליקציה לדבר.
קבוצת המשאבים שמוגדרת כברירת מחדל כוללת גם את כל הפריסות והפריטים הגרפיים שמוגדרים כברירת מחדל והם יכולים לכלול סוגים אחרים של משאבים, כמו אנימציות. מקורות המידע האלה נכנסים לספריות הבאות:
res/drawable/
: ספרייה נדרשת שמכילה לפחות קובץ גרפי אחד, לסמל האפליקציה ב-Google Playres/layout/
: ספרייה נדרשת שמכילה קובץ XML קובץ שמגדיר את פריסת ברירת המחדלres/anim/
: חובה אם יש לךres/anim-<qualifiers>
תיקיותres/xml/
: חובה אם יש לךres/xml-<qualifiers>
תיקיותres/raw/
: חובה אם יש לךres/raw-<qualifiers>
תיקיות
טיפ: בקוד שלכם, כדאי לבחון כל הפניה אל מקור מידע על Android. צריך לוודא שמוגדר משאב ברירת מחדל לכל אחד מהם. כמו כן, צריך לוודא שקובץ המחרוזת המוגדר כברירת מחדל מלא: מקומי קובץ המחרוזת יכול להכיל קבוצת משנה של מחרוזות, אבל את המחרוזת ברירת מחדל. צריך להכיל את כולם.
יצירת משאבים חלופיים
חלק גדול מהלוקליזציה של אפליקציה היא לספק טקסט חלופי בשפות שונות. במקרים מסוימים, מספקים גם גרפיקה חלופית, צלילים, פריסות ומשאבים אחרים שספציפיים ללוקאל.
אפליקציה יכולה לציין הרבה res/<qualifiers>/
ספריות, כאשר לכל אחת מהן יש סיווגים שונים. כדי ליצור משאב חלופי
של שפה אחרת, יש להשתמש במאפיין שמציין שפה או
שילוב של שפה ואזור. השם של ספריית משאבים חייב להיות תואם
לסכימת השמות שמתוארת
ספק
משאבים חלופיים, אחרת האפליקציה לא תוכל להדר.
דוגמה:
נניח ששפת ברירת המחדל של האפליקציה היא אנגלית
אתם רוצים להתאים את כל הטקסט באפליקציה לצרפתית
הטקסט מלבד כותרת האפליקציה
יפנית. במקרה הזה, יוצרים שלושה סוגים של strings.xml
כל אחד מהקבצים שמאוחסנים בספריית משאבים ספציפית ללוקאל:
res/values/strings.xml
מכילה טקסט באנגלית לכל המחרוזות שהאפליקציה משתמשת בהן. כולל טקסט למחרוזת בשםtitle
.res/values-fr/strings.xml
להכיל טקסט בצרפתית לכל המחרוזות, כוללtitle
.res/values-ja/strings.xml
להכיל טקסט ביפנית לכל המחרוזות למעטtitle
.
אם הקוד שלך שמבוסס על Kotlin או קוד מבוסס Java מתייחס ל-R.string.title
, אלה הפרטים
קורה בזמן הריצה:
- אם המכשיר מוגדר לכל שפה שאינה צרפתית, Android ייטען
title
מהקובץres/values/strings.xml
. - אם המכשיר מוגדר לצרפתית, מערכת Android תטען את
title
דרך קובץres/values-fr/strings.xml
.
אם המכשיר מוגדר ליפנית, מערכת Android מחפשת
title
בקובץ res/values-ja/strings.xml
. אבל
בגלל שאף מחרוזת כזאת לא נכללת בקובץ הזה, Android משתמש ב-
כברירת מחדל, וטוען את title
באנגלית
קובץ res/values/strings.xml
.
לאילו משאבים יש עדיפות?
אם מספר קובצי משאבים תואמים להגדרות של מכשיר מסוים, מערכת Android פועלת לפי של כללים שקובעים באיזה קובץ להשתמש. בין היתר, הן יכולות להיות מצוין בשם ספריית משאבים, הלוקאל כמעט תמיד מקבל בעדיפות גבוהה.
דוגמה:
נניח שאפליקציה כוללת ערכת ברירת מחדל של גרפיקה ושתיים נוספות גרפיקות, כל אחת מהן עברה אופטימיזציה בהתאם להגדרות המכשיר:
res/drawable/
מכיל גרפיקה המוגדרת כברירת מחדל.res/drawable-small-land-stylus/
מכיל גרפיקה שמותאמת לשימוש במכשיר שמצפה לקלט סטיילוס, ומסך QVGA בעל צפיפות נמוכה בפריסה לרוחב.res/drawable-ja/
מכיל גרפיקה שמותאמת לשימוש ביפנית.
אם האפליקציה פועלת במכשיר שמוגדר לשימוש ביפנית,
מערכת Android טוען גרפיקה מ-res/drawable-ja/
, גם אם המכשיר
הוא מכשיר שמצפה לקבל קלט מסטיילוס, והצפיפות של QVGA נמוכה
המסך בפריסה לרוחב.
יוצאים מן הכלל:ערכי האישור היחידים שלוקחים קדימות על פני מקום בתהליך הבחירה הן קוד מדינה לנייד (MCC) ורשת סלולרית (MNC).
דוגמה:
נניח שמדובר במצב הבא:
- קוד האפליקציה קורא ל
R.string.text_a
.
- זמינים שני קובצי משאבים רלוונטיים:
res/values-mcc404/strings.xml
, כוללtext_a
בשפת ברירת המחדל של האפליקציה, במקרה הזה אנגלית.res/values-hi/strings.xml
, כוללtext_a
בהינדי.
- האפליקציה פועלת במכשיר:
תצורה:
- כרטיס ה-SIM מחובר לרשת סלולרית בהודו (MCC 404).
- השפה מוגדרת להינדי (
hi
).
מערכת Android טוענת את text_a
מ-
res/values-mcc404/strings.xml
(באנגלית), גם אם המכשיר
שהוגדר להינדי. הסיבה היא שבתהליך בחירת המשאבים, Android
העדפה של התאמת חשבון ניהול (MCC) על פני התאמת שפה.
תהליך הבחירה אינו תמיד פשוט כמו הדוגמאות הבאות להציע. לתיאור מפורט יותר של התהליך, ראו איך מערכת Android מוצאת מקור המידע המתאים ביותר. כל ערכי האישור מתוארים ומפורטים לפי סדר קדימות בשדה סקירה כללית של משאבי האפליקציה
מקורות מידע בקוד
בקוד מבוסס Kotlin או בקוד מבוסס Java של האפליקציה, מפנים למשאבים באמצעות התחביר
R.resource_type.resource_name
או
android.R.resource_type.resource_name
.
מידע נוסף זמין במאמר הבא:
גישה למשאבי האפליקציות.
ניהול מחרוזות להתאמה לשוק המקומי
בקטע הזה מתוארות שיטות מומלצות לניהול מחרוזות שקשורות ללוקליזציה.
העברת כל המחרוזות אל string.xml
במהלך פיתוח האפליקציות, לא צריך לכתוב בתוך הקוד מחרוזות. במקום זאת, צריך להצהיר על כל
מחרוזות כמשאבים בקובץ ברירת המחדל strings.xml
, מה שמאפשר לעדכן בקלות
ולהתאים אותם לשוק המקומי. אפשר לחלץ בקלות מחרוזות בקובץ strings.xml
,
תתורגם ותשתלב שוב באפליקציה עם מגדירים מתאימים, ללא
בקוד שעבר הידור.
אם יוצרים תמונות עם טקסט, כדאי לשים גם את המחרוזות האלה ב-strings.xml
וגם
ליצור מחדש את התמונות אחרי התרגום.
הנחיות ל-Android לגבי מחרוזות בממשק המשתמש
במהלך התכנון והפיתוח של ממשקי המשתמש, חשוב לשים לב איך לדבר עם המשתמש. באופן כללי, יש להשתמש בסגנון קצר שהוא ידידותי אבל קצר, וצריך לשמור על סגנון עקבי בכל ממשקי המשתמש שלכם.
חשוב לקרוא את ההמלצות של Material Design עבור כתיבה סגנון ובחירת מילים. כך האפליקציות ייראה מלוטשות יותר למשתמשים מהר יותר.
כמו כן, צריך להשתמש תמיד במינוחים הרגילים של Android ככל האפשר, למשל ברכיבים בממשק המשתמש כמו סרגל האפליקציות, תפריט האפשרויות, סרגל המערכת וההתראות. שימוש בתנאים של Android מקלים על התרגום באופן עקבי ומובילים ליצירת מוצר קצה טוב יותר למשתמשים.
צריך לספק הקשר מספק למחרוזות מוצהרות
במהלך ההצהרה על מחרוזות בקובץ strings.xml
, חשוב לתאר את ההקשר
שבה נעשה שימוש במחרוזת. המידע הזה חשוב מאוד למתרגם, ולכן
תרגום באיכות גבוהה יותר. הוא גם עוזר לנהל את המחרוזות בצורה יעילה יותר.
לדוגמה:
<!-- The action for submitting a form. This text is on a button that can fit 30 chars --> <string name="login_submit_button">Sign in</string>
מומלץ לספק מידע על ההקשר, למשל:
- למה מיועדת המחרוזת הזו? מתי ואיפה היא מוצגת למשתמש?
- איפה זה נמצא בפריסה? לדוגמה, התרגומים פחות גמישים מאשר בתיבות טקסט.
סימון חלקים בהודעה שלא מתורגמים
לעיתים קרובות, מחרוזות מכילות טקסט שלא מיועד לתרגום לשפות אחרות. נפוץ לדוגמה: קטע קוד, placeholder של ערך, סמל מיוחד או שם. לפי המיקום שלך להכין את המחרוזות לתרגום, לחפש ולסמן טקסט שחייב להישאר כפי שהוא, כדי שהמתרגם לא ישנה אותו.
כדי לסמן טקסט שלא מתורגם, צריך להשתמש ב<xliff:g>
placeholder. תג לדוגמה שמציין שהטקסט "%1$s"
אינו
כדי שהמסר ישתנה במהלך התרגום:
<string name="countdown"> <xliff:g id="time" example="5 days">%1$s</xliff:g> until holiday </string>
כשמצהירים על תג placeholder, צריך להוסיף מאפיין מזהה שמסביר placeholder הוא עבור. אם האפליקציה מאוחר יותר תחליף את הערך הזמני לשמירת מקום (placeholder), צריך לספק למאפיין לדוגמה כדי להבהיר את השימוש הצפוי.
לפניכם כמה דוגמאות נוספות לתגי placeholder:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <!-- Example placeholder for a special Unicode symbol --> <string name="star_rating">Check out our 5 <xliff:g id="star">\u2605</xliff:g> </string> <!-- Example placeholder for a URL --> <string name="app_homeurl"> Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g> </string> <!-- Example placeholder for a name --> <string name="prod_name"> Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g> </string> <!-- Example placeholder for a literal --> <string name="promo_message"> Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>" to get a discount. </string> ... </resources>
רשימת משימות להתאמה לשוק המקומי
לסקירה כללית מלאה של תהליך הלוקליזציה וההפצה של אפליקציה ל-Android, ראה תרגום האפליקציה והתאמתה לשוק המקומי.
טיפים ללוקליזציה
במהלך ההתאמה לשוק המקומי של האפליקציה, כדאי להיעזר בטיפים הבאים.
עיצוב האפליקציה כך שיפעל בכל מקום
אל תניח שום דבר לגבי המכשיר שבו המשתמש מריץ את אפליקציה. יכול להיות שהמכשיר כולל חומרה שלא ציפיתם לה, או יכול להיות שהוא מוגדר לאזור שלא תכננתם או שאי אפשר לבדוק אותו. יש לעצב את האפליקציה כך שהיא תפעל כרגיל או אם היא לא תפעל בצורה חלקה לא משנה באיזה מכשיר הוא פועל.
חשוב: צריך לוודא שהאפליקציה
הדוח כולל סדרה מלאה של משאבי ברירת מחדל:
res/drawable/
ו-res/values/
תיקיות ללא
מגבילי התאמה נוספים בשמות התיקיות, שמכילים את כל התמונות והטקסט
שהאפליקציה שלכם צריכה.
אם באפליקציה חסר אפילו משאב ברירת מחדל אחד, היא לא תפעל
של המכשיר שמוגדר ללוקאל לא נתמך. לדוגמה, אם
בקובץ ברירת המחדל res/values/strings.xml
חסרה מחרוזת אחת ש
שדרושים לאפליקציה, כשהאפליקציה פועלת באזור שלא נתמך
מנסה לטעון את res/values/strings.xml
, המשתמש רואה שגיאה
ולחצן סגירה.
מידע נוסף אפשר למצוא בדף בדיקה כברירת מחדל משאבים.
עיצוב פריסה גמישה
אם אתם צריכים לשנות את הסדר של הפריסה כך שתתאים לשפה מסוימת,
אפשר ליצור פריסה חלופית לשפה הזו,
res/layout-de/main.xml
לפריסה בגרמנית. אבל אם מגדירים
יכולות להקשות על תחזוקת האפליקציה. עדיף ליצור
פריסה גמישה יותר.
מצב אופייני נוסף הוא שפה שבה נדרש משהו שונה הפריסה שלו. לדוגמה, ייתכן שיש לך טופס ליצירת קשר שכולל כשהאפליקציה פועלת ביפנית, אבל שלושה שדות שמות. שהאפליקציה פועלת בשפה אחרת. אפשר לבצע את הפעולות האלה בשתי דרכים:
- ליצור פריסה אחת עם שדה שאפשר להפעיל באופן פרוגרמטי או בהתאם לשפה.
- לכלול פריסה ראשית אחרת שכוללת את הפריסה שניתנת לשינוי השדה הזה. לפריסה השנייה יכולות להיות תצורות שונות עבור בשפות שונות.
נמנעים מיצירה של יותר קובצי משאבים ומחרוזות טקסט ממה שצריך
כנראה שלא צריך ליצור חלופה ספציפית ללוקאל עבור כל
את מקורות המידע באפליקציה שלכם. לדוגמה, הפריסה שמוגדרת
קובץ res/layout/main.xml
יכול לפעול בכל מקום, ובמקרה כזה
אין צורך ליצור קובצי פריסה חלופיים.
בנוסף, ייתכן שלא תצטרכו ליצור טקסט חלופי לכל מחרוזת. עבור נניח את הדברים הבאים:
- שפת ברירת המחדל של האפליקציה שלך היא אנגלית אמריקאית. כל מחרוזת
שבו האפליקציה משתמשת באיות של אנגלית אמריקאית,
res/values/strings.xml
- בכמה ביטויים חשובים, מומלץ להשתמש באיות של אנגלית בריטית. אתם רוצים שייעשה שימוש במחרוזות החלופיות האלה כשהאפליקציה שלכם פועלת בבריטניה.
לשם כך, יוצרים קובץ קטן בשם
res/values-en-rGB/strings.xml
שכולל רק את המחרוזות
שונים כשהאפליקציה פועלת בבריטניה.
המחרוזות, האפליקציה תחזור לברירות המחדל ומשתמשת
הוגדרה ב-res/values/strings.xml
.
שימוש באובייקט Android Context לחיפוש לוקאל באופן ידני
אפשר לחפש את הלוקאל באמצעות האובייקט Context
ש-Android הופך לזמין, כמו בדוגמה הבאה:
Kotlin
val primaryLocale: Locale = context.resources.configuration.locales[0] val locale: String = primaryLocale.displayName
Java
Locale primaryLocale = context.getResources().getConfiguration().getLocales().get(0); String locale = primaryLocale.getDisplayName();
שימוש בשירות לתרגום אפליקציות
תרגום האפליקציה השירות משולב Play Console. הוא מאפשר אפשר לקבל הצעת מחיר מיידית ולבצע הזמנה לחברת התרגום. אפשר להזמין תרגומים לשפה אחת או יותר למחרוזות של ממשק המשתמש של האפליקציה, לטקסט בדף האפליקציה בחנות Play, לשמות IAP ולטקסט של קמפיין הפרסום.
בדיקת אפליקציות שהותאמו לשוק המקומי
בדיקת האפליקציה שמותאמת לשוק המקומי במכשיר או באמצעות האמולטור Android. באופן ספציפי, צריך לבדוק את האפליקציה כדי לוודא שכל משאבי ברירת המחדל הנדרשים כלולים
בדיקה במכשיר
חשוב לזכור שהמכשיר שבו אתם בודקים עשוי להיות שונה באופן משמעותי מהמכשיר המכשירים שזמינים לצרכנים במקומות אחרים. הלוקאלים הזמינים במכשיר שלכם יכולים להיות שונים מאלה שזמינים במכשירים אחרים. כמו כן, הרזולוציה והצפיפות של מסך המכשיר עשויות להיות שונות, מה שיכול להשפיע על תצוגה של מחרוזות ופריטים שניתנים להזזה בממשק המשתמש.
כדי לשנות את הלוקאל או השפה במכשיר, צריך להשתמש באפליקציית ההגדרות.
בדיקה על אמולטור
אפשר לקרוא פרטים נוספים על השימוש באמולטור במאמר הפעלת אפליקציות באמולטור Android.
יצירת לוקאל מותאם אישית ושימוש בו
A 'בהתאמה אישית' המקום הוא שילוב של שפה או אזור שמערכת Android אימג' של המערכת לא תומך במפורש. אפשר לבדוק איך האפליקציה פועלת בלוקאל מותאם אישית, באמצעות יצירת לוקאל מותאם אישית באמולטור. יש שתי פלטפורמות דרכים לעשות זאת:
- להשתמש באפליקציה 'לוקאל מותאם אישית', שניתן לגשת אליה דרך בכרטיסייה 'אפליקציה'. לאחר יצירת מקום מותאם אישית, עבור אליו באמצעות נגיעה ב- החזקה את שם הלוקאל.
- אפשר לשנות ללוקאל מותאם אישית מהמעטפת
adb
, כמו שמתואר בקטע הבא.
כשמגדירים את האמולטור ללוקאל שלא זמין ב-Android תמונת המערכת, המערכת עצמה מוצגת בשפת ברירת המחדל שלה. שלך אבל האפליקציה מבצעת התאמה לשוק המקומי בצורה תקינה.
שינוי הלוקאל של האמולטור ממעטפת adb
כדי לשנות את הלוקאל באמולטור באמצעות המעטפת adb
, מבצעים את הפעולות הבאות:
- בוחרים את הלוקאל שרוצים לבדוק ולקבוע את תג השפה שלו מסוג BCP-47.
כמו
fr-CA
לצרפתית קנדית.
- הפעלה של אמולטור.
- ממעטפת שורת הפקודה במחשב המארח, מריצים את הפקודה הבאה
פקודה:
adb shell
לחלופין, אם יש לך מכשיר מחובר, מציינים שברצונך לאמולטור על ידי הוספת האפשרות-e
:
adb -e shell
- בהנחיית המעטפת של
adb
(#
), מריצים את הפקודה הבאה:
setprop persist.sys.locale [BCP-47 language tag];stop;sleep 5;start
מחליפים את הקטעים בסוגריים בקודים המתאימים מהשלב 1.
לדוגמה, כדי לבדוק בצרפתית (קנדה):
setprop persist.sys.locale fr-CA;stop;sleep 5;start
פעולה זו תגרום להפעלה מחדש של האמולטור. לאחר שמסך הבית יופיע שוב, הפעילו מחדש את האפליקציה. והאפליקציה תושק עם הלוקאל החדש.
בדיקה למשאבי ברירת מחדל
כדי לבדוק אם האפליקציה כוללת את כל משאבי המחרוזות שהיא צריכה, מבצעים את הפעולות הבאות:
- הגדרת האמולטור או המכשיר לשפה שלא מוגדרת באפליקציה
תמיכה. לדוגמה, אם לאפליקציה יש מחרוזות בצרפתית
res/values-fr/
אבל אין לו מחרוזות בספרדיתres/values-es/
, מגדירים את הלוקאל של האמולטור לספרדית. ניתן להשתמש באפליקציית 'לוקאל מותאם אישית' כדי להגדיר את האמולטור לוקאל לא נתמך. - מפעילים את האפליקציה.
- אם האפליקציה מציגה הודעת שגיאה ולחצן אילוץ סגירה, יכול להיות
לחפש מחרוזת שלא זמינה. עליך לוודא שהמאפיינים
קובץ אחד (
res/values/strings.xml
) כולל הגדרה של בכל מחרוזת שהאפליקציה משתמשת בה.
אם הבדיקה מוצלחת, יש לחזור עליה עבור סוגים אחרים של תצורות. עבור
לדוגמה, אם לאפליקציה יש קובץ פריסה שנקרא
res/layout-land/main.xml
אבל לא מכיל קובץ בשם
res/layout-port/main.xml
, ואז מגדירים את האמולטור או המכשיר בתור
לאורך ולבדוק אם האפליקציה פועלת.