如何排除Multilingual App Toolkit生成的.xlf文件中的非字符串资源?
解决Multilingual App Toolkit生成.xlf文件时排除非字符串资源的方法
单独存放字符串资源
把项目里的图像、尺寸这类非字符串资源移到单独的.resx文件(比如命名为NonStringResources.resx),只在专门的Strings.resx里放需要翻译的文本。启用Multilingual App Toolkit时,只针对这个字符串专用的.resx生成翻译文件,工具就不会扫描到非字符串资源了。修改项目MSBuild配置限定资源类型
编辑项目的.csproj文件,添加以下配置,明确告诉工具只处理字符串类型的资源:<PropertyGroup> <MultilingualResourceTypes>String</MultilingualResourceTypes> </PropertyGroup>保存后重新生成翻译文件,就能得到只包含字符串的.xlf。
在编辑器里筛选显示内容
打开.xlf文件后,在编辑器顶部的筛选选项里,把资源类型限定为“字符串”,这样图像、尺寸这类非翻译内容会被隐藏,你可以专注处理需要翻译的文本。这是临时过滤显示,不会修改原文件。手动清理已生成的.xlf文件
如果已经有包含非资源的.xlf文件,直接打开文件删除非字符串的<trans-unit>节点就行。比如找到标注type="System.Drawing.Bitmap"或type="System.Int32"的节点,删掉这些条目。操作前记得备份原文件,防止误删。
内容的提问来源于stack exchange,提问作者Ahmad Nawaz
相关产品推荐
相关产品推荐

