I know you'd have to use Unicode. And that Japanese is read vertically and reverse of English. What are some of the things one would have to take into consideration?
-
1Actually Japanese also has left to right as a standard reading direction - they are flexible that way :) But there are languages that are right to left - which is fun when you consider your screen co-ords are XY origin usually either upper left or lower left...– Martin S. StollerJul 22, 2011 at 16:58
5 Answers
What you are asking about is referred to as internationalization (i18n). You would have to consider UI layout to allow text from different languages to fit properly and to allow controls to dynamically shift positions to make room for this text.
You would also have to account for locale-specific date and currency formats.
If your application requires a database, you would have to ensure that data is stored in Unicode.
OMG Ponies!!! (Aka Humanity: Epic Fail) has some interesting examples of numbers, languages, and time challenges that have been encountered with computers if you want some major headaches in these areas. Vimeo link, if you want the video version.
Some languages (Hebrew and Arabic) are read right to left. Also, if you are including the localized display of Dates then you need to accommodate locale-specific date formats (m/d/y vs d/m/y) and abbreviations (Oct vs Okt). If you are showing localized time anywhere then you will need to tackle the Time Zone beast as well.
-
Not to mention localized number formatting, etc etc... Germanic (and other) languages use a comma instead of a decimal for currency, doubles and floats, for instance. Jul 22, 2011 at 17:01
Before you start with vertical languages like (some of) Japanese scripts, I would look at Right-to-Left issues. Once you understand them, you are somewhat prepared to tackle other writing systems.
A good example of issues related to RTL handling is available from W3C. They mostly talk about it in the context of HTML, but the core issues are there.
You especially need to deep-dive into these issues if you expect to mix languages (e.g. Arabic content mixed in with English).
Not all languages have the notion of uppercase and lowercase, and of those that do it's not always a 1:1 mapping, and you can't always make a round trip with the conversion.
This page, from unicode.org, has some interesting information on the subject, including this:
For example, both a sigma and a final sigma uppercase to a capital sigma