IDE 和现实生活中的 C# 本地化不同
C# localization different in the IDE and real life
我的代码是为英语和德语准备的。我有声明
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");
要么
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
之前
InitializeComponent() 语句;
它适用于初始 window,包括以德语或英语出现的菜单项。但是只有在编译时和运行在IDE内。
当我将项目发布为 ClickOnce-programm 时,按原样安装它 运行,然后初始 window 始终显示德语菜单项!
Windows7、VS 2013 社区、.NET 4.0、
我的猜测是英文资源文件没有作为已发布包的一部分进行复制。
确保资源文件是项目的一部分。
单击文件并查看属性。在高级属性下,您会看到 "Build Action",它应该设置为 "Content"(现在查看我的一个项目,这就是它所说的)。
感谢您的提示。是的你是对的! "en..." 文件未发布。我通过 ProjectName\Publish\Application-Files 检查了它。两个 "en.." - 资源是 "excluded"。 (我不知道那是什么时候发生的,因为它之前工作得很好)。无论如何,文件现在 "included" 并且一切正常。
哈利
我的代码是为英语和德语准备的。我有声明 Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE"); 要么 Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US"); 之前 InitializeComponent() 语句;
它适用于初始 window,包括以德语或英语出现的菜单项。但是只有在编译时和运行在IDE内。 当我将项目发布为 ClickOnce-programm 时,按原样安装它 运行,然后初始 window 始终显示德语菜单项!
Windows7、VS 2013 社区、.NET 4.0、
我的猜测是英文资源文件没有作为已发布包的一部分进行复制。
确保资源文件是项目的一部分。 单击文件并查看属性。在高级属性下,您会看到 "Build Action",它应该设置为 "Content"(现在查看我的一个项目,这就是它所说的)。
感谢您的提示。是的你是对的! "en..." 文件未发布。我通过 ProjectName\Publish\Application-Files 检查了它。两个 "en.." - 资源是 "excluded"。 (我不知道那是什么时候发生的,因为它之前工作得很好)。无论如何,文件现在 "included" 并且一切正常。 哈利