gpt4 book ai didi

c# - Mono C#设置CultureInfo在Windows上不起作用

转载 作者:行者123 更新时间:2023-12-03 11:09:53 29 4
gpt4 key购买 nike

我当前遇到一个错误,即我的应用程序的语言不能设置为与系统默认语言不同的语言。我使用以下代码设置CultureInfo:

Catalog.Init("AudioCuesheetEditor", Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + MainClass.CONST_STR_LOCALE_PATH));
[...]
//Set the locale
log.debug("CultureInfo.CurrentCulture = " + CultureInfo.CurrentCulture);
if (Program.getInstance().getObjOption().getStrSelectedLanguage() != null)
{
log.debug("Program.getInstance().getObjOption().getStrSelectedLanguage() = " + Program.getInstance().getObjOption().getStrSelectedLanguage());
Thread.CurrentThread.CurrentCulture = new CultureInfo(Program.getInstance().getObjOption().getStrSelectedLanguage());
if (Environment.OSVersion.Platform == PlatformID.Unix)
{
//Mono Linux hack
Environment.SetEnvironmentVariable("LANGUAGE", Program.getInstance().getObjOption().getStrSelectedLanguage().Replace("-", "_"));
}
}
Application.Init();
[...]
Application.Run();

这在Linux上可以完美运行,但在Windows上不能与gtk#一起使用。 CultureInfo已更改,但语言未更改。有什么想法吗?

我用这样的代码得到字符串:
Catalog.GetString("general ready")

我不知道如何找到错误以及哪里出了问题。任何可以帮助的人,在此先感谢;)。

完整的代码可以在这里找到: http://sourceforge.net/p/audiocuesheet/code/HEAD/tree/trunk/src/AudioCuesheetEditor/MainClass.cs

斯文

最佳答案

由于国际化基于GNU gettext,因此我的假设是Windows实现与unix略有不同,因此在启动任何代码之前都会在启动时读取LANGUAGE变量。我能想到的唯一解决方法是使用设置LANGUAGE变量的脚本来调用您的程序。

关于c# - Mono C#设置CultureInfo在Windows上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29152289/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com