У меня есть два ресурс файлов под App_GlobalResources
Nightmare с локализацией по глобальным ресурсам
MyApp.resx
MyApp.sv.resx
для тех, кто не знает: Всех языков Откат к MyApp.resx
кроме шведского UICulture будет использовать MyApp.sv.resx
и у меня есть простая страница, которая показывает 3 <asp:Label>
в witch Text
Недвижимость называется по-другому:
<i>using Resource.Write:</i><br />
<asp:Label ID="Label1" runat="server" />
<hr />
<i>using HttpContext.GetGlobalResourceObject:</i><br />
<asp:Label ID="Label2" runat="server" />
<hr />
<i>using Text Resources:</i><br />
<asp:Label ID="Label3" runat="server"
Text="<%$ Resources:MyApp, btnRemoveMonitoring %>" />
<p style="margin-top:50px;">
<i>Current UI Culture:</i><br />
<asp:Literal ID="litCulture" runat="server" />
</p>
Label3
является единственным называется на странице, то первые 2 установлены как:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Label1.Text = Resources.AdwizaPAR.btnRemoveMonitoring;
Label2.Text = HttpContext.GetGlobalResourceObject("MyApp", "btnRemoveMonitoring").ToString();
litCulture.Text = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
}
}
, если я использую языкбраузер все работает отлично, но я хочу, чтобы переопределить эту настройку и нагрузки правильный перевод основан на другом входе, так что мне нужно перезаписать UICulture
и для этого я использую:
protected void Page_Init(object sender, EventArgs e)
{
Page.Culture = "en-US";
Page.UICulture = "en-US";
}
ведьма такой же, как:
protected void Page_Init(object sender, EventArgs e)
{
System.Globalization.CultureInfo cinfo = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
System.Threading.Thread.CurrentThread.CurrentCulture = cinfo;
System.Threading.Thread.CurrentThread.CurrentUICulture = cinfo;
}
со всем этим, что я получаю это:
Другими словами я получаю правильную локализацию только если я использую code-behind
, чтобы установить правильный текст , вся локализация inline
просто использует язык браузера.
Что мне не хватает?
Я наследую свои страницы из одного класса ... добавил туда, но спасибо за головы. – balexandre