在.NET应用程序中本地化大量文本的策略

时间:2011-02-23 21:06:28

标签: .net asp.net resources localization

我正在开发一个相当大的ASP应用程序,它将完全本地化。我在附属程序集中使用标准的resx方法,具有后备(即es-MXes-CLes共用的后备等等。)

不仅可能有数百个(如果不是一千个或更多!)不同的字符串;在某些地方,需要存储为资源的文本数量可能很长,只需几段。

我猜测在Visual Studio编辑器中管理这些字符串将是一种巨大的痛苦,更不用说将要执行某些翻译的人员首先无法访问VS.

那些在本地化应用上工作的人如何管理这类事情?任何建议和指示将不胜感激。

5 个答案:

答案 0 :(得分:7)

如果你决定去DB,请查看这篇文章:Rick Strahl的Creating a Data Driven ASP.NET Localization Resource Provider and Editor然后download it for free

如果您决定继续使用resx,可以使用Zeta Resource Editor来缓解疼痛。

答案 1 :(得分:3)

老实说,我不知道resx文件的限制,但如果有的话,你可以做以下事情:

在数据库中创建一个包含翻译文本的表。然后,当访问网站时,您必须缓存加载的翻译文本。

此类方法也有助于翻译团队,该团队无法访问Visual Studio。我可视化的唯一问题是创建一个额外的WebApp,允许翻译团队翻译文本。但是,它仍然很简单。

如果你不能使用数据库,一些XML文件可以帮你完成工作。

编辑:我刚刚找到了another alternative但是使用了.txt文件。这也可以帮助你。

答案 2 :(得分:1)

如果内容太多,它看起来更像是一个应该被内容管理系统攻击/解决的问题。

答案 3 :(得分:1)

我创办了一个项目,该项目的本地化工作量很少(4种语言,大约12页),这些项目的本地化工作量大得多(9种语言,40多页)。

resx文件模型开始成为庞大的PITA。添加语言的新文件很痛苦。为新页面添加新文件很痛苦。在页面之间移动功能很痛苦。

数据库驱动的方法可能会更好,尽管我还没有尝试过它。

编辑:至于使用翻译器,我使用Zeta资源编辑器将翻译导出/导入电子表格。

答案 4 :(得分:1)

使用免费的资源翻译助手工具(http://www.winking.be/resource-translation-helper)。

  1. 备份您的数据
  2. 添加位置并选择包含.resx文件的项目文件夹
  3. 说出要存储.xls文件的位置(这会创建另一个包含映射的xml文件,不要删除该文件)。
  4. 将Excel文件提供给翻译人员,让他们更新语言

    1. 翻译后再次将.xls文件导入文件夹
    2. 工作得很好!