@ui5/webcomponents-localization 1.22.0-rc.0 → 1.22.0-rc.2
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/CHANGELOG.md +16 -0
- package/dist/.tsbuildinfo +1 -1
- 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 +146 -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 +168 -30
- package/dist/sap/base/i18n/date/CalendarType.js +36 -1
- package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +76 -1
- package/dist/sap/base/i18n/date/TimezoneUtils.js +242 -12
- 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 +433 -180
- package/dist/sap/ui/base/Object.js +284 -48
- package/dist/sap/ui/core/CalendarType.js +23 -1
- package/dist/sap/ui/core/Locale.js +189 -57
- package/dist/sap/ui/core/LocaleData.js +2670 -1380
- 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 -21
- package/dist/sap/ui/core/date/CalendarWeekNumbering.js +29 -1
- 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 -245
- package/dist/sap/ui/core/date/_Calendars.js +10 -1
- package/dist/sap/ui/core/format/DateFormat.js +3163 -2145
- package/dist/sap/ui/core/format/TimezoneUtil.js +23 -1
- package/package-scripts.cjs +4 -10
- package/package.json +9 -5
- package/tsconfig.json +2 -1
- package/used-modules.txt +20 -1
- package/dist/sap/ui/Device.js +0 -5
@@ -1,162 +1,257 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
/*!
|
2
|
+
* OpenUI5
|
3
|
+
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
5
|
+
*/
|
6
|
+
// Provides class sap.ui.core.date.Japanese
|
7
|
+
import UniversalDate from "./UniversalDate.js";
|
8
|
+
import CalendarType from "../CalendarType.js";
|
9
|
+
import _Calendars from "./_Calendars.js";
|
10
|
+
/**
|
11
|
+
* The Japanese date class
|
12
|
+
*
|
13
|
+
* @class
|
14
|
+
* The Japanese date adds support for era, by returning the CLDR era type in the getEra method and calculating
|
15
|
+
* the year dependent on the current era.
|
16
|
+
*
|
17
|
+
* For the constructor and the UTC method, for the year parameter the following rules apply:
|
18
|
+
* - A year less than 100 will be treated as year of the current emperor era
|
19
|
+
* - A year equal or more than 100 will be treated as a gregorian year
|
20
|
+
* - An array with two entries will be treated as era and emperor year
|
21
|
+
*
|
22
|
+
* @private
|
23
|
+
* @alias sap.ui.core.date.Japanese
|
24
|
+
* @extends sap.ui.core.date.UniversalDate
|
25
|
+
*/
|
26
|
+
var Japanese = UniversalDate.extend("sap.ui.core.date.Japanese", /** @lends sap.ui.core.date.Japanese.prototype */{
|
27
|
+
constructor: function () {
|
28
|
+
var aArgs = arguments;
|
29
|
+
if (aArgs.length > 1) {
|
30
|
+
aArgs = toGregorianArguments(aArgs);
|
12
31
|
}
|
32
|
+
this.oDate = this.createDate(Date, aArgs);
|
33
|
+
this.sCalendarType = CalendarType.Japanese;
|
34
|
+
}
|
13
35
|
});
|
14
36
|
Japanese.UTC = function () {
|
15
|
-
|
16
|
-
|
37
|
+
var aArgs = toGregorianArguments(arguments);
|
38
|
+
return Date.UTC.apply(Date, aArgs);
|
17
39
|
};
|
18
40
|
Japanese.now = function () {
|
19
|
-
|
41
|
+
return Date.now();
|
20
42
|
};
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Find the matching japanese date for the given gregorian date
|
46
|
+
*
|
47
|
+
* @param {object} oGregorian
|
48
|
+
* @return {object}
|
49
|
+
*/
|
21
50
|
function toJapanese(oGregorian) {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
51
|
+
var iEra = UniversalDate.getEraByDate(CalendarType.Japanese, oGregorian.year, oGregorian.month, oGregorian.day),
|
52
|
+
iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Japanese, iEra).year;
|
53
|
+
return {
|
54
|
+
era: iEra,
|
55
|
+
year: oGregorian.year - iEraStartYear + 1,
|
56
|
+
month: oGregorian.month,
|
57
|
+
day: oGregorian.day
|
58
|
+
};
|
29
59
|
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Calculate Gregorian year from Japanese era and year
|
63
|
+
*
|
64
|
+
* @param {object} oJapanese
|
65
|
+
* @return {int}
|
66
|
+
*/
|
30
67
|
function toGregorian(oJapanese) {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
68
|
+
var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Japanese, oJapanese.era).year;
|
69
|
+
return {
|
70
|
+
year: iEraStartYear + oJapanese.year - 1,
|
71
|
+
month: oJapanese.month,
|
72
|
+
day: oJapanese.day
|
73
|
+
};
|
37
74
|
}
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Convert arguments array from Japanese date to Gregorian data.
|
78
|
+
*
|
79
|
+
* @param {int[]|any[]} aArgs Array with year (or [era, year]), month and day (optional) according to Japanese calendar
|
80
|
+
* @returns {int[]} Array with year, month and day according to the Gregorian calendar
|
81
|
+
*/
|
38
82
|
function toGregorianArguments(aArgs) {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
vYear = [];
|
83
|
+
var oJapanese,
|
84
|
+
oGregorian,
|
85
|
+
iEra,
|
86
|
+
vYear = aArgs[0];
|
87
|
+
if (typeof vYear == "number") {
|
88
|
+
if (vYear >= 100) {
|
89
|
+
// Year greater than 100 will be treated as gregorian year
|
90
|
+
return aArgs;
|
91
|
+
} else {
|
92
|
+
// Year less than 100 is emperor year in the current era
|
93
|
+
iEra = UniversalDate.getCurrentEra(CalendarType.Japanese);
|
94
|
+
vYear = [iEra, vYear];
|
52
95
|
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
aArgs[
|
61
|
-
|
96
|
+
} else if (!Array.isArray(vYear)) {
|
97
|
+
// Invalid year
|
98
|
+
vYear = [];
|
99
|
+
}
|
100
|
+
oJapanese = {
|
101
|
+
era: vYear[0],
|
102
|
+
year: vYear[1],
|
103
|
+
month: aArgs[1],
|
104
|
+
day: aArgs[2] !== undefined ? aArgs[2] : 1
|
105
|
+
};
|
106
|
+
oGregorian = toGregorian(oJapanese);
|
107
|
+
aArgs[0] = oGregorian.year;
|
108
|
+
return aArgs;
|
62
109
|
}
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Get the japanese era/year from this.oDate
|
113
|
+
*
|
114
|
+
* @return {object}
|
115
|
+
*/
|
63
116
|
Japanese.prototype._getJapanese = function () {
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
117
|
+
var oGregorian = {
|
118
|
+
year: this.oDate.getFullYear(),
|
119
|
+
month: this.oDate.getMonth(),
|
120
|
+
day: this.oDate.getDate()
|
121
|
+
};
|
122
|
+
return toJapanese(oGregorian);
|
70
123
|
};
|
124
|
+
|
125
|
+
/**
|
126
|
+
* Set the japanese era/year to this.oDate
|
127
|
+
*/
|
71
128
|
Japanese.prototype._setJapanese = function (oJapanese) {
|
72
|
-
|
73
|
-
|
129
|
+
var oGregorian = toGregorian(oJapanese);
|
130
|
+
return this.oDate.setFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
|
74
131
|
};
|
132
|
+
|
133
|
+
/**
|
134
|
+
* Get the japanese era/year from this.oDate in UTC
|
135
|
+
*
|
136
|
+
* @return {object}
|
137
|
+
*/
|
75
138
|
Japanese.prototype._getUTCJapanese = function () {
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
139
|
+
var oGregorian = {
|
140
|
+
year: this.oDate.getUTCFullYear(),
|
141
|
+
month: this.oDate.getUTCMonth(),
|
142
|
+
day: this.oDate.getUTCDate()
|
143
|
+
};
|
144
|
+
return toJapanese(oGregorian);
|
82
145
|
};
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Set the japanese era/year to this.oDate in UTC
|
149
|
+
*/
|
83
150
|
Japanese.prototype._setUTCJapanese = function (oJapanese) {
|
84
|
-
|
85
|
-
|
151
|
+
var oGregorian = toGregorian(oJapanese);
|
152
|
+
return this.oDate.setUTCFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
|
86
153
|
};
|
154
|
+
|
155
|
+
/*
|
156
|
+
* Override relevant getters/setters
|
157
|
+
*/
|
87
158
|
Japanese.prototype.getYear = function () {
|
88
|
-
|
159
|
+
return this._getJapanese().year;
|
89
160
|
};
|
90
161
|
Japanese.prototype.getFullYear = function () {
|
91
|
-
|
162
|
+
return this._getJapanese().year;
|
92
163
|
};
|
93
164
|
Japanese.prototype.getEra = function () {
|
94
|
-
|
165
|
+
return this._getJapanese().era;
|
95
166
|
};
|
96
167
|
Japanese.prototype.getUTCFullYear = function () {
|
97
|
-
|
168
|
+
return this._getUTCJapanese().year;
|
98
169
|
};
|
99
170
|
Japanese.prototype.getUTCEra = function () {
|
100
|
-
|
171
|
+
return this._getUTCJapanese().era;
|
101
172
|
};
|
102
173
|
Japanese.prototype.setYear = function (iYear) {
|
103
|
-
|
104
|
-
|
105
|
-
|
174
|
+
var oJapanese = this._getJapanese();
|
175
|
+
oJapanese.year = iYear;
|
176
|
+
return this._setJapanese(oJapanese);
|
106
177
|
};
|
107
178
|
Japanese.prototype.setFullYear = function (iYear, iMonth, iDay) {
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
179
|
+
var oJapanese = this._getJapanese();
|
180
|
+
oJapanese.year = iYear;
|
181
|
+
if (iMonth !== undefined) {
|
182
|
+
oJapanese.month = iMonth;
|
183
|
+
}
|
184
|
+
if (iDay !== undefined) {
|
185
|
+
oJapanese.day = iDay;
|
186
|
+
}
|
187
|
+
return this._setJapanese(oJapanese);
|
117
188
|
};
|
118
189
|
Japanese.prototype.setEra = function (iEra, iYear, iMonth, iDay) {
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
190
|
+
var oEraStartDate = UniversalDate.getEraStartDate(CalendarType.Japanese, iEra),
|
191
|
+
oJapanese = toJapanese(oEraStartDate);
|
192
|
+
if (iYear !== undefined) {
|
193
|
+
oJapanese.year = iYear;
|
194
|
+
}
|
195
|
+
if (iMonth !== undefined) {
|
196
|
+
oJapanese.month = iMonth;
|
197
|
+
}
|
198
|
+
if (iDay !== undefined) {
|
199
|
+
oJapanese.day = iDay;
|
200
|
+
}
|
201
|
+
return this._setJapanese(oJapanese);
|
130
202
|
};
|
131
203
|
Japanese.prototype.setUTCFullYear = function (iYear, iMonth, iDay) {
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
204
|
+
var oJapanese = this._getUTCJapanese();
|
205
|
+
oJapanese.year = iYear;
|
206
|
+
if (iMonth !== undefined) {
|
207
|
+
oJapanese.month = iMonth;
|
208
|
+
}
|
209
|
+
if (iDay !== undefined) {
|
210
|
+
oJapanese.day = iDay;
|
211
|
+
}
|
212
|
+
return this._setUTCJapanese(oJapanese);
|
141
213
|
};
|
142
214
|
Japanese.prototype.setUTCEra = function (iEra, iYear, iMonth, iDay) {
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
215
|
+
var oEraStartDate = UniversalDate.getEraStartDate(CalendarType.Japanese, iEra),
|
216
|
+
oJapanese = toJapanese(oEraStartDate);
|
217
|
+
if (iYear !== undefined) {
|
218
|
+
oJapanese.year = iYear;
|
219
|
+
}
|
220
|
+
if (iMonth !== undefined) {
|
221
|
+
oJapanese.month = iMonth;
|
222
|
+
}
|
223
|
+
if (iDay !== undefined) {
|
224
|
+
oJapanese.day = iDay;
|
225
|
+
}
|
226
|
+
return this._setUTCJapanese(oJapanese);
|
154
227
|
};
|
228
|
+
|
229
|
+
/**
|
230
|
+
* Note: The resulting year is the Gregorian year
|
231
|
+
*
|
232
|
+
* @override
|
233
|
+
* @see sap.ui.core.date.UniversalDate#getWeek
|
234
|
+
*/
|
155
235
|
Japanese.prototype.getWeek = function (oLocale, vCalendarWeekNumbering) {
|
156
|
-
|
236
|
+
// Use the Gregorian year (from this.oDate), because the Japanese emperor year lacks the
|
237
|
+
// information of the era which makes the year not unique.
|
238
|
+
// Using the Gregorian year is valid, because Japanese#constructor is able to calculate the
|
239
|
+
// era and Japanese emperor year from the Gregorian year.
|
240
|
+
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getFullYear(), this.getMonth(), this.getDate(), oLocale, vCalendarWeekNumbering);
|
157
241
|
};
|
242
|
+
|
243
|
+
/**
|
244
|
+
* Note: The resulting year is the Gregorian year
|
245
|
+
*
|
246
|
+
* @override
|
247
|
+
* @see sap.ui.core.date.UniversalDate#getUTCWeek
|
248
|
+
*/
|
158
249
|
Japanese.prototype.getUTCWeek = function (oLocale, vCalendarWeekNumbering) {
|
159
|
-
|
250
|
+
// Use the Gregorian year (from this.oDate), because the Japanese emperor year lacks the
|
251
|
+
// information of the era which makes the year not unique.
|
252
|
+
// Using the Gregorian year is valid, because Japanese#constructor is able to calculate the
|
253
|
+
// era and Japanese emperor year from the Gregorian year.
|
254
|
+
return UniversalDate.getWeekByDate(this.sCalendarType, this.oDate.getUTCFullYear(), this.getUTCMonth(), this.getUTCDate(), oLocale, vCalendarWeekNumbering);
|
160
255
|
};
|
161
256
|
_Calendars.set(CalendarType.Japanese, Japanese);
|
162
257
|
export default Japanese;
|