天天看点

SAP UI5 DatePicker控件和语言设置相关的属性详解

In SAP help, the determination of language code / locale is explained.

For example, when I access CRM application “My Appointment” with English language specified in url:

Https://:/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=001&sap-language=EN#Appointment-myAppointments&/newappointment/20151014/ZXXX/true

The DatePicker looks like below:

SAP UI5 DatePicker控件和语言设置相关的属性详解

When I try with Chinese:

Https://:/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html?sap-client=001&sap-language=ZH#Appointment-myAppointments&/newappointment/20151014/ZXXX/true

SAP UI5 DatePicker控件和语言设置相关的属性详解

What I woud like to know is how is “2015年10月15日” displayed.

Based on previous research on DatePicker, this task should be a little bit easier:

– DateFormat in DatePicker control

– More details of DatePicker

(1) The place holders for Date display ( 年 – year, 月 – month, 日 – day ) for Chinese are stored in this.aFormatArray in DateFormat.js file.

SAP UI5 DatePicker控件和语言设置相关的属性详解

(2) this.aFormatArray is determined by this.oFormatOptions.pattern. For language = ZH, the patter is “y年M月d日”.

SAP UI5 DatePicker控件和语言设置相关的属性详解

(3) In Chrome network tab, we can observe a http request for file zh_CN.son.

SAP UI5 DatePicker控件和语言设置相关的属性详解

The callstack which triggers this file request:

SAP UI5 DatePicker控件和语言设置相关的属性详解

If we inspect the content of this file, we can find the “y年M月d日” in attribute dateFormat-medium and dateFormat-long:

SAP UI5 DatePicker控件和语言设置相关的属性详解

The content of this file is parsed and merged into this.mData, which will be used to populate aFormatArray mentioned above.

SAP UI5 DatePicker控件和语言设置相关的属性详解

The complete url for zh_CN.json:

https://:/sap/bc/ui5_ui5/ui2/ushell/resources/sap/ui/core/cldr/zh_CN.json

继续阅读