Designing a database that conatins mutltiple languages

0 views
Skip to first unread message

Abraham Shilon

unread,
Sep 8, 2009, 6:10:24 AM9/8/09
to altnet...@googlegroups.com
Hi,
 
We are planning to build a website that should be viewd by users from all the world.
Let's say that for the sake of this discusion, the website displayes info on hotels.
So if we have a table on our database named Hotels, some of its columns might be HotelName, HotelDescription and the like.
Now, if the user is from Israel for example and he chooses, well, מלון הנסיכה, he will see
 
| תיאור | שם המלון     |
-----------------------------
|בלה בלה |      נסיכה |
 
and if he's from, say the US/UK he will see
 
|Hotel Name| Description |
-------------------------------------
| Princess   | Bla Bla Bla |
 
How would you go about and build this DB?
 
Thanks,
Avi

Amir Simantov

unread,
Sep 8, 2009, 7:49:45 AM9/8/09
to altnet...@googlegroups.com
שלום אבי,

לדעתי היה דיון על זה בקבוצה לפני כחצי שנה על שנה - דפדף אחורה.

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

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

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

אני פיתחתי את המנגנון הזה עבור אתר רישום לטיולים של שוונג (shvoong.co.il).

אמיר

האתר שלי     מעקב בטוויטר למקורבים     טלפון: 0548-158185
Reply all
Reply to author
Forward
0 new messages