Hi all, I am designing a web site for a test centre in South Asia.
The broad overview of the web site: Web site should be dynamic and support multi-languages (mainly south Asian) Content managers should be able to choose the language and able to create/edit the content (Question and Answers). Students should be able to choose the exam in their language (i.e. Hindi, Punjabi, Gujrati) And all basic features like Profile, forum, notice broad, news etc etc. As I have not worked on multi-language web site before so I have few questions regarding the design: Do I have to have a Rich-Text editor for content managers to upload the content? Should I use Language font�s or Unicode chars in this editor? How should I store the content in the Database (Unicode/Binary)? Shall I display the content in Unicode or raw data specifying language fonts? If fonts are not available in students pc/laptop, do they have to download the fonts? Is there any way of dynamically downloading the fonts? (@font-face url (xyz)) I shall be using following technologies on the website: HTML, AJAX, PHP, MySQL 5x (UTF-8, binary supported)
I appreciate all your comments and time. If possible can some body provide the examples or web links of same work.
Thanks in advance.
//JS [ June 01, 2007: Message edited by: Jas Singh ]
I can't speak to most questions, as I'm not very familiar with PHP, but I have worked on a large I18N-compatible website available in 30 languages in Java, so I have some perspective.
Use Unicode (preferably UTF-8) everywhere; don't go for language-specific encodings.
To manage the content you really want to use a CMS. Think about and test how it handles fallback cases (when it should display a piece of text in a language for which that text is not available). You may think this shouldn't happen, but it usually will. Having logic that substitutes another language might be a solution.
PHP has very little support for Unicode. It seems your code will have to perform those transformations explicitly. (Java makes this very easy through its full Unicode support and ResourceBundle concept.)
In the web site design, consider that text has different widths in different languages. E.g., most languages take up more room than English, so don't design for English - you'll be surprised what happens if you first switch to a different language. If you support scripts that are represented using icons (Japanese, Chinese, Korean, Hindi etc.) you'll also need a larger vertical space, and possibly even a bigger font than for the other languages in order to preserve legibility.