【WinRT】多语言化应用程序名称

在Windows Phone 8的时候,要对应用程序在列表中显示的名称和锁定到开始屏幕的磁贴的名称进行多语言化是十分困难的,需要使用C++建立一个多语言资源库。但是,在WinRT中,这变得简单多了,无需再使用C++,资源文件即可解决。当然,在WinRT中,磁贴中的名称跟应用名称是一致的,不再区分。

首先,我们需要在工程目录建立相应的资源文件(resw),如下图:

技术分享

根文件夹的名字必须为"Strings"。

然后Strings文件夹里的子文件夹的名称为语言名称,图中的则是简体中文和美国英文。

接下来在Resources.resw文件中添加一项用于测试:

zh-CN的Resources.resw:

技术分享

en-US的Resources.resw:

技术分享

修改MainPage。

<Page x:Class="LocalizationDemo.MainPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:local="using:LocalizationDemo"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      mc:Ignorable="d"
      Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

    <Grid>
        <StackPanel>
            <TextBlock x:Uid="txtTest" />
        </StackPanel>
    </Grid>
</Page>

定义一个控件的x:Uid跟资源文件中的名称的点号前相同。

运行程序:

zh-CN时:

技术分享

然后进入设置:

技术分享

进入语言

技术分享

添加语言,找English(United States)

技术分享

添加后重启,再次进入程序。

技术分享

可以见到效果了,如果不成功,请认真仔细检查以上基础步骤是否成功

 

接下来开始进行应用程序名称的多语言化:

在Resources.resw中添加一项新的,这里我命名为DisplayName。

zh-CN的:

技术分享

en-US的:

技术分享

接下来关键的一步来了,修改Package.appxmanifest

技术分享

 

技术分享

像上面的图片,修改显示名称为ms-resource:DisplayName。同理,这里的说明也可以按照同样的方法修改。

接下来就可以运行了。

zh-CN:

技术分享

技术分享

en-US:

技术分享

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。