SAP UI5 标准应用的多语言支持 - SAP UI5 运行时语言判定机制-阿里云开发者社区

开发者社区> jerrywangsap> 正文

SAP UI5 标准应用的多语言支持 - SAP UI5 运行时语言判定机制

简介: SAP UI5 对多语言的支持特性如下: The language codes according to the de facto standard BCP-47, which are used by most browsers for language identification. As of JDK 1.7 they are also supported by the Java locale class. 目前大多数浏览器都支持了事实上的标准,BCP-47 里定义的 language code,用来做语言识别。例子:de, en-US, zh-Hans-CN
+关注继续查看

SAP UI5 对多语言的支持特性如下:


The language codes according to the de facto standard BCP-47, which are used by most browsers for language identification. As of JDK 1.7 they are also supported by the Java locale class.


目前大多数浏览器都支持了事实上的标准,BCP-47 里定义的 language code,用来做语言识别。例子:de, en-US, zh-Hans-CN


The Java Locale syntax that combines a lower case ISO 639 alpha-2 or alpha-3 language code with an ISO 3166 alpha-2 country code. Both codes are combined with an underscore. An arbitrary sequence of variant identifiers (also separated by underscores) can be appended as a third component.


另一方法,Java Locale 语法,使用 underscore,即下划线,来连接 ISO 639 alpha-2 (或者alpha-3)以及 ISO 3166 alpha-2 (或者alpha-3), 前者指代 language code,后者指代 country code. 同时,这两部分之后,可以再通过下划线,连接额外的 variant identifier.


例子:de, en_US, zh_TW_Traditional


The SAP proprietary language codes - SAP 专有语言代码

SAPUI5 applications are often used to connect to ABAP-based SAP application servers. These servers use SAP proprietary language codes for compatibility reasons.


SAP UI5 应用可以用来消费 SAP ABAP 服务器上暴露出来的 OData 服务,这些服务器出于兼容性原因,使用 SAP 专有的 language code.


These language codes often match an ISO 639 alpha-2 language code, but not in all cases.


SAP 专有 Language code 通常都和 ISO 639 alpha-2 里定义的 Language code 一一对应,但并不总是如此。


If the language code for a SAPUI5 application is specified with the traditional URL parameter sap-language, SAPUI5 assumes that it is a SAP proprietary language code and converts it to a BCP-47 language tag.


注意,如果用户在 SAP UI5 URL 参数,即 sap-language 里传入一个 code,SAP UI5 会默认将其视为一个 SAP 专有 Language code,并试图将其转换成 BCP-47 对应的 code.


转换规则如下:

image.png


SAP UI5 运行时语言判定机制

SAPUI5 has the notion of a current language. It is determined from the following sources of information. The sources are ordered increasingly by priority and the last available user language/locale wins.


SAP UI5 引入了“当前语言”,即运行时语言的概念。SAP UI5 加载的所有国际化文本资源(i18n resouces),都基于该当前语言加载。SAP UI5 运行时语言,使用下列逻辑来决定。下列规则按照优先级从低到高的顺序罗列出来,即越后面的规则,优先级越高。


Hard-coded UI5 default locale (‘en’) - 硬编码的默认 locale


Potentially configured browser language (window.navigator.browserLanguage); for Internet Explorer this is the language of the Operating System.


浏览器里设置的语言。如果是IE,window.navigator.browserLanguage 指代操作系统的语言。


Potentially configured user language (window.navigator.userLanguage); for Internet Explorer this is the language in the Region settings.

用户语言设置。在 IE 里指代 Region Settings里设置的语言。


注:Jerry 本地测试过,window.navigator.browserLanguage 和 window.navigator.userLanguage 都为空。


image.png


General language information from the browser

浏览器语言设置:window.navigator.language,在我的机器上为:en-US


image.png


使用 SAP UI5 configuration API 设置语言:sap.ui.getCore().getConfiguration().setLanguage()

image.png


Locale configured via URL parameters

采用 url 参数 sap-language=ZH 设置的语言,具有最高的优先级。如下例子所示:


https://gm4:44355/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-language=ZH&sap-client=001#Opportunity-manageOpportunity&/detail/Opportunities(guid’FA163EE5-6C3A-1ED7-B883-0ED9A99A201F’)


image.png


SAP UI5 自动加载 i18n_zh_CN.properties 文件:


image.png


加载该 .properties 文件,使用的Content-Type为: application/octet-stream; charset=UTF-8


image.png

最后加载的 Fiori Launchpad html 里定义的content 为:text/html; charset=UTF-8

image.png


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8632 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10996 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10459 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2289 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
12272 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4568 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6625 0
+关注
2628
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载