[UWP]针对UWP程序多语言支持的总结,含RTL
2024-10-14 13:38:37
UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化。
所谓本地化,表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,有影响的一般是阿拉伯地区的RTL,阅读顺序是从右到左,需要稍稍适配一下。
具体实现步骤:
微软官方文档 Localize strings in your UI and app package manifest (https://docs.microsoft.com/en-us/windows/uwp/globalizing/put-ui-strings-into-resources)
注意事项:
1.多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别;
2.多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码,具体的语言代码可以这儿查询(https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages)
3.编译打包时,系统会根据找到的多语言文件夹,在AppManifest文件的 Resources 节点下面,生成对应的 Resource 子元素 ,但前提是该节点下面必须有如下元素
<Resource Language="x-generate"/>
4.针对需要布局RTL的语言,如希伯来语,只需要添加例如语言代码为 “he” 的资源文件即可,系统会自动对标题栏等地方进行RTL布局,但也仅限于标题栏,页面内部的RTL,还需要手动设置 FlowDirection 为 RightToLeft;
5.如果在运行时,你的 app 不支持当前电脑系统选择的语言,则默认会使用 Default Language 中设置的语言,该设置选项在你 app 项目的 .csproj 文件中;
最新文章
- C#生成带logo的二维码
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
- 三目运算符是不是在bug中躺了枪_折腾了一整天
- 给一系列的div中的第一个添加class
- c语言 sscanf()函数
- [转]windows下srand48()和drand48()的问题
- Jetty开发指导:HTTP Client
- 鸟哥Linux私房菜知识点总结6到7章
- 页面开发辅助类—HtmlHelper初步了解
- 小米wifi
- C#中的静态成员和非静态成员
- 【NOIP2014提高组】联合权值
- Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class cn.e3mall.pojo.TbItem
- Rlwrap工具的安装和配置
- Linux 检查端口gps命令
- QYH练字
- Eric6启动时“无法定位序数4540于动态链接库LIBEAY32.dll”的错误
- OdiSendMail
- PowerCollections
- Apache HBase Performance Tuning 官文总结