Ошибка .net Имя культуры "az-az" не поддерживается. Имя параметра: имя

Я пытаюсь внедрить разные языки на свой сайт, и до сих пор не было проблем с моей настройкой.

Я создаю Language.en.resx, Language.nl.resx и т. д. и помещаю их в папку App_GlobalResources. Затем с кодом blewlo я позволяю пользователям устанавливать предпочитаемый язык

protected override void InitializeCulture()
{

    if (string.IsNullOrEmpty(site_language))
    {
        System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-GB");
        System.Threading.Thread.CurrentThread.CurrentCulture = ci;
        System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
    }
    else
    {
        this.UICulture = site_language;
        this.Culture = site_language;
        base.InitializeCulture();
    }


}

Но это не работает с азербайджанским языком. Когда я создаю Language.az.resx и устанавливаю его через az-AZ, я получаю сообщение об ошибке

System.ArgumentException

Название культуры "az-az" не поддерживается. Имя параметра: имя System.ArgumentException: имя языка и региональных параметров «az-az» не поддерживается. Имя параметра: имя в System.Globalization.CultureTableRecord..ctor(строковое имя культуры, логическое значение useUserOverride) в System.Globalization.CultureTableRecord.GetCultureTableRecord(строковое имя, логическое значение useUserOverride) в System.Globalization.CultureInfo..ctor(имя строки, логическое значение useUserOverride) ) в System.Web.HttpServerUtility.CreateReadOnlyCultureInfo(имя строки) в System.Web.UI.Page.set_UICulture(значение строки) в SiteBasePage.InitializeCulture() в ASP.mobile_default_aspx.__BuildControlTree(mobile_default_aspx __ctrl) в ASP.mobile_default_aspx.FrameworkInitialize( ) в System.Web.UI.Page.ProcessRequest(логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) в System.Web.UI.Page.ProcessRequest() в System.Web.UI.Page.ProcessRequestWithNoAssert(контекст HttpContext) в System.Web.UI .Page.ProcessRequest(контекст HttpContext) в ASP.mobile_default_aspx.ProcessRequest(контекст HttpContext) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplicat ion.IExecutionStep.Execute() в System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое значение и завершено синхронно)

я проверил http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(VS.71).aspx и заметил, что здесь не az-Az, а az-AZ-Latn. Проблема в том, что когда я использую az-AZ-Latn для установки языка, я получаю ту же ошибку.

Я видел и пробовал http://support.microsoft.com/kb/939949, но это не применяется/работает

У кого-нибудь были подобные проблемы?


person nLL    schedule 26.12.2009    source источник


Ответы (1)


Пробовали ли вы новое имя культуры az-Latn-AZ, как описано в статье базы знаний?

Возможно ли, что ваше приложение усекает название культуры?

Я спрашиваю только потому, что у моих консольных приложений нет проблем с использованием этой культуры:

var name = "az-Latn-AZ";

var sc = CultureInfo.CreateSpecificCulture(name);

Console.WriteLine(sc.NativeName);
Console.WriteLine(42.ToString("C", sc));

Отпечатки:

Az?rbaycan-ili (Az?rbaycanca)
42,00 man.
person Frank Krueger    schedule 26.12.2009
comment
дурак я! прошло много времени с тех пор, как я его реализовал, и когда я пишу настройки в БД, я усекаю их после первых 5 символов. Спасибо - person nLL; 26.12.2009