UWP基础教程 - App多语言支持

UWP实现本地化非常简单,所谓本地化表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,比如在 阿拉伯地区 阅读顺序是从右到左,需要稍稍适配一下。

本文主要讲解的是UWP APP如何进行多语言支持

  1. 多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别;
  2. 多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码,具体的语言代码可以点此查看
  3. 编译打包时,系统会根据找到的多语言文件夹,在AppManifest文件的 Resources 节点下面,生成对应的 Resource 子元素 ,但前提是该节点下面必须有如下元素<Resource Language="x-generate"/>
  4. 针对需要布局RTL的语言,如希伯来语,只需要添加例如语言代码为 “he” 的资源文件即可,系统会自动对标题栏等地方进行RTL布局,但也仅限于标题栏,页面内部的RTL,还需要手动设置 FlowDirection 为 RightToLeft;
  5. 如果在运行时,你的 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基础教程 - 重启应用 自动完成此动作。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博客

ExtJs十一(ExtJs Mvc图片管理之一)

图片管理要在两个地方使用:一是标签页内的图片管理,一是文章内容编辑时嵌套到插入图片的窗口内。因而,将图片管理做成一个扩展比较方便。当然,做成MVC模式也行,不争...

1453
来自专栏小白课代表

PDF的最简单处理方案之一。

1032
来自专栏Aloys的开发之路

PDF常见问题总结

Acrobat保存PDF文档报错“读取本文档时出现问题(135)” 用Acrobat修改PDF文档,保存的时候报错:“文档无法保存。读取本文档时出现问题(13...

3687
来自专栏数据库

C#如何使用SQLite数据库兼容32位,64位系统

C#如何使用SQLite数据库兼容32位,64位系统 新建一个项目 使用VS2013新建一个WinForm应用程序,建立一个如下图所示的窗口,在窗口上面添加几个...

3286
来自专栏破晓之歌

vscode-轻量级实用编辑器 原

注:安装好如果不生效的话,需要到“文件 -- 首选项 -- 文件图标主题 -- 选择vscode icons ”

1292
来自专栏xiaoheike

创建一个maven web project

几经周折总算是找到了和高杨学长一样的web  project的方法。感谢学长的一语点醒。我之前以为,既是maven又是web project的项目得要是通过dy...

1583
来自专栏FreeBuf

EKFiddle:基于Fiddler研究恶意流量的框架

EKFiddle是一个基于Fiddler web debugger的,用于研究漏洞利用套件、恶意软件和恶意流量的框架。

1210
来自专栏企鹅号快讯

加速 Webpack

作者:吴浩麟 https://www.ibm.com/developerworks/cn/web/wa-lo-expedite-webpack/index.ht...

2945
来自专栏行者常至

01.golang hello world(sublime 安装配置汉化)

1242
来自专栏IT可乐

HTML中的超链接

超链接:也叫URL(Uniform Resource Locator),就是统一资源定位器。一般效果是我们点击网页上某个地方,网页会自动跳转到另外一个地方。 一...

3545

扫码关注云+社区

领取腾讯云代金券