Лучшие практики для записи программного обеспечения, которое будет использовано на международном уровне (i18n)

Я ищу мнения от экспертов, которые записали программное обеспечение, использованное на международном уровне. Я хотел бы понять, что люди лучших практик использовали на каждом логическом softare слое (Данные (rdbms), Бизнес (промежуточное программное обеспечение), Пользовательский интерфейс).

Спасибо за любую справку можно дать.

11
задан x450riderx 15 January 2010 в 15:06
поделиться

6 ответов

данные

  • При переходе в UTF-8 можно подготовить для Символы, чтобы занять до 3 байтов каждый (в случае китайского), что означает, что Varchar (20) теперь должен быть варечана (60).
  • Если вы Действительно имеют вескую причину для этого, для любви к Богу, не храните ваши пользовательские переводы в БД.

Бизнес

  • проводит много времени на требования. В качестве отправной точки возьмите скриншот каждого экрана в вашем приложении, поместите его в документ и начните ящики для рисования вокруг вещей, которые требуют поддержки I18N. Затем сопоставьте каждую из этих ящиков к области кода, который необходимо изменить.

UI

не

string foo = "Page " + currentPage + " of " + totalPages;

сделать

string foo = string.Format("Page {0} of {1}", currentPage, totalPages);

Почему? Слово заказывает вопросы.

<value>Page {0} of {1}</value>
 <value>{1}ページ中の第{0}ページ</value>

Ничто не священо в UI Даже что-то в качестве фундаментальной, как показывая зеленый для положительных чисел и красных для отрицательных чисел Fair Game .

9
ответ дан 3 December 2019 в 05:12
поделиться

Убедитесь, что в управлении интерфейсами UI много свободных номеров. Текст имеет тенденцию стать намного дольше, когда переводится с английского на что-то вроде французского или немецкого языка.

Несмотря на то, что он несколько сосредоточен на стороне Windows I18n вещей, обратите внимание на блог Michael Kaplan . Он очень хорошо разбирается в этой области, и разместил много постов блогов, содержащих общие вещи, которые полезны.

5
ответ дан 3 December 2019 в 05:12
поделиться

Unicode (или WHAR, или все равно его эквивалент на <язык выбора>) везде. Не храните этикетки в базе данных. Будьте готовы разрешить текст и элементы управления, чтобы пройти «неправильно», то есть право налево.

2
ответ дан 3 December 2019 в 05:12
поделиться

Для локализации не жесткодействуют строки пользовательского интерфейса. Используйте что-то вроде getText.

2
ответ дан 3 December 2019 в 05:12
поделиться

Если вы используете .NET, система ресурсов (.resx) System очень гибкая.

Посмотрите на использование ResourceManager.GetString («Струнное наименование», CultureInfo).

Мы используем эту систему, чтобы перевернуть между английским, немецким, французским, испанским, русским и арабским, совершенно успешно.

также при рассмотрении использования в иностранных локалях провести некоторое время, глядя на ввод, а также вывод; Турецкая проблема является хорошим примером того, как могут вызвать различные входы.

0
ответ дан 3 December 2019 в 05:12
поделиться

Вы могли бы написать книгу по этой теме.

На всех уровнях не делайте предположений о:

  • ширине текста
  • направленности текста
  • лексике натурального языка
  • валюте (формат, десятичная точность, налогообложение и т.д.)
  • грамматике и орфографии
  • алфавитах
  • системах чисел и форматировании
  • порядке сортировки
  • датах, времени, часовых поясах и календарях
  • социальных конвенциях или ссылках на культуру (иконки, флаги и т.д.). )
  • поиск
  • капитализация
  • адреса
  • имена собственные (имя/статус и т.д.)
  • номера телефонов
  • правовые/нормативные требования
  • использование номеров социального страхования или других местных конвенций

Я уверен, что я только царапаю поверхность.

4
ответ дан 3 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: