1

我创建了一个 CustomCulture 类表单 CultureInfo。

这是我的代码:

public class CustomCulture : CultureInfo   

{
私人字符串 _parent;
私有字符串_name;
私有字符串_description;

   public CustomCulture(string parentCulture, string myCultureName) : base(parentCulture)   
   {   
       _parent = parentCulture;   
       _name = myCultureName;   
       _description = String.Format("custom culture({0})", _name);   
   }   
   public override string Name   
   {   
       get  
       {   
           return _parent + "-" + _name;   
       }   
   }   
   public override CultureInfo Parent   
   {   
       get  
       {   
           return new CultureInfo(_parent);   
       }   
   }   
   public override string EnglishName   
   {   
       get  
       {   
           return _description;   
       }   
   }   
   public override string NativeName   
   {   
       get  
       {   
           return _description;   
       }   
   }   

}

public partial class _Default : System.Web.UI.Page 

{ private DefCulture.CustomCulture abc = new DefCulture.CustomCulture("en-AU", "abc");

protected override void InitializeCulture()
{
    Thread.CurrentThread.CurrentUICulture = abc;
}

……

我想要实现的是,比如我创建一个自定义文化en-AU-abc,当前页面可以使用本地资源文件Default.aspx.en-AU-abc.resx,

但我无法让它工作,当前页面总是加载 Default.aspx.resx

4

2 回答 2

2

尝试安装自定义文化。请参阅Microsoft Locale Builder创建一个 .msi 并运行它来安装您的自定义语言环境(需要 Vista 或更高版本)。我能够使用 App_GlobalResources 在 Vista 上运行它。

顺便说一句,具有私人使用扩展的自定义语言环境需要-x-,例如 en-AU-x-abc。请参阅构造语言标签

于 2010-04-15T15:42:42.393 回答
1

pb, Rex M:.NET 不支持但经常需要的两种文化:en-ID、es-US。我喜欢这一点,因为您没有遇到 .NET 的这种限制,您选择采取居高临下的态度 - 因为很明显,一个问您没有答案的问题的人一定不知道他们在做什么。您认为 Microsoft 为什么在 .NET 2.0 中引入 CultureAndRegionInfoBuilder 类?

于 2010-02-18T06:59:41.587 回答