Voj*_*nal 3 c# clickonce localization winforms visual-studio-2012
我有一个ClickOnce项目-winform app-按国家有两个安装位置,一个安装在捷克共和国,一个安装在斯洛伐克。每当我为其他国家/地区发布时,我只会更改“安装”文件夹和“发布”文件夹。
最近,我已将应用本地化为斯洛伐克语。但是在发布包中,两个包/发布位置的“发布语言”都设置为捷克语。

根据文档,它仅会影响ClickOnce安装程序的语言。但实际上,它会影响整个应用的文化。我什至添加了以下几行:
[STAThread]
static void Main()
{
//localization code
Thread.CurrentThread.CurrentUICulture = new CultureInfo("sk-SK");
Thread.CurrentThread.CurrentCulture = new CultureInfo("sk-SK");
Run Code Online (Sandbox Code Playgroud)
但是安装后,即使在启动时运行此代码,该应用程序仍会以捷克语显示在捷克语Windows上。当我将语言更改为斯洛伐克语或中性时,它会在客户端上显示以下ClickOnce错误(因为我更改了发布语言):
部署身份与预订不匹配。
用斯洛伐克语“发布语言”重新安装时,它会在斯洛伐克语中正确显示。
为什么即使我在代码中手动将区域性设置为,sk-SK并且客户端具有斯洛伐克语Windows并且仅将“发布语言”设置为捷克语,为什么也看不到斯洛伐克语界面?有没有解决方法,使我不必重新安装所有客户端?
抱歉,我的回复很晚,但是我自己才遇到这个问题。即使将CurrentUICulture设置为Slovak,仍然会看到捷克语的原因是因为ClickOnce中的“发布语言”设置决定了将哪种语言程序集交付给客户端。由于ClickOnce设置为捷克语,因此它将仅发布捷克语.dll文件以传递给客户端。允许多种语言(其中语言由客户端Windows安装或通过CurrentThread.CurrentUICulture确定)的唯一方法是将ClickOnce发布语言设置为“(默认)”或“中性”。有关更多信息,请参见MSDN文档。
不幸的是,似乎无法在首次发布后尝试更改发布语言,因为这样会导致
部署身份与预订不匹配。
如您所发现。这是我目前正在尝试解决的问题,而无需指导客户端进行卸载/重新安装程序。
| 归档时间: |
|
| 查看次数: |
618 次 |
| 最近记录: |