Особенности дизайна для интернационализации - PullRequest
43 голосов
/ 13 марта 2009

Я прочитал статью Джоэла о Юникод и чувствую, что у меня есть хотя бы базовое понимание интернационализации с точки зрения набора символов. В дополнение к чтению этого вопроса я также провел некоторые собственные исследования интернационализации с точки зрения дизайна, но я не могу не предположить, что есть гораздо больше, что я просто не знаю или не знаю, чтобы спросить.

Некоторые вещи, которые я выучил:

  • Некоторые языки читаются справа налево вместо слева направо.
  • Календарь, даты, время, валюта и цифры отображаются по-разному с языка на язык.
  • Дизайн должен быть достаточно гибким, чтобы разместить гораздо больше текста, потому что некоторые языки намного более многословны чем другие.
  • Не берите значки или цвета для само собой разумеющимся, когда дело доходит до их семантическое значение, как это может варьироваться из культуры в культуру.
  • Географическая номенклатура варьируется от язык к языку.

Где я нахожусь:

  • Мой дизайн достаточно гибок, чтобы разместите намного больше текста.
  • Я автоматически перевожу каждый строка, включая сообщения об ошибках и диалоговые окна справки.
  • Я еще не пришел к точке, где Мне нужно было отобразить единицы времени, валюта или цифры, но я буду там в скором времени и нужно будет разработать решение.
  • Я использую набор символов UTF-8 через доску.
  • Мои меню и различные списки в приложении отсортированы для удобства чтения по алфавиту для каждого языка.
  • У меня есть парсер тегов, который извлекает теги путем фильтрации стоп-слов. список стоп-слов зависит от языка и может быть заменен.

О чем я хотел бы узнать больше:

  • Я разрабатываю загружаемое веб-приложение на PHP, поэтому любые конкретные советы в отношении PHP будет принята с благодарностью. Я разработал свою собственную структуру и не заинтересован в использовании других рамки в это время.
  • Я очень мало знаю о незападных языки. Есть ли конкретные соображения, которые необходимо принять на счет того, что я не упомянул выше? Кроме того, как сделать массив PHP функции сортировки обрабатывают незападные символы?
  • Есть ли какие-то особые ошибки, которые Вы испытали на практике? Я смотрю с точки зрения как GUI, так и самого кода приложения.
  • Любой конкретный совет по работе с дата и время отображаются? Есть ли разбивка по регионам или язык
  • Я видел много проектов и сайтов пусть их общины обеспечивают перевод для своих приложений и содержание. Вы рекомендуете это и каковы некоторые хорошие стратегии для убедиться, что у вас есть хороший перевод
  • Этот вопрос в основном степень о том, что я знаю о интернационализация. Что я не знаю, что я не знаю, что я должен заглянуть дальше?

Редактировать : Я добавил награду, потому что хотел бы получить больше примеров из реального мира.

Ответы [ 11 ]

1 голос
/ 20 марта 2009

Да, это массивный субъект. Правильно понять это - огромная работа.

В моей программе я использую целочисленную клавишу для каждого фрагмента текста и при необходимости ищу его в файле в зависимости от языка. В коде нет буквальных строк, только ключи. Я определяю их с помощью «enum» в C ++, поэтому я не набираю цифры. Я написал утилиту для синхронизации различных языковых файлов, когда добавляю больше перечислений и переводчики заполняют пробелы.

Каждая клавиша также имеет соответствующую подсказку, изображение, сочетание клавиш и т. Д.

Что касается времени и дат ... опять же, это намного сложнее, чем вы думаете, но разве PHP не справится с этим для вас? (Я не знаю, я парень C ++ ...)

...