私は WPF ウィンドウを翻訳中です。私はWPF Localize Extensionを使用しています。これまでのところ、ファイルにはテスト目的のスペイン語翻訳しかありません<Resource>.es.resx
。設計時に翻訳が機能します。だから私は正しい軌道に乗っていると思います。
実行時に GUI を動的に変換するためのメニュー項目を含めました。最初に、この(素朴な)コマンドを試しました...
public class CmdTranslateUI : ICommand
{
bool ICommand.CanExecute(object parameter)
{
// TODO: Query available translations
return true;
}
public event EventHandler CanExecuteChanged;
void ICommand.Execute(object parameter)
{
LocalizeDictionary.Instance.Culture = new CultureInfo(
(string) parameter);
}
}
...そして、各言語のメニュー項目は、この方法で XAML にバインドされます。
<MenuItem Header="Español" CommandParameter="es-ES">
<MenuItem.Command>
<l:CmdTranslateUI />
</MenuItem.Command>
</MenuItem>
事実、そのようなアプローチは機能していません。Culture info は"en-US"
とにかく に設定されたままです。LocalizeDictionary.Instance.Culture
設定するとトリガーされると読んだDictionaryEvent
ので、これによりGUIが自動的に更新されると思いました。明らかに私は間違っています。
一方、現在のスレッドの文化もライブラリの動作に影響を与えないようです。
だから私は尋ねます...
Q:
- WPF Localize Extensionを使用して実行時にウィンドウを変換するための推奨されるアプローチは何ですか?
- 利用可能な翻訳を一覧表示するにはどうすればよいですか?
前もって感謝します 。