VCD を構築するときは、次のように言語を定義します。
<CommandSet xml:lang="en-US">
...
</CommandSet>
<CommandSet xml:lang="ja-JP">
...
</CommandSet>
en-US
私の質問は、複数の言語で同じ CommandSet (やなど) を使用したい場合、en-GB
コピー/貼り付けなしで可能ですか?
VCD を構築するときは、次のように言語を定義します。
<CommandSet xml:lang="en-US">
...
</CommandSet>
<CommandSet xml:lang="ja-JP">
...
</CommandSet>
en-US
私の質問は、複数の言語で同じ CommandSet (やなど) を使用したい場合、en-GB
コピー/貼り付けなしで可能ですか?
編集:この回答に記載されているオプションは機能しません。VCDマルチランゲージコピーアンドペーストを回避する最善の方法は、T4テンプレートを使用してVCDを生成することです。コンパイル時です。
うん、それは実際にはかなり簡単です。CommandSetが重複していない限り、特定の地域に言及することなく、言語全体のCommandSetを作成できます。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>
このコードスニペットを実行すると、さまざまなエミュレーターにさまざまなサンプルテキストが表示されます。
xml:lang="en"
ここでの1つの制限は、地域固有の英語のCommandSet(例)と同時にCommandSetを使用できないことですxml:lang="en-us"
。圧倒的多数のアプリにとって、それは問題ありません。ただし、地域固有のPhraseListを埋め込む場合は、別の戦略を使用する必要があります(たとえば、著作権の制限により、特定の地域でのみ利用可能な映画のリスト)。私が以前に見たオプションの1つは、VCDファイルを繰り返しコピーアンドペーストする代わりにVCDファイルを生成するT4テンプレートです。