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文件夹内。

应用程序本地化字符串
  • 你可以看到这里只提到了两个字符串,因为我们没有改变多语言编辑器上的前景色。

要检查应用程序的本地化版本,请更改计算机的区域性。要更改机器的文化,请按照给出的步骤操作。

  • 让我们进入电脑设置并选择时间和语言。
定位时间设置
  • 从左侧窗格中,选择区域和语言,然后单击添加语言

本地化区域和语言
  • 选择如上所示的Deutsch German ,这将打开另一个对话框。

本地化 德语 德语
  • 现在选择德语(德国)并关闭此对话框。

本地化德国
  • 将德语设置为默认语言。
  • 现在执行您的应用程序,它将显示以下窗口。
本地化执行
  • 现在您可以看到德语应用程序的输出。