本地化资源.net -如何保持它们的同步

本文关键字:同步 何保持 资源 net 本地化 | 更新日期: 2023-09-27 18:01:26

当我们遵循本地化指南时,我们最终会得到至少两个资源文件。

Resource.resxResource.CI.resx是特定的CultureInfo资源。假设我们在Resource.resx中添加了100个字符串对,并希望在另一个资源中翻译这些键。我们现在可以复制粘贴并翻译它们,它可能第一次工作。

然而,在我们翻译字符串之后,它变得很难保持文件同步-它会自动重新排序字符串,我目前不明白应该如何确保每个字符串都是本地化的。

由于资源字符串应该是相互链接的,并且有额外的工作要做,以确保卫星组件正确构建,我希望有一个功能,如"确保每个资源字符串都存在于本地化的资源文件",但我担心一个缺失。

本地化资源.net -如何保持它们的同步

RESX Synchroniser可能会做你正在寻找的

当你编辑。net资源文件时在Visual Studio中,手动或使用"生成本地资源"命令,则IDE只更新文化不变资源:如果你有一个资源文件叫消息。Aspx,文件在其他比如messages。it .it .resx,都不更新了,你又要怎么办手动。RESX同步器将帮助您保存资源文件同步,将新键添加到本地化的文件,并删除删除的。保留注释在这个过程中。

我刚刚发现http://zetaresourceeditor.codeplex.com/似乎也是一个类似的想法,其他

可能UnitTest能帮到你吗?你知道,每个控件应该有哪些文本,一旦你创建了它们,然后添加新的字符串到列表并比较值。经过一次努力工作后,你可以测试你的本地化工作是否正确。

这个讨论有点老了,但仍然很有趣。看看ResXManager

我知道这个问题已经得到了传统的答案,但我也想提出一些完全原创的东西,我们自己尝试(并成功)做了更有效的Silverlight本地化:

Silverlight项目完成后的本地化

( Resx如此"century"

我建议您使用该Winform的Resx文件以编程方式创建特定于文化的资源文件。你可以创建一个可以随时运行的小应用程序。

为每个文化创建XML类型的文件,如fr.XML,用项目中所有字符串的Union填充该文件。并在那里提供翻译,例如,法语文件可能看起来像这样…

< wordTranslation>
< Word>Hello< /Word>
< Translation>Bonjour< /Translation>
< /wordTranslation>

创建一个哈希表或一些数据结构,最适合作为每个文化的字典,填充来自文化特定XMl文件的数据,如frDictionary。

对于项目中的每个Resx文件,例如wind1。创建一个特定于文化的文件,如wind1.fr.resx。读风中的单词。resx,从fraddictionary中找到这个单词的翻译。写入到wind1.fr.resx

您可以继续更新XML文件中的翻译。所以这是一次性的。这样你可以保持它的同步和易于维护。

你的意思是在这些文件之间同步翻译?使用http://www.getlocalization.com并将它们作为主文件上传,当它们被翻译后,翻译将填充到所有文件中。

我想你可以试试Amanuens。它是由RESX Synchronizer的同一作者开发的,除了帮助保持资源文件同步(甚至自动进入您的存储库,如果您设置它),可以用来让您的翻译人员访问字符串,在一个非常强大和易于使用的web编辑器中进行翻译。

在2023年,最好的选择是使用Visual Studio扩展:ResXManager。它允许您在一个视图中查看字符串和所有翻译。