我创建了一个CustomCulture类表单CultureInfo。
这是我的代码:
public class CustomCulture : CultureInfo
{
private string _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
答案 0 :(得分:2)
尝试安装自定义文化。请参阅Microsoft Locale Builder创建.msi并运行它以安装自定义区域设置(需要Vista或更高版本)。我能够通过App_GlobalResources在Vista上运行它。
顺便说一句,具有私有用户扩展的自定义区域设置需要 -x - ,例如, 的烯AU-X-ABC 即可。见Constructing language tags
答案 1 :(得分:1)
pb,Rex M:.NET不支持的两种常常需要的文化:en-ID,es-US。我喜欢这一点,因为你没有遇到这种限制的.NET,你选择采取居高临下的态度 - 因为很明显,一个人提出一个你没有答案的问题,一定不知道他们在做什么。为什么您认为Microsoft在.NET 2.0中引入了CultureAndRegionInfoBuilder类?