19

我被赋予了国际化大型客户端-服务器应用程序的任务。职责是我让应用程序“世界就绪”,然后将编译的应用程序和资源传递给另一个国家的同事进行翻译并发布给他们的客户。会有几个国家,因此会有几个单独的翻译。

这里的关键是我想要一个简单的两步发布过程:

第 1 步:我编译并向不同国家的同事发布一个“World Ready”应用程序

第 2 步:他们进行资源本地化,然后发布给客户

不想添加Make App World Ready -> Send files off for translation ->等待数周等待翻译返回-> Compile into App -> Release App的额外步骤。

我一直在研究 .NET 全球化和 resx 文件的使用。从我所看到的 resx 文件被编译到应用程序中,因此一旦编译就无法更改。甚至卫星组件似乎也无法编辑。即使我在这一点上错了,对卫星程序集的更改如何反映回我项目中的 resx 文件?

所以现在的问题。鉴于我只想先编译应用程序,然后再处理翻译,resx 文件是正确的方法还是我应该放弃它们并编写一个定制的数据库驱动解决方案,在应用程序编译后可以轻松编辑?

希望一切都说得通。期待你的想法。

4

3 回答 3

17

是的,resx 文件是最好的解决方案。

对于资源的翻译,您应该查看本地化工具,例如Passolo。它要么

  • 将原始 resx 作为输入并生成翻译后的 resx 文件,您需要将其签入代码库
  • 将编译的程序集作为输入并生成附属程序集。

我们正在翻译程序集,因为这也允许本地化 gui 布局。要允许外部工具打开 gui 编辑器,它需要代码,并且它在程序集中。

如果只关注测试翻译,resx 的翻译可能更容易处理。

这种外部工具提供了以下重要功能:

  • 将所有字符串聚集在一起,您不必处理数百个 resx 文件
  • 管理多种语言的翻译文本,主要使用 gui 设计器。
  • 识别源文本是否已更改或已添加,因此您现在需要翻译哪些文本。
  • 重复文本只翻译一次。
  • 通常很好的用户界面来编辑翻译。
  • 导出/导入到 csv 和类似格式,以供其他工具甚至其他公司处理。
于 2009-04-30T08:34:29.167 回答
2

是的,.NET 中的整个全球化框架都是基于 RESX 文件和它们创建的卫星程序集。编译主应用程序后,可以将 RESX 文件独立编译到它们的卫星程序集中。

我知道有一些工具可以帮助翻译过程,但我不熟悉任何手头的工具。

于 2009-04-30T08:31:06.400 回答
0

检查 Rick Strahl 的资源提供者

于 2009-06-23T17:24:15.373 回答