- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在一个小型测试 WPF 应用程序中进行本地化,并且想要英语和法语。我创建了 Resources.en-CA.resx 和 Resources.fr-CA.resx。
当我的测试应用程序启动时,我有一个启动窗口,其中有一个下拉菜单可供选择英语或法语。当用户单击“确定”时,将调用一个方法来根据所选语言切换文化,然后加载另一个窗口,该窗口将以所选语言显示一些资源字符串。
switch (selectedLanguage)
{
case "English":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-CA");
break;
case "French":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
break;
}
用户可以关闭然后关闭此窗口并从启动窗口中选择一种不同的语言,然后单击“确定”再次显示该窗口,但使用的是他们选择的新语言。
这是可行的,但我还有一个 Resources.resx,它基本上只是 Resources.en-CA.resx 的副本。我想知道我是否可以摆脱 Resources.en-CA.resx,如果可以,我应该将 CurrentUICulture 设置为什么,以便它在选择英语时使用 Resources.resx 中的值。
switch (selectedLanguage)
{
case "English":
//What would I do here?
break;
case "French":
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
break;
}
我正在使用代码访问资源字符串
Properties.Resources.SomeLocalizedString
最佳答案
是的,您可以根据需要删除 Resources.en-CA.resx 文件。您无需更改任何内容,因为您当前的代码将继续以相同的方式工作。
.Net 中的本地化是通过从更具体到更通用的回退功能实现的。如果它找不到指定语言和本地的资源文件(例如 Resources.fr-CA.resx ),它会单独查找该语言的资源文件(例如 Resources.fr.resx ),如果找不到,则它使用默认资源文件(例如 Resources.resx)。
有关详细信息,请参阅 Hierarchical Organization of Resources for Localization .
关于c# - 设置 CurrentUICulture 以便它使用 Resources.resx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44751907/
在 .NET 应用程序中,您似乎可以通过以下方式获取或设置当前 (UI) 区域性 System.Threading.Thread.CurrentThread.CurrentUICulture 或通过
Windows 7 区域和语言对话框中的各种设置为 CurrentCulture 对象的属性提供值。然而,WPF控件似乎改用CurrentUICulture,导致完全无法尊重用户的偏好。 例如,在我的
我正在使用 CurrentUICulture 进行本地化。在不同的线程中查询 UI Culture 之前,这工作得很好。所以我的问题是如何修复 CurrentUICulture 以便在我创建新线程时它
我正在尝试更改我的 WPF 应用程序在点击事件中使用的语言,但它没有改变。 private void menuItemGerman_Click(object sender, RoutedEventAr
我有一个 asp.net mvc 应用程序,我希望用户能够更改语言。我提供了一系列带有小标志的链接,让用户选择语言。所有这些链接的目标是我的“仪表板”页面,其中 Controller 有以下代码: [
我的 MVC 项目中有以下两个文件: 我像这样在我的 global.asax 中设置文化: Thread.CurrentThread.CurrentUICulture = new CultureInf
我一直在搜索如何更改具有 Localizable 的表单的语言属性设置为 true。 https://msdn.microsoft.com/en-us/library/system.threading
据我了解,默认情况下,报表查看器的语言由 "CultureInfo.InstalledUICulture" 设置(不是那么简单)。这意味着,如果我的计算机来自巴西,那么它将使用巴西的文化来格式化数字。
我正在尝试找出程序的语言并为该语言更改我的字符串 CultureInfo culture = new CultureInfo("en"); CultureInfo currentCulture = T
我正在使用 C# 开发 SL5 应用程序,我希望将其国际化。我发现以下设置 UI 文化: var culture = new CultureInfo(Thread.CurrentThread.Curr
我试图在运行时设置应用程序的 CurrentUICulture。但是,我的表单中的菜单项保持不变。除了更改 CurrentUICulture 之外,我还需要做一些额外的事情吗? 最佳答案 聚会又迟到了
我有一个使用 .NET 3.5 框架的基于 WinForms 的应用程序。该应用程序具有某些资源的本地化版本。 当我在运行 Windows XP 副本的机器上运行该应用程序时,该副本最初安装时使用 e
我正在阅读一个资源,它说: CurrentUICulture must be set at the startup of a application. 对于 ASP.NET 网页,我应该在哪里适本地设
我正在用两种语言开发一个多语言网站,从阿拉伯语和英语开始 我已经在 IE 和 FireFox 中将语言设置为阿拉伯语 (ar-ae),但它总是给我英语版本,我无法解决这个问题 网站结构 Default
所以,我有一些本地化的资源文件。它们是可以格式化的字符串。 例如: MyResource.resx Title: "MyApp - Ver: {0}" 然后我这样返回它: public String
我正在一个小型测试 WPF 应用程序中进行本地化,并且想要英语和法语。我创建了 Resources.en-CA.resx 和 Resources.fr-CA.resx。 当我的测试应用程序启动时,我有
我正在尝试让我的应用程序支持多种语言。例如,我制作了一些附属程序集,现在我想测试应用程序在法国机器上运行时的外观。 在[控制面板->区域和语言选项]中,我可以在区域选项选项卡中选择法语(法国),在高级
CurrentCulture有什么区别, InvariantCulture , CurrentUICulture和 InstalledUICulture来自 System.Globalization.
我使用 .NET 3.5(网站项目)在 ASP.NET 中编写了页面。 我想使用 jQuery 添加一些特定于文化的验证器到我的页面。 我受伤了关于使用 Globalize 插件的很好的教程:http
我正在处理一个 ASP.NET Web API 项目,在该项目中我遇到了一个问题,其中子项 Task异步运行的 s 不继承父线程的当前文化;即,即使在设置了 Thread.CurrentThread.
我是一名优秀的程序员,十分优秀!