2009-12-26 77 views
1

我将尝试不同的语言implemnet到我的网站,到目前为止,不存在与我的设置没有问题。.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(); 
    } 


} 

但是这并不Azerbeycani语言文字工作。当我创建Language.az.resx并通过AZ-AZ设置它,我得到错误说

System.ArgumentException 

文化名“AZ-AZ”不支持。参数名称:名称 System.ArgumentException:文化名称'az-az'不受支持。 参数名称:在System.Globalization.CultureTableRecord.GetCultureTableRecord(字符串名称,布尔useUserOverride) 在System.Globalization.CultureInfo..ctor(字符串名称 在System.Globalization.CultureTableRecord..ctor(字符串cultureName,布尔useUserOverride) 名,布尔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,布尔includeStagesAfter AsyncPoint) 在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.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔& completedSynchronously)

我有检查http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(VS.71).aspx并注意到没有az-Az但是az-AZ-Latn。问题是当我使用az-AZ-Latn设置语言时,我得到相同的erorr。

我已经看到,并试图http://support.microsoft.com/kb/939949但它并不适用/工作

人有smilar问题?

回答

4

您是否尝试过的新的文化名az-Latn-AZKB article描述?

难道您的应用程序被截断文化名?

我只有一个要求,因为我的控制台应用程序使用的文化有没有问题:

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.
+0

我傻!自从我实现它之后已经很长时间了,并且当我将设置写入db时,我在第一个5个字符后截断了它。 谢谢 – nLL 2009-12-26 13:53:52