将资源文件用于语言以外的事物

Using Resource files for things other than language

我正在开发一个 MVC 应用程序,它实际上是一个中间件,用于为外部 BPM 解决方案提供管理和报告。

系统的用户并非都用于相同的业务功能,并且可能将字段称为不同的事物(例如,部门 A 称客户为 Client,而部门 B 称他们为 Prospect)。有没有办法让我获得

的资源文件

根据我的谷歌搜索,它似乎只能用于本地化。

您可以使用 ResourceManager class 来帮助解决这个问题。

当您向项目添加一些资源时,IDE 会自动向项目添加一个Resources.Designer.cs 文件来管理资源。生成的代码如下所示:

[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
    get {
        if (object.ReferenceEquals(resourceMan, null)) {
            global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AssemblyName.Properties.Resources", typeof(Resources).Assembly);
            resourceMan = temp;
        }
        return resourceMan;
    }
}

这使用 the ResourceManager constructor that looks up resources based on a combination of a root name and the current locale.

您可以自己编写类似的代码,但要根据资源是用于部门 A、B 还是 C 来计算根名称。因此您可以将其命名为 "AssemblyName.Resources.divA" 而不是 "AssemblyName.Properties.Resources".

然后您还可以为每种其他受支持的语言设置特定版本,并且它们将自动加载(如果存在)以适应当前文化。这就是 IDE 管理资源的工作方式。