2017-06-09 149 views
0

在我的應用程序中,我從具有特定文化的resx文件中循環播放所有條目,在我的例子中是挪威語。然後我把這些字符串通過谷歌翻譯器API來獲取瑞典語文本。c#編輯編輯resx文件

現在我試圖在swedish 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

微軟指南如何? https://docs.microsoft.com/en-us/dotnet/framework/resources/working-with-resx-files-programmatically –

回答

0

這個完整的示例根據現有的資源文件創建新的資源文件,解析它的值。

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;