ASP.Net: Подходы к многоязычным веб-сайтам с Javascript и AJAX - PullRequest
1 голос
/ 10 октября 2008

Мы недавно завершили этап 1 веб-сайта ASP.Net на английском и французском языках. Мы использовали файлы ресурсов для хранения специфичных для языка строк, но поскольку сайт активно использовал ASP.Net AJAX и javascript, мы разработали решение для передачи нужных файлов через конвейер ASP.Net, где мы могли бы ловить «токены» и заменять их с соответствующим текстом, извлеченным из файлов ресурсов.

Это второй проект, в котором я участвовал, с такими проблемами: первый, в котором текстовые строки сохранялись в базе данных, и вместо ASP.Net AJAX использовались инструменты AJAX, которые поставляются с Prototype. библиотеку и поместите весь Javascript в aspx файлы, чтобы токены могли быть заменены при выходе.

Интересно, кто-нибудь еще сталкивался с подобным сценарием? Какой подход вы выбрали? Какие уроки были извлечены? Как вы справились с такими вещами, как интернационализированные форматы дат?

Ответы [ 2 ]

1 голос
/ 10 октября 2008

В моем основном проекте (RAD-фреймворк, использующий PHP с gettext для переводов), мы уже выполняем много операций по подготовке файлов javascript, таких как слияние и сведение их. В рамках этих предварительных операций мы анализируем gettext-маркеры и заменяем их текстом, специфичным для языка.

Результат сохраняется как файл javascript и обычно включается в html.

<script scr="var/scripts/en_GB-76909c49e9222ec2bb2f45e0a3c8baef80deb665.js"></script>

Имя файла содержит Locale и хеш-значение для кэширования.

Значения даты и денег всегда конвертируются из системного формата в формат Locale на выходе и наоборот для ввода.

0 голосов
/ 21 июля 2009

Для работы с il8n в наших приложениях мы динамически создаем файл JavaScript (на основе интересующей нас локали), который содержит ключи и переводы, например,

LOCALISATIONS = {
    'util.date.day.long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
    'util.date.day.short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
    ...
};

и другой код JavaScript будут использовать этот объект для получения переведенного текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...