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

在.NET应用程序中本地化大量文本的策略,.net,asp.net,resources,localization,.net,Asp.net,Resources,Localization,我正在开发一个相当大的ASP应用程序,它将完全本地化。我正在卫星组件中使用名为resx的标准方法,具有回退功能(即es-MX、es-CL和es常见的回退功能等等) 不仅可能会有数百条(如果不是一千条或更多的话!)不同的字符串;在某些地方,需要存储为资源的文本量可能很长,只有几段 我猜在VisualStudio编辑器中管理这些字符串将是一件非常痛苦的事情,更不用说将执行某些翻译的人一开始就无法访问VS 在本地化应用程序上工作的人是如何管理这类事情的?如果您有任何建议和建议,我们将不胜感激。老实说,

我正在开发一个相当大的ASP应用程序,它将完全本地化。我正在卫星组件中使用名为
resx
的标准方法,具有回退功能(即
es-MX
es-CL
es
常见的回退功能等等)

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

我猜在VisualStudio编辑器中管理这些字符串将是一件非常痛苦的事情,更不用说将执行某些翻译的人一开始就无法访问VS


在本地化应用程序上工作的人是如何管理这类事情的?如果您有任何建议和建议,我们将不胜感激。

老实说,我不知道resx文件的局限性,但如果有,您可以执行以下操作:

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

这种方法也有助于翻译团队,因为他们无法访问VisualStudio。我想象的唯一问题是创建一个额外的WebApp,允许翻译团队翻译文本。但是,这仍然很简单

如果您不能使用数据库来完成这项工作,一些XML文件可以为您完成这项工作


编辑:我刚找到但使用的是.txt文件。这对你也有帮助。

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

我启动了一个项目,它有一个小规模的本地化工作(4种语言,大约12页),然后发展成一个更大的本地化工作(9种语言,40多页)

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

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


编辑:关于与翻译人员的合作,我使用Zeta资源编辑器将翻译导出到电子表格中或从电子表格中导入。

如果您决定使用DB,请查看本文:由Rick Strahl撰写,然后


如果您决定继续使用resx,您可以使用来减轻痛苦。

使用免费的资源翻译帮助工具工具()

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

  • 翻译后,再次将.xls文件导入文件夹

  • 很好用

    我用戴维斯的方法解决这个问题。我有一个表,表中有我需要的每种语言的一列(我用标准语言代码、es MX等命名),行由翻译后的文本在应用程序中所属的位置标识,通常是控件或字段名。它对那些需要翻译的人来说非常有用,我可以从数据库中加载任何需要的语言。我可以随时切换语言,只需从数据库中获取一个新专栏。谢谢你的建议和链接。正如我所说,在这种情况下使用数据库是不可行的。resx文件只是xml,虽然下面的一些答案可能是更好的建议,但使用原始xml可能比使用VS GUI更好。一些翻译供应商甚至非常擅长在保留模式的同时翻译xml中的内容。@尽管如此,附属程序集需要编译和部署以进行更新。所以XML编辑只是策略的一部分。谢谢,但是在这种情况下使用数据库是不实际的,至少对于绝大多数字符串来说是不实际的。不过,感谢您提供编辑器的链接,我将尝试一下。资源混合器是另一个帮助管理资源文件的有用应用程序。一些有用的功能包括导入和导出多种格式以及通过谷歌自动翻译。这是一种垂直应用程序,所以CMS不会真正帮助我。我只是有点担心内容的数量。根据我的经验,内容将需要更新,而且几乎从来没有更新将由开发人员完成,并且需要很短的上市时间。合并一个CMS可能会有助于允许一个内容编辑器系统。我将四个resx文件放入其中,我可以看到它将如何成为一个PITA。