Шаги по разработке многоязычного веб-приложения - PullRequest
0 голосов
/ 30 ноября 2010

Каковы этапы разработки многоязычного веб-приложения?

Должен ли я хранить тексты языков и ресурсы в базе данных или использовать файлы свойств или файлы ресурсов?

Я понимаю, что мне нужно использовать CurrentCulture только с C # и CultureFormat и т. Д.

Я хотел бы узнать ваше мнение о шагах по созданию многоязычного веб-приложения.

Не обязательно должен зависеть от языка. Я просто ищу шаги, чтобы построить это.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

Конкретные механизмы различаются в зависимости от платформы, на которой вы разрабатываете.

В качестве краткого набора рабочих элементов:

  1. Отделение кода от контента. Как правило, ресурсы компилируются в сборки с помощью файлов ресурсов (в точечной сети) или хранятся в файлах свойств (в Java, хотя есть и другие параметры) или в каком-либо другом месте и упоминаются по идентификатору. Если вы хотите, чтобы затраты на локализацию были разумными, вам следует избегать изменений идентификаторов между выпусками, поскольку большинство инструментов локализации будут воспринимать новые идентификаторы как новый контент.
  2. Идентификация областей в приложении, которые делают предположения о локали пользователя, особенно дата / время, валюта, форматирование чисел или ввод.
  3. Создать некоторый механизм для локализованного CSS-контента; не все шрифты работают для всех языков, и не все размеры шрифтов являются нормальными для всех языков. Не рисуйте себя в угол, заставляющий тайский текст отображаться в 8 пунктах. Кроме того, направленность текста будет справа налево как минимум для двух языков.
  4. Создайте содержимое своей страницы так, чтобы оно переформатировалось или изменяло размер при наличии большего или меньшего количества содержимого, чем вы ожидаете. Многие языки расширяют 50-80% от английского для коротких строк и 30-40% для более длинных частей контента (это грубое правило, а не закон).
  5. Определите культурные предположения, сделанные вашими дизайнерами пользовательского интерфейса, и постарайтесь сделать их более нейтральными или, если у вас есть деньги и здравый смысл, чтобы их можно было локализовать. Почтовые ящики везде не выглядят одинаково, жесты рук не универсальны, и что-то милое, умное или опирающееся на визуальный каламбур не обязательно будет хорошо перемещаться.
  6. Выберите подходящие кодировки для поддерживаемых языков. Теперь разумно использовать UTF-8 для всего контента, отправляемого в веб-браузеры, независимо от языка.
  7. Выберите подходящие параметры сортировки для своих баз данных или включите альтернативные параметры сортировки, если вы имеете дело с контентом на нескольких языках в ваших базах данных. Нечувствительность к регистру работает во многих языках иначе, чем в английском, а нечувствительность к акценту приемлема в некоторых языках и, как правило, не подходит в других.
  8. Не предполагайте, что слова разделены пробелами или что предложения разделены пунктуацией, если вы пытаетесь поддержать поиск.

Избегайте:

  1. Хранение локализованного контента в базах данных, если только нет действительно веской причины. А потом подумайте еще раз. Если у вас есть контент, который несколько динамичен, и представители каждого региона должны настроить его, может быть целесообразно хранить определенные категории контента с соответствующим идентификатором локали.
  2. Пытаться быть умным с конкатенацией строк. Кроме того, старайтесь не принимать правила о плюрализации или подсчете работы одинаково для каждой культуры. Убедитесь, что, по крайней мере, порядок строк (и элементов управления) может быть задан с помощью строк форматирования, которые типичны для вашей платформы, или хорошо документированы в вашем наборе локализации, если вы решите свернуть свои собственные по некоторым причинам.
  3. Предполагается, что локализаторы исправляют ошибки кода. Это обычно не разумно, по крайней мере, если вы хотите доставить свой продукт в разумные сроки и по разумной цене; иногда это даже невозможно.
0 голосов
/ 30 ноября 2010

Первый шаг - интернационализация .Второй шаг - локализация .Третий шаг - перевести .

...