我有一个非常大的wpf项目,经过两年的开发我要求使其成为双语,有没有办法在xaml文件中自动提取标签和网格标题中的字符串,以便我可以翻译它们而不是手动提取它们?
答案 0 :(得分:0)
我不知道是否有任何现有工具可以提供帮助,但您可以自己实现它,当我将大量100 C ++项目的大型解决方案从ansi转换为unicode字符串时,我遇到了这样的问题,我实现了一个简单的工具,其中一个窗口包含2个丰富的编辑框,一个用于替换彩色的原始文本,另一个用于替换,用于操作resex文件看看Working with .resx Files Programmatically,不要忘记正则表达式是您完成此工具的朋友。
答案 1 :(得分:0)
您可以通过查找WPG根Label
元素中的所有Grid
控件(例如mainGrid
)并使用以下C#代码段提取其内容来自动执行此过程:
IEnumerable<Label> _collection = mainGrid.Children.OfType<Label>();
foreach(Label _control in _collection)
{
string _text = _control.Content.ToString();
// add you code here
}
结果可以放在资源文件中(例如,CSV),并添加您的翻译。其他解决方案(更复杂)涉及创建多语言XML文件,或本地多语言数据库,其中所有标签内容都添加到第一个字段,翻译添加到下一个字段等。
希望这可能会有所帮助。