Pau*_*aul 8 c# localization po
我一直在研究xliff和po i18n文件格式,似乎它们被广泛使用和支持.有很多免费工具来管理xliff/po文件中的翻译.
但是,到目前为止,我找不到如何在.net(C#/ ASP.Net)项目中使用xliff或po文件的好方法.我期待某种xliff/po => resx转换器,但到目前为止还没有找到.
但与此同时,许多工具都支持将xliff/po文件转换为java .properties格式.
如果您有通过.Net项目中的xliff或po文件实现l10n的经验- 请提供建议并分享有关其工作原理的最佳实践.
PS:我更喜欢使用xliff格式,因为我发现它更清晰,功能更多,但po也是一种选择.
小智 7
PO和XLIFF文件的工作方式通常不同:
PO文件是资源文件,它们被编译成二进制格式,然后使用gettext()库进行访问.有时PO被用作XLIFF之类的提取格式,但这不是它的最初目的.
XLIFF是通过将资源文件(例如resx)提取到XLIFF中创建的提取文件,然后合并回原始格式.
所以对于XLIFF你应该寻找一个工具resx -> xliff -> resx而不是xlif -> resx.
提取/合并XLIFF文件的工具通常称为过滤器.有很多商业翻译工具可以接受XLIFF,还有一些也可以创建XLIFF(Swordfish,Trados Studio等).
还有一些开源工具可以提取/合并XLIFF:File2XLIFF4j(但我不认为它支持resx).
来自Okapi项目的Rainbow确实支持resx."old".net版本(Rainbow 5:SourceForge上的Okapi)有一个专用于resx文件的过滤器,可以很好地处理它们; 即使是二进制数据.它可能会遇到第三方控件的问题(详见http://okapi.sourceforge.net/Release/Filters/Help/netres.htm).
新的java版本(Rainbow 6:http://code.google.com/p/okapi/)通过其XML过滤器支持resx,并且可以使用简单的resx工作,但是如果你有二进制数据,那些条目中的文本将是不被提取.
-YS