Как получить и установить cultureInfo - PullRequest
1 голос
/ 09 апреля 2020

Я использую Umbraco 7 с пользовательским элементом управления на странице. Я создал несколько файлов resx для Франции (например, но во многих других странах)

При загрузке страницы у меня есть следующий код

var cultureInfo = System.Globalization.CultureInfo.GetCultureInfo("fr-FR");
System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;

Мой шаблон установлен с href lang="en" по умолчанию , Культуры и имена хостов установлены как inherited, но я никогда не могу установить культуру на то, что я хочу?

Пример

Моя структура сайта

site.com / parent / child

Когда пользователь попадает на дочернюю страницу, содержащую элемент управления, я хочу перевести данные.

Я хочу проверить данные для Франции. Я выполняю приведенный выше код при загрузке страницы, которая жестко запрограммирована во Францию ​​(я могу изменить ее на динамическую c позже) только для тестирования.

В настоящее время я загружаю данные Францией, которая отображает французские данные как это сохраняется с FR-FR в базе данных.

Проблема, с которой я сталкиваюсь, состоит в том, что мой файл resx содержит текст для французского языка, который никогда не отображается на элементах управления. Появляется в Engli sh.

Так что код разметки для текста метки похож на

<asp:label runat="server" id="lblSayHello" Text="<% Resources:Resource SayHello%>" />

Так что я настраивал и жестко программировал язык при загрузке страницы, который я ожидал увидеть Добрый день, но вместо этого я вижу привет (из файла Resource.resx по умолчанию). Bonjour - это текст, который я имею против файла resx fr-FR, который не отображается.

Как я могу это сделать?

1 Ответ

0 голосов
/ 09 апреля 2020

Go на вкладку настроек и в папку языков добавьте новый язык / язык.

Затем задайте имя культуры / хоста для шаблона или шаблон, который наследует его имена культур / хостов.

...