- Windows 10 开发教程
- Windows 10 - 主页
- Windows 10 - 简介
- Windows 10 – UWP
- Windows 10 – 第一个应用
- Windows 10 - 应用商店
- Windows 10 - XAML 控件
- Windows 10 - 数据绑定
- Windows 10 - XAML 性能
- Windows 10 - 自适应设计
- Windows 10 - 自适应 UI
- Windows 10 - 自适应代码
- Windows 10 - 文件管理
- Windows 10 - SQLite 数据库
- Windows 10 – 通信
- Windows 10 - 应用本地化
- Windows 10 - 应用生命周期
- Windows 10 - 后台执行
- Windows 10 - 应用服务
- Windows 10 - Web 平台
- Windows 10 - 连接体验
- Windows 10 - 导航
- Windows 10 - 网络
- Windows 10 - 云服务
- Windows 10 - 实时磁贴
- Windows 10 - 共享契约
- Windows 10 - 移植到 Windows
- Windows 10 有用资源
- Windows 10 - 快速指南
- Windows 10 - 有用资源
- Windows 10 - 讨论
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 并打开同一个项目。
现在从工具 > 多语言应用程序工具包菜单选项启用此工具包。
现在您可以添加其他语言的翻译。
在解决方案资源管理器中右键单击项目,然后从菜单中选择多语言应用程序工具包 > 添加翻译语言选项。
将打开以下翻译语言对话框。您可以选择任何您想要的语言,以便针对这些文化对您的应用程序进行本地化。
让我们选择德语语言并单击确定按钮。
您还可以看到Resources.resw文件是在Strings\de文件夹内创建的。
现在,您会看到另一个MultiLingualResources添加到*.xlf文件中。双击此文件,这将打开多语言编辑器以检查和验证已翻译的字符串,并在需要时进行一些更改。
进行更改并验证背景色是否已更改为棕色,以及标题文本是否已正确翻译为德语。
如上例所示,Hub 的背景色已从蓝色更改为棕色,前景色保持不变。
现在打开Resources.resw,它位于Strings\de文件夹内。
您可以看到这里只提到了两个字符串,因为我们没有在多语言编辑器中更改前景色。
要检查应用程序的本地化版本,请更改计算机的区域性。要更改计算机的区域性,请按照以下步骤操作。
- 让我们转到 PC 设置并选择时间和语言。
从左侧窗格中,选择区域和语言,然后单击添加语言。
选择德语 (德国)语言,如上所示,这将打开另一个对话框。
现在选择德语 (德国)并关闭此对话框。
- 将德语设置为默认语言。
- 现在执行您的应用程序,它将显示以下窗口。
- 现在您可以看到应用程序的输出以德语显示。