@ui5/webcomponents-localization 0.0.0-a3eca7ade → 0.0.0-a8a75c830

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.
Files changed (256) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +2155 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +7 -10
  6. package/dist/.tsbuildinfo +1 -0
  7. package/dist/Assets-fetch.d.ts +1 -0
  8. package/dist/Assets-fetch.js +3 -0
  9. package/dist/Assets-fetch.js.map +1 -0
  10. package/dist/Assets-node.d.ts +11 -0
  11. package/dist/Assets-node.js +12 -0
  12. package/dist/Assets-node.js.map +1 -0
  13. package/dist/Assets.d.ts +1 -0
  14. package/dist/Assets.js +1 -0
  15. package/dist/Assets.js.map +1 -0
  16. package/dist/CalendarUtils.d.ts +3 -0
  17. package/dist/CalendarUtils.js +6 -0
  18. package/dist/CalendarUtils.js.map +1 -0
  19. package/dist/DateFormat.d.ts +5 -0
  20. package/dist/DateFormat.js +6 -2
  21. package/dist/DateFormat.js.map +1 -0
  22. package/dist/LocaleData.d.ts +5 -0
  23. package/dist/LocaleData.js +6 -2
  24. package/dist/LocaleData.js.map +1 -0
  25. package/dist/NumberFormat.d.ts +5 -0
  26. package/dist/NumberFormat.js +7 -0
  27. package/dist/NumberFormat.js.map +1 -0
  28. package/dist/dates/CalendarDate.d.ts +42 -0
  29. package/dist/dates/CalendarDate.js +171 -201
  30. package/dist/dates/CalendarDate.js.map +1 -0
  31. package/dist/dates/ExtremeDates.d.ts +5 -0
  32. package/dist/dates/ExtremeDates.js +25 -35
  33. package/dist/dates/ExtremeDates.js.map +1 -0
  34. package/dist/dates/UI5Date.d.ts +5 -0
  35. package/dist/dates/UI5Date.js +7 -0
  36. package/dist/dates/UI5Date.js.map +1 -0
  37. package/dist/dates/UniversalDate.d.ts +47 -0
  38. package/dist/dates/UniversalDate.js +5 -0
  39. package/dist/dates/UniversalDate.js.map +1 -0
  40. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  41. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  42. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  43. package/dist/dates/getDaysInMonth.d.ts +3 -0
  44. package/dist/dates/getDaysInMonth.js +10 -0
  45. package/dist/dates/getDaysInMonth.js.map +1 -0
  46. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  47. package/dist/dates/getRoundedTimestamp.js +10 -9
  48. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  49. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  50. package/dist/dates/getTodayUTCTimestamp.js +3 -3
  51. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  52. package/dist/dates/modifyDateBy.d.ts +14 -0
  53. package/dist/dates/modifyDateBy.js +42 -29
  54. package/dist/dates/modifyDateBy.js.map +1 -0
  55. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  56. package/dist/dates/transformDateToSecondaryType.js +18 -0
  57. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  58. package/dist/features/calendar/Buddhist.js +1 -0
  59. package/dist/features/calendar/Buddhist.js.map +1 -0
  60. package/dist/features/calendar/Gregorian.js +1 -0
  61. package/dist/features/calendar/Gregorian.js.map +1 -0
  62. package/dist/features/calendar/Islamic.js +1 -0
  63. package/dist/features/calendar/Islamic.js.map +1 -0
  64. package/dist/features/calendar/Japanese.js +1 -0
  65. package/dist/features/calendar/Japanese.js.map +1 -0
  66. package/dist/features/calendar/Persian.js +1 -0
  67. package/dist/features/calendar/Persian.js.map +1 -0
  68. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  69. package/dist/generated/assets/cldr/ar.json +1690 -511
  70. package/dist/generated/assets/cldr/ar_EG.json +1690 -511
  71. package/dist/generated/assets/cldr/ar_SA.json +1785 -607
  72. package/dist/generated/assets/cldr/bg.json +1663 -663
  73. package/dist/generated/assets/cldr/ca.json +1635 -550
  74. package/dist/generated/assets/cldr/cnr.json +6169 -0
  75. package/dist/generated/assets/cldr/cs.json +1618 -409
  76. package/dist/generated/assets/cldr/cy.json +1686 -640
  77. package/dist/generated/assets/cldr/da.json +1579 -542
  78. package/dist/generated/assets/cldr/de.json +1504 -374
  79. package/dist/generated/assets/cldr/de_AT.json +1494 -364
  80. package/dist/generated/assets/cldr/de_CH.json +1513 -383
  81. package/dist/generated/assets/cldr/el.json +1220 -273
  82. package/dist/generated/assets/cldr/el_CY.json +1220 -273
  83. package/dist/generated/assets/cldr/en.json +1619 -548
  84. package/dist/generated/assets/cldr/en_AU.json +1757 -637
  85. package/dist/generated/assets/cldr/en_GB.json +1630 -528
  86. package/dist/generated/assets/cldr/en_HK.json +1713 -608
  87. package/dist/generated/assets/cldr/en_IE.json +1678 -576
  88. package/dist/generated/assets/cldr/en_IN.json +1661 -555
  89. package/dist/generated/assets/cldr/en_NZ.json +1697 -595
  90. package/dist/generated/assets/cldr/en_PG.json +1698 -596
  91. package/dist/generated/assets/cldr/en_SG.json +1687 -582
  92. package/dist/generated/assets/cldr/en_ZA.json +1675 -573
  93. package/dist/generated/assets/cldr/es.json +1893 -704
  94. package/dist/generated/assets/cldr/es_AR.json +1835 -645
  95. package/dist/generated/assets/cldr/es_BO.json +1880 -690
  96. package/dist/generated/assets/cldr/es_CL.json +1721 -639
  97. package/dist/generated/assets/cldr/es_CO.json +1637 -554
  98. package/dist/generated/assets/cldr/es_MX.json +2050 -860
  99. package/dist/generated/assets/cldr/es_PE.json +1565 -591
  100. package/dist/generated/assets/cldr/es_UY.json +1593 -619
  101. package/dist/generated/assets/cldr/es_VE.json +1611 -637
  102. package/dist/generated/assets/cldr/et.json +1426 -368
  103. package/dist/generated/assets/cldr/fa.json +1548 -483
  104. package/dist/generated/assets/cldr/fi.json +1528 -343
  105. package/dist/generated/assets/cldr/fr.json +1435 -419
  106. package/dist/generated/assets/cldr/fr_BE.json +1432 -416
  107. package/dist/generated/assets/cldr/fr_CA.json +1571 -555
  108. package/dist/generated/assets/cldr/fr_CH.json +1385 -369
  109. package/dist/generated/assets/cldr/fr_LU.json +1435 -419
  110. package/dist/generated/assets/cldr/he.json +1697 -536
  111. package/dist/generated/assets/cldr/hi.json +1221 -193
  112. package/dist/generated/assets/cldr/hr.json +1760 -485
  113. package/dist/generated/assets/cldr/hu.json +1390 -303
  114. package/dist/generated/assets/cldr/id.json +1640 -570
  115. package/dist/generated/assets/cldr/it.json +1489 -455
  116. package/dist/generated/assets/cldr/it_CH.json +1489 -455
  117. package/dist/generated/assets/cldr/ja.json +1143 -86
  118. package/dist/generated/assets/cldr/kk.json +1782 -570
  119. package/dist/generated/assets/cldr/ko.json +1192 -162
  120. package/dist/generated/assets/cldr/lt.json +1383 -288
  121. package/dist/generated/assets/cldr/lv.json +1369 -369
  122. package/dist/generated/assets/cldr/mk.json +6045 -0
  123. package/dist/generated/assets/cldr/ms.json +1598 -551
  124. package/dist/generated/assets/cldr/nb.json +1265 -209
  125. package/dist/generated/assets/cldr/nl.json +1741 -425
  126. package/dist/generated/assets/cldr/nl_BE.json +1741 -425
  127. package/dist/generated/assets/cldr/pl.json +1903 -492
  128. package/dist/generated/assets/cldr/pt.json +1913 -605
  129. package/dist/generated/assets/cldr/pt_PT.json +1871 -633
  130. package/dist/generated/assets/cldr/ro.json +1590 -482
  131. package/dist/generated/assets/cldr/ru.json +1608 -514
  132. package/dist/generated/assets/cldr/ru_UA.json +1602 -508
  133. package/dist/generated/assets/cldr/sk.json +1629 -569
  134. package/dist/generated/assets/cldr/sl.json +1532 -430
  135. package/dist/generated/assets/cldr/sr.json +1459 -346
  136. package/dist/generated/assets/cldr/sr_Latn.json +2088 -991
  137. package/dist/generated/assets/cldr/sv.json +1508 -445
  138. package/dist/generated/assets/cldr/th.json +1313 -237
  139. package/dist/generated/assets/cldr/tr.json +1549 -436
  140. package/dist/generated/assets/cldr/uk.json +1619 -520
  141. package/dist/generated/assets/cldr/vi.json +1423 -429
  142. package/dist/generated/assets/cldr/zh_CN.json +1425 -342
  143. package/dist/generated/assets/cldr/zh_HK.json +1396 -312
  144. package/dist/generated/assets/cldr/zh_SG.json +1401 -317
  145. package/dist/generated/assets/cldr/zh_TW.json +1256 -193
  146. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  147. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  148. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  149. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  150. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  151. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  152. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  153. package/dist/generated/json-imports/LocaleData.js +89 -88
  154. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  155. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  156. package/dist/getCachedLocaleDataInstance.js +6 -9
  157. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  158. package/dist/locale/getLocaleData.d.ts +11 -0
  159. package/dist/locale/getLocaleData.js +13 -17
  160. package/dist/locale/getLocaleData.js.map +1 -0
  161. package/dist/sap/base/Event.js +59 -0
  162. package/dist/sap/base/Eventing.js +146 -0
  163. package/dist/sap/base/Log.js +2 -240
  164. package/dist/sap/base/assert.js +31 -5
  165. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  166. package/dist/sap/base/config.js +17 -0
  167. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  168. package/dist/sap/base/i18n/Formatting.js +11 -0
  169. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  170. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  171. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  172. package/dist/sap/base/i18n/Localization.js +12 -0
  173. package/dist/sap/base/i18n/Localization.js.map +1 -0
  174. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  175. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  176. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  177. package/dist/sap/base/strings/camelize.js +30 -0
  178. package/dist/sap/base/strings/formatMessage.js +88 -15
  179. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  180. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  181. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  182. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  183. package/dist/sap/base/util/ObjectPath.js +4 -33
  184. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  185. package/dist/sap/base/util/Version.js +157 -0
  186. package/dist/sap/base/util/_merge.js +83 -26
  187. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  188. package/dist/sap/base/util/deepClone.js +102 -0
  189. package/dist/sap/base/util/deepEqual.js +75 -51
  190. package/dist/sap/base/util/extend.js +58 -7
  191. package/dist/sap/base/util/isEmptyObject.js +34 -0
  192. package/dist/sap/base/util/isPlainObject.js +35 -1
  193. package/dist/sap/base/util/now.js +24 -3
  194. package/dist/sap/base/util/resolveReference.js +3 -0
  195. package/dist/sap/base/util/uid.js +27 -0
  196. package/dist/sap/ui/base/DataType.js +657 -0
  197. package/dist/sap/ui/base/Interface.js +47 -1
  198. package/dist/sap/ui/base/Metadata.js +435 -171
  199. package/dist/sap/ui/base/Object.js +284 -48
  200. package/dist/sap/ui/core/CalendarType.js +24 -8
  201. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  202. package/dist/sap/ui/core/Configuration.js +23 -0
  203. package/dist/sap/ui/core/Configuration.js.map +1 -0
  204. package/dist/sap/ui/core/Core.d.ts +25 -0
  205. package/dist/sap/ui/core/Core.js +7 -32
  206. package/dist/sap/ui/core/Core.js.map +1 -0
  207. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  208. package/dist/sap/ui/core/FormatSettings.js +12 -0
  209. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  210. package/dist/sap/ui/core/Locale.js +190 -142
  211. package/dist/sap/ui/core/LocaleData.js +2665 -1202
  212. package/dist/sap/ui/core/Supportability.js +5 -0
  213. package/dist/sap/ui/core/Theming.js +539 -0
  214. package/dist/sap/ui/core/date/Buddhist.js +162 -93
  215. package/dist/sap/ui/core/date/CalendarUtils.js +65 -0
  216. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  217. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  218. package/dist/sap/ui/core/date/Islamic.js +298 -185
  219. package/dist/sap/ui/core/date/Japanese.js +212 -117
  220. package/dist/sap/ui/core/date/Persian.js +324 -195
  221. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  222. package/dist/sap/ui/core/date/UniversalDate.js +1251 -211
  223. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  224. package/dist/sap/ui/core/format/DateFormat.js +3163 -1794
  225. package/dist/sap/ui/core/format/NumberFormat.js +2835 -0
  226. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -0
  227. package/package-scripts.cjs +35 -0
  228. package/package.json +21 -14
  229. package/tsconfig.json +24 -0
  230. package/used-modules.txt +28 -1
  231. package/dist/Assets-static.js +0 -2
  232. package/dist/dates/calculateWeekNumber.js +0 -51
  233. package/dist/generated/json-imports/LocaleData-static.js +0 -89
  234. package/dist/sap/ui/Device.js +0 -5
  235. package/hash.txt +0 -1
  236. package/package-scripts.js +0 -40
  237. package/src/Assets-static.js +0 -2
  238. package/src/Assets.js +0 -2
  239. package/src/DateFormat.js +0 -3
  240. package/src/LocaleData.js +0 -3
  241. package/src/dates/CalendarDate.js +0 -223
  242. package/src/dates/ExtremeDates.js +0 -39
  243. package/src/dates/calculateWeekNumber.js +0 -51
  244. package/src/dates/getRoundedTimestamp.js +0 -14
  245. package/src/dates/getTodayUTCTimestamp.js +0 -9
  246. package/src/dates/modifyDateBy.js +0 -42
  247. package/src/getCachedLocaleDataInstance.js +0 -13
  248. package/src/locale/getLocaleData.js +0 -27
  249. package/src/sap/base/util/LoaderExtensions.js +0 -17
  250. package/src/sap/ui/core/Core.js +0 -38
  251. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  252. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  253. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  254. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  255. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  256. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,17 @@
