UWP基础教程 - App多语言支持
时间:2022-05-04
本文章向大家介绍UWP基础教程 - App多语言支持,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
UWP实现本地化非常简单,所谓本地化表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,比如在 阿拉伯地区 阅读顺序是从右到左,需要稍稍适配一下。
本文主要讲解的是UWP APP如何进行多语言支持
- 多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别;
- 多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码,具体的语言代码可以点此查看
- 编译打包时,系统会根据找到的多语言文件夹,在AppManifest文件的 Resources 节点下面,生成对应的 Resource 子元素 ,但前提是该节点下面必须有如下元素
<Resource Language="x-generate"/>
- 针对需要布局RTL的语言,如希伯来语,只需要添加例如语言代码为 “he” 的资源文件即可,系统会自动对标题栏等地方进行RTL布局,但也仅限于标题栏,页面内部的RTL,还需要手动设置 FlowDirection 为 RightToLeft;
- 如果在运行时,你的 app 不支持当前电脑系统选择的语言,则默认会使用 Default Language 中设置的语言,该设置选项在你 app 项目的 .csproj 文件中;
如果你想在App中动态切换语言,你可以设置
ApplicationLanguages.PrimaryLanguageOverride
为指定的语言,关于语言列表我列了常用的出来,具体如下所示
zh-cn、zh、zh-Hans、zh-hans-cn、zh-sg、zh-hans-sg
zh-hk、zh-Hant、zh-mo、zh-tw、zh-hant-hk、zh-hant-mo、zh-hant-tw
de、de-at、de-ch、de-de、de-lu、de-li
en-us、en、en-au、en-ca、en-gb、en-ie、en-in、en-nz、en-sg、en-za、en-bz、en-hk、en-id、en-jm、en-kz、en-mt、en-my、en-ph、en-pk、en-tt、en-vn、en-zw、en-053、en-021、en-029、en-011、en-018、en-014
es、es-cl、es-co、es-es、es-mx、es-ar、es-bo、es-cr、es-do、es-ec、es-gt、es-hn、es-ni、es-pa、es-pe、es-pr、es-py、es-sv、es-us、es-uy、es-ve、es-019、es-419
fr、fr-be、fr-ca、fr-ch、fr-fr、fr-lu、fr-015、fr-cd、fr-ci、fr-cm、fr-ht、fr-ma、fr-mc、fr-ml、fr-re、frc-latn、frp-latn、fr-155、fr-029、fr-021、fr-011
hi、hi-in
it、it-it、it-ch
ja、ja-jp
pt、pt-pt、pt-br
ru、ru-ru
使用这种方法实现的切换App语言,必须重启 才能生效,可参考 UWP基础教程 - 重启应用 自动完成此动作。
- Dagger2 入门解析
- Git 工作流的正确打开方式
- 如何从两个List中筛选出相同的值
- 【Windows编程】系列第八篇:创建通用对话框
- 使用dropwizard(3)-加入DI-dagger2
- 巧用shell生成数据库检查脚本 (74天)
- 【专业技术】OPENGL与EGL
- 在dropwizard中使用feign,使用hystrix
- 用python抓取淘宝评论
- 使用Dropwizard(2)-配置分类ConfiguredBundle
- Upgrade with the Gradle Wrapper, gradlew升级
- 使用swagger作为restful api的doc文档生成
- 面试机器学习、大数据岗位时遇到的各种问题
- 使用nginx代理跨域,使用nginx代理bing的每日一图
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Linux Namespace之User
- Centos7.0安装ceph(JEWEL)及以上版本的实例解析
- 详解Linux内核进程调度函数schedule()的触发和执行时机
- Linux下使用SSH远程执行命令方法收集
- 详解Centos7.2编译安装zabbix3.2(详细步骤)
- Linux下误删messages文件的找回方法
- 自制YUM仓库的步骤讲解
- 解决centos7中tomcat启动与本机访问问题
- centos6.5配置ssh免秘钥登陆执行pssh命令的讲解
- 使用PXE自动安装CentOS7.6的教程详解
- Ubuntu环境下SSH的安装及使用详解
- CentOS8 网卡配置文件
- Linux加载vmlinux调试
- Linux 中删除文本中的回车字符的方法
- 详解Linux下出现permission denied的解决办法