Проблема с изменением культуры - PullRequest
2 голосов
/ 16 августа 2010

Я переопределил InitializeCulture на базовой странице.

Protected Overrides Sub InitializeCulture()
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("Fa-IR")
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("Fa-IR")
    MyBase.InitializeCulture()
End Sub

но все же моя культура - английское объединенное государство. и тексты еще на английском и не персидские.


Я хочу изменить это программно. У меня есть местные и глобальные английские и персидские ресурсы. Я хочу переключаться между ними. Как я могу это исправить?

когда я ставлю Защищенные переопределения Sub InitializeCulture () на главной странице это прекрасно работает! но в противном случае, когда я положил его на базовой странице нет. в чем проблема?

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Мне показалось необычным, что вы инициализируете метод базового класса последней строкой. Моя первая ставка была на то, что это отменяет инициализацию вашей культуры. Но я проверил это - это не проблема. Ваш код должен работать в любом случае.

Вы уверены, что в вашем коде нет другого места с инициализацией культуры? CurrentThread является глобальной переменной, и если вы измените ее где-нибудь еще (в веб-элементе управления? На уровне данных?), Это повлияет на вашу страницу.

Вот мой пример кода, работающий на немецком / английском. Должно работать и на персидском / английском.

Partial Public Class _Default
    Inherits BasePage
End Class

Public Class BasePage
    Inherits System.Web.UI.Page

    Protected Overrides Sub InitializeCulture()
        MyBase.InitializeCulture()
        Dim cultureInfo = New CultureInfo("de-DE")
        Thread.CurrentThread.CurrentCulture = cultureInfo
        Thread.CurrentThread.CurrentUICulture = cultureInfo
    End Sub
End Class
2 голосов
/ 16 августа 2010

Если вы хотите установить культуру для вашего всего сайта ASP.NET, вы можете сделать это в файле web.config:

<globalization uiCulture="Fa-IR" culture="Fa-IR" />

См. Локализация Made Easy Статья.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...