Tôi có một ứng dụng Net trong C# và tôi có một cái gì đó cấu trúc tập tin như:Lập trình tập tin tài nguyên thay đổi ngôn ngữ (resx) ở Mã Đằng sau
App_LocalResources
- MyPage.aspx.resx
- MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs
Tôi cố gắng để programatically thay đổi ngôn ngữ mà nói với các ứng dụng mà resx tập tin để sử dụng. Tôi muốn làm điều này trong mã phía sau tập tin (MyPage.aspx.cs).
Tôi đã thử cả hai trong những sự kiện OnPreRender, Page_Init, và Page_Load:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
và nó không hoạt động. Trang vẫn hiển thị ngôn ngữ tiếng Anh. Tệp MyPage.aspx có:
<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>
Lưu ý rằng tôi không thể quan tâm đến ngôn ngữ trình duyệt. Nó phải vượt qua điều này. Tôi đã tìm kiếm trên web để giải pháp này không có kết quả. Tất cả các ví dụ cho thấy việc chuyển đổi ngôn ngữ theo cách tôi đã thử (ở trên) tuy nhiên điều này không ảnh hưởng đến tệp tài nguyên được sử dụng. Bất kỳ ý tưởng?
MartinB bạn có cảm ơn ấn tượng của tôi. Hoặc tôi đã tìm kiếm với các điều khoản sai hoặc có rất ít thông tin về điều này trực tuyến. Điều đó làm việc hoàn hảo. Tôi rất vui vì điều này sẽ được thực hiện trên SO cho những người trong tương lai tìm kiếm câu trả lời. Cảm ơn bạn! – Sherri