zoukankan      html  css  js  c++  java
  • 【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:

  • 相关阅读:
    数据库事务(Transaction)
    取余与取模运算区别
    HashMap与HashTable的区别
    Linux下运行命令出现is not in the sudoers file的问题
    Redis 安装及入门
    Maven本地仓库在C盘下无法自动下载相关依赖的问题
    修改从Maven中心仓库下载到本地的jar包的默认存储位置及远程仓库
    CentOS7使用firewalld管理防火墙与端口
    同时安装Python2,Python3如何解决冲突问题【官方解法】
    数据库查询字段带有特殊字符时报错的问题
  • 原文地址:https://www.cnblogs.com/h82258652/p/4292157.html
Copyright © 2011-2022 走看看