Windows 10 开发 - 本地化
Windows 在全球范围内使用,涵盖各种不同的市场,目标受众的文化、地域或语言也各不相同。本地化是指将应用程序资源翻译成针对其支持的特定文化的本地化版本。
如果仅使用一种语言开发任何应用程序,就意味着您的业务和客户受到了限制。如果您想扩大客户群,从而提升您的业务,那么您的应用程序必须在全球范围内可用且易于访问。对产品进行经济高效的本地化是吸引更多客户的最佳且最经济的方式之一。
在 Windows 10 中,使用 resx 文件可以轻松创建可本地化的应用程序,这是最简单的本地化解决方案。
让我们通过一个简单的示例来理解这一点,并遵循以下所有步骤。
翻译 UI 资源
您可以将 UI 的字符串资源放入资源 (resw) 文件中,而不是将它们直接放在代码或标记中,然后您就可以在代码或标记中引用这些字符串。按照以下步骤将字符串添加到资源文件中。
创建一个新的通用 Windows 平台 (UWP) 应用程序。
在解决方案资源管理器中,右键单击项目,然后选择添加 >新建文件夹。
将新文件夹的名称更改为"Strings"。
右键单击Strings文件夹,然后添加一个名为"en-US"的新文件夹。这些是特定于语言和国家/地区名称的命名约定,可以在国家语言支持 (NLS) API 参考 msdn.microsoft.com 页面中找到。
右键单击 en-US 文件夹,然后选择 添加 > 新建项目…。
- 将打开以下对话框。
选择"资源文件 (.resw)",然后点击添加按钮。
现在,我们转到 XAML 文件并添加一个 Hub 控件,并设置一些属性,如下所示。
<Page
x:Class = "UWPLocalizationDemo.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local = "using:UWPLocalizationDemo"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d">
<Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Hub x:Name = "textBlock" x:Uid = "HubControl" Background = "Black"
Foreground = "White" Header = "Localization Demo"/>
</Grid>
</Page>
x:Uid = "HubControl" 是用于本地化的标识符
现在,编译并执行上述代码后,您将看到以下窗口。
所有与 Hub 相关的信息,例如标题、前景和背景颜色,均在 XAML 中设置。
现在,在 Strings/en-US 文件夹中的 Resource.resw 文件中添加一些信息,如下所示。
您需要将每个需要本地化文本的控件与 .resw 文件关联。您可以通过在 XAML 元素上使用 x:Uid 属性来实现,例如 −
x:Uid = "HubControl" 在 resw 文件中用于为标题、前景色和背景色分配字符串。
现在,当您在模拟器上编译并执行应用程序时,您将看到以下窗口。您可以看到,标题、前景和背景颜色值均从 Resources.resw 文件中选取。
您可以手动添加其他语言(例如法语、德语和日语等)的 Resource.resw 文件,就像我们为美国英语所做的那样,但 Microsoft 还提供了 多语言应用工具包,借助该工具包,您可以轻松地将 Resource.resw 翻译成其他语言。
前往 工具 >扩展和更新菜单,搜索多语言应用工具包。
下载并安装此工具包。安装完成后,重新启动 Visual Studio 并打开同一项目。
现在从工具 > 启用此工具包。多语言应用工具包菜单选项。
现在您可以添加其他语言的翻译。
在解决方案资源管理器中右键单击项目,然后从菜单中选择多语言应用工具包 > 添加翻译语言选项。
将打开以下翻译语言对话框。您可以选择任何所需的语言,以便针对这些文化本地化您的应用程序。
选择德语语言,然后点击确定按钮。
您还可以看到在文件夹 Strings\de 中创建了 Resources.resw 文件。
现在,您将看到另一个 MultiLingualResources 已添加到 *.xlf 文件中。双击此文件,将打开多语言编辑器,检查并验证已翻译的字符串,并根据需要进行一些更改。
进行更改,并验证背景色是否已更改为棕色,以及标题文本是否已正确翻译为德语。
如上例所示,Hub 的背景色已从蓝色更改为棕色,而前景色保持不变。
现在打开 Strings\de 文件夹中的 Resources.resw。
您可以看到这里只提到了两个字符串,因为我们没有更改多语言编辑器的前景色。
要检查应用程序的本地化版本,请更改计算机的文化。要更改计算机的文化,请按照给定的步骤操作。
- 让我们转到 PC 设置并选择"时间和语言"。
在左侧窗格中,选择区域和语言,然后点击添加语言。
如上所示,选择Deutsch German语言,这将打开另一个对话框。
现在选择德语(德国)并关闭此对话框。
- 将德语设为默认语言。
- 现在执行您的应用程序,它将显示以下窗口。
- 现在您可以看到应用程序以德语输出的内容。

