Umbraco мультиязычный с изменением URL
Я работаю с Umbraco v7.x. У меня немного статических страниц, и их нужно добавить на двух языках (en/da).
Я знаю, что есть два способа перевести
1- Скопируйте папку и назначьте другую культуру и имя хоста и добавьте данные полей в соответствии с языком.
2 - Использовать элементы словаря.
Но моя проблема в том, что клиент хочет иметь настраиваемые поля на всех страницах, чтобы он мог изменять статические данные страницы без необходимости спрашивать разработчика. Так что, если я использую первый метод для изменения языка, это также изменит URL, который не требуется для этого решения.
Во-вторых, я использую словарь, чем то, как клиент может изменить данные поля, потому что он должен был перейти к элементам словаря и внести какие-либо изменения там. Это не проблема, но текст должен быть отформатирован, и это невозможно, если я использую элементы словаря.
Любое решение этой проблемы.
Спасибо
1 ответ
Я рекомендую использовать Vorto, если вы хотите перевести сайт 1:1 (это означает, что каждый фрагмент контента имеет перевод для каждого языка. Используйте элементы словаря для текста, который был жестко запрограммирован в вашем шаблоне, но Vorto обернет ваши редакторы свойств так, чтобы вы могли редактировать каждый язык в том же узле. Затем вы можете использовать HasVortoValue()
а также GetVortoValue()
вместо HasValue()
а также GetPropertyValue()
методы, которые идут с Umbraco. Это вернет правильное значение в зависимости от культуры запроса. Вам также потребуется настроить Umbraco для загрузки многоязычного контента, указав имя хоста и связав его с культурой. Это можно сделать, выбрав "Культура и имена хостов" в контекстном меню для домашнего узла и нажав "Добавить домен" (сначала вам нужно будет добавить язык в разделе "Настройки"):
В качестве альтернативы, если вы хотите использовать подпапку для каждого языка вместо отдельного домена (например, sitename.com/english вместо english.sitename.com), вы можете создать собственный Content Finder. Я написал пару постов в блоге о том, как это сделать здесь и здесь.