עובר כל גבול: על שפות, מדינות והמוצר שלך ביניהן

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

shutterstock flags

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

מה כדאי לעשות מראש לטובת תמיכה עתידית ביכולת רב לשונית (Multi Lingual) ובינלאומית? ואפילו אם יש לך כבר מוצר עובד, באנגלית כמובן, איך מתאימים את המוצר לפעול בכל מדינה בעולם? איך מתכננים מערכת תוכנה שתתאים לכולם, כ-ו-ל-ם, בכל מקום בעולם?

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

1. מוכנים לכל שפה

נתחיל במובן מאליו – שפות. כדי שממשק המשתמש שלך יהיה רב שפתי, כל מחרוזת טקסט המוצגת בו צריכה להיות מבוססת על משאב (Resource). המשאבים ינוהלו בכלים שמספקת שפת הפיתוח או אל מול טבלה בבסיס הנתונים (Database). ממשק המשתמש יצרוך רק “מזהה משאב” (ResourceID)  ולעולם לא יציג מחרוזת מקודדת בצורה קשיחה. מערכת ניהול המשאבים תתמוך כמובן בבחירת מחרוזת על בסיס שפה (מחרוזת ב-UNICODE או מקביל). תשומת לב מיוחדת דרושה להודעות, ובפרט הודעות שגיאה – אלה נוטות להיות בתוך הקוד.

כל הודעת שגיאה תתבסס על “מזהה הודעה” (בהודעת שגיאה – ErrorID), שימופה (ע”י טבלה או בקוד) אל “תאור ללוג” ו”מזהה משאב” – כך ניתן להדפיס ללוג הפנימי באנגלית, ואל התצוגה בכל שפה. השפה עצמה תיבחר על ידי המשתמש או במנגנון זיהוי אוטומטי (Auto language detection). טיפ קטן – לבחירה בין מעט שפות אפשר להשתמש בסמלים של דגלי מדינות, אבל במקרה של למעלה מ-10 שפות נוח יותר למשתמש לבחור מתפריט (Drop down). דגלי מדינות גם יוצרים אתגרים לא נוחים – דגל אמריקאי גאה, לבחירת אנגלית, לא בהכרח ינשא חן בעיני אוסטרלים. ואיזה דגל מדינה מתאים בכלל לבחירה בערבית? ואם הזכרנו ערבית – ממשק המשתמש צריך לתמוך ב”משמאל לימין” וב”מימין לשמאל”, ולכך תורת מימוש בפני עצמה. ועוד טיפ: ממשק המשתמש צריך להיות “מרווח”, כלומר – לא צפוף. גרמנית, למשל, נוטה למילים ארוכות שמכלות במהירות שטחי מסך קטנים מדי.

2. לזכור את השפה, וגם את המיילים

לא לשכוח את המיילים המופנים למשתמש, אלה יהיו מבוססים על תבניות (Templates) שגם הם יעשו שימוש ב”משאבים”. ובשביל לשלוח אותם בשפה הנכונה כדאי “לזכור”, בבסיס הנתונים, את “השפה המועדפת” של כל משתמש. לא צריך לשאול אותו ואותה – פשוט לשמור את השפה שנבחרה בממשק המשתמש בהפעלה האחרונה.

3. השקעתי, בניתי, אבל מאיפה אביא מתורגמן למנדרינית?

קצת מוקדם, כי המערכת שלנו בינתיים רק באנגלית, אבל כדאי לדעת איך מתרגמים. לא, לא שוכרים מתורגמן לכל שפה. ישנן חברות שיודעות לספק שרותי תרגום רב לאומיים (איך? בשיטות של Crowd Sourcing – החברה מקושרת למתורגמנים בכל העולם, המוכנים לעבודה מזדמנת בהתאם לצורך). דרך אגב, גם בדיקה של התוצאה ניתן לבצע באופן דומה ע”י חברות שמספקות בודקים בכל שפה וכל מקום נדרש.

4. דורשים יחס מיוחד

שדות מסוימים דורשים תשומת לב מיוחדת לצורך “לוקליזציה”. תאריך נכתב בישראל כ-“שנה/חודש/יום” ובארה”ב כ-“שנה/יום/חודש”. לכן תשתית ממשק המשתמש צריכה להיות גמישה לתצוגת התאריך, לפי שפה, ובעיקר לאיסוף תאריך מהמשתמש – או שלוש שדות נפרדים (ליום, חודש, שנה) או בחירה מלוח שנה (Date Picker).

המערכת עוסקת בכסף? הצגת המטבע היא שאלה בפני עצמה. USD 100 או 100$ או- $100 – להציג את המטבע באותיות או להציג סימן (יש מטבעות שמקובל לסמן מימין למספר ויש שמשמאל. יש מטבעות עם סימן מוכר, ויש מטבעות שהסימן שמייצג אותם פחות בשימוש). ישנן מדינות שבהן מקובל השימוש בפסיק להפרדת סכומים (20,24 ולא 20.24). כן, כן, תת-מערכת קטנה להצגת סכומים וסימנם.

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

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

5. דמיינו שאין מדינות… אני תוהה אם תוכלו…

נכנסים עמוק יותר לענין ה”מדינה”. כמובן – טבלה תכיל את רשימת המדינות הנתמכות. לכל הפחות, תסומן כל מדינה כ”פתוחה” או “סגורה” לשימוש (Enable/Disable) כדי לשלוט בקלות על הוספה והסרה של מדינות. אבל אם מתקדמים עמוק יותר חייבים לבחור רשימת מדינות לפי “הקשר”. למשל, בכל אתר קניות, מבקשים “מדינת חשבון” (Billing Country)  ו”מדינת משלוח” (Shipping Country). וכמה פעמים ביקרתם באתר שלא תומך בישראל למשלוח אבל שמח לקבל את ישראל בכתובת לחיוב? במילים אחרות: רשימת המדינות נגזרת מ”סוג המדינה” (רשימת “מדינות חשבון” ורשימת “מדינות משלוח”). פשוט וקל – לא ניגשים ישירות לטבלת המדינות, אלא עוברים דרך שכבת הפרדה של “הבא רשימת מדינות לפי סוג מדינה”.

6. כן, נכבוש את העולם

אוקיי, מספיק ודי לשלב הראשוני. הרי המוצר רק בשלב הרעיון – עוד לא אפילו בשפה ומדינה אחת. כשהמוצר באמת מצליח, יטפלו המתקדמים גם באתגרים הבאים, למשל: “ברז” השולט על כל רכיב במערכת לפי מדינה (בארה”ב המוצר מציע סט שרותים מסוים, ובאירופה סט שרותים דומה אך אחר – כל שרות נשלט ב”ברז בקרה” לפי מדינה). ואוי, חוקים מקומיים, מדיניות פרטיות (Privacy Policy) למשל. איכות השירות – השרת היושב בישראל מגיב לאט מאוד במזרח, ואם מגיעים לסין – אל תבנו על גישה לשרותי גוגל השונים. אבל, כבר נאמר – אלה צרות למתקדמים, וגם להן פתרונות לכל דבר.

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

קרדיט תמונה: world flags via shutterstock

הכתבה בחסות Payoneer

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

כתב אורח

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

הגב

2 תגובות על "עובר כל גבול: על שפות, מדינות והמוצר שלך ביניהן"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
יובל
Guest

כתבה מעולה!ובזמן :-)

אריאל
Guest

כתבה מצוינת ועושה סדר! תודה רבה!

wpDiscuz

תגיות לכתבה: