C#以编程方式编辑resx文件

时间:2017-06-09 10:33:42

标签: c# localization resx

在我的应用程序中,我循环遍历具有特定文化的resx文件中的所有条目,在我的情况下是挪威语。然后我通过谷歌翻译api把这些字符串放到瑞典文本。

现在我正在尝试替换瑞典语resx文件中的瑞典语文本。有可能这样做吗?

这就是我获得瑞典语版本的方式

ResourceSet resourceSet = Texts.ResourceManager.GetResourceSet(new CultureInfo("nb-NO"), true, true);

foreach (DictionaryEntry entry in resourceSet){
    string resourceKey = entry.Key.ToString();
    string resource = entry.Value as string;
    arguements["q"] = resource;
    string result = Call(arguements);
}

所以我试图将瑞典语版本放入瑞典语资源文件中。有意见吗?

1 个答案:

答案 0 :(得分:3)

这个完整的示例基于现有资源创建新的资源文件,解析它的值。

private void ProcessResource()
{
    var resxFile = @"..\..\Resource1.de-DE.resx";
    var destResxFile = @"..\..\Resource1.ru-RU.resx";

    using (var reader = new ResXResourceReader(resxFile))
    {
        using (var writer = new ResXResourceWriter(destResxFile))
        {
            foreach (DictionaryEntry entry in reader)
            {
                writer.AddResource(entry.Key.ToString(), Translate(entry.Value.ToString()));
            }
        }
    }
}

private string Translate(string value) => "translated " + value;