(有缘人请进)本地化的问题, up一般也有分

scow 2006-12-07 03:33:02
用vs2005建了一个winform的工程, 在工程里添加了资源文件(包括好几个国家)存储字符串资源. 在显示的时候,发现de的资源取不出来. 用vs2003建了一个同样的工程,却没有问题. 请问是怎么回事呢?

目录结构:
Form1.cs
welcome.resx
welcome.ar.resx
welcome.en.resx
welcome.fr.resx
welcome.de.resx

工程默认命名空间(即资源文件命名空间)是LanguageResoure, 下面是主要代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private ResourceManager resource;

private void Form1_Load(object sender, EventArgs e)
{
resource = new ResourceManager("LanguageResoure.welcome", Assembly.GetExecutingAssembly());
comboBox1.Items.Clear();
comboBox1.Items.Add("en");
comboBox1.Items.Add("fr");
comboBox1.Items.Add("ar");
comboBox1.Items.Add("de");
}

private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(comboBox1.Text))
{
MessageBox.Show("please choose a country");
return;
}
CultureInfo ci = new CultureInfo(comboBox1.Text);
label1.Text = resource.GetString("GoodMorning", ci);
label2.Text = resource.GetString("GoodAfternoon", ci);
}
}
每个资源文件都存储了GoodMorning和GoodAfternoon两个字符串资源, 当然值不相同. 选择的时候, 显示的是welcome.resx里存的值, 这是因为取不到welcome.de.resx里的资源, 所以回退到默认资源文件.
在vs2003下没有这个问题, 有知道为什么的兄弟吗?
...全文
483 64 打赏 收藏 转发到动态 举报
写回复
用AI写文章
64 条回复
切换为时间正序
请发表友善的回复…
发表回复
scow 2006-12-11
  • 打赏
  • 举报
回复
问题还没找到, 但对de的在本机有办法解决, 感谢lostowner() 的帮助.
llqqff 2006-12-08
  • 打赏
  • 举报
回复
收藏up
blueice008 2006-12-08
  • 打赏
  • 举报
回复
UP
rongcanf 2006-12-08
  • 打赏
  • 举报
回复
up
bqlhome 2006-12-08
  • 打赏
  • 举报
回复
感觉多语言是挺麻烦的。
Edisoncat 2006-12-08
  • 打赏
  • 举报
回复
友情UP~~~~~~~~~学习~JF
scow 2006-12-08
  • 打赏
  • 举报
回复
?
喜从何来.
zerohk 2006-12-08
  • 打赏
  • 举报
回复
恭喜,接分了
scow 2006-12-08
  • 打赏
  • 举报
回复
按msdn说法, de是German的'two letter iso name',
de LCID: 7
de-DE LCID:1031
simpleblue88 2006-12-08
  • 打赏
  • 举报
回复
German - Germany
de-de


German - Austria
de-at


German - Liechtenstein
de-li


German - Luxembourg
de-lu

German - Switzerland
de-ch


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/882ca1eb-81b6-4a73-839d-154c6440bf70.asp
klgyandlazy 2006-12-08
  • 打赏
  • 举报
回复
帮顶一下,顺便问下楼下能把源程序也发给我学习一下吗?我的邮箱是li@chinaonesail.com
scow 2006-12-08
  • 打赏
  • 举报
回复
已经发了.
lizhizhe2000 2006-12-08
  • 打赏
  • 举报
回复
UP,
pshy 2006-12-08
  • 打赏
  • 举报
回复
jf
simpleblue88 2006-12-08
  • 打赏
  • 举报
回复
welcome.de.resx
无法识别,我一般只用welcome.zh_cn.resx,还真没用过de的.呵呵`~

我的页面如果显示结果不对的话,一般是welcome.de.resx的版本和welcome.aspx的版本不一致,重新生成welcome.de.resx即好.

帮顶!!

lostowner 2006-12-08
  • 打赏
  • 举报
回复
还没收到,发我caihuihot@gmail.com吧,hotmail的邮箱真是慢啊...
lostowner 2006-12-08
  • 打赏
  • 举报
回复
不应该是兼容性问题啊,我在vs2005开发没问题啊
zhoujijunnt 2006-12-08
  • 打赏
  • 举报
回复
难道是de这个名字有问题?晕菜,我瞎说的。
照理说不应该会有问题啊。
scow 2006-12-08
  • 打赏
  • 举报
回复
如楼上所言, 那也不应该只针对某个国家的. 感觉不会是bug(希望如此).
pingpeng1314 2006-12-08
  • 打赏
  • 举报
回复
UP,
那应该是VS2003与2005版本对某些组件的兼容性问题.
加载更多回复(44)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