我想本地化VirtualKey for Control。 目前有这样的代码:
using Windows.System;
var message = "Press " + VirtualKey.Control.ToString() + " + D for deletion!";
是否有可用于拥有以下内容的API?
答案 0 :(得分:1)
由于VirtualKey是枚举,您不能直接翻译枚举的成员,但可以将其用作资源文件的密钥,构建本地化系统:
我按照this教程在Windows 8.1应用程序上构建了一个简单的本地化系统;这些是我遵循的步骤(总结)
VirtualKey.xxx.ToString()
,我强烈建议您使用相同的枚举标识符;例如:如果你想翻译控制角色,请调用新资源"控制" - (这就是我所做的):在代码中,请参阅每个已翻译的字符串
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
loader.GetString(VirtualKey.xxx.ToString());
这是我在MainPage.xaml中的TextBlock上所做的:
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
this.txbCtrl.Text = String.Format("Press {0}-Z to undo", loader.GetString(VirtualKey.Control.ToString()));
为了测试其他语言,我按照教程,即使我不喜欢它:
注意:如果您的计算机上没有这三种语言,请点击添加语言并将其添加到列表中,添加缺少的语言。
在我的情况下,我将意大利语列为第一名,将英语(英国)列为第二名,但如果我交换它们:
请注意,我已拨打英语控制键" Control"和意大利人" Ctrl&#34 ;;它完美地运作
我希望这会有所帮助。
如果您有更多问题,请询问!
LuxGiammi
编辑:这是一个解决方案,即使我认识到这不是一个好的解决方案(无论如何,它是我能想到的最好的)。无论如何,如WinForm应用程序所述here,没有必要这样做,因为如果你使用defualt名称作为密钥(例如,枚举中的那个,就像你一样),evrybody会理解你的。现在这样做。)EDIT2:然而,这个解决方案为未来做好了准备,并且#34;完整的"您的应用程序的本地化这样,一半的努力都是在开发过程开始时完成的。