构建VCD时,您可以定义如下语言:
<CommandSet xml:lang="en-US">
...
</CommandSet>
<CommandSet xml:lang="ja-JP">
...
</CommandSet>
我的问题是,如果我希望多种语言使用相同的CommandSet(例如en-US
和en-GB
),那么可能没有复制/粘贴吗?
答案 0 :(得分:2)
编辑:此答案中列出的选项不起作用。似乎避免VCD多语言复制粘贴的最佳方法是使用T4模板生成VCD是编译时间。
xml:lang
是一个通用的XML属性,您可以利用它来获得优势。
在下面的代码段中,我们将指定一个en
(英语)语音命令集,而无需提及特定区域。
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
<CommandSet xml:lang="en">
<Example> English example </Example>
<!-- ... -->
</CommandSet>
<CommandSet xml:lang="es-ES">
<Example> Non-english example </Example>
<!-- ... -->
</CommandSet>
</VoiceCommands>
当我们运行此代码段时,我们可以看到不同的示例文本显示在不同的模拟器中:
这里的一个限制是,您不能在区域特定的英语CommandSets(例如xml:lang="en"
)的同时拥有xml:lang="en-us"
CommandSet。对于绝大多数的应用程序,这很好。但是,如果您要嵌入特定区域的PhraseList,则必须使用其他策略(例如,由于版权限制,仅在特定区域提供的电影列表)。我之前见过的一个选项是生成VCD文件的T4模板,而不是重复的复制粘贴VCD文件。
答案 1 :(得分:0)
这已经不可能了。使用WP8.1,你必须提供xml:lang。