Я не могу изменить культуру страницы .aspx.
Когда я указываю язык с помощью директивы страницы вверху:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="VideoPlayerPrototype.Index" Culture="ur-PK" UICulture="ur-PK" %>
Все работает как положено.
Что я хотел бы сделать, так это уметь изменять локализацию, когда пользователь нажимает на ссылку.
Ссылка:
<asp:ImageButton ID="lang_ur-PK"
ImageUrl="~/content/image/flag-of-pakistan.png"
runat="server"
CssClass="language"
Height="64px"
Width="64px"
OnClick="setLanguage" />
метод setLanguage:
protected void setLanguage(Object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ur-PK");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("ur-PK");
Response.Redirect(Request.Path);
}
Вызов этого кода просто перезагружает страницу и не загружает правильный язык.
У меня есть файлы .resx, хранящиеся в App_LocalResources и App_GlobalResources:
Index.aspx.resx, Index.aspx.en.resx, Index.aspx.ur-PK.resx, Index.aspx.ur.resx и т. Д.
Вот пример элемента управления, который должен быть локализован:
<asp:Label id="lblInfoWelcomeMsg" runat="server"
Text="<%$ Resources:LocalizedText, Summary_Info_WelcomeMsg %>"></asp:Label>
Спасибо