Я прочитал статью Джоэла о Unicode и чувствую, что владею хотя бы базовым понимание интернационализации с точки зрения набора символов. Помимо чтения этого вопроса, я также провел несколько собственных исследований по интернационализации в Что касается соображений дизайна, но я не могу не подозревать, что есть еще много чего, чего я просто не знаю или не знаю, чтобы спросить.
Что я узнал:
- Некоторые языки читаются справа налево, а не слева направо.
- Календарь, даты, время, валюта и числа отображаются по-разному для разных языков.
- Дизайн должен быть достаточно гибким, чтобы вместить намного больше текста, потому что некоторые языки намного более подробны, чем другие.
- Не принимайте значки или цвета как должное, когда дело доходит до их семантического значения, поскольку оно может варьироваться от культуры к культуре.
- Географическая номенклатура варьируется от языка к языку.
Где я нахожусь:
- Мой дизайн достаточно гибкий, чтобы вместить гораздо больше текста.
- Я автоматически перевожу каждую строку, включая сообщения об ошибках и диалоговые окна справки.
- Я еще не дошел до того момента, когда мне нужно было отображать единицы времени, валюту или числа, но я скоро буду там, и мне нужно будет разработать решение.
- Я использую набор символов UTF-8 по всем направлениям.
- Мои меню и различные списки в приложении отсортированы в алфавитном порядке для каждого языка для облегчения чтения.
- У меня есть парсер тегов, который извлекает теги, отфильтровывая стоп-слова. Список стоп-слов зависит от языка и может быть заменен.
О чем я хотел бы узнать больше:
- Я разрабатываю загружаемое веб-приложение PHP, поэтому я буду благодарен за любые конкретные советы по PHP. Я разработал свой собственный фреймворк и в настоящее время не заинтересован в использовании других фреймворков.
- Я очень мало знаю о незападных языках. Есть ли особые соображения, которые необходимо принять во внимание, которые я не упомянул выше? Кроме того, как функции сортировки массивов PHP обрабатывают незападные символы?
- Есть ли какие-то особые подводные камни, с которыми вы сталкивались на практике? Я смотрю как на графический интерфейс, так и на сам код приложения.
- Какие-нибудь конкретные советы по работе с дисплеями даты и времени? Есть ли разбивка по регионам или языкам?
- Я видел множество проектов и сайтов, позволяющих своим сообществам переводить свои приложения и контент. Вы рекомендуете это и каковы некоторые хорошие стратегии для обеспечения хорошего перевода?
- Этот вопрос в основном связан с тем, что я знаю об интернационализации. Чего я не знаю, чего не знаю, что мне следует изучить дальше?
Изменить: я добавил награду, потому что хотел бы получить больше реальных примеров из опыта.