Я ищу мнения от экспертов, которые записали программное обеспечение, использованное на международном уровне. Я хотел бы понять, что люди лучших практик использовали на каждом логическом softare слое (Данные (rdbms), Бизнес (промежуточное программное обеспечение), Пользовательский интерфейс).
Спасибо за любую справку можно дать.
не
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 .
Убедитесь, что в управлении интерфейсами UI много свободных номеров. Текст имеет тенденцию стать намного дольше, когда переводится с английского на что-то вроде французского или немецкого языка.
Несмотря на то, что он несколько сосредоточен на стороне Windows I18n вещей, обратите внимание на блог Michael Kaplan . Он очень хорошо разбирается в этой области, и разместил много постов блогов, содержащих общие вещи, которые полезны.
Unicode (или WHAR, или все равно его эквивалент на <язык выбора>) везде. Не храните этикетки в базе данных. Будьте готовы разрешить текст и элементы управления, чтобы пройти «неправильно», то есть право налево.
Для локализации не жесткодействуют строки пользовательского интерфейса. Используйте что-то вроде getText.
Если вы используете .NET, система ресурсов (.resx) System очень гибкая.
Посмотрите на использование ResourceManager.GetString («Струнное наименование», CultureInfo).
Мы используем эту систему, чтобы перевернуть между английским, немецким, французским, испанским, русским и арабским, совершенно успешно.
также при рассмотрении использования в иностранных локалях провести некоторое время, глядя на ввод, а также вывод; Турецкая проблема является хорошим примером того, как могут вызвать различные входы.
Вы могли бы написать книгу по этой теме.
На всех уровнях не делайте предположений о:
Я уверен, что я только царапаю поверхность.