如何有选择地从资源文件中提取本地化值
How to selectively pull localized values out of a resource file
对于我正在处理的应用程序,我有英语和日语掩码数据的资源文件。我需要根据当前文化进行 运行 测试。我可以通过为当前线程设置 CurrentUICulture
来成功切换哪个资源文件。但是,由于要求的措辞方式,给定值是否被翻译会有所不同,所以我不能只设置区域性然后只检索值。因此,如果客户在他们的 Web 浏览器中使用特定编码,我会使用该语言作为所有指南的名称和文本。如果他们使用来自给定区域的设备,我会将视频名称翻译成该语言。很奇怪,但是需求是这样写的。
我知道 if I have a ResourceManager, I can use GetString 可以提取特定文化的价值,但我发现的所有示例都涉及动态提取资源的文本文件。相反,我将所有资源嵌入到项目中。有没有办法为一组嵌入式资源设置 ResourceManager?或者是否有更好的方法可以针对任何给定情况有条件地提取正确的翻译?
我找到了答案 here。我只需要使用 ResourceNamespace.ResourceName.ResourceManager 来获取 resx 文件的 RM。
对于我正在处理的应用程序,我有英语和日语掩码数据的资源文件。我需要根据当前文化进行 运行 测试。我可以通过为当前线程设置 CurrentUICulture
来成功切换哪个资源文件。但是,由于要求的措辞方式,给定值是否被翻译会有所不同,所以我不能只设置区域性然后只检索值。因此,如果客户在他们的 Web 浏览器中使用特定编码,我会使用该语言作为所有指南的名称和文本。如果他们使用来自给定区域的设备,我会将视频名称翻译成该语言。很奇怪,但是需求是这样写的。
我知道 if I have a ResourceManager, I can use GetString 可以提取特定文化的价值,但我发现的所有示例都涉及动态提取资源的文本文件。相反,我将所有资源嵌入到项目中。有没有办法为一组嵌入式资源设置 ResourceManager?或者是否有更好的方法可以针对任何给定情况有条件地提取正确的翻译?
我找到了答案 here。我只需要使用 ResourceNamespace.ResourceName.ResourceManager 来获取 resx 文件的 RM。