ארכיון יומי: 9 יוני, 2008

תרגום תוכנה באמצעות gnu Gettext

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

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

GNU Gettext מכיל שני סוגי פורמטים של קבצי תרגום, הראשון הוא קובץ טקסט (קובץ po) אשר מכיל את המילה/משפט המקורי, ומקום לכתוב את התרגום שלנו לאותה מילה/משפט. קובץ ה po הוא בעצם ה"קוד מקור" שלנו.

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

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

להמשיך לקרוא