1
+ // called from sapui5, but not supported by us
2
+ const legacyFormats = ["sapUiLegacyTimeFormat", "sapUiABAPTimeFormat", "sapUiLegacyDateFormat", "sapUiABAPDateFormat", "sapUiLegacyNumberFormat", "sapUiABAPNumberFormat"];
3
+ export default {
4
+ getWritableInstance() {
5
+ return {
6
+ get({
7
+ name
8
+ }) {
9
+ if (legacyFormats.includes(name)) {
10
+ return undefined;
11
+ }
12
+ throw new Error("Localization :: missing configuration requested.");
13
+ }
14
+ };
15
+ },
16
+ Type: {}
17
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OpenUI5 Formatting Shim
3
+ */
4
+ declare const Formatting: {
5
+ getABAPDateFormat: () => void;
6
+ getCustomIslamicCalendarData: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats.js").default.getLegacyDateCalendarCustomizing;
7
+ };
8
+ export default Formatting;
@@ -0,0 +1,11 @@
1
+ import { getLegacyDateCalendarCustomizing } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
2
+ const emptyFn = () => { };
3
+ /**
4
+ * OpenUI5 Formatting Shim
5
+ */
6
+ const Formatting = {
7
+ getABAPDateFormat: emptyFn,
8
+ getCustomIslamicCalendarData: getLegacyDateCalendarCustomizing,
9
+ };
10
+ export default Formatting;
11
+ //# sourceMappingURL=Formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formatting.js","sourceRoot":"","sources":["../../../../src/sap/base/i18n/Formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AAEzG,MAAM,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,GAAG;IAClB,iBAAiB,EAAE,OAAO;IAC1B,4BAA4B,EAAE,gCAAgC;CAC9D,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { getLegacyDateCalendarCustomizing } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\n\nconst emptyFn = () => {};\n\n/**\n * OpenUI5 Formatting Shim\n */\nconst Formatting = {\n\tgetABAPDateFormat: emptyFn,\n\tgetCustomIslamicCalendarData: getLegacyDateCalendarCustomizing,\n};\n\nexport default Formatting;\n"]}
@@ -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.17
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;
@@ -0,0 +1,4 @@
1
+ declare const Localization: {
2
+ getModernLanguage: (sLanguage: string) => string;
3
+ };
4
+ export default Localization;
@@ -0,0 +1,12 @@
1
+ const M_ISO639_OLD_TO_NEW = {
2
+ "iw": "he",
3
+ "ji": "yi",
4
+ };
5
+ const getModernLanguage = (sLanguage) => {
6
+ return M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
7
+ };
8
+ const Localization = {
9
+ getModernLanguage,
10
+ };
11
+ export default Localization;
12
+ //# sourceMappingURL=Localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Localization.js","sourceRoot":"","sources":["../../../../src/sap/base/i18n/Localization.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,OAAO,mBAAmB,CAAC,SAA6C,CAAC,IAAI,SAAS,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["const M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n};\n\nconst getModernLanguage = (sLanguage: string) => {\n\treturn M_ISO639_OLD_TO_NEW[sLanguage as keyof typeof M_ISO639_OLD_TO_NEW] || sLanguage;\n};\n\nconst Localization = {\n\tgetModernLanguage,\n};\n\nexport default Localization;\n"]}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The types of <code>Calendar</code>.
3
+ *
4
+ * @enum {string}
5
+ * @alias module:sap/base/i18n/date/CalendarType
6
+ * @public
7
+ * @since 1.120
8
+ */ /*!
9
+ * OpenUI5
10
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
11
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
12
+ */
13
+
14
+ // Provides type module:sap/base/i18n/date/CalendarType.
15
+
16
+ var CalendarType = {
17
+ /**
18
+ * The Gregorian calendar
19
+ * @public
20
+ */
21
+ Gregorian: "Gregorian",
22
+ /**
23
+ * The Islamic calendar
24
+ * @public
25
+ */
26
+ Islamic: "Islamic",
27
+ /**
28
+ * The Japanese emperor calendar
29
+ * @public
30
+ */
31
+ Japanese: "Japanese",
32
+ /**
33
+ * The Persian Jalali calendar
34
+ * @public
35
+ */
36
+ Persian: "Persian",
37
+ /**
38
+ * The Thai buddhist calendar
39
+ * @public
40
+ */
41
+ Buddhist: "Buddhist"
42
+ };
43
+ export default CalendarType;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
3
+ * value defines:
4
+ * <ul>
5
+ * <li>The first day of the week,</li>
6
+ * <li>the first week of the year.</li>
7
+ * </ul>
8
+ *
9
+ * @enum {string}
10
+ * @public
11
+ * @alias module:sap/base/i18n/date/CalendarWeekNumbering
12
+ * @since 1.120
13
+ */ /*!
14
+ * OpenUI5
15
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
16
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
17
+ */
18
+
19
+ // Provides type module:sap/base/i18n/date/CalendarWeekNumbering.
20
+
21
+ var CalendarWeekNumbering = {
22
+ /**
23
+ * The default calendar week numbering:
24
+ *
25
+ * The framework determines the week numbering scheme; currently it is derived from the
26
+ * active format locale. Future versions of UI5 might select a different week numbering
27
+ * scheme.
28
+ *
29
+ * @public
30
+ */
31
+ Default: "Default",
32
+ /**
33
+ * Official calendar week numbering in most of Europe (ISO 8601 standard):
34
+ * <ul>
35
+ * <li>Monday is first day of the week,
36
+ * <li>the week containing January 4th is first week of the year.
37
+ * </ul>
38
+ *
39
+ * @public
40
+ */
41
+ ISO_8601: "ISO_8601",
42
+ /**
43
+ * Official calendar week numbering in much of the Middle East (Middle Eastern calendar):
44
+ * <ul>
45
+ * <li>Saturday is first day of the week,
46
+ * <li>the week containing January 1st is first week of the year.
47
+ * </ul>
48
+ *
49
+ * @public
50
+ */
51
+ MiddleEastern: "MiddleEastern",
52
+ /**
53
+ * Official calendar week numbering in the United States, Canada, Brazil, Israel, Japan, and
54
+ * other countries (Western traditional calendar):
55
+ * <ul>
56
+ * <li>Sunday is first day of the week,
57
+ * <li>the week containing January 1st is first week of the year.
58
+ * </ul>
59
+ *
60
+ * @public
61
+ */
62
+ WesternTraditional: "WesternTraditional"
63
+ };
64
+
65
+ /**
66
+ * Returns an object containing the week configuration values for the given calendar week
67
+ * numbering algorithm.
68
+ *
69
+ * @param {module:sap/base/i18n/date/CalendarWeekNumbering} [sCalendarWeekNumbering=Default]
70
+ * The calendar week numbering algorithm
71
+ * @returns {{firstDayOfWeek: 0|1|2|3|4|5|6, minimalDaysInFirstWeek: 1|2|3|4|5|6|7}|undefined}
72
+ * The week configuration values or <code>undefined</code> if the given calendar week
73
+ * numbering algorithm is "Default"
74
+ *
75
+ * @function
76
+ * @name module:sap/base/i18n/date/CalendarWeekNumbering.getWeekConfigurationValues
77
+ * @private
78
+ */
79
+ Object.defineProperty(CalendarWeekNumbering, "getWeekConfigurationValues", {
80
+ // configurable : false,
81
+ // enumerable : false,
82
+ value: function (sCalendarWeekNumbering) {
83
+ switch (sCalendarWeekNumbering) {
84
+ case CalendarWeekNumbering.ISO_8601:
85
+ return {
86
+ firstDayOfWeek: 1,
87
+ minimalDaysInFirstWeek: 4
88
+ };
89
+ case CalendarWeekNumbering.MiddleEastern:
90
+ return {
91
+ firstDayOfWeek: 6,
92
+ minimalDaysInFirstWeek: 1
93
+ };
94
+ case CalendarWeekNumbering.WesternTraditional:
95
+ return {
96
+ firstDayOfWeek: 0,
97
+ minimalDaysInFirstWeek: 1
98
+ };
99
+ default:
100
+ return undefined;
101
+ }
102
+ }
103
+ // writable : false
104
+ });
105
+ export default CalendarWeekNumbering;