将资源文件用于语言以外的事物
Using Resource files for things other than language
我正在开发一个 MVC 应用程序,它实际上是一个中间件,用于为外部 BPM 解决方案提供管理和报告。
系统的用户并非都用于相同的业务功能,并且可能将字段称为不同的事物(例如,部门 A 称客户为 Client,而部门 B 称他们为 Prospect)。有没有办法让我获得
的资源文件
- Resources.divA.resx
- Resources.divB.resx
- Resources.divC.resx
根据我的谷歌搜索,它似乎只能用于本地化。
您可以使用 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;
}
}
您可以自己编写类似的代码,但要根据资源是用于部门 A、B 还是 C 来计算根名称。因此您可以将其命名为 "AssemblyName.Resources.divA" 而不是 "AssemblyName.Properties.Resources".
然后您还可以为每种其他受支持的语言设置特定版本,并且它们将自动加载(如果存在)以适应当前文化。这就是 IDE 管理资源的工作方式。
我正在开发一个 MVC 应用程序,它实际上是一个中间件,用于为外部 BPM 解决方案提供管理和报告。
系统的用户并非都用于相同的业务功能,并且可能将字段称为不同的事物(例如,部门 A 称客户为 Client,而部门 B 称他们为 Prospect)。有没有办法让我获得
的资源文件- Resources.divA.resx
- Resources.divB.resx
- Resources.divC.resx
根据我的谷歌搜索,它似乎只能用于本地化。
您可以使用 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;
}
}
您可以自己编写类似的代码,但要根据资源是用于部门 A、B 还是 C 来计算根名称。因此您可以将其命名为 "AssemblyName.Resources.divA" 而不是 "AssemblyName.Properties.Resources".
然后您还可以为每种其他受支持的语言设置特定版本,并且它们将自动加载(如果存在)以适应当前文化。这就是 IDE 管理资源的工作方式。