【问题标题】:C# customized resx with localization具有本地化功能的 C# 自定义 resx
【发布时间】:2017-04-18 21:14:36
【问题描述】:

在 C# 中,可以使用给定的文件名检索资源,例如

ResourceManager rm = new ResourceManager("namespace.myresource",this.GetType().Assembly);
string someString = rm.GetString("GeneralError", culture);

有了这个,可以通过将文化放在文件末尾来实现本地化。但我也需要让它自定义到实例级别。

例如:myresource.instance1.resx、myresource.instance3.resx、myresource.instance1.fr-FR.resx、..等

但是使用基本的资源管理器,这是无法实现的。有什么特定的方法可以读取这样的资源吗? (db方式不适合应用)

【问题讨论】:

  • 你的实例是什么?什么实例?
  • @Nino - 它就像一个门户。我需要为每个门户定制措辞
  • 检查是否可以使用ResXResourceSet 类来加载和读取自定义资源文件。使用这种方法,您可以指定资源文件的名称。查看MSDN documentation
  • @Nino 你救了我的命。它奏效了
  • 很高兴我能帮上忙 :)

标签: c# resources resx


【解决方案1】:

@Nino - 感谢您的帮助。

这可以整理如下

var rsxr = new ResXResourceReader("MyResource.resx");
rsxr.UseResXDataNodes = true;
foreach (DictionaryEntry dEntry in rsxr)
{
    var node = (ResXDataNode)dEntry.Value;
    if (node.FileRef == null)
    {
        var paramValue = node.GetValue((ITypeResolutionService) null);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 2018-07-10
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多