- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个类库——称之为框架。在 assemblyinfo.cs 中,我有:
[assembly: NeutralResourcesLanguage("en-US")]
在\Resources\目录下,我有 FrameworkResources.resx 和 FrameworkResources.fr-FR.resx
在辅助类中,我使用它作为我的资源管理器:
private static ResourceManager manager = new ResourceManager("Framework.Resources.FrameworkResources", Assembly.GetExecutingAssembly());
在代码中,如果我这样做:
String message = manager.GetString("ArgumentNullExceptionMessage", CultureInfo.CurrentCulture);
我可以调试并将鼠标悬停在 CurrentCulture 上,它(和 UICulture)设置为 fr-FR,但这总是带回我的默认英语消息 - 而不是来自 fr-FR 资源文件的法语消息。
ResourceManager 应该自动连接它,还是我应该编写代码来查询当前的文化,然后打开正确的文件?我假设资源管理器会知道获取 fr-FR 字符串,因为那是当前的文化,我是否不正确?
我不确定为什么这不起作用。
更新:我有附属程序集,所以相信编译部分是正常的。我认为问题出在我的资源管理器中。我尝试使用 ResourceSets 并像这样显式使用 ResourceManager:
ResourceManager manager =
new ResourceManager("Framework.Resources.FrameworkResources",
Assembly.GetExecutingAssembly());
Debug.WriteLine("de-DE : " + manager.GetString(resourceName, new CultureInfo("de-DE")));
Debug.WriteLine("el : " + manager.GetString(resourceName, new CultureInfo("el")));
Debug.WriteLine("es-MX : " + manager.GetString(resourceName, new CultureInfo("es-MX")));
Debug.WriteLine("fr-FR : " + manager.GetString(resourceName, new CultureInfo("fr-FR")));
Debug.WriteLine("hi : " + manager.GetString(resourceName, new CultureInfo("hi")));
Debug.WriteLine("zh-CN : " + manager.GetString(resourceName, new CultureInfo("zh-CN")));
结果是:
de-DE : Argument '%ArgumentName%' cannot be null or empty.
el : Argument '%ArgumentName%' cannot be null or empty.
es-MX : Argument '%ArgumentName%' cannot be null or empty.
fr-FR : Argument '%ArgumentName%' cannot be null or empty.
hi : Argument '%ArgumentName%' cannot be null or empty.
zh-CN : Argument '%ArgumentName%' cannot be null or empty.
因此,即使一切就绪,我的资源管理器也不会尝试查看那些附属程序集。需要明确的是,在这些程序集中,我有上面字符串的翻译版本 - 所以它肯定是从我的默认 FrameworkResources.resx 文件中读取的,而不是特定于区域性的文件。
最佳答案
我想通了(多亏了互联网上的更多搜索)。我正在运行单元测试中的代码,显然 MSTest 不会“部署”附属程序集。如果我进入测试设置并关闭“部署”,一切都会按预期进行。啊!
关于c# - ResourceManager 是否自动加载所有文化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682288/
所以我有一个 ResourceManager,它指向一个包含一堆字符串的资源文件。当我使用文件中不存在的键调用 GetString() 时,我得到一个 System.Resources.Missing
我正在尝试将 Azure.ResourceManager.AppContainers 与 Azure.ResourceManager.ContainerRegistry 集成,但我不清楚如何一起使用它
我在 Windows 64 上以伪分布式模式运行 hadoop 2.7.1,无法运行 yarn。每当我尝试通过 yarn resourcemanager 启动它时,我都会得到以下输出: The sys
扩展其中一个问题: Hadoop: Connecting to ResourceManager failed Hadoop 2.6.1 我确实配置了 ResourceManager HA。 当我确实终
如果执行 ResourceManager.GetString(Key),您可以获取资源中某个项目的值。有没有一种方法可以进行反向查找以从给定值的资源中获取 key (本质上是反翻译)? 最佳答案 您应
我有一个从外部文件加载资源的库,如下所示: ResourceManager rm = ResourceManager.CreateFileBasedResourceManager(stringsFil
我使用 ResourceManager 对我的 WinCE 5 软件进行 UI 本地化。我有一些资源文件,其中包含不同语言的文本字符串 Resourse.resx Resourse.de-DE.res
我有一个托管 C++ 项目,它编译为一个库并被一个 Windows 窗体 .exe 引用。此库又引用包含本地化代码的 DLL。 ResourceManager 的构造函数需要一个表示资源父级的 Ass
我有一个类库——称之为框架。在 assemblyinfo.cs 中,我有: [assembly: NeutralResourcesLanguage("en-US")] 在\Resources\目录下,
我编写的 Winforms .Net 4 应用程序的客户端现在经常报告由于“参数无效”错误而导致的崩溃。 所有“图像”实际上都是很小的资源图标(16x16 像素),而且数量不多。它们都是通过资源管理器
我有一个 .net-core 2.0 控制台应用程序。本应用引用了一个.net-standard-2.0库,其中包含一个资源文件SqlStatements.resx,其中包含多个sql文件。 文件配置
我正在开发一个使用本地化 resx 资源文件的 wpf/prism 4 应用程序。经过一些调试(它没有按预期工作)我看到我的资源管理器的所有资源集都具有相同的值。默认 loc.resx 的值。 我的问
我正在使用 amazon aws cli 工具启动 AWS EMR 集群。我有一个在 master 上运行的 boostrap 操作并运行以下命令 hdfs dfs -put /home/ha
在 ResourceManager (nodemanager:8088/cluster/nodes) 中我只能看到一个节点是正常的吗? 在我的测试环境中,我设置了两个节点集群并命令 bin/hdfs
我收到以下错误,但 netstat 显示 8088 未使用。 这是一个 3 节点集群,Namenode、Jobtracker、Datanode 运行在不同的 EC2 实例上 2014-02-04 02
我使用本地化和语言属性翻译了我的 Form1。 在 Form1_Load 事件中,我想为标签、按钮等设置文本... private void Form1_Load(object sender, Eve
我很好奇是否有人在使用 ResourceManager 创建单元测试时遇到任何问题。我正在使用 Visual Studio 测试版,似乎在测试期间没有加载附属程序集。当我尝试为另一种文化获取资源时,测
我使用在 this blog by Alex Adamyan 上找到的代码创建了一个本地化的 MVC 网站。 . 如果我使用现有的文化,这非常有效。但是,我正在尝试本地化他加禄语(tl 或 tl-PH
我想将由ambari管理的 yarn 簇更新为HA。但是我不想重新启动Zookeeper。 为什么ambari ResourceManager HA需要重新启动Zookeeper? 最佳答案 Zook
我在yarn-site.xml中有一个配置条目,如下所示: yarn.resourcemanager.am.max-attempts 4 考虑到以下两种情况,我想问一下它的真正含义: 说,
我是一名优秀的程序员,十分优秀!