@ui5/webcomponents-localization 1.14.5 → 1.14.7
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/CHANGELOG.md +20 -0
- package/dist/generated/assets/cldr/ar.json +102 -62
- package/dist/generated/assets/cldr/ar_EG.json +102 -62
- package/dist/generated/assets/cldr/ar_SA.json +102 -62
- package/dist/generated/assets/cldr/bg.json +364 -325
- package/dist/generated/assets/cldr/ca.json +491 -453
- package/dist/generated/assets/cldr/cs.json +431 -324
- package/dist/generated/assets/cldr/cy.json +608 -340
- package/dist/generated/assets/cldr/da.json +290 -227
- package/dist/generated/assets/cldr/de.json +348 -241
- package/dist/generated/assets/cldr/de_AT.json +348 -241
- package/dist/generated/assets/cldr/de_CH.json +347 -240
- package/dist/generated/assets/cldr/el.json +128 -100
- package/dist/generated/assets/cldr/el_CY.json +128 -100
- package/dist/generated/assets/cldr/en.json +538 -512
- package/dist/generated/assets/cldr/en_AU.json +583 -520
- package/dist/generated/assets/cldr/en_GB.json +485 -441
- package/dist/generated/assets/cldr/en_HK.json +519 -474
- package/dist/generated/assets/cldr/en_IE.json +485 -440
- package/dist/generated/assets/cldr/en_IN.json +465 -420
- package/dist/generated/assets/cldr/en_NZ.json +505 -460
- package/dist/generated/assets/cldr/en_PG.json +505 -460
- package/dist/generated/assets/cldr/en_SG.json +505 -460
- package/dist/generated/assets/cldr/en_ZA.json +485 -440
- package/dist/generated/assets/cldr/es.json +709 -456
- package/dist/generated/assets/cldr/es_AR.json +687 -434
- package/dist/generated/assets/cldr/es_BO.json +721 -468
- package/dist/generated/assets/cldr/es_CL.json +567 -422
- package/dist/generated/assets/cldr/es_CO.json +485 -339
- package/dist/generated/assets/cldr/es_MX.json +734 -481
- package/dist/generated/assets/cldr/es_PE.json +409 -372
- package/dist/generated/assets/cldr/es_UY.json +433 -396
- package/dist/generated/assets/cldr/es_VE.json +453 -416
- package/dist/generated/assets/cldr/et.json +340 -307
- package/dist/generated/assets/cldr/fa.json +96 -34
- package/dist/generated/assets/cldr/fi.json +359 -308
- package/dist/generated/assets/cldr/fr.json +347 -321
- package/dist/generated/assets/cldr/fr_BE.json +347 -321
- package/dist/generated/assets/cldr/fr_CA.json +458 -432
- package/dist/generated/assets/cldr/fr_CH.json +290 -264
- package/dist/generated/assets/cldr/fr_LU.json +347 -321
- package/dist/generated/assets/cldr/he.json +241 -130
- package/dist/generated/assets/cldr/hi.json +103 -53
- package/dist/generated/assets/cldr/hr.json +467 -410
- package/dist/generated/assets/cldr/hu.json +246 -195
- package/dist/generated/assets/cldr/id.json +478 -406
- package/dist/generated/assets/cldr/it.json +418 -362
- package/dist/generated/assets/cldr/it_CH.json +418 -362
- package/dist/generated/assets/cldr/ja.json +58 -18
- package/dist/generated/assets/cldr/kk.json +562 -398
- package/dist/generated/assets/cldr/ko.json +36 -15
- package/dist/generated/assets/cldr/lt.json +320 -231
- package/dist/generated/assets/cldr/lv.json +184 -120
- package/dist/generated/assets/cldr/ms.json +460 -388
- package/dist/generated/assets/cldr/nb.json +160 -92
- package/dist/generated/assets/cldr/nl.json +621 -373
- package/dist/generated/assets/cldr/nl_BE.json +621 -373
- package/dist/generated/assets/cldr/pl.json +590 -279
- package/dist/generated/assets/cldr/pt.json +696 -334
- package/dist/generated/assets/cldr/pt_PT.json +730 -454
- package/dist/generated/assets/cldr/ro.json +409 -339
- package/dist/generated/assets/cldr/ru.json +317 -279
- package/dist/generated/assets/cldr/ru_UA.json +312 -274
- package/dist/generated/assets/cldr/sk.json +454 -413
- package/dist/generated/assets/cldr/sl.json +118 -80
- package/dist/generated/assets/cldr/sr.json +294 -142
- package/dist/generated/assets/cldr/sr_Latn.json +972 -824
- package/dist/generated/assets/cldr/sv.json +382 -338
- package/dist/generated/assets/cldr/th.json +56 -36
- package/dist/generated/assets/cldr/tr.json +371 -320
- package/dist/generated/assets/cldr/uk.json +340 -290
- package/dist/generated/assets/cldr/vi.json +352 -328
- package/dist/generated/assets/cldr/zh_CN.json +34 -10
- package/dist/generated/assets/cldr/zh_HK.json +33 -9
- package/dist/generated/assets/cldr/zh_SG.json +33 -9
- package/dist/generated/assets/cldr/zh_TW.json +32 -8
- package/dist/sap/base/Event.js +59 -0
- package/dist/sap/base/Eventing.js +147 -0
- package/dist/sap/base/Log.js +2 -239
- package/dist/sap/base/assert.js +28 -1
- package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
- package/dist/sap/base/config.js +17 -0
- package/dist/sap/base/i18n/Formatting.js +1130 -0
- package/dist/sap/base/i18n/LanguageTag.js +173 -0
- package/dist/sap/base/i18n/Localization.js +721 -0
- package/dist/sap/base/i18n/date/CalendarType.js +43 -0
- package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
- package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
- package/dist/sap/base/strings/camelize.js +30 -0
- package/dist/sap/base/strings/formatMessage.js +88 -15
- package/dist/sap/base/util/ObjectPath.js +95 -3
- package/dist/sap/base/util/Version.js +157 -0
- package/dist/sap/base/util/_merge.js +83 -26
- package/dist/sap/base/util/array/uniqueSort.js +37 -15
- package/dist/sap/base/util/deepClone.js +102 -0
- package/dist/sap/base/util/deepEqual.js +75 -51
- package/dist/sap/base/util/extend.js +58 -7
- package/dist/sap/base/util/isEmptyObject.js +34 -0
- package/dist/sap/base/util/isPlainObject.js +35 -1
- package/dist/sap/base/util/now.js +24 -3
- package/dist/sap/base/util/resolveReference.js +157 -0
- package/dist/sap/base/util/uid.js +27 -0
- package/dist/sap/ui/base/DataType.js +657 -0
- package/dist/sap/ui/base/Interface.js +47 -1
- package/dist/sap/ui/base/Metadata.js +436 -171
- package/dist/sap/ui/base/Object.js +284 -48
- package/dist/sap/ui/core/CalendarType.js +24 -8
- package/dist/sap/ui/core/Locale.js +190 -155
- package/dist/sap/ui/core/LocaleData.js +2661 -1351
- package/dist/sap/ui/core/Supportability.js +5 -0
- package/dist/sap/ui/core/Theming.js +539 -0
- package/dist/sap/ui/core/date/Buddhist.js +162 -87
- package/dist/sap/ui/core/date/CalendarUtils.js +61 -32
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -7
- package/dist/sap/ui/core/date/Gregorian.js +25 -10
- package/dist/sap/ui/core/date/Islamic.js +298 -185
- package/dist/sap/ui/core/date/Japanese.js +210 -115
- package/dist/sap/ui/core/date/Persian.js +324 -195
- package/dist/sap/ui/core/date/UI5Date.js +923 -237
- package/dist/sap/ui/core/date/UniversalDate.js +1238 -256
- package/dist/sap/ui/core/date/_Calendars.js +10 -1
- package/dist/sap/ui/core/format/DateFormat.js +3174 -2111
- package/dist/sap/ui/core/format/TimezoneUtil.js +24 -89
- package/package-scripts.cjs +6 -11
- package/package.json +9 -5
- package/used-modules.txt +24 -1
- package/dist/sap/ui/Device.js +0 -5
@@ -0,0 +1,173 @@
|
|
1
|
+
/**
|
2
|
+
* A regular expression that describes language tags according to BCP-47.
|
3
|
+
* @see BCP47 "Tags for Identifying Languages" (http://www.ietf.org/rfc/bcp/bcp47.txt)
|
4
|
+
*
|
5
|
+
* The matching groups are
|
6
|
+
* 0=all
|
7
|
+
* 1=language (shortest ISO639 code + ext. language sub tags | 4digits (reserved) | registered language sub tags)
|
8
|
+
* 2=script (4 letters)
|
9
|
+
* 3=region (2 letter language or 3 digits)
|
10
|
+
* 4=variants (separated by '-', Note: capturing group contains leading '-' to shorten the regex!)
|
11
|
+
* 5=extensions (including leading singleton, multiple extensions separated by '-'.Note: capturing group contains leading '-' to shorten the regex!)
|
12
|
+
* 6=private use section (including leading 'x', multiple sections separated by '-')
|
13
|
+
*
|
14
|
+
* [-------------------- language ----------------------][--- script ---][------- region --------][------------- variants --------------][----------- extensions ------------][------ private use -------]
|
15
|
+
*/ /*!
|
16
|
+
* OpenUI5
|
17
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
18
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
19
|
+
*/
|
20
|
+
|
21
|
+
//Provides the LanguageTag object module:sap/base/i18n/LanguageTag
|
22
|
+
|
23
|
+
var rLanguageTag = /^((?:[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;
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Creates an LanguageTag instance.
|
27
|
+
* LanguageTag represents a BCP-47 language tag, consisting of a language, script, region, variants, extensions and private use section.
|
28
|
+
*
|
29
|
+
* @class
|
30
|
+
*
|
31
|
+
* @param {string} sLanguageTag the language tag identifier, in format en-US or en_US.
|
32
|
+
*
|
33
|
+
* @author SAP SE
|
34
|
+
* @version 1.120.3
|
35
|
+
* @public
|
36
|
+
* @alias module:sap/base/i18n/LanguageTag
|
37
|
+
*/
|
38
|
+
class LanguageTag {
|
39
|
+
/**
|
40
|
+
* Get the language.
|
41
|
+
*
|
42
|
+
* Note that the case might differ from the original script tag
|
43
|
+
* (Lower case is enforced as recommended by BCP47/ISO639).
|
44
|
+
*
|
45
|
+
* @type {string}
|
46
|
+
* @public
|
47
|
+
*/
|
48
|
+
language;
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Get the script or <code>null</code> if none was specified.
|
52
|
+
*
|
53
|
+
* Note that the case might differ from the original language tag
|
54
|
+
* (Upper case first letter and lower case reminder enforced as
|
55
|
+
* recommended by BCP47/ISO15924)
|
56
|
+
*
|
57
|
+
* @type {string|null}
|
58
|
+
* @public
|
59
|
+
*/
|
60
|
+
script;
|
61
|
+
|
62
|
+
/**
|
63
|
+
* Get the region or <code>null</code> if none was specified.
|
64
|
+
*
|
65
|
+
* Note that the case might differ from the original script tag
|
66
|
+
* (Upper case is enforced as recommended by BCP47/ISO3166-1).
|
67
|
+
*
|
68
|
+
* @type {string}
|
69
|
+
* @public
|
70
|
+
*/
|
71
|
+
region;
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Get the variants as a single string or <code>null</code>.
|
75
|
+
*
|
76
|
+
* Multiple variants are separated by a dash '-'.
|
77
|
+
*
|
78
|
+
* @type {string|null}
|
79
|
+
* @public
|
80
|
+
*/
|
81
|
+
variant;
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Get the variants as an array of individual variants.
|
85
|
+
*
|
86
|
+
* The separating dashes are not part of the result.
|
87
|
+
* If there is no variant section in the language tag, an empty array is returned.
|
88
|
+
*
|
89
|
+
* @type {string[]}
|
90
|
+
* @public
|
91
|
+
*/
|
92
|
+
variantSubtags;
|
93
|
+
|
94
|
+
/**
|
95
|
+
* Get the extension as a single string or <code>null</code>.
|
96
|
+
*
|
97
|
+
* The extension always consists of a singleton character (not 'x'),
|
98
|
+
* a dash '-' and one or more extension token, each separated
|
99
|
+
* again with a dash.
|
100
|
+
*
|
101
|
+
* @type {string|null}
|
102
|
+
* @public
|
103
|
+
*/
|
104
|
+
extension;
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Get the extensions as an array of tokens.
|
108
|
+
*
|
109
|
+
* The leading singleton and the separating dashes are not part of the result.
|
110
|
+
* If there is no extensions section in the language tag, an empty array is returned.
|
111
|
+
*
|
112
|
+
* @type {string[]}
|
113
|
+
* @public
|
114
|
+
*/
|
115
|
+
extensionSubtags;
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Get the private use section or <code>null</code>.
|
119
|
+
*
|
120
|
+
* @type {string}
|
121
|
+
*/
|
122
|
+
privateUse;
|
123
|
+
|
124
|
+
/**
|
125
|
+
* Get the private use section as an array of tokens.
|
126
|
+
*
|
127
|
+
* The leading singleton and the separating dashes are not part of the result.
|
128
|
+
* If there is no private use section in the language tag, an empty array is returned.
|
129
|
+
*
|
130
|
+
* @type {string[]}
|
131
|
+
*/
|
132
|
+
privateUseSubtags;
|
133
|
+
constructor(sLanguageTag) {
|
134
|
+
var aResult = rLanguageTag.exec(sLanguageTag.replace(/_/g, "-"));
|
135
|
+
// If the given language tag string cannot be parsed by the regular expression above,
|
136
|
+
// we should at least tell the developer why the Core fails to load.
|
137
|
+
if (aResult === null) {
|
138
|
+
throw new TypeError("The given language tag'" + sLanguageTag + "' does not adhere to BCP-47.");
|
139
|
+
}
|
140
|
+
this.language = aResult[1] || null;
|
141
|
+
this.script = aResult[2] || null;
|
142
|
+
this.region = aResult[3] || null;
|
143
|
+
this.variant = aResult[4] && aResult[4].slice(1) || null; // remove leading dash from capturing group
|
144
|
+
this.variantSubtags = this.variant ? this.variant.split('-') : [];
|
145
|
+
this.extension = aResult[5] && aResult[5].slice(1) || null; // remove leading dash from capturing group
|
146
|
+
this.extensionSubtags = this.variant ? this.variant.split('-') : [];
|
147
|
+
this.privateUse = aResult[6] || null;
|
148
|
+
this.privateUseSubtags = this.privateUse ? this.privateUse.slice(2).split('-') : [];
|
149
|
+
// convert subtags according to the BCP47 recommendations
|
150
|
+
// - language: all lower case
|
151
|
+
// - script: lower case with the first letter capitalized
|
152
|
+
// - region: all upper case
|
153
|
+
if (this.language) {
|
154
|
+
this.language = this.language.toLowerCase();
|
155
|
+
}
|
156
|
+
if (this.script) {
|
157
|
+
this.script = this.script.toLowerCase().replace(/^[a-z]/, function ($) {
|
158
|
+
return $.toUpperCase();
|
159
|
+
});
|
160
|
+
}
|
161
|
+
if (this.region) {
|
162
|
+
this.region = this.region.toUpperCase();
|
163
|
+
}
|
164
|
+
Object.freeze(this);
|
165
|
+
}
|
166
|
+
toString() {
|
167
|
+
return this.#join(this.language, this.script, this.region, this.variant, this.extension, this.privateUse);
|
168
|
+
}
|
169
|
+
#join() {
|
170
|
+
return Array.prototype.filter.call(arguments, Boolean).join("-");
|
171
|
+
}
|
172
|
+
}
|
173
|
+
export default LanguageTag;
|