gpt4 book ai didi

c# - 使用资源文件的本地化不起作用

转载 作者:行者123 更新时间:2023-11-30 15:06:28 25 4
gpt4 key购买 nike

我添加了新的 Rosource 文件 UserNotification.resx。然后我添加了两个本地化文件,并将其命名为 UserNotification.hr-HR.resx 和 UserNotification.sl-SI.resx。 (关注线程:How to use localization in C#)

然后我将 Windows 语言更改为“si”。如果我使用 System.Globalization.CultureInfo.CurrentCulture.ToString() 打印当前文化,输出 si sl-SI

但是,我总是从 UserNotification.resx 得到一个字符串。 Seams 它无法识别本地化资源文件。

最佳答案

如果您使用多线程,.NET 本地化的问题是您需要为您生成的每个线程手动设置区域性(以防它与 Windows 区域性不同,以防用户可以选择所需的语言)。它不是从主线程继承的。

在创建新线程之后和启动它之前,您应该将它的文化设置为主线程的文化(通常使用 Windows 的默认文化)。

因此,系统显示良好的 CurrentCulture。但是当前线程说的是什么?也许由于某种原因应用程序以不同的文化启动,所以这就是它加载默认资源文件的原因?无论如何,您没有理由不手动设置当前文化。大多数情况下,当您希望为用户提供更改应用程序语言的选项时,您需要这样做。

关于c# - 使用资源文件的本地化不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776868/

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