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

עברית קשה שפה

אירופאית של מכשירי ביתיים

אירופאית של מכשירי ביתיים

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

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

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

תרגום אוטומאטי

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

General translation, a translation of the user interface in particular, is not just a challenge. Cultural gaps, language, translation strange ways sometimes just a lack of professionalism,
phenomena do not cause very unpleasant. Some joke funny, and dreams of the change. Optimistic, we said?

לא שור ולא בור, Pit Bull

לא שור ולא בור, Pit Bull

שימו לב למשפט האחרון – הוא ממש קיבל משמעות הפוכה!

והנה מגיעה אנקדוטה שניה. בימים שעוד ראיתי טלוויזיה על בסיס קבוע, היתה סידרה בערוץ שלוש שבה הגיבור התלונן, באותו פרק שראיתי, על הכלב של השכנים. הוא אמר "The pit bull was barking all night! I just couldn't sleep". בתרגום לעברית היה כתוב… תחזיקו חזק… "השור שבבור נבח כל הלילה, לא יכולתי לישון!"

הקושי שבתרגום

על-פי ויקיפדיה, תרגום מתבצע בשני צעדים:

  • פענוח המשמעות של הטקסט שבשפת המקור.
  • הפיכת משמעות זו לטקסט בשפת היעד.

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

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

מניח הרעפים הנוצרי, Christian Slater

מניח הרעפים הנוצרי, Christian Slater

אבל היכרות עם השפה לא מספיקה. כלומר, לא מספיק להכיר את המילים שבשפה. דרוש קונטקסט תרבותי כדי להבין את המשמעות של המילים בהקשר שלהן בשפת המקור ובשפת היעד. הנה דוגמא מעולה, גם מערוץ 3, שמובאת בויקיפדיה. המשפט "I had to chase Christian Slater down the street" תורגם ל"הייתי צריכה לרדוף אחרי מניח רעפים נוצרי". "מניח רעפים נוצרי" הוא תרגום מילולי של שמו של השחקן כריסטיאן סלייטר. :-)

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

תירגום של ממשק משתמש

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

אחת הפעמים הראשונות שנתקלתי בזה, היתה ב-Access 2000 או אולי 97',  שם מייקרוסופט תרגמו את "Delete Query" ל"מחיקת שאילתה", "Select Query" לבחירת שאילתה, וכו'. למי מכם שלא מתמצא בבסיסי נתונים, המשמעות של "Delete Query" היא לא מחיקת שאילתה, אלא "שאילתת מחיקה". המושג הזה כל-כך יסודי בבסיסי נתונים, וכל-כך מרכזי בממשק המשתמש, שפשוט לא האמנתי למראה עיני כשהשתמשתי בממשק העברי בפעם הראשונה. אז איך זה קורה?

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

שיטת abc בפעולה

שיטת abc בפעולה

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

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

צר לי

לתהליך התרגום של ממשק המשתמש קוראים לוקליזציה, localization, וההכנה ללוקליזציה שכוללת, בין השאר, את הכנת קובץ המשאבים (resources) שהזכרתי קודם, נקראת… internationalization. זה כל-כך ארוך, שאפשר לטעות ולחשוב שזו מילה בגרמנית. באחת החברות שעבדתי כתבו את זה בקיצור i18n, כי בין ה-i ל-n יש 18 אותיות. אני יודע, גם אני לא האמנתי, תספרו. תרגום לעברית של תוכנה נקרא לפעמים בסלנג "גיור".

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

מהירות העכבר במערכת הפעלה Windows

נניח, לצורך העניין, שהמתרגם החליט לתרגם את "slow" ל"זוחל כמו צב". איפה היינו מכניסים את המילים האלה כאן? היה צריך, כנראה, לשנות את התוכנה כדי שיהיה מקום לטקסטים ארוכים יותר, או למצוא קיצור הולם ל"זוחל כמו צב". בבעיות האלה נתקלים בתרגום תוכנה כל הזמן. מגיע קובץ משאבים (resource file) מתורגם, ואז צריך לבדוק בכל מקום שיש בו טקסט שהמתרגם לא כתב משהוא ארוך מדי שלא נכנס, ושהיישור של הטקסט עדיין נכון גם כשהטקסט מתקצר או מתארך קצת. בקיצור – לא קל!

I Have a Dream

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