@ui5/webcomponents-localization 0.0.0-e7dd012d7 → 0.0.0-ec448881d
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 +1 -0
- package/CHANGELOG.md +164 -0
- package/README.md +32 -1
- package/dist/Assets-static.js +2 -0
- package/dist/dates/CalendarDate.js +7 -1
- package/dist/dates/ExtremeDates.js +39 -0
- package/dist/dates/getRoundedTimestamp.js +14 -0
- package/dist/dates/getTodayUTCTimestamp.js +9 -0
- package/dist/dates/modifyDateBy.js +42 -0
- package/dist/generated/assets/cldr/ar.json +5 -3
- package/dist/generated/assets/cldr/ar_EG.json +5 -3
- package/dist/generated/assets/cldr/ar_SA.json +5 -3
- package/dist/generated/assets/cldr/bg.json +5 -3
- package/dist/generated/assets/cldr/ca.json +5 -3
- package/dist/generated/assets/cldr/cs.json +5 -3
- package/dist/generated/assets/cldr/cy.json +5886 -0
- package/dist/generated/assets/cldr/da.json +5 -3
- package/dist/generated/assets/cldr/de.json +5 -3
- package/dist/generated/assets/cldr/de_AT.json +5 -3
- package/dist/generated/assets/cldr/de_CH.json +5 -3
- package/dist/generated/assets/cldr/el.json +5 -3
- package/dist/generated/assets/cldr/el_CY.json +5 -3
- package/dist/generated/assets/cldr/en.json +6 -3
- package/dist/generated/assets/cldr/en_AU.json +6 -4
- package/dist/generated/assets/cldr/en_GB.json +5 -3
- package/dist/generated/assets/cldr/en_HK.json +5 -3
- package/dist/generated/assets/cldr/en_IE.json +5 -3
- package/dist/generated/assets/cldr/en_IN.json +5 -3
- package/dist/generated/assets/cldr/en_NZ.json +5 -3
- package/dist/generated/assets/cldr/en_PG.json +5 -3
- package/dist/generated/assets/cldr/en_SG.json +5 -3
- package/dist/generated/assets/cldr/en_ZA.json +5 -3
- package/dist/generated/assets/cldr/es.json +5 -3
- package/dist/generated/assets/cldr/es_AR.json +5 -3
- package/dist/generated/assets/cldr/es_BO.json +5 -3
- package/dist/generated/assets/cldr/es_CL.json +5 -3
- package/dist/generated/assets/cldr/es_CO.json +5 -3
- package/dist/generated/assets/cldr/es_MX.json +5 -3
- package/dist/generated/assets/cldr/es_PE.json +5 -3
- package/dist/generated/assets/cldr/es_UY.json +5 -3
- package/dist/generated/assets/cldr/es_VE.json +5 -3
- package/dist/generated/assets/cldr/et.json +5 -3
- package/dist/generated/assets/cldr/fa.json +5 -3
- package/dist/generated/assets/cldr/fi.json +5 -3
- package/dist/generated/assets/cldr/fr.json +5 -3
- package/dist/generated/assets/cldr/fr_BE.json +5 -3
- package/dist/generated/assets/cldr/fr_CA.json +5 -3
- package/dist/generated/assets/cldr/fr_CH.json +5 -3
- package/dist/generated/assets/cldr/fr_LU.json +5 -3
- package/dist/generated/assets/cldr/he.json +5 -3
- package/dist/generated/assets/cldr/hi.json +5 -3
- package/dist/generated/assets/cldr/hr.json +5 -3
- package/dist/generated/assets/cldr/hu.json +5 -3
- package/dist/generated/assets/cldr/id.json +5 -3
- package/dist/generated/assets/cldr/it.json +5 -3
- package/dist/generated/assets/cldr/it_CH.json +5 -3
- package/dist/generated/assets/cldr/ja.json +5 -3
- package/dist/generated/assets/cldr/kk.json +5 -3
- package/dist/generated/assets/cldr/ko.json +5 -3
- package/dist/generated/assets/cldr/lt.json +5 -3
- package/dist/generated/assets/cldr/lv.json +5 -3
- package/dist/generated/assets/cldr/ms.json +5 -3
- package/dist/generated/assets/cldr/nb.json +5 -3
- package/dist/generated/assets/cldr/nl.json +5 -3
- package/dist/generated/assets/cldr/nl_BE.json +5 -3
- package/dist/generated/assets/cldr/pl.json +5 -3
- package/dist/generated/assets/cldr/pt.json +5 -3
- package/dist/generated/assets/cldr/pt_PT.json +5 -3
- package/dist/generated/assets/cldr/ro.json +5 -3
- package/dist/generated/assets/cldr/ru.json +5 -3
- package/dist/generated/assets/cldr/ru_UA.json +5 -3
- package/dist/generated/assets/cldr/sk.json +5 -3
- package/dist/generated/assets/cldr/sl.json +5 -3
- package/dist/generated/assets/cldr/sr.json +5 -3
- package/dist/generated/assets/cldr/sr_Latn.json +5129 -0
- package/dist/generated/assets/cldr/sv.json +5 -3
- package/dist/generated/assets/cldr/th.json +5 -3
- package/dist/generated/assets/cldr/tr.json +5 -3
- package/dist/generated/assets/cldr/uk.json +5 -3
- package/dist/generated/assets/cldr/vi.json +5 -3
- package/dist/generated/assets/cldr/zh_CN.json +5 -3
- package/dist/generated/assets/cldr/zh_HK.json +5 -3
- package/dist/generated/assets/cldr/zh_SG.json +5 -3
- package/dist/generated/assets/cldr/zh_TW.json +5 -3
- package/dist/generated/json-imports/LocaleData-static.js +90 -0
- package/dist/generated/json-imports/LocaleData.js +88 -91
- package/dist/sap/base/Log.js +2 -10
- package/dist/sap/base/assert.js +1 -5
- package/dist/sap/base/util/LoaderExtensions.js +12 -2
- package/dist/sap/base/util/array/uniqueSort.js +7 -7
- package/dist/sap/base/util/deepEqual.js +1 -5
- package/dist/sap/ui/base/Interface.js +3 -5
- package/dist/sap/ui/base/Metadata.js +1 -3
- package/dist/sap/ui/base/Object.js +26 -2
- package/dist/sap/ui/core/Core.js +2 -0
- package/dist/sap/ui/core/Locale.js +67 -31
- package/dist/sap/ui/core/LocaleData.js +56 -1504
- package/dist/sap/ui/core/date/UniversalDate.js +13 -5
- package/dist/sap/ui/core/format/DateFormat.js +402 -194
- package/dist/sap/ui/core/format/TimezoneUtil.js +83 -0
- package/package-scripts.js +10 -6
- package/package.json +12 -14
- package/src/Assets-static.js +2 -0
- package/src/dates/CalendarDate.js +7 -1
- package/src/dates/ExtremeDates.js +39 -0
- package/src/dates/getRoundedTimestamp.js +14 -0
- package/src/dates/getTodayUTCTimestamp.js +9 -0
- package/src/dates/modifyDateBy.js +42 -0
- package/src/sap/base/util/LoaderExtensions.js +12 -2
- package/src/sap/ui/core/Core.js +2 -0
- package/used-modules.txt +1 -0
@@ -1,7 +1,17 @@
|
|
1
|
-
import {
|
1
|
+
import { getLocaleData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
|
2
|
+
|
3
|
+
const loadResource = moduleName => {
|
4
|
+
const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
|
5
|
+
if (!moduleFormat) {
|
6
|
+
throw new Error(`Unknown module "${moduleName}"`);
|
7
|
+
}
|
8
|
+
|
9
|
+
const localeId = moduleFormat[1];
|
10
|
+
return getLocaleData(localeId);
|
11
|
+
};
|
2
12
|
|
3
13
|
const LoaderExtensions = {
|
4
|
-
loadResource
|
14
|
+
loadResource,
|
5
15
|
};
|
6
16
|
|
7
17
|
export default LoaderExtensions;
|
@@ -1,17 +1,17 @@
|
|
1
1
|
import assert from '../../assert.js';
|
2
2
|
var fnUniqueSort = function (aArray) {
|
3
|
-
assert(aArray
|
4
|
-
var
|
5
|
-
if (
|
3
|
+
assert(Array.isArray(aArray), 'uniqueSort: input parameter must be an Array');
|
4
|
+
var iLength = aArray.length;
|
5
|
+
if (iLength > 1) {
|
6
6
|
aArray.sort();
|
7
7
|
var j = 0;
|
8
|
-
for (var i = 1; i <
|
9
|
-
if (aArray[i]
|
8
|
+
for (var i = 1; i < iLength; i++) {
|
9
|
+
if (aArray.indexOf(aArray[i]) === i) {
|
10
10
|
aArray[++j] = aArray[i];
|
11
11
|
}
|
12
12
|
}
|
13
|
-
if (++j <
|
14
|
-
aArray.splice(j,
|
13
|
+
if (++j < iLength) {
|
14
|
+
aArray.splice(j, iLength - j);
|
15
15
|
}
|
16
16
|
}
|
17
17
|
return aArray;
|
@@ -14,11 +14,7 @@ var fnEqual = function (a, b, maxDepth, contains, depth) {
|
|
14
14
|
Log.warning('deepEqual comparison exceeded maximum recursion depth of ' + maxDepth + '. Treating values as unequal');
|
15
15
|
return false;
|
16
16
|
}
|
17
|
-
if (a === b) {
|
18
|
-
return true;
|
19
|
-
}
|
20
|
-
var bIsReallyNaN = typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
|
21
|
-
if (bIsReallyNaN) {
|
17
|
+
if (a === b || Number.isNaN(a) && Number.isNaN(b)) {
|
22
18
|
return true;
|
23
19
|
}
|
24
20
|
if (Array.isArray(a) && Array.isArray(b)) {
|
@@ -1,16 +1,14 @@
|
|
1
|
-
var
|
2
|
-
var Interface = function (oObject, aMethods, bFacade) {
|
1
|
+
var Interface = function (oObject, aMethods, _bReturnFacade) {
|
3
2
|
if (!oObject) {
|
4
3
|
return oObject;
|
5
4
|
}
|
6
|
-
BaseObject = BaseObject || sap.ui.requireSync("sap/ui/base/Object");
|
7
5
|
function fCreateDelegator(oObject, sMethodName) {
|
8
6
|
return function () {
|
9
7
|
var tmp = oObject[sMethodName].apply(oObject, arguments);
|
10
|
-
if (
|
8
|
+
if (_bReturnFacade) {
|
11
9
|
return this;
|
12
10
|
} else {
|
13
|
-
return tmp
|
11
|
+
return typeof tmp.getInterface === "function" ? tmp.getInterface() : tmp;
|
14
12
|
}
|
15
13
|
};
|
16
14
|
}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import ObjectPath from '../../base/util/ObjectPath.js';
|
2
|
-
import Device from '../Device.js';
|
3
2
|
import assert from '../../base/assert.js';
|
4
3
|
import Log from '../../base/Log.js';
|
5
4
|
import uniqueSort from '../../base/util/array/uniqueSort.js';
|
@@ -112,7 +111,6 @@ Metadata.prototype.isInstanceOf = function (sInterface) {
|
|
112
111
|
}
|
113
112
|
return false;
|
114
113
|
};
|
115
|
-
var WRITABLE_IFF_PHANTOM = !!Device.browser.phantomJS;
|
116
114
|
Object.defineProperty(Metadata.prototype, '_mImplementedTypes', {
|
117
115
|
get: function () {
|
118
116
|
if (this === Metadata.prototype) {
|
@@ -128,7 +126,7 @@ Object.defineProperty(Metadata.prototype, '_mImplementedTypes', {
|
|
128
126
|
}
|
129
127
|
Object.defineProperty(this, '_mImplementedTypes', {
|
130
128
|
value: Object.freeze(result),
|
131
|
-
writable:
|
129
|
+
writable: false,
|
132
130
|
configurable: false
|
133
131
|
});
|
134
132
|
return result;
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import Interface from './Interface.js';
|
2
1
|
import Metadata from './Metadata.js';
|
3
2
|
import Log from '../../base/Log.js';
|
4
3
|
var BaseObject = Metadata.createClass('sap.ui.base.Object', {
|
@@ -11,7 +10,7 @@ var BaseObject = Metadata.createClass('sap.ui.base.Object', {
|
|
11
10
|
BaseObject.prototype.destroy = function () {
|
12
11
|
};
|
13
12
|
BaseObject.prototype.getInterface = function () {
|
14
|
-
var oInterface = new
|
13
|
+
var oInterface = new BaseObject._Interface(this, this.getMetadata().getAllPublicMethods());
|
15
14
|
this.getInterface = function () {
|
16
15
|
return oInterface;
|
17
16
|
};
|
@@ -37,4 +36,29 @@ BaseObject.prototype.isA = function (vTypeName) {
|
|
37
36
|
BaseObject.isA = function (oObject, vTypeName) {
|
38
37
|
return oObject instanceof BaseObject && oObject.isA(vTypeName);
|
39
38
|
};
|
39
|
+
BaseObject._Interface = function (oObject, aMethods, _bReturnFacade) {
|
40
|
+
if (!oObject) {
|
41
|
+
return oObject;
|
42
|
+
}
|
43
|
+
function fCreateDelegator(oObject, sMethodName) {
|
44
|
+
return function () {
|
45
|
+
var tmp = oObject[sMethodName].apply(oObject, arguments);
|
46
|
+
if (_bReturnFacade) {
|
47
|
+
return this;
|
48
|
+
} else {
|
49
|
+
return tmp instanceof BaseObject ? tmp.getInterface() : tmp;
|
50
|
+
}
|
51
|
+
};
|
52
|
+
}
|
53
|
+
if (!aMethods) {
|
54
|
+
return {};
|
55
|
+
}
|
56
|
+
var sMethodName;
|
57
|
+
for (var i = 0, ml = aMethods.length; i < ml; i++) {
|
58
|
+
sMethodName = aMethods[i];
|
59
|
+
if (!oObject[sMethodName] || typeof oObject[sMethodName] === 'function') {
|
60
|
+
this[sMethodName] = fCreateDelegator(oObject, sMethodName);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
};
|
40
64
|
export default BaseObject;
|
package/dist/sap/ui/core/Core.js
CHANGED
@@ -2,6 +2,7 @@ import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
|
|
2
2
|
import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
|
3
3
|
import getDesigntimePropertyAsArray from "@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js";
|
4
4
|
import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
|
5
|
+
import TimezoneUtil from "./format/TimezoneUtil.js";
|
5
6
|
|
6
7
|
const emptyFn = () => {};
|
7
8
|
|
@@ -24,6 +25,7 @@ const Configuration = {
|
|
24
25
|
getSupportedLanguages: () => getDesigntimePropertyAsArray("$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$"),
|
25
26
|
getOriginInfo: emptyFn,
|
26
27
|
getFormatSettings: () => FormatSettings,
|
28
|
+
getTimezone: () => TimezoneUtil.getLocalTimezone(),
|
27
29
|
};
|
28
30
|
|
29
31
|
/**
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import BaseObject from '../base/Object.js';
|
2
2
|
import assert from '../../base/assert.js';
|
3
|
+
import CalendarType from './CalendarType.js';
|
3
4
|
var rLocale = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
|
4
5
|
var Locale = BaseObject.extend('sap.ui.core.Locale', {
|
5
6
|
constructor: function (sLocaleId) {
|
6
7
|
BaseObject.apply(this);
|
7
8
|
var aResult = rLocale.exec(sLocaleId.replace(/_/g, '-'));
|
8
9
|
if (aResult === null) {
|
9
|
-
throw 'The given language \'' + sLocaleId + '\' does not adhere to BCP-47.';
|
10
|
+
throw new TypeError('The given language \'' + sLocaleId + '\' does not adhere to BCP-47.');
|
10
11
|
}
|
11
12
|
this.sLocaleId = sLocaleId;
|
12
13
|
this.sLanguage = aResult[1] || null;
|
@@ -59,54 +60,71 @@ var Locale = BaseObject.extend('sap.ui.core.Locale', {
|
|
59
60
|
return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
|
60
61
|
},
|
61
62
|
toString: function () {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
r.push(this.sVariant);
|
71
|
-
}
|
72
|
-
if (this.sExtension) {
|
73
|
-
r.push(this.sExtension);
|
74
|
-
}
|
75
|
-
if (this.sPrivateUse) {
|
76
|
-
r.push(this.sPrivateUse);
|
63
|
+
return join(this.sLanguage, this.sScript, this.sRegion, this.sVariant, this.sExtension, this.sPrivateUse);
|
64
|
+
},
|
65
|
+
toLanguageTag: function () {
|
66
|
+
var sLanguage = this.getModernLanguage();
|
67
|
+
var sScript = this.sScript;
|
68
|
+
if (sLanguage === 'sr' && sScript === 'Latn') {
|
69
|
+
sLanguage = 'sh';
|
70
|
+
sScript = null;
|
77
71
|
}
|
78
|
-
return
|
72
|
+
return join(sLanguage, sScript, this.sRegion, this.sVariant, this.sExtension, this.sPrivateUse);
|
73
|
+
},
|
74
|
+
getModernLanguage: function () {
|
75
|
+
return M_ISO639_OLD_TO_NEW[this.sLanguage] || this.sLanguage;
|
79
76
|
},
|
80
77
|
getSAPLogonLanguage: function () {
|
81
|
-
var sLanguage = this.sLanguage || ''
|
78
|
+
var sLanguage = this.sLanguage || '';
|
82
79
|
if (sLanguage.indexOf('-') >= 0) {
|
83
80
|
sLanguage = sLanguage.slice(0, sLanguage.indexOf('-'));
|
84
81
|
}
|
85
82
|
sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
|
86
|
-
if (sLanguage === 'zh') {
|
87
|
-
|
88
|
-
sLanguage = 'zf';
|
89
|
-
}
|
83
|
+
if (sLanguage === 'zh' && !this.sScript && this.sRegion === 'TW') {
|
84
|
+
return 'ZF';
|
90
85
|
}
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
return
|
86
|
+
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();
|
87
|
+
},
|
88
|
+
getPreferredCalendarType: function () {
|
89
|
+
return Locale._mPreferredCalendar[this.getLanguage() + '-' + this.getRegion()] || Locale._mPreferredCalendar[this.getLanguage()] || Locale._mPreferredCalendar['default'];
|
95
90
|
}
|
96
91
|
});
|
92
|
+
function getPseudoLanguageTag(sPrivateUse) {
|
93
|
+
if (sPrivateUse) {
|
94
|
+
var m = /-(saptrc|sappsd|saprigi)(?:-|$)/i.exec(sPrivateUse);
|
95
|
+
return m && 'en-US-x-' + m[1].toLowerCase();
|
96
|
+
}
|
97
|
+
}
|
97
98
|
var M_ISO639_OLD_TO_NEW = {
|
98
99
|
'iw': 'he',
|
99
|
-
'ji': 'yi'
|
100
|
-
|
101
|
-
|
100
|
+
'ji': 'yi'
|
101
|
+
};
|
102
|
+
var M_ABAP_LANGUAGE_TO_LOCALE = {
|
103
|
+
'ZH': 'zh-Hans',
|
104
|
+
'ZF': 'zh-Hant',
|
105
|
+
'SH': 'sr-Latn',
|
106
|
+
'6N': 'en-GB',
|
107
|
+
'1P': 'pt-PT',
|
108
|
+
'1X': 'es-MX',
|
109
|
+
'3F': 'fr-CA',
|
110
|
+
'1Q': 'en-US-x-saptrc',
|
111
|
+
'2Q': 'en-US-x-sappsd',
|
112
|
+
'3Q': 'en-US-x-saprigi'
|
102
113
|
};
|
114
|
+
var M_LOCALE_TO_ABAP_LANGUAGE = inverse(M_ABAP_LANGUAGE_TO_LOCALE);
|
103
115
|
function getDesigntimePropertyAsArray(sValue) {
|
104
116
|
var m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(sValue);
|
105
117
|
return m && m[2] ? m[2].split(/,/) : null;
|
106
118
|
}
|
107
119
|
var A_RTL_LOCALES = getDesigntimePropertyAsArray('$cldr-rtl-locales:ar,fa,he$') || [];
|
108
|
-
Locale._cldrLocales = getDesigntimePropertyAsArray('$cldr-locales:ar,ar_EG,ar_SA,bg,
|
109
|
-
Locale.
|
120
|
+
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$');
|
121
|
+
Locale._mPreferredCalendar = {
|
122
|
+
'ar-SA': CalendarType.Islamic,
|
123
|
+
'fa': CalendarType.Persian,
|
124
|
+
'th': CalendarType.Buddhist,
|
125
|
+
'default': CalendarType.Gregorian
|
126
|
+
};
|
127
|
+
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$');
|
110
128
|
Locale._impliesRTL = function (vLanguage) {
|
111
129
|
var oLocale = vLanguage instanceof Locale ? vLanguage : new Locale(vLanguage);
|
112
130
|
var sLanguage = oLocale.getLanguage() || '';
|
@@ -117,4 +135,22 @@ Locale._impliesRTL = function (vLanguage) {
|
|
117
135
|
}
|
118
136
|
return A_RTL_LOCALES.indexOf(sLanguage) >= 0;
|
119
137
|
};
|
138
|
+
Locale.fromSAPLogonLanguage = function (sSAPLogonLanguage) {
|
139
|
+
if (sSAPLogonLanguage && typeof sSAPLogonLanguage === 'string') {
|
140
|
+
sSAPLogonLanguage = M_ABAP_LANGUAGE_TO_LOCALE[sSAPLogonLanguage.toUpperCase()] || sSAPLogonLanguage;
|
141
|
+
try {
|
142
|
+
return new Locale(sSAPLogonLanguage);
|
143
|
+
} catch (e) {
|
144
|
+
}
|
145
|
+
}
|
146
|
+
};
|
147
|
+
function join() {
|
148
|
+
return Array.prototype.filter.call(arguments, Boolean).join('-');
|
149
|
+
}
|
150
|
+
function inverse(obj) {
|
151
|
+
return Object.keys(obj).reduce(function (inv, key) {
|
152
|
+
inv[obj[key]] = key;
|
153
|
+
return inv;
|
154
|
+
}, {});
|
155
|
+
}
|
120
156
|
export default Locale;
|