@ui5/webcomponents-localization 0.0.0-d9621a5cb → 0.0.0-d9b978d1d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -1
- package/.npsrc.json +3 -0
- package/CHANGELOG.md +743 -0
- package/README.md +37 -6
- package/dist/.tsbuildinfo +1 -0
- package/{src/Assets-static.js → dist/Assets-static.d.ts} +0 -1
- package/dist/Assets-static.js +1 -0
- package/dist/Assets-static.js.map +1 -0
- package/dist/Assets.d.ts +1 -0
- package/dist/Assets.js +1 -0
- package/dist/Assets.js.map +1 -0
- package/dist/DateFormat.d.ts +6 -0
- package/dist/DateFormat.js +6 -2
- package/dist/DateFormat.js.map +1 -0
- package/dist/LocaleData.d.ts +6 -0
- package/dist/LocaleData.js +6 -2
- package/dist/LocaleData.js.map +1 -0
- package/dist/dates/CalendarDate.d.ts +43 -0
- package/dist/dates/CalendarDate.js +171 -201
- package/dist/dates/CalendarDate.js.map +1 -0
- package/dist/dates/ExtremeDates.d.ts +5 -0
- package/dist/dates/ExtremeDates.js +25 -35
- package/dist/dates/ExtremeDates.js.map +1 -0
- package/dist/dates/UI5Date.d.ts +6 -0
- package/dist/dates/UI5Date.js +7 -0
- package/dist/dates/UI5Date.js.map +1 -0
- package/dist/dates/UniversalDate.d.ts +47 -0
- package/dist/dates/UniversalDate.js +5 -0
- package/dist/dates/UniversalDate.js.map +1 -0
- package/dist/dates/calculateWeekNumber.d.ts +5 -0
- package/dist/dates/calculateWeekNumber.js +42 -48
- package/dist/dates/calculateWeekNumber.js.map +1 -0
- package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
- package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
- package/dist/dates/getDaysInMonth.d.ts +3 -0
- package/dist/dates/getDaysInMonth.js +10 -0
- package/dist/dates/getDaysInMonth.js.map +1 -0
- package/dist/dates/getRoundedTimestamp.d.ts +7 -0
- package/dist/dates/getRoundedTimestamp.js +10 -9
- package/dist/dates/getRoundedTimestamp.js.map +1 -0
- package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
- package/dist/dates/getTodayUTCTimestamp.js +3 -3
- package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
- package/dist/dates/modifyDateBy.d.ts +14 -0
- package/dist/dates/modifyDateBy.js +42 -29
- package/dist/dates/modifyDateBy.js.map +1 -0
- package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
- package/dist/dates/transformDateToSecondaryType.js +18 -0
- package/dist/dates/transformDateToSecondaryType.js.map +1 -0
- package/dist/features/calendar/Buddhist.js +1 -0
- package/dist/features/calendar/Buddhist.js.map +1 -0
- package/dist/features/calendar/Gregorian.js +1 -0
- package/dist/features/calendar/Gregorian.js.map +1 -0
- package/dist/features/calendar/Islamic.js +1 -0
- package/dist/features/calendar/Islamic.js.map +1 -0
- package/dist/features/calendar/Japanese.js +1 -0
- package/dist/features/calendar/Japanese.js.map +1 -0
- package/dist/features/calendar/Persian.js +1 -0
- package/dist/features/calendar/Persian.js.map +1 -0
- package/dist/generated/assets/cldr/ar.json +5531 -5906
- package/dist/generated/assets/cldr/ar_EG.json +5531 -5906
- package/dist/generated/assets/cldr/ar_SA.json +5530 -5906
- package/dist/generated/assets/cldr/bg.json +4452 -4979
- package/dist/generated/assets/cldr/ca.json +4440 -4996
- package/dist/generated/assets/cldr/cs.json +4960 -5498
- package/dist/generated/assets/cldr/cy.json +5211 -5884
- package/dist/generated/assets/cldr/da.json +4308 -4888
- package/dist/generated/assets/cldr/de.json +4313 -4916
- package/dist/generated/assets/cldr/de_AT.json +4314 -4917
- package/dist/generated/assets/cldr/de_CH.json +4312 -4915
- package/dist/generated/assets/cldr/el.json +4281 -4883
- package/dist/generated/assets/cldr/el_CY.json +4281 -4883
- package/dist/generated/assets/cldr/en.json +4316 -4970
- package/dist/generated/assets/cldr/en_AU.json +4319 -4962
- package/dist/generated/assets/cldr/en_GB.json +4329 -4971
- package/dist/generated/assets/cldr/en_HK.json +4337 -4977
- package/dist/generated/assets/cldr/en_IE.json +4328 -4971
- package/dist/generated/assets/cldr/en_IN.json +4333 -4972
- package/dist/generated/assets/cldr/en_NZ.json +4328 -4971
- package/dist/generated/assets/cldr/en_PG.json +4329 -4972
- package/dist/generated/assets/cldr/en_SG.json +4333 -4973
- package/dist/generated/assets/cldr/en_ZA.json +4329 -4972
- package/dist/generated/assets/cldr/es.json +4331 -4912
- package/dist/generated/assets/cldr/es_AR.json +4334 -4914
- package/dist/generated/assets/cldr/es_BO.json +4333 -4913
- package/dist/generated/assets/cldr/es_CL.json +4334 -4914
- package/dist/generated/assets/cldr/es_CO.json +4333 -4913
- package/dist/generated/assets/cldr/es_MX.json +4335 -4915
- package/dist/generated/assets/cldr/es_PE.json +4333 -4913
- package/dist/generated/assets/cldr/es_UY.json +4335 -4915
- package/dist/generated/assets/cldr/es_VE.json +4334 -4914
- package/dist/generated/assets/cldr/et.json +4340 -4967
- package/dist/generated/assets/cldr/fa.json +4367 -4883
- package/dist/generated/assets/cldr/fi.json +4463 -5008
- package/dist/generated/assets/cldr/fr.json +4357 -4979
- package/dist/generated/assets/cldr/fr_BE.json +4357 -4979
- package/dist/generated/assets/cldr/fr_CA.json +4351 -4973
- package/dist/generated/assets/cldr/fr_CH.json +4375 -4997
- package/dist/generated/assets/cldr/fr_LU.json +4357 -4979
- package/dist/generated/assets/cldr/he.json +4869 -5378
- package/dist/generated/assets/cldr/hi.json +4295 -4829
- package/dist/generated/assets/cldr/hr.json +4583 -4919
- package/dist/generated/assets/cldr/hu.json +4364 -4856
- package/dist/generated/assets/cldr/id.json +4060 -4658
- package/dist/generated/assets/cldr/it.json +4299 -4950
- package/dist/generated/assets/cldr/it_CH.json +4299 -4950
- package/dist/generated/assets/cldr/ja.json +4211 -4830
- package/dist/generated/assets/cldr/kk.json +4339 -4725
- package/dist/generated/assets/cldr/ko.json +4189 -4738
- package/dist/generated/assets/cldr/lt.json +4850 -5481
- package/dist/generated/assets/cldr/lv.json +4587 -5112
- package/dist/generated/assets/cldr/ms.json +4021 -4515
- package/dist/generated/assets/cldr/nb.json +4335 -4977
- package/dist/generated/assets/cldr/nl.json +4294 -4884
- package/dist/generated/assets/cldr/nl_BE.json +4294 -4884
- package/dist/generated/assets/cldr/pl.json +4667 -5176
- package/dist/generated/assets/cldr/pt.json +4235 -4805
- package/dist/generated/assets/cldr/pt_PT.json +4372 -4940
- package/dist/generated/assets/cldr/ro.json +4563 -5090
- package/dist/generated/assets/cldr/ru.json +4909 -5407
- package/dist/generated/assets/cldr/ru_UA.json +4909 -5407
- package/dist/generated/assets/cldr/sk.json +4939 -5370
- package/dist/generated/assets/cldr/sl.json +4910 -5340
- package/dist/generated/assets/cldr/sr.json +4585 -5126
- package/dist/generated/assets/cldr/sr_Latn.json +4574 -5127
- package/dist/generated/assets/cldr/sv.json +4362 -5011
- package/dist/generated/assets/cldr/th.json +4214 -4797
- package/dist/generated/assets/cldr/tr.json +4400 -4979
- package/dist/generated/assets/cldr/uk.json +4858 -5353
- package/dist/generated/assets/cldr/vi.json +4070 -4673
- package/dist/generated/assets/cldr/zh_CN.json +4100 -4632
- package/dist/generated/assets/cldr/zh_HK.json +4108 -4640
- package/dist/generated/assets/cldr/zh_SG.json +4108 -4640
- package/dist/generated/assets/cldr/zh_TW.json +4131 -4728
- package/dist/generated/json-imports/LocaleData-static.d.ts +1 -0
- package/dist/generated/json-imports/LocaleData-static.js +10 -11
- package/dist/generated/json-imports/LocaleData-static.js.map +1 -0
- package/dist/generated/json-imports/LocaleData.d.ts +1 -0
- package/dist/generated/json-imports/LocaleData.js +86 -87
- package/dist/generated/json-imports/LocaleData.js.map +1 -0
- package/dist/getCachedLocaleDataInstance.d.ts +4 -0
- package/dist/getCachedLocaleDataInstance.js +6 -9
- package/dist/getCachedLocaleDataInstance.js.map +1 -0
- package/dist/locale/getLocaleData.d.ts +11 -0
- package/dist/locale/getLocaleData.js +13 -17
- package/dist/locale/getLocaleData.js.map +1 -0
- package/dist/sap/base/Log.js +28 -37
- package/dist/sap/base/assert.js +5 -10
- package/dist/sap/base/i18n/LanguageTag.js +35 -0
- package/dist/sap/base/i18n/Localization.d.ts +4 -0
- package/dist/sap/base/i18n/Localization.js +12 -0
- package/dist/sap/base/i18n/Localization.js.map +1 -0
- package/dist/sap/base/i18n/date/CalendarType.js +8 -0
- package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +30 -0
- package/dist/sap/base/i18n/date/TimezoneUtils.js +89 -0
- package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
- package/dist/sap/base/util/LoaderExtensions.js +9 -12
- package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
- package/dist/sap/base/util/deepEqual.js +1 -5
- package/dist/sap/ui/base/Metadata.js +20 -9
- package/dist/sap/ui/base/Object.js +26 -2
- package/dist/sap/ui/core/CalendarType.js +2 -8
- package/dist/sap/ui/core/Configuration.d.ts +18 -0
- package/dist/sap/ui/core/Configuration.js +23 -0
- package/dist/sap/ui/core/Configuration.js.map +1 -0
- package/dist/sap/ui/core/Core.d.ts +27 -0
- package/dist/sap/ui/core/Core.js +7 -32
- package/dist/sap/ui/core/Core.js.map +1 -0
- package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
- package/dist/sap/ui/core/FormatSettings.js +14 -0
- package/dist/sap/ui/core/FormatSettings.js.map +1 -0
- package/dist/sap/ui/core/Locale.js +28 -110
- package/dist/sap/ui/core/LocaleData.js +215 -1537
- package/dist/sap/ui/core/date/Buddhist.js +0 -6
- package/dist/sap/ui/core/date/CalendarUtils.js +25 -0
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -0
- package/dist/sap/ui/core/date/Islamic.js +3 -3
- package/dist/sap/ui/core/date/Japanese.js +4 -4
- package/dist/sap/ui/core/date/UI5Date.js +305 -0
- package/dist/sap/ui/core/date/UniversalDate.js +73 -26
- package/dist/sap/ui/core/format/DateFormat.js +849 -494
- package/dist/sap/ui/core/format/TimezoneUtil.js +2 -0
- package/package-scripts.cjs +32 -0
- package/package.json +10 -15
- package/src/generated/assets/cldr/ar.json +5533 -0
- package/src/generated/assets/cldr/ar_EG.json +5533 -0
- package/src/generated/assets/cldr/ar_SA.json +5532 -0
- package/src/generated/assets/cldr/bg.json +4454 -0
- package/src/generated/assets/cldr/ca.json +4442 -0
- package/src/generated/assets/cldr/cs.json +4962 -0
- package/src/generated/assets/cldr/cy.json +5213 -0
- package/src/generated/assets/cldr/da.json +4310 -0
- package/src/generated/assets/cldr/de.json +4315 -0
- package/src/generated/assets/cldr/de_AT.json +4316 -0
- package/src/generated/assets/cldr/de_CH.json +4314 -0
- package/src/generated/assets/cldr/el.json +4283 -0
- package/src/generated/assets/cldr/el_CY.json +4283 -0
- package/src/generated/assets/cldr/en.json +4318 -0
- package/src/generated/assets/cldr/en_AU.json +4321 -0
- package/src/generated/assets/cldr/en_GB.json +4331 -0
- package/src/generated/assets/cldr/en_HK.json +4339 -0
- package/src/generated/assets/cldr/en_IE.json +4330 -0
- package/src/generated/assets/cldr/en_IN.json +4335 -0
- package/src/generated/assets/cldr/en_NZ.json +4330 -0
- package/src/generated/assets/cldr/en_PG.json +4331 -0
- package/src/generated/assets/cldr/en_SG.json +4335 -0
- package/src/generated/assets/cldr/en_ZA.json +4331 -0
- package/src/generated/assets/cldr/es.json +4333 -0
- package/src/generated/assets/cldr/es_AR.json +4336 -0
- package/src/generated/assets/cldr/es_BO.json +4335 -0
- package/src/generated/assets/cldr/es_CL.json +4336 -0
- package/src/generated/assets/cldr/es_CO.json +4335 -0
- package/src/generated/assets/cldr/es_MX.json +4337 -0
- package/src/generated/assets/cldr/es_PE.json +4335 -0
- package/src/generated/assets/cldr/es_UY.json +4337 -0
- package/src/generated/assets/cldr/es_VE.json +4336 -0
- package/src/generated/assets/cldr/et.json +4342 -0
- package/src/generated/assets/cldr/fa.json +4369 -0
- package/src/generated/assets/cldr/fi.json +4465 -0
- package/src/generated/assets/cldr/fr.json +4359 -0
- package/src/generated/assets/cldr/fr_BE.json +4359 -0
- package/src/generated/assets/cldr/fr_CA.json +4353 -0
- package/src/generated/assets/cldr/fr_CH.json +4377 -0
- package/src/generated/assets/cldr/fr_LU.json +4359 -0
- package/src/generated/assets/cldr/he.json +4871 -0
- package/src/generated/assets/cldr/hi.json +4297 -0
- package/src/generated/assets/cldr/hr.json +4585 -0
- package/src/generated/assets/cldr/hu.json +4366 -0
- package/src/generated/assets/cldr/id.json +4062 -0
- package/src/generated/assets/cldr/it.json +4301 -0
- package/src/generated/assets/cldr/it_CH.json +4301 -0
- package/src/generated/assets/cldr/ja.json +4213 -0
- package/src/generated/assets/cldr/kk.json +4341 -0
- package/src/generated/assets/cldr/ko.json +4191 -0
- package/src/generated/assets/cldr/lt.json +4852 -0
- package/src/generated/assets/cldr/lv.json +4589 -0
- package/src/generated/assets/cldr/ms.json +4023 -0
- package/src/generated/assets/cldr/nb.json +4337 -0
- package/src/generated/assets/cldr/nl.json +4296 -0
- package/src/generated/assets/cldr/nl_BE.json +4296 -0
- package/src/generated/assets/cldr/pl.json +4669 -0
- package/src/generated/assets/cldr/pt.json +4237 -0
- package/src/generated/assets/cldr/pt_PT.json +4374 -0
- package/src/generated/assets/cldr/ro.json +4565 -0
- package/src/generated/assets/cldr/ru.json +4911 -0
- package/src/generated/assets/cldr/ru_UA.json +4911 -0
- package/src/generated/assets/cldr/sk.json +4941 -0
- package/src/generated/assets/cldr/sl.json +4912 -0
- package/src/generated/assets/cldr/sr.json +4587 -0
- package/src/generated/assets/cldr/sr_Latn.json +4576 -0
- package/src/generated/assets/cldr/sv.json +4364 -0
- package/src/generated/assets/cldr/th.json +4216 -0
- package/src/generated/assets/cldr/tr.json +4402 -0
- package/src/generated/assets/cldr/uk.json +4860 -0
- package/src/generated/assets/cldr/vi.json +4072 -0
- package/src/generated/assets/cldr/zh_CN.json +4102 -0
- package/src/generated/assets/cldr/zh_HK.json +4110 -0
- package/src/generated/assets/cldr/zh_SG.json +4110 -0
- package/src/generated/assets/cldr/zh_TW.json +4133 -0
- package/tsconfig.json +23 -0
- package/used-modules.txt +9 -1
- package/hash.txt +0 -1
- package/package-scripts.js +0 -40
- package/src/Assets.js +0 -2
- package/src/DateFormat.js +0 -3
- package/src/LocaleData.js +0 -3
- package/src/dates/CalendarDate.js +0 -223
- package/src/dates/ExtremeDates.js +0 -39
- package/src/dates/calculateWeekNumber.js +0 -51
- package/src/dates/getRoundedTimestamp.js +0 -14
- package/src/dates/getTodayUTCTimestamp.js +0 -9
- package/src/dates/modifyDateBy.js +0 -42
- package/src/getCachedLocaleDataInstance.js +0 -13
- package/src/locale/getLocaleData.js +0 -27
- package/src/sap/base/util/LoaderExtensions.js +0 -17
- package/src/sap/ui/core/Core.js +0 -38
- /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
- /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
- /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
- /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
- /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
- /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -1,144 +1,62 @@
|
|
1
|
-
import BaseObject from '../base/Object.js';
|
2
1
|
import assert from '../../base/assert.js';
|
3
|
-
|
2
|
+
import BaseObject from '../base/Object.js';
|
3
|
+
import Localization from '../../base/i18n/Localization.js';
|
4
|
+
import LanguageTag from '../../base/i18n/LanguageTag.js';
|
4
5
|
var Locale = BaseObject.extend('sap.ui.core.Locale', {
|
5
|
-
constructor: function (
|
6
|
+
constructor: function (vLocale) {
|
6
7
|
BaseObject.apply(this);
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}
|
11
|
-
|
12
|
-
|
13
|
-
this.sScript = aResult[2] || null;
|
14
|
-
this.sRegion = aResult[3] || null;
|
15
|
-
this.sVariant = aResult[4] && aResult[4].slice(1) || null;
|
16
|
-
this.sExtension = aResult[5] && aResult[5].slice(1) || null;
|
17
|
-
this.sPrivateUse = aResult[6] || null;
|
18
|
-
if (this.sLanguage) {
|
19
|
-
this.sLanguage = this.sLanguage.toLowerCase();
|
20
|
-
}
|
21
|
-
if (this.sScript) {
|
22
|
-
this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, function ($) {
|
23
|
-
return $.toUpperCase();
|
24
|
-
});
|
25
|
-
}
|
26
|
-
if (this.sRegion) {
|
27
|
-
this.sRegion = this.sRegion.toUpperCase();
|
8
|
+
if (vLocale instanceof LanguageTag) {
|
9
|
+
this.oLanguageTag = vLocale;
|
10
|
+
this.sLocaleId = this.oLanguageTag.toString();
|
11
|
+
} else {
|
12
|
+
this.oLanguageTag = new LanguageTag(vLocale);
|
13
|
+
this.sLocaleId = vLocale;
|
28
14
|
}
|
15
|
+
Object.assign(this, this.oLanguageTag);
|
16
|
+
this.sLanguage = this.language;
|
29
17
|
},
|
30
18
|
getLanguage: function () {
|
31
|
-
return this.
|
19
|
+
return this.language;
|
32
20
|
},
|
33
21
|
getScript: function () {
|
34
|
-
return this.
|
22
|
+
return this.script;
|
35
23
|
},
|
36
24
|
getRegion: function () {
|
37
|
-
return this.
|
25
|
+
return this.region;
|
38
26
|
},
|
39
27
|
getVariant: function () {
|
40
|
-
return this.
|
28
|
+
return this.variant;
|
41
29
|
},
|
42
30
|
getVariantSubtags: function () {
|
43
|
-
return this.
|
31
|
+
return this.variantSubtags;
|
44
32
|
},
|
45
33
|
getExtension: function () {
|
46
|
-
return this.
|
34
|
+
return this.extension;
|
47
35
|
},
|
48
36
|
getExtensionSubtags: function () {
|
49
|
-
return this.
|
37
|
+
return this.extensionSubtags;
|
50
38
|
},
|
51
39
|
getPrivateUse: function () {
|
52
|
-
return this.
|
40
|
+
return this.privateUse;
|
53
41
|
},
|
54
42
|
getPrivateUseSubtags: function () {
|
55
|
-
return this.
|
43
|
+
return this.privateUseSubtags;
|
56
44
|
},
|
57
45
|
hasPrivateUseSubtag: function (sSubtag) {
|
58
46
|
assert(sSubtag && sSubtag.match(/^[0-9A-Z]{1,8}$/i), 'subtag must be a valid BCP47 private use tag');
|
59
|
-
return this.
|
47
|
+
return this.privateUseSubtags.indexOf(sSubtag) >= 0;
|
60
48
|
},
|
61
49
|
toString: function () {
|
62
|
-
return
|
63
|
-
},
|
64
|
-
toLanguageTag: function () {
|
65
|
-
var sLanguage = this.getModernLanguage();
|
66
|
-
var sScript = this.sScript;
|
67
|
-
if (sLanguage === 'sr' && sScript === 'Latn') {
|
68
|
-
sLanguage = 'sh';
|
69
|
-
sScript = null;
|
70
|
-
}
|
71
|
-
return join(sLanguage, sScript, this.sRegion, this.sVariant, this.sExtension, this.sPrivateUse);
|
72
|
-
},
|
73
|
-
getModernLanguage: function () {
|
74
|
-
return M_ISO639_OLD_TO_NEW[this.sLanguage] || this.sLanguage;
|
50
|
+
return this.oLanguageTag.toString();
|
75
51
|
},
|
76
52
|
getSAPLogonLanguage: function () {
|
77
|
-
|
78
|
-
if (sLanguage.indexOf('-') >= 0) {
|
79
|
-
sLanguage = sLanguage.slice(0, sLanguage.indexOf('-'));
|
80
|
-
}
|
81
|
-
sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
|
82
|
-
if (sLanguage === 'zh' && !this.sScript && this.sRegion === 'TW') {
|
83
|
-
return 'ZF';
|
84
|
-
}
|
85
|
-
return M_LOCALE_TO_ABAP_LANGUAGE[join(sLanguage, this.sScript)] || M_LOCALE_TO_ABAP_LANGUAGE[join(sLanguage, this.sRegion)] || M_LOCALE_TO_ABAP_LANGUAGE[getPseudoLanguageTag(this.sPrivateUse)] || sLanguage.toUpperCase();
|
53
|
+
return Localization._getSAPLogonLanguage(this);
|
86
54
|
}
|
87
55
|
});
|
88
|
-
function
|
89
|
-
if (
|
90
|
-
|
91
|
-
return m && 'en-US-x-' + m[1].toLowerCase();
|
92
|
-
}
|
93
|
-
}
|
94
|
-
var M_ISO639_OLD_TO_NEW = {
|
95
|
-
'iw': 'he',
|
96
|
-
'ji': 'yi'
|
97
|
-
};
|
98
|
-
var M_ABAP_LANGUAGE_TO_LOCALE = {
|
99
|
-
'ZH': 'zh-Hans',
|
100
|
-
'ZF': 'zh-Hant',
|
101
|
-
'SH': 'sr-Latn',
|
102
|
-
'6N': 'en-GB',
|
103
|
-
'1X': 'es-MX',
|
104
|
-
'1Q': 'en-US-x-saptrc',
|
105
|
-
'2Q': 'en-US-x-sappsd',
|
106
|
-
'3Q': 'en-US-x-saprigi'
|
107
|
-
};
|
108
|
-
var M_LOCALE_TO_ABAP_LANGUAGE = inverse(M_ABAP_LANGUAGE_TO_LOCALE);
|
109
|
-
function getDesigntimePropertyAsArray(sValue) {
|
110
|
-
var m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(sValue);
|
111
|
-
return m && m[2] ? m[2].split(/,/) : null;
|
112
|
-
}
|
113
|
-
var A_RTL_LOCALES = getDesigntimePropertyAsArray('$cldr-rtl-locales:ar,fa,he$') || [];
|
114
|
-
Locale._cldrLocales = getDesigntimePropertyAsArray('$cldr-locales:ar,ar_EG,ar_SA,bg,ca,cy,cs,da,de,de_AT,de_CH,el,el_CY,en,en_AU,en_GB,en_HK,en_IE,en_IN,en_NZ,en_PG,en_SG,en_ZA,es,es_AR,es_BO,es_CL,es_CO,es_MX,es_PE,es_UY,es_VE,et,fa,fi,fr,fr_BE,fr_CA,fr_CH,fr_LU,he,hi,hr,hu,id,it,it_CH,ja,kk,ko,lt,lv,ms,nb,nl,nl_BE,pl,pt,pt_PT,ro,ru,ru_UA,sk,sl,sr,sr_Latn,sv,th,tr,uk,vi,zh_CN,zh_HK,zh_SG,zh_TW$');
|
115
|
-
Locale._coreI18nLocales = getDesigntimePropertyAsArray('$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,en_GB,es,es_MX,et,fi,fr,hi,hr,hu,it,iw,ja,kk,ko,lt,lv,ms,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$');
|
116
|
-
Locale._impliesRTL = function (vLanguage) {
|
117
|
-
var oLocale = vLanguage instanceof Locale ? vLanguage : new Locale(vLanguage);
|
118
|
-
var sLanguage = oLocale.getLanguage() || '';
|
119
|
-
sLanguage = sLanguage && M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
|
120
|
-
var sRegion = oLocale.getRegion() || '';
|
121
|
-
if (sRegion && A_RTL_LOCALES.indexOf(sLanguage + '_' + sRegion) >= 0) {
|
122
|
-
return true;
|
123
|
-
}
|
124
|
-
return A_RTL_LOCALES.indexOf(sLanguage) >= 0;
|
125
|
-
};
|
126
|
-
Locale.fromSAPLogonLanguage = function (sSAPLogonLanguage) {
|
127
|
-
if (sSAPLogonLanguage && typeof sSAPLogonLanguage === 'string') {
|
128
|
-
sSAPLogonLanguage = M_ABAP_LANGUAGE_TO_LOCALE[sSAPLogonLanguage.toUpperCase()] || sSAPLogonLanguage;
|
129
|
-
try {
|
130
|
-
return new Locale(sSAPLogonLanguage);
|
131
|
-
} catch (e) {
|
132
|
-
}
|
56
|
+
Locale._getCoreLocale = function (oLocale) {
|
57
|
+
if (oLocale instanceof LanguageTag) {
|
58
|
+
oLocale = new Locale(oLocale);
|
133
59
|
}
|
60
|
+
return oLocale;
|
134
61
|
};
|
135
|
-
function join() {
|
136
|
-
return Array.prototype.filter.call(arguments, Boolean).join('-');
|
137
|
-
}
|
138
|
-
function inverse(obj) {
|
139
|
-
return Object.keys(obj).reduce(function (inv, key) {
|
140
|
-
inv[obj[key]] = key;
|
141
|
-
return inv;
|
142
|
-
}, {});
|
143
|
-
}
|
144
62
|
export default Locale;
|