Ответ 1
Несколько вещей, которые я узнал:
-
Абсолютно и жестоко минимизировать количество изображений, которые у вас есть, содержащие текст. Это сделает вашу жизнь на миллиард процентов легче, поскольку вам не нужно будет получать новый набор изображений для каждого языка friggin.
-
Будьте очень осторожны с позиционированием css, который полагается на вещи, всегда остающиеся одного размера. Если эти вещи содержат текст, они будут не оставаться одинакового размера, и вам нужно будет вернуться и исправить свои проекты.
-
Если вы используете типы символов в своих таблицах sql, убедитесь, что любой из тех, кто может принимать международный ввод, является unicode (nchar, nvarchar, ntext). В этом отношении я бы просто стандартизовал использование версий Unicode.
-
Если вы создаете SQL-запросы динамически, убедитесь, что вы включили префикс N перед любым цитированным текстом, если есть вероятность, что текст может быть unicode. Если вы вставляете мусор в таблицу SQL, проверьте, нет ли там.
-
Убедитесь, что все ваши веб-страницы окончательно заявили, что они находятся в формате юникода. См. Статью Джоэля, упомянутую выше.
-
Вы собираетесь использовать файлы ресурсов для этого проекта. Это хорошо - ASP.NET 2.0 имеет большую поддержку для таких. Вы захотите заглянуть в папку App_LocalResources и App_GlobalResources, а также GetLocalResourceObject, GetGlobalResourceObject и концепцию meta: resourceKey. В главе 30 Профессиональный ASP.NET 2.0 есть отличный контент. 3.5 версия книги также может содержать хороший контент, но я не владею им.
-
Подумайте о шрифтах. Многие стандартные шрифты, которые вы, возможно, захотите использовать, не поддерживают Unicode. Мне всегда повезло с Arial Unicode MS, MS Gothic, MS Mincho. Тем не менее, я не уверен, насколько это кросс-платформа. Также обратите внимание, что не все шрифты поддерживают все определения символа Юникода. Опять же, тест, тест, тест.
-
Теперь начните думать о том, как вы собираетесь получать переводы в эту систему. Поговорите с тем, кто ваш поставщик перевода, о том, как они хотят, чтобы данные передавались взад и вперед для перевода. Подумайте о том, что через ваши локальные файлы ресурсов вы, вероятно, будете повторять некоторые часто используемые строки через систему. Вы нормализуете их в глобальных файлах ресурсов или у вас есть какой-то уровень базы данных, где генерируется только одна копия каждого используемого текста. В нашем недавнем проекте мы использовали файлы ресурсов, которые были созданы из таблицы базы данных, содержащей все переводы и оригинальную английскую версию файлов ресурсов.
-
Test. Вообще-то я буду тестировать на немецком, польском и азиатском языках (японском, китайском, корейском). Немецкий и Польский многословны и почти гарантированно растягивают текстовые области, азиатские языки используют совершенно другой набор символов, который проверяет вашу поддержку юникода.