I've read Joel's article on Unicode and I feel that I have at least a basic grasp of internationalization from a character set perspective. In addition to reading this question, I've also done some of my own research on internationalization in regards to design considerations, but I can't help but suspect that there is a lot more out there that I just don't know or don't know to ask.
Some of the things I've learned:
- Some languages read right-to-left
instead of left-to-right.
- Calendar, dates, times, currency, and
numbers are displayed differently
from language to language.
- Design should be flexible enough to
accommodate a lot more text because
some languages are far more verbose
than others.
- Don't take icons or colors for
granted when it comes to their
semantic meaning as this can vary
from culture to culture.
- Geographical nomenclature varies from
language to language.
Where I'm at:
- My design is flexible enough to
accommodate a lot more text.
- I automatically translate each
string, including error messages and help dialogs.
- I haven't come to a point yet where
I've needed to display units of time,
currency or numbers, but I'll be
there shortly and will need to
develop a solution.
- I'm using the UTF-8 character set
across the board.
- My menus and various lists in the application are sorted
alphabetically for each language for easier reading.
- I have a tag parser that extracts
tags by filtering out stop words. The
stop words list is language specific
and can be swapped out.
What I'd like to know more about:
- I'm developing a downloadable PHP web application,
so any specific advice in regards to
PHP would be greatly appreciated.
I've developed my own framework and
am not interested in using other
frameworks at this time.
- I know very little about non-western
languages. Are there specific
considerations that need to be taken
into account that I haven't mentioned
above? Also, how do PHP's array
sorting functions handle non-western
characters?
- Are there any specific gotchas that
you've experienced in practice? I'm looking in terms of both the GUI and the application code itself.
- Any specific advice for working with
date and time displays? Is there a
breakdown according to region or
language?
- I've seen a lot of projects and sites
let their communities provide
translation for their applications
and content. Do you recommend this
and what are some good strategies for
ensuring that you have a good
translation?
- This question is basically the extent
of what I know about
internationalization. What don't I
know that I don't know that I should
look into further?
Edit: I added the bounty because I would like to have more real-world examples from experience.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…