c#国际化文本资源
本文关键字:资源 文本 国际化 | 更新日期: 2023-09-27 18:29:53
我正在构建一个可以支持多种语言的c#windows窗体应用程序。为了存储所有的字符串资源,我为每个区域性使用.resx
文件。我设法使应用程序正常工作,但不久前我在某个地方读到资源字符串也可以存储在文本文件中。你能解释一下字符串应该如何写在文本文件中,以及我应该如何为每个区域性加载每个文本文件吗?谢谢
PS:我是初学者,请耐心等待。
在resx文件中,您将获得添加文件的选项(从左上角菜单),您可以从解决方案中添加文本文件,这些文件将在构建期间添加到resx上。现在,您可以更改解决方案中的文本文件,在构建时,这些更改将成为resx的一部分。
过去,我在同一个resx中使用了每个区域性一个文件,应用程序一了解区域性,我就从resx加载相应的文本文件。
在文本文件中,我有"key:value",我从中准备字典并缓存了它,这在我的简单/小型文化特定文本需求中更容易使用。
参见http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.90).aspx
您可以使用文本文件作为新闻Win8应用程序的资源。不确定这是否也适用于其他平台:
http://msdn.microsoft.com/en-us/library/xbx3z216.aspx
找到了!
http://www.cnblogs.com/anorthwolf/archive/2010/08/23/1806686.html
static public string GetStringRegistryValue(string key, string defaultValue)
{
RegistryKey rkCompany;
RegistryKey rkApplication;
rkCompany = Registry.CurrentUser.OpenSubKey(SOFTWARE_KEY,
false).OpenSubKey(COMPANY_NAME, false);
if( rkCompany != null )
{
rkApplication = rkCompany.OpenSubKey(APPLICATION_NAME, true);
if( rkApplication != null )
{
foreach(string sKey in rkApplication.GetValueNames())
{
if( sKey == key )
{
return (string)rkApplication.GetValue(sKey);
}
}
}
}
return defaultValue;
}