Это было некоторое время, таким образом, это не всесторонне.
Наборы символов
Unicode является большим, но Вам не может сойти с рук игнорирование других наборов символов. Набор символов по умолчанию на Windows XP (английский язык) является Cp1252. В сети Вы не знаете то, что браузер отправит Вам (хотя, надо надеяться, Ваш контейнер обработает большую часть из этого). И не удивляйтесь, когда существуют ошибки в любой реализации, Вы используете. Наборы символов могут иметь интересные взаимодействия с именами файлов, когда они перемещаются в между машинами.
Строки Перевода
Переводчики, вообще говоря, не кодеры. Если Вы отправите исходный файл в переводчика, они повредят его. Строки должны быть извлечены к файлам ресурсов (например, файлы свойств в Java или ресурсе DLLs в Visual C++). Переводчикам нужно дать файлы, которые трудно повредить и инструменты, которые не позволяют им повредить их.
Переводчики не знают, куда строки прибывают из в продукте. Трудно перевести строку без контекста. Если Вы не дадите представление, качество перевода пострадает.
, В то время как на предмет контекста, можно видеть, та же строка "нечто" неожиданно возникает в многократно и думает, что было бы более эффективно иметь все экземпляры в точке UI к тому же ресурсу. Это - плохая идея. Слова могут быть очень контекстно-зависимыми на некоторых языках.
строки Перевода стоит денег. При выпуске новой версии продукта имеет смысл восстанавливать старые версии. Имейте инструменты для восстановления строк со старых файлов ресурсов.
Конкатенация строк и ручное управление строками должны быть минимизированы. Используйте функции формата когда это применимо.
Переводчики должны быть в состоянии изменить горячие клавиши. Ctrl + P является печатью на английском языке; немцы используют Ctrl + D .
, Если у Вас есть процесс перевода, который требует, чтобы кто-то вручную вырезал и вставил строки в любое время, Вы напрашиваетесь на неприятности.
Даты, Времена, Календари, Валюта, Числовые форматы, Часовые пояса
Они могут все варьироваться от страны к стране. Запятая может использоваться для обозначения десятичных разрядов. Времена могут быть в 24-часовой нотации. Не все используют Григорианский календарь. Необходимо быть однозначными, также. Если Вы заботитесь для отображения дат как MM/DD/YYYY для США и DD/MM/YYYY для Великобритании на веб-сайте, даты неоднозначны, если пользователь не знает, что Вы сделали его.
Особенно Валюта
функции Локали, обеспеченные в библиотеках классов, дадут Вам символ местной валюты, но Вы не можете только засунуть фунт (стерлинг) или европейский символ перед значением, которое дает цену в долларах.
Пользовательские интерфейсы
Расположение должно быть динамичным. Мало того, что строки, вероятно, удвоятся в длине на переводе, весь UI, возможно, должен быть инвертирован (иврит; арабский язык) так, чтобы средства управления, выполненные справа налево. И это - прежде чем мы доберемся до Азии.
Тестирование До Перевода
Нетехнические вопросы
Иногда необходимо быть чувствительны к культурным различиям (преступление, или непонимание может закончиться). Ошибка, которую Вы часто видите, является использованием флагов как визуальный индикатор, выбирая язык веб-сайта или географию. Если Вы не хотите, чтобы Ваше программное обеспечение объявило стороны в глобальной политике, это - плохая идея. Если Вы были французами и предложили опцию для английского языка с флагом Св. Георгия (флагом Англии является Красный Крест на белом поле), это могло бы привести к беспорядку для многих англоговорящих - предполагают, что подобные проблемы возникнут с иностранными языками и странами. Значки должны исследоваться для культурной уместности. Что делает ползунки или зеленую среднюю галочку? Язык должен быть относительно нейтральным - обращение к пользователям конкретным способом может быть приемлемым в одном регионе, но рассмотренное грубым в другом.
Ресурсы
C++ и программисты Java могут найти веб-сайт ICU полезным: http://www.icu-project.org/
Вы пытались деактивировать профиль wls7 (начиная с maven 2.0.10):
Начиная с Maven 2.0.10, один или больше профилей можно отключить с помощью командную строку, добавив их идентификатор с символом '!' или "-", как показано ниже:
mvn groupId: artifactId: goal -P! profile-1,! profile-2
Это можно использовать для отключения профили, отмеченные как activeByDefault или профили, которые иначе были бы активируется через их активацию config.
А затем добавьте свою конфигурацию в профиль с другим именем или прямо в свой pom.xml
.