PracticU

הוספת עברית לאפליקציה

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › הוספת עברית לאפליקציה
מילון מושגים:
לייאאוט - ארגון וסידור הרכיבים החזותיים על המסך או בדף, כמו מיקום כפתורים, טקסט ותמונות.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.
Android - מערכת הפעלה מבוססת Linux לטלפונים ולמכשירים ניידים, שפותחה על ידי גוגל.

הוספת עברית לאפליקציה
לוקליזציה היא תמיכה בכמה שפות באפליקציה, כך שהמסך יוצג בשפה שהמשתמש הגדיר במכשיר. כשיש גם שפה כמו עברית נדרש טיפול נוסף: התאמת ה-layout לכיוון right to left. ההרצאה מראה את שני החלקים באפליקציה שבנויה באנגלית בלבד.
הבעיה
כשהמכשיר עובר לעברית, האפליקציה נשארת באנגלית. בנוסף ה-layout מותאם רק ל-left to right, ולכן שדה ה-EditText הופיע בצד הלא נכון.
השלבים העיקריים
1. כל המחרוזות ל-strings.xml: בעזרת Alt+Enter ו-Extract string resource מוציאים כל טקסט ב-layout. התרגומים נלקחים מהקובץ הזה.
2. פותחים את עורך התרגומים: בדיזיינר לוחצים על אייקון כדור הארץ ובוחרים Edit Translations. ברירת המחדל (Default Value) היא בדרך כלל אנגלית, אלא אם הציבור לא דובר אנגלית.
3. מוסיפים שפה: Add locale ובוחרים Hebrew. מתווספת עמודה לתרגומים, ומתרגמים כל מחרוזת (למשל שם פרטי, שם משפחה, אישור, פרטי משתמש). נוצר קובץ strings.xml נוסף בתיקייה values-iw, כש-iw הוא קוד השפה העברית.
4. בודקים: בהגדרות המכשיר מחליפים שפה. המחרוזות מתורגמות, אך עדיין לא כיוון הכתיבה.
5. תמיכה ב-RTL: במניפסט, בתגית application, מגדירים android:supportsRtl="true".
6. מחליפים או מוסיפים start ו-end ב-layout: מחפשים את המילים right ו-left. לכל תכונה עם right (למשל layout_toRightOf, layout_alignRight) מוסיפים תכונה זהה עם end, ולכל תכונה עם left (כמו layout_marginLeft, layout_alignLeft) מוסיפים עם start. Android Studio מציע זאת בריחוף (Consider adding). משכפלים את השורה עם Ctrl+D ומחליפים את המילה.
7. מקרה שונה, gravity: כאן ה-left נמצא בערך ולא בשם התכונה, ולכן לא מוסיפים שורה אלא מחליפים ל-start. Android Studio מציע use start instead of left.
התוצאה
אחרי השינויים ההרצה בעברית נראית כמו שצריך מימין לשמאל: שם פרטי, שם משפחה, ולחצן אישור בצד הנגדי. חזרה לאנגלית מחזירה את האפליקציה כפי שהייתה.
אחרי ההרצאה אפשר לתרגם אפליקציה לשפה נוספת ולהתאים אותה לשפות שנכתבות מימין לשמאל.
השיעור הבא בקורס: Localization Resource

פרקי ההרצאה: הוספת עברית לאפליקציה

  1. 00:00

    מהי לוקליזציה

  2. 00:58

    אפליקציה שבנויה רק באנגלית

  3. 01:51

    החלפת שפת המכשיר לעברית

  4. 03:09

    העברת המחרוזות ל-strings.xml

  5. 04:28

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

  6. 06:20

    הוספת עברית ותרגום המחרוזות

  7. 07:43

    התיקייה values-iw בסייר הקבצים

  8. 09:21

    תמיכה ב-RTL במניפסט וב-Layout

תמלול ההרצאה: הוספת עברית לאפליקציה

הטקסט המלא של הדקות הראשונות בהרצאה «הוספת עברית לאפליקציה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:29

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

  3. 00:51

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

  4. 01:27

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

  5. 01:51

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

  6. 02:25

    פתאום נעלמו לי התיבות טקסט, ה-edit טקסט בעצם נעלם לי, אבל, ולא בדיוק שהוא נעלם, אלא הוא נמצא כאן בצד ימין.

  7. 02:36

    זאת אומרת שה-layout עצמו הוא לא מותאם ל-layout של left, של right to left, אלא הוא מותאם רק ל-layout של left to right.

  8. 02:45

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

  9. 03:13

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

  10. 03:33

    אז הנה יש לנו פה את המחוזת הראשונה, User Details, בואו נלחץ על Alt Enter, Extract String Resource וניתן לזה איזשהו מפתח, User Details.

  11. 03:49

    נבצע את אותו הדבר עבור כל המחוזות שמוגדרות בלער. יש לנו פה מפתח First Name, בואו נרד פה למטה, יש לנו כאן last name, ממשיך לרדת ויש לנו כאן, אוקיי, את כל המכרזות מוגדרות בקובץ strings.xml אפשר לראות אותן כאן.

  12. 04:22

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

  13. 04:41

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

  14. 04:58

    לצורך כך אנחנו רואים שיש לנו פה את המפתח שנמצא בקובץ ה-strings.xml זאת בעצם הסיבה שהיינו חייבים את כל המחרוזות לשים ב-strings.xml מפני שהתרגומים נלקחים משמה וכאן אנחנו רואים את התרגום של השפה הספציפית כאשר יש לנו פה default value.

  15. 05:20

    value זה הערכים שנלקחים מקובץ ה-strings.xml שנמצא בתיקיית values כלומר תיקיית הדיפולט. איזה שפה אנחנו רוצים להגדיר פה? כמובן שפת הדיפולט בדרך כלל זה יהיה אנגלית אלא אם כן אנחנו כותבים אפליקציה לציבור שהוא לא דובר אנגלית נניח אנחנו רוצים לבנות אפליקציה שהציבור שלה זה קודם כל ציבור של

  16. 05:49

    השפה העברית ולכן default יהיה עברית אם אז אנחנו רוצים לתרגם לעוד שפה אז אנחנו צריכים עכשיו להוסיף את השפה השנייה ברוב המקרים ה-default היא אנגלית אם אנחנו רוצים שהאפליקציה שלנו תתמוך כמובן בשפה האנגלית אז מה אנחנו עושים בשביל להוסיף עוד שפה מה שאנחנו עושים זה לוחצים שוב על האייקון הזה add local ואז יש לנו פה את כל הדגלים של

  17. 06:16

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

  18. 06:52

    ניים זה יהיה שם פרטי שימו לב לנקודותיים שנמצאות גם כאן וגם כאן כי זה חלק מהמחרוזת לאסט ניים שם משפחה אוקיי אישור וuser details פרטי משתמש וכרגע תרגמנו את כל המחרוזות שיש באפליקציה כמובן באפליקציה אמיתית יכול להיות פה המון המון המון המון מחרוזות ואנחנו כמובן מתרגמים את כולם נשמור נסגור ונסתכל שיש לנו כאן עכשיו קובץ נוסף

  19. 07:40

    שנקרא strings xml עבור השפה העברית ניכנס אליו ונראה שכל המחרוזות תורגמו ונמצאות כאן אם אנחנו הולכים לקובץ הזה בסייר קבצים שאומרים Explorer אז אנחנו יכולים לראות שהקובץ הזה StringsXML נמצא בתוך values מכף IW שזה הקוד של השפה העברית ואם נעלה למעלה נראה את הקובץ ה-Defaulty ששם ה-StringsXML מכיל את ההגדרות באנגלית.

  20. 08:18

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

  21. 08:39

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

  22. 09:12

    מה הדבר שעדיין לא פתרנו? עדיין לא פתרנו את התמיכה ב-right-to-left. זאת אומרת, האפליקציה כרגע מוגדרת כ-left-to-right מבחינת הלייאוט שלנו, ואנחנו צריכים לטפל בזה.

  23. 09:32

    אנחנו צריכים לגרום ללייאוט שלנו להיות כזה שמוצג ב-right-to-left, כאשר השפה היא שפה right-to-left, כמו עברית, כמו ערבית וכדומה. אז איך אנחנו עושים את זה?

  24. 09:48

    בואו נחזור בחזרה, נגיע לאנדרואיד סטודיו, ונתחיל לראות מה הפעולות שאנחנו צריכים לעשות בכדי לתמוך ב-right-to-left עבור שפת עברית.

  25. 10:02

    אז הפעולה הראשונה שאנחנו צריכים לעשות זה לגשת לקובץ המניפסט. בקובץ המניפסט ברמת ה-application אנחנו צריכים לגשת ולהגדיר כאן את התכונה support rtl true.

  26. 10:21

    זה בעצם מגדיר שאם יש לנו layout שמוגדר כ-right-to-left רוצים שהוא יילקח בחשבון זה כמובן לא סוגר את כל הפינות אנחנו צריכים עדיין לטפל במשהו מאוד חשוב בלייאוט שלנו אבל זאת ההגדרה הראשונה שאנחנו צריכים להגדיר support rtl true במוניפסט עכשיו אנחנו צריכים לגשת ללייאוט שלנו ואנחנו צריכים לחפש בתוך הלייאוט שלנו שדרך

  27. 10:50

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

  28. 11:05

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

  29. 11:47

    מה זה אומר זה אומר שיש פה איזשהו אטריביוט האטריביוט הזה נקרא לייאוט קו תחתון to right off ובמילה to right off יש את המילה right ברגע שזה קורה אנחנו עכשיו או להוסיף או להחליף למילה end right הולך עם end ולפט הולך עם start.

  30. 12:16

    אם אנחנו עכשיו נרחף מעל ההגדרה הזאת אנחנו נראה שאנדרואיד סטודיו כותבת לנו consider

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: Themes

ההרצאה הבאה: Localization Resource

הרצאות קשורות מקורסים אחרים

  • מסך הגדרות לאפליקציה ב-Xcode-Swift
  • הוספת VMkernel
  • הוספת Request לטסט
  • הוספת Maven Dependencies

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון