Я использую 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, который не отображается.
Как я могу это сделать?