【发布时间】:2017-07-26 05:15:24
【问题描述】:
我有这个
var dialog = new MessageDialog("Error", "Error: Example");
await dialog.ShowAsync();
在 XAML 中我这样翻译:x:Uid="Example"
我想翻译您在 messagedialog 中显示的消息
如何在 C# 中进行翻译?
【问题讨论】:
标签: c# visual-studio-2015 uwp uwp-xaml
我有这个
var dialog = new MessageDialog("Error", "Error: Example");
await dialog.ShowAsync();
在 XAML 中我这样翻译:x:Uid="Example"
我想翻译您在 messagedialog 中显示的消息
如何在 C# 中进行翻译?
【问题讨论】:
标签: c# visual-studio-2015 uwp uwp-xaml
您可以使用ResourceLoader 类:
string localizedString = ResourceLoader.GetForCurrentView().GetString("<Key from resw>");
您可以将可选字符串传递给 GetForCurrentView 方法,您可以在其中指定 resw 文件的名称。
更新
GetString 方法返回一个字符串对象,您可以使用它来创建MessageDialog。
var loader = ResourceLoader.GetForCurrentView();
string title = loader.GetString("example_Title");
string content = loader.GetString("example_Content");
var dialog = new MessageDialog(content, title);
await dialog.ShowAsync();
更新 2
resw 文件中的键不能包含 '.'出于某种原因的性格。可能是因为 x:Uid 行为...
【讨论】:
x:Uid 相同,您可以在您的 C# 文件中使用它。您将 Uid 密钥传递给 GetString 方法。
string localizedString = ResourceLoader.GetForCurrentView().GetString("example"); var dialog = new MessageDialog("", ""); 在 .resw 我有这个:example.Content 和 example.Title anda 翻译但不工作,不出现任何东西