我正在翻译 WPF 窗口。我正在使用WPF 本地化扩展。到目前为止,我在<Resource>.es.resx
file 中只有一个用于测试目的的西班牙语翻译。在设计时翻译工作。所以我想我是在正确的轨道上。
我已经包含了在运行时动态转换 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>
事实是这样的方法是行不通的。文化信息仍然设置为"en-US"
反正。我读到设置LocalizeDictionary.Instance.Culture
它DictionaryEvent
被触发,所以我认为这会自动更新 GUI。显然我错了。
另一方面,似乎当前线程的文化也不会影响库行为。
所以我问...
问:
- 在运行时使用WPF Localize Extension翻译窗口的推荐方法是什么?
- 我如何列出可用的翻译?
提前致谢 。