【问题标题】:Are resx files suitable for Internationalization?resx 文件是否适合国际化?
【发布时间】:2010-10-22 19:10:10
【问题描述】:

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

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

第 1 步:我编译并向不同国家的同事发布“世界就绪”应用程序

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

我不想添加额外的步骤 Make App World Ready -> 发送文件进行翻译 -> 等待数周翻译回来 -> 编译成应用程序 -> 发布应用程序。

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

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

希望一切都有意义。期待你的想法。

【问题讨论】:

  • 感谢您提供的信息。我仍然不相信 resx 文件。那里的许多工具似乎相当昂贵,我对它们会提供定制数据库解决方案的灵活性持保留意见。真正让我远离 resx 文件的是 WinRes.exe(用于本地化表单布局的应用程序)不适用于我们广泛使用的 Infragistics Controls。如果没有更改布局的优势,resx 文件就会失去吸引力。因此,我认为我们将采用数据库驱动的解决方案。再次感谢您的意见。
  • 大多数本地化工具都有 API,如果你想使用这样的工具,你也可以在数据库驱动的解决方案案例中做到这一点:你只需发布或调用翻译那个本地化平台。当您将翻译众包时,它们非常有用。

标签: .net localization internationalization resx


【解决方案1】:

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

要翻译资源,您应该查看本地化工具,例如Passolo。它也可以

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      查看 Rick Strahl 的 resource provider

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-06
        • 2014-02-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多