问题描述
我的任务是国际化大型客户端-服务器应用程序.职责是我让应用程序世界就绪",然后将编译的应用程序和资源传递给另一个国家的同事进行翻译并发布给他们的客户.会有几个国家,因此会有几个单独的翻译.
I have been given the task of internationalizing a large client-server application. The remit is that I make the app 'World Ready' and then the compiled application and resources gets passed over to colleagues in another country for translation and release to their customers. There will be several countries and therefore several seperate translations.
这里的关键是我想要一个简单的两步发布过程:
The key thing here is that I want a simple two step release process:
第 1 步:我编译并发布一个世界就绪"应用程序给我在不同国家的同事
Step 1: I compile and release a 'World Ready' application to my colleagues in the various coutries
第 2 步:他们进行资源本地化,然后发布给客户
Step 2: They do the localization of resources and then release to their customers
我不想想要添加额外的步骤 Make App World Ready -> 发送文件进行翻译 -> 等待数周翻译回来 -> 编译成应用程序 -> 发布应用程序.
I don't want to add the extra steps of Make App World Ready -> Send files off for translation -> Wait weeks for the translations to come back -> Compile into App -> Release App.
我一直在研究 .NET 全球化和 resx 文件的使用.从我所看到的 resx 文件被编译到应用程序中,因此一旦编译就无法更改.甚至卫星组件似乎也无法编辑.即使我在这一点上错了,对卫星程序集的更改如何反映到我项目中的 resx 文件中?
I have been looking at .NET Globalization and the use of resx file. From what I have seen the resx file gets compiled into the application and therefore can not be changed once compiled. Even satelite assemblies do not seem editible. And even if I am wrong on that point, how would changes to the satelite assemblies be reflected back into the resx files in my project?
所以现在回答这个问题.鉴于我只想先编译应用程序,然后再处理翻译,resx 文件是正确的方法还是我应该放弃它们并编写一个定制的数据库驱动解决方案,在应用程序完成后可以轻松编辑编译了吗?
So now for the question. Given that I just want to compile the app first and let the translations be handled afterwards, are resx files the right way to go or should I abandon them and write a bespoke database driven solution that can be easily edited after the app has been compiled?
希望一切都有意义.期待你的想法.
Hope that all makes sense. Look forward to your thoughts.
推荐答案
是的,resx 文件是最好的解决方案.
Yes, resx files are the best solution.
要翻译资源,您应该查看本地化工具,例如 Passolo.也可以
For translation of the resources you should look at a localization tool, for instance Passolo. It does either
- 将原始 resx 作为输入并生成翻译后的 resx 文件,您需要将其签入到代码库中
- 将编译后的程序集作为输入并生成附属程序集.
我们正在翻译程序集,因为这也允许本地化 gui 布局.要允许外部工具打开 gui 编辑器,它需要代码,并且它在程序集中.
We are translating assemblies, because this allows to localize the gui layout as well. To allow an external tool to open a gui editor, it needs the code and this is in the assembly.
如果你只关注测试翻译,resx的翻译可能更容易处理.
If you only focus on test translation, translation of resx is probably simpler to handle.
这样的外部工具提供了以下重要功能:
Such an external tool provides this important functionalities:
- 将所有字符串收集在一起,您不必处理数百个 resx 文件
- 管理多种语言的翻译文本,主要使用 gui 设计器.
- 识别源文本是否已更改或已添加,以便您现在需要翻译哪些文本.
- 重复文本只翻译一次.
- 通常很好的用户界面来编辑翻译.
- 导出/导入为 csv 和类似格式,以供其他工具甚至其他公司处理.
这篇关于resx 文件是否适合国际化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!