有没有办法在.NET中自动生成相应的resx文件进行字符串本地化?

时间:2010-02-26 21:20:31

标签: .net localization

使用this answer,我创建了一个示例本地化应用。我的问题是,有没有办法让Visual Studio自动生成strings.fr.resx文件,其中包含相同的字符串(相同的名称,即空值),所以知道法语的人可以填写它们,或者我是实际上必须为我想支持的每种语言手动创建资源吗?

2 个答案:

答案 0 :(得分:12)

您可以使用第三方工具执行此操作:Zeta Resource Editor

  1. 打开Zeta资源编辑器(ZRE)后, 你必须创建一个新的ZRE 项目。
  2. 然后你必须添加你的 现有资源文件进入 这个项目。
    • 为所有资源文件自动执行此操作:
      1. 点击“文件组和标签”标签
      2. 点击“自动将多个文件组添加到项目”并按照说明操作。
  3. 要添加新语言:
    1. 突出显示“项目文件”树中的相应节点。
    2. 点击“文件组和标签”标签
    3. 点击“创建新文件”并按照说明操作。
    4. 确保将新创建的resex文件包含在Visual Studio项目中。
  4. 使用此工具的好处是,您还可以使用它将您的翻译导出/导入电子表格以进行翻译。 (您可以从“开始”标签执行此操作)


    或者,您可以编写自己的小程序来执行此操作。该计划的核心是:

    using( ResXResourceReader reader = new ResXResourceReader( resourceFileName ) )
    using( ResXResourceWriter writer = new ResXResourceWriter( newResourceFileName ) )
    {
        foreach( DictionaryEntry entry in reader )
        {
            writer.AddResource( entry.Key.ToString(), "" );
        }
    
        writer.Generate();
        writer.Close();
    }
    

答案 1 :(得分:0)

我唯一知道的是手动创建资源文件,然后转到原始资源文件并将文本资源的属性和值复制到新创建的文件中。这也有一个优点,即翻译确切地知道她要翻译的内容。