如何在resx文件之间切换(不使用文化)

时间:2017-04-17 18:32:15

标签: c#

我想做什么:

我正在开发一个聊天机器人服务,我有不同的访问渠道。在一个频道上我想使用我的Customer.resx文件,在另一个频道上我想使用我的Worker.resx文件。

问题:

我知道本地化如何在Worker.en-US.resx和Worker.es-MX.resx之间切换,但我不确定如何从一个普通的resx文件切换到完全不同的上下文文件。这些将被翻译成其他语言,因此我不能简单地使用Customer.en-US.resx和Worker.es-MX.resx作为解决方法。我知道我可以使用CultureAndRegionInfoBuilder构建一个自定义文化,但我宁愿以比这更简单的方式做到这一点,这与你如何进行本地化有关。我目前正在使用这种方法构建自定义文化,我有Resources.worker-en-US.resx和类似的客户,但这是一种全面的方式,我知道必须有更好的方法。

为了澄清我知道我可以使用ResXResourceSet获取资源文件,但我的想法是我希望有两个单独的资源文件,每个文件都有本地化(worker.en-US和customer.en-US)。

1 个答案:

答案 0 :(得分:0)

我会把这两者合二为一,因为resx真的与文化/语言联系在一起。您可以使用策略模式在正确的时间获取正确的字符串。

interface IStrings { string Foo { get; } }
class WorkerStrings : IStrings { ... }
class CustomerStrings : IStrings { ... }
相关问题