Итак, мы рассмотрели, как делать локализацию строк в XML-шаблонах и XSLT-функциях.
А что если у вас есть несколько шаблонов и много таких функций. Искать и заменять строки на ресурсные в таком случае будет долгим занятием.
Для автоматизации этого процесса есть пакет расширения Frontend Localizer. Что он делает?
Он сканирует все XML-шаблоны и XSLT-функции на предмет строк, создает запись в .resx-файле для каждой найденной строки, а саму строку в шаблоне или функции заменяет ссылкой на эту запись. Точно то же, что вы делаете при локализации строк - только вручную.
Установка пакета
Установка пакета Frontend Localizer ничем не отличается от установки любого другого пакета с сервера пакетов Composite C1 CMS.
Пакет относится к группе Composite.Navigation и его полное название Composite.Navigation. FrontendLocalizer.
(Если вы используете одну из последних бета-версий Composite C1 CMS 4.0, то вам нужно будет заменить следующую строку в FrontendLocalizer.aspx после установки пакета:
IPageTemplate заменить на IXmlPageTemplate.
Это связано с тем, что в версии 4.0 значительно расширена поддержка шаблонов на основе разных технологий и стандартный XML-шаблон теперь станет "одним из" стандартных шаблонов, поэтому он был переименован. А пакет Frontend Localizer пока еще не был обновлен под бета-версию.)
Автоматический перенос строк в ресурсные файлы
Чтобы осуществить локализацию существующих XML-шаблонов и XSLT-функций:
Перевод ресурсных строк
Несколько замечаний:
Предыдущие сообщения:
Читайте также:
А что если у вас есть несколько шаблонов и много таких функций. Искать и заменять строки на ресурсные в таком случае будет долгим занятием.
Для автоматизации этого процесса есть пакет расширения Frontend Localizer. Что он делает?
Он сканирует все XML-шаблоны и XSLT-функции на предмет строк, создает запись в .resx-файле для каждой найденной строки, а саму строку в шаблоне или функции заменяет ссылкой на эту запись. Точно то же, что вы делаете при локализации строк - только вручную.
В результате вы получаете .resx-файл со строками на языке сайта по умолчанию. И все, что вам осталось сделать - создать языковую копию этого файла и перевести строки в этой копии на нужный вам язык, используемый на сайте.
Установка пакета
Установка пакета Frontend Localizer ничем не отличается от установки любого другого пакета с сервера пакетов Composite C1 CMS.
Пакет относится к группе Composite.Navigation и его полное название Composite.Navigation. FrontendLocalizer.
(Если вы используете одну из последних бета-версий Composite C1 CMS 4.0, то вам нужно будет заменить следующую строку в FrontendLocalizer.aspx после установки пакета:
foreach (var layout in DataFacade.GetData<IPageTemplate>())
IPageTemplate заменить на IXmlPageTemplate.
foreach (var layout in DataFacade.GetData<IXmlPageTemplate>()
Это связано с тем, что в версии 4.0 значительно расширена поддержка шаблонов на основе разных технологий и стандартный XML-шаблон теперь станет "одним из" стандартных шаблонов, поэтому он был переименован. А пакет Frontend Localizer пока еще не был обновлен под бета-версию.)
Автоматический перенос строк в ресурсные файлы
Чтобы осуществить локализацию существующих XML-шаблонов и XSLT-функций:
- Откройте страницу http://<ваш_сайт>/FrontendLocalizer.aspx в вашем браузере.
- Если вас не устраивает имя файла по умолчанию, введите свое (по умолчанию, "Localization.resx")
- Нажмите Localize.
Перевод ресурсных строк
И теперь вы можете приступить у же к знакомой вам процедуре перевода строк в файлах локализации:
- Создайте языковую копию автоматически сгенерированного файла, например Localization.ru-ru.resx.
- Переведите значения строк (поле Value) второй язык сайта (например, русский).
Напомню, что .resx-файлы удобно редактировать в Visual Studio.
Несколько замечаний:
- Frontend Localizer создает резервные копии измененных файлов в папке ~/App_Data/Backups/FrontendLocalizer и вы всегда можете "откатить" изменения.
- Если у вас появились новые шаблоны или функции или новые строки в шаблонах и функциях без локализации, вам нужно будет повторить процедуру автоматического переноса строк в ресурсные файлы (см. выше). Но для этого вам нужно будет указать новое имя файла, так как существующий файл перезаписать нельзя.
- Вы также можете вручную добавлять новые строки в автоматически сгенерированные файлы локализации.
- Создание многоязычного сайта в Composite C1 CMS (1). Введение
- Создание многоязычного сайта в Composite C1 CMS (2). Добавление языка
- Создание многоязычного сайта в Composite C1 CMS (3). Перевод страниц
- Создание многоязычного сайта в Composite C1 CMS (4). Переключение языка
- Создание многоязычного сайта в Composite C1 CMS (5). Перевод данных
- Создание многоязычного сайта в Composite C1 CMS (6). Перевод форм
- Создание многоязычного сайта в Composite C1 CMS (7). Перевод строк в шаблонах и функциях
Читайте также:
Комментариев нет:
Отправить комментарий