@spfn/cms 0.1.0-alpha.8 → 0.1.0-alpha.80

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 (233) hide show
  1. package/README.md +28 -416
  2. package/dist/{helpers/locale.actions.d.ts → actions-BEFWwQsh.d.ts} +70 -7
  3. package/dist/actions.d.ts +2 -9
  4. package/dist/actions.js +99 -10
  5. package/dist/actions.js.map +1 -1
  6. package/dist/api.d.ts +319 -0
  7. package/dist/api.js +467 -0
  8. package/dist/api.js.map +1 -0
  9. package/dist/client.d.ts +135 -127
  10. package/dist/client.js +1318 -59
  11. package/dist/client.js.map +1 -1
  12. package/dist/{types.d.ts → index-Dh5FjWzR.d.ts} +45 -7
  13. package/dist/index.d.ts +112 -16
  14. package/dist/index.js +625 -23
  15. package/dist/index.js.map +1 -1
  16. package/dist/label-sync-generator-B0EmvtWM.d.ts +32 -0
  17. package/dist/lib/contracts/labels.d.ts +244 -0
  18. package/dist/lib/contracts/labels.js +269 -0
  19. package/dist/lib/contracts/labels.js.map +1 -0
  20. package/dist/lib/contracts/published-cache.d.ts +48 -0
  21. package/dist/lib/contracts/published-cache.js +49 -0
  22. package/dist/lib/contracts/published-cache.js.map +1 -0
  23. package/dist/lib/contracts/values.d.ts +71 -0
  24. package/dist/lib/contracts/values.js +104 -0
  25. package/dist/lib/contracts/values.js.map +1 -0
  26. package/dist/locale.constants-BNkSdNP1.d.ts +108 -0
  27. package/dist/{entities → server/entities}/cms-audit-logs.d.ts +15 -70
  28. package/dist/server/entities/cms-audit-logs.js +78 -0
  29. package/dist/server/entities/cms-audit-logs.js.map +1 -0
  30. package/dist/{entities → server/entities}/cms-draft-cache.d.ts +13 -73
  31. package/dist/server/entities/cms-draft-cache.js +38 -0
  32. package/dist/server/entities/cms-draft-cache.js.map +1 -0
  33. package/dist/{entities → server/entities}/cms-label-values.d.ts +16 -67
  34. package/dist/server/entities/cms-label-values.js +81 -0
  35. package/dist/server/entities/cms-label-values.js.map +1 -0
  36. package/dist/{entities → server/entities}/cms-labels.d.ts +17 -14
  37. package/dist/server/entities/cms-labels.js +42 -0
  38. package/dist/server/entities/cms-labels.js.map +1 -0
  39. package/dist/{entities → server/entities}/cms-published-cache.d.ts +14 -69
  40. package/dist/server/entities/cms-published-cache.js +36 -0
  41. package/dist/server/entities/cms-published-cache.js.map +1 -0
  42. package/dist/server/entities/index.d.ts +6 -0
  43. package/dist/server/entities/index.js +185 -0
  44. package/dist/server/entities/index.js.map +1 -0
  45. package/dist/server/generators/index.d.ts +19 -0
  46. package/dist/server/generators/index.js +724 -0
  47. package/dist/server/generators/index.js.map +1 -0
  48. package/dist/server/labels/index.d.ts +1 -0
  49. package/dist/server/labels/index.js +33 -0
  50. package/dist/server/labels/index.js.map +1 -0
  51. package/dist/server/repositories/index.d.ts +212 -0
  52. package/dist/server/repositories/index.js +418 -0
  53. package/dist/server/repositories/index.js.map +1 -0
  54. package/dist/server/routes/labels/[id]/admin/index.js +679 -0
  55. package/dist/server/routes/labels/[id]/admin/index.js.map +1 -0
  56. package/dist/server/routes/labels/[id]/index.js +576 -0
  57. package/dist/server/routes/labels/[id]/index.js.map +1 -0
  58. package/dist/server/routes/labels/[id]/publish/index.js +720 -0
  59. package/dist/server/routes/labels/[id]/publish/index.js.map +1 -0
  60. package/dist/server/routes/labels/[id]/versions/index.js +548 -0
  61. package/dist/server/routes/labels/[id]/versions/index.js.map +1 -0
  62. package/dist/server/routes/labels/_id_/admin/index.d.ts +11 -0
  63. package/dist/{routes/labels/[id] → server/routes/labels/_id_}/index.d.ts +5 -3
  64. package/dist/server/routes/labels/_id_/publish/index.d.ts +11 -0
  65. package/dist/server/routes/labels/_id_/versions/index.d.ts +11 -0
  66. package/dist/server/routes/labels/by-key/[key]/index.js +525 -0
  67. package/dist/server/routes/labels/by-key/[key]/index.js.map +1 -0
  68. package/dist/server/routes/labels/by-key/_key_/index.d.ts +10 -0
  69. package/dist/server/routes/labels/index.d.ts +12 -0
  70. package/dist/server/routes/labels/index.js +684 -0
  71. package/dist/server/routes/labels/index.js.map +1 -0
  72. package/dist/server/routes/published-cache/index.d.ts +11 -0
  73. package/dist/server/routes/published-cache/index.js +337 -0
  74. package/dist/server/routes/published-cache/index.js.map +1 -0
  75. package/dist/server/routes/values/[labelId]/[version]/index.js +457 -0
  76. package/dist/server/routes/values/[labelId]/[version]/index.js.map +1 -0
  77. package/dist/server/routes/values/[labelId]/index.js +452 -0
  78. package/dist/server/routes/values/[labelId]/index.js.map +1 -0
  79. package/dist/server/routes/values/_labelId_/_version_/index.d.ts +10 -0
  80. package/dist/server/routes/values/_labelId_/index.d.ts +10 -0
  81. package/dist/server.d.ts +77 -7
  82. package/dist/server.js +1740 -247
  83. package/dist/server.js.map +1 -1
  84. package/migrations/0000_init.sql +3 -0
  85. package/migrations/0001_far_lady_vermin.sql +86 -0
  86. package/migrations/0002_heavy_the_enforcers.sql +2 -0
  87. package/migrations/0003_rare_runaways.sql +1 -0
  88. package/migrations/meta/0000_snapshot.json +15 -0
  89. package/migrations/meta/0001_snapshot.json +687 -0
  90. package/migrations/meta/0002_snapshot.json +686 -0
  91. package/migrations/meta/0003_snapshot.json +563 -0
  92. package/migrations/meta/_journal.json +34 -0
  93. package/package.json +55 -36
  94. package/dist/actions.d.ts.map +0 -1
  95. package/dist/client.d.ts.map +0 -1
  96. package/dist/cms.config.d.ts +0 -77
  97. package/dist/cms.config.d.ts.map +0 -1
  98. package/dist/cms.config.js +0 -111
  99. package/dist/cms.config.js.map +0 -1
  100. package/dist/entities/cms-audit-logs.d.ts.map +0 -1
  101. package/dist/entities/cms-audit-logs.js +0 -103
  102. package/dist/entities/cms-audit-logs.js.map +0 -1
  103. package/dist/entities/cms-draft-cache.d.ts.map +0 -1
  104. package/dist/entities/cms-draft-cache.js +0 -112
  105. package/dist/entities/cms-draft-cache.js.map +0 -1
  106. package/dist/entities/cms-label-values.d.ts.map +0 -1
  107. package/dist/entities/cms-label-values.js +0 -105
  108. package/dist/entities/cms-label-values.js.map +0 -1
  109. package/dist/entities/cms-label-versions.d.ts +0 -207
  110. package/dist/entities/cms-label-versions.d.ts.map +0 -1
  111. package/dist/entities/cms-label-versions.js +0 -80
  112. package/dist/entities/cms-label-versions.js.map +0 -1
  113. package/dist/entities/cms-labels.d.ts.map +0 -1
  114. package/dist/entities/cms-labels.js +0 -48
  115. package/dist/entities/cms-labels.js.map +0 -1
  116. package/dist/entities/cms-published-cache.d.ts.map +0 -1
  117. package/dist/entities/cms-published-cache.js +0 -103
  118. package/dist/entities/cms-published-cache.js.map +0 -1
  119. package/dist/entities/index.d.ts +0 -10
  120. package/dist/entities/index.d.ts.map +0 -1
  121. package/dist/entities/index.js +0 -10
  122. package/dist/entities/index.js.map +0 -1
  123. package/dist/generators/index.d.ts +0 -19
  124. package/dist/generators/index.d.ts.map +0 -1
  125. package/dist/generators/index.js +0 -19
  126. package/dist/generators/index.js.map +0 -1
  127. package/dist/generators/label-sync-generator.d.ts +0 -33
  128. package/dist/generators/label-sync-generator.d.ts.map +0 -1
  129. package/dist/generators/label-sync-generator.js +0 -86
  130. package/dist/generators/label-sync-generator.js.map +0 -1
  131. package/dist/helpers/locale.actions.d.ts.map +0 -1
  132. package/dist/helpers/locale.actions.js +0 -210
  133. package/dist/helpers/locale.actions.js.map +0 -1
  134. package/dist/helpers/locale.constants.d.ts +0 -10
  135. package/dist/helpers/locale.constants.d.ts.map +0 -1
  136. package/dist/helpers/locale.constants.js +0 -10
  137. package/dist/helpers/locale.constants.js.map +0 -1
  138. package/dist/helpers/locale.d.ts +0 -17
  139. package/dist/helpers/locale.d.ts.map +0 -1
  140. package/dist/helpers/locale.js +0 -20
  141. package/dist/helpers/locale.js.map +0 -1
  142. package/dist/helpers/sync.d.ts +0 -41
  143. package/dist/helpers/sync.d.ts.map +0 -1
  144. package/dist/helpers/sync.js +0 -309
  145. package/dist/helpers/sync.js.map +0 -1
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/init.d.ts +0 -31
  148. package/dist/init.d.ts.map +0 -1
  149. package/dist/init.js +0 -36
  150. package/dist/init.js.map +0 -1
  151. package/dist/labels/helpers.d.ts +0 -31
  152. package/dist/labels/helpers.d.ts.map +0 -1
  153. package/dist/labels/helpers.js +0 -60
  154. package/dist/labels/helpers.js.map +0 -1
  155. package/dist/labels/index.d.ts +0 -7
  156. package/dist/labels/index.d.ts.map +0 -1
  157. package/dist/labels/index.js +0 -7
  158. package/dist/labels/index.js.map +0 -1
  159. package/dist/repositories/cms-draft-cache.repository.d.ts +0 -62
  160. package/dist/repositories/cms-draft-cache.repository.d.ts.map +0 -1
  161. package/dist/repositories/cms-draft-cache.repository.js +0 -56
  162. package/dist/repositories/cms-draft-cache.repository.js.map +0 -1
  163. package/dist/repositories/cms-label-values.repository.d.ts +0 -32
  164. package/dist/repositories/cms-label-values.repository.d.ts.map +0 -1
  165. package/dist/repositories/cms-label-values.repository.js +0 -72
  166. package/dist/repositories/cms-label-values.repository.js.map +0 -1
  167. package/dist/repositories/cms-labels.repository.d.ts +0 -53
  168. package/dist/repositories/cms-labels.repository.d.ts.map +0 -1
  169. package/dist/repositories/cms-labels.repository.js +0 -77
  170. package/dist/repositories/cms-labels.repository.js.map +0 -1
  171. package/dist/repositories/cms-published-cache.repository.d.ts +0 -53
  172. package/dist/repositories/cms-published-cache.repository.d.ts.map +0 -1
  173. package/dist/repositories/cms-published-cache.repository.js +0 -54
  174. package/dist/repositories/cms-published-cache.repository.js.map +0 -1
  175. package/dist/repositories/index.d.ts +0 -8
  176. package/dist/repositories/index.d.ts.map +0 -1
  177. package/dist/repositories/index.js +0 -9
  178. package/dist/repositories/index.js.map +0 -1
  179. package/dist/routes/labels/[id]/contract.d.ts +0 -68
  180. package/dist/routes/labels/[id]/contract.d.ts.map +0 -1
  181. package/dist/routes/labels/[id]/contract.js +0 -84
  182. package/dist/routes/labels/[id]/contract.js.map +0 -1
  183. package/dist/routes/labels/[id]/index.d.ts.map +0 -1
  184. package/dist/routes/labels/[id]/index.js +0 -96
  185. package/dist/routes/labels/[id]/index.js.map +0 -1
  186. package/dist/routes/labels/by-key/[key]/contract.d.ts +0 -24
  187. package/dist/routes/labels/by-key/[key]/contract.d.ts.map +0 -1
  188. package/dist/routes/labels/by-key/[key]/contract.js +0 -28
  189. package/dist/routes/labels/by-key/[key]/contract.js.map +0 -1
  190. package/dist/routes/labels/by-key/[key]/index.d.ts +0 -8
  191. package/dist/routes/labels/by-key/[key]/index.d.ts.map +0 -1
  192. package/dist/routes/labels/by-key/[key]/index.js +0 -32
  193. package/dist/routes/labels/by-key/[key]/index.js.map +0 -1
  194. package/dist/routes/labels/contract.d.ts +0 -59
  195. package/dist/routes/labels/contract.d.ts.map +0 -1
  196. package/dist/routes/labels/contract.js +0 -75
  197. package/dist/routes/labels/contract.js.map +0 -1
  198. package/dist/routes/labels/index.d.ts +0 -10
  199. package/dist/routes/labels/index.d.ts.map +0 -1
  200. package/dist/routes/labels/index.js +0 -73
  201. package/dist/routes/labels/index.js.map +0 -1
  202. package/dist/routes/published-cache/contract.d.ts +0 -25
  203. package/dist/routes/published-cache/contract.d.ts.map +0 -1
  204. package/dist/routes/published-cache/contract.js +0 -35
  205. package/dist/routes/published-cache/contract.js.map +0 -1
  206. package/dist/routes/published-cache/index.d.ts +0 -8
  207. package/dist/routes/published-cache/index.d.ts.map +0 -1
  208. package/dist/routes/published-cache/index.js +0 -33
  209. package/dist/routes/published-cache/index.js.map +0 -1
  210. package/dist/routes/values/[labelId]/[version]/contract.d.ts +0 -29
  211. package/dist/routes/values/[labelId]/[version]/contract.d.ts.map +0 -1
  212. package/dist/routes/values/[labelId]/[version]/contract.js +0 -33
  213. package/dist/routes/values/[labelId]/[version]/contract.js.map +0 -1
  214. package/dist/routes/values/[labelId]/[version]/index.d.ts +0 -8
  215. package/dist/routes/values/[labelId]/[version]/index.d.ts.map +0 -1
  216. package/dist/routes/values/[labelId]/[version]/index.js +0 -45
  217. package/dist/routes/values/[labelId]/[version]/index.js.map +0 -1
  218. package/dist/routes/values/[labelId]/contract.d.ts +0 -38
  219. package/dist/routes/values/[labelId]/contract.d.ts.map +0 -1
  220. package/dist/routes/values/[labelId]/contract.js +0 -59
  221. package/dist/routes/values/[labelId]/contract.js.map +0 -1
  222. package/dist/routes/values/[labelId]/index.d.ts +0 -8
  223. package/dist/routes/values/[labelId]/index.d.ts.map +0 -1
  224. package/dist/routes/values/[labelId]/index.js +0 -42
  225. package/dist/routes/values/[labelId]/index.js.map +0 -1
  226. package/dist/server.d.ts.map +0 -1
  227. package/dist/store.d.ts +0 -87
  228. package/dist/store.d.ts.map +0 -1
  229. package/dist/store.js +0 -205
  230. package/dist/store.js.map +0 -1
  231. package/dist/types.d.ts.map +0 -1
  232. package/dist/types.js +0 -7
  233. package/dist/types.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,24 +1,626 @@
1
- import "server-only";
2
- /**
3
- * @spfn/cms
4
- *
5
- * Backend + Server Components
6
- * 백엔드 및 서버 컴포넌트 전용 (서버에서만 실행)
7
- *
8
- * For client components, use: import { ... } from '@spfn/cms/client'
9
- */
10
- // Configuration API
11
- export { getCmsConfig, configureCms, resetCmsConfig } from './cms.config.js';
12
- // Server Components API (React Server Components)
13
- export * from './server';
14
- // Backend: Repositories (DB access)
15
- export * from './repositories';
16
- // Backend: Entities (DB schemas)
17
- export * from './entities';
18
- // Backend: Sync utilities (server startup, CLI scripts)
19
- export { syncSection, syncAll, initLabelSync, loadLabelsFromJson } from './helpers/sync';
20
- // Backend: Label helpers (for processing JSON labels)
21
- export * from './labels';
22
- // Backend: Codegen generators (for development)
23
- export { createLabelSyncGenerator, LabelSyncGenerator } from './generators/label-sync-generator';
1
+ // src/server/config/cms.config.ts
2
+ function getEnvVar(key, defaultValue) {
3
+ return process.env[key] || defaultValue;
4
+ }
5
+ function getEnvBoolean(key, defaultValue) {
6
+ const value = process.env[key];
7
+ if (value === void 0) return defaultValue;
8
+ return value === "true" || value === "1";
9
+ }
10
+ function loadConfigFromEnv() {
11
+ const defaultLocale = getEnvVar("SPFN_CMS_DEFAULT_LOCALE", "en");
12
+ const supportedLocalesStr = getEnvVar("SPFN_CMS_SUPPORTED_LOCALES", "en,ko");
13
+ const detectBrowserLanguage = getEnvBoolean("SPFN_CMS_DETECT_BROWSER_LANGUAGE", true);
14
+ const locales = supportedLocalesStr.split(",").map((locale) => locale.trim()).filter((locale) => locale.length > 0);
15
+ if (!locales.includes(defaultLocale)) {
16
+ locales.unshift(defaultLocale);
17
+ }
18
+ return {
19
+ defaultLocale,
20
+ locales,
21
+ supportedLocales: locales,
22
+ // backward compatibility
23
+ detectBrowserLanguage
24
+ };
25
+ }
26
+ var currentConfig = loadConfigFromEnv();
27
+ function getCmsConfig() {
28
+ return currentConfig;
29
+ }
30
+ function configureCms(config) {
31
+ if (config.supportedLocales && !config.locales) {
32
+ config = { ...config, locales: config.supportedLocales };
33
+ }
34
+ currentConfig = {
35
+ ...currentConfig,
36
+ ...config
37
+ };
38
+ if (config.locales) {
39
+ currentConfig.supportedLocales = config.locales;
40
+ } else if (config.supportedLocales) {
41
+ currentConfig.locales = config.supportedLocales;
42
+ }
43
+ if (config.defaultLocale && !currentConfig.locales.includes(config.defaultLocale)) {
44
+ console.warn(
45
+ `[CMS Config] Default locale '${config.defaultLocale}' not in locales, adding automatically.`,
46
+ `Locales: [${currentConfig.locales.join(", ")}]`
47
+ );
48
+ currentConfig.locales.unshift(config.defaultLocale);
49
+ currentConfig.supportedLocales.unshift(config.defaultLocale);
50
+ }
51
+ }
52
+ function resetCmsConfig() {
53
+ currentConfig = loadConfigFromEnv();
54
+ }
55
+
56
+ // src/lib/constants/index.ts
57
+ var DEFAULT_LABELS_DIR = "src/lib/labels";
58
+
59
+ // src/lib/constants/locale.constants.ts
60
+ var LOCALE_COOKIE_KEY = "spfn-locale";
61
+ var LOCALE_INFO_MAP = {
62
+ // 한국어
63
+ ko: {
64
+ locale: "ko",
65
+ countryCode: "KR",
66
+ flag: "🇰🇷",
67
+ dialCode: "+82",
68
+ nativeName: "\uD55C\uAD6D\uC5B4",
69
+ englishName: "Korean",
70
+ currencyCode: "KRW",
71
+ dateFormat: "YYYY.MM.DD"
72
+ },
73
+ // 영어 (미국)
74
+ en: {
75
+ locale: "en",
76
+ countryCode: "US",
77
+ flag: "🇺🇸",
78
+ dialCode: "+1",
79
+ nativeName: "English",
80
+ englishName: "English",
81
+ currencyCode: "USD",
82
+ dateFormat: "MM/DD/YYYY"
83
+ },
84
+ // 일본어
85
+ ja: {
86
+ locale: "ja",
87
+ countryCode: "JP",
88
+ flag: "🇯🇵",
89
+ dialCode: "+81",
90
+ nativeName: "\u65E5\u672C\u8A9E",
91
+ englishName: "Japanese",
92
+ currencyCode: "JPY",
93
+ dateFormat: "YYYY/MM/DD"
94
+ },
95
+ // 중국어 (간체)
96
+ zh: {
97
+ locale: "zh",
98
+ countryCode: "CN",
99
+ flag: "🇨🇳",
100
+ dialCode: "+86",
101
+ nativeName: "\u7B80\u4F53\u4E2D\u6587",
102
+ englishName: "Chinese (Simplified)",
103
+ currencyCode: "CNY",
104
+ dateFormat: "YYYY-MM-DD"
105
+ },
106
+ // 중국어 (번체, 대만)
107
+ "zh-TW": {
108
+ locale: "zh-TW",
109
+ countryCode: "TW",
110
+ flag: "🇹🇼",
111
+ dialCode: "+886",
112
+ nativeName: "\u7E41\u9AD4\u4E2D\u6587",
113
+ englishName: "Chinese (Traditional)",
114
+ currencyCode: "TWD",
115
+ dateFormat: "YYYY/MM/DD"
116
+ },
117
+ // 스페인어
118
+ es: {
119
+ locale: "es",
120
+ countryCode: "ES",
121
+ flag: "🇪🇸",
122
+ dialCode: "+34",
123
+ nativeName: "Espa\xF1ol",
124
+ englishName: "Spanish",
125
+ currencyCode: "EUR",
126
+ dateFormat: "DD/MM/YYYY"
127
+ },
128
+ // 프랑스어
129
+ fr: {
130
+ locale: "fr",
131
+ countryCode: "FR",
132
+ flag: "🇫🇷",
133
+ dialCode: "+33",
134
+ nativeName: "Fran\xE7ais",
135
+ englishName: "French",
136
+ currencyCode: "EUR",
137
+ dateFormat: "DD/MM/YYYY"
138
+ },
139
+ // 독일어
140
+ de: {
141
+ locale: "de",
142
+ countryCode: "DE",
143
+ flag: "🇩🇪",
144
+ dialCode: "+49",
145
+ nativeName: "Deutsch",
146
+ englishName: "German",
147
+ currencyCode: "EUR",
148
+ dateFormat: "DD.MM.YYYY"
149
+ },
150
+ // 이탈리아어
151
+ it: {
152
+ locale: "it",
153
+ countryCode: "IT",
154
+ flag: "🇮🇹",
155
+ dialCode: "+39",
156
+ nativeName: "Italiano",
157
+ englishName: "Italian",
158
+ currencyCode: "EUR",
159
+ dateFormat: "DD/MM/YYYY"
160
+ },
161
+ // 포르투갈어 (브라질)
162
+ pt: {
163
+ locale: "pt",
164
+ countryCode: "BR",
165
+ flag: "🇧🇷",
166
+ dialCode: "+55",
167
+ nativeName: "Portugu\xEAs",
168
+ englishName: "Portuguese",
169
+ currencyCode: "BRL",
170
+ dateFormat: "DD/MM/YYYY"
171
+ },
172
+ // 러시아어
173
+ ru: {
174
+ locale: "ru",
175
+ countryCode: "RU",
176
+ flag: "🇷🇺",
177
+ dialCode: "+7",
178
+ nativeName: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439",
179
+ englishName: "Russian",
180
+ currencyCode: "RUB",
181
+ dateFormat: "DD.MM.YYYY"
182
+ },
183
+ // 아랍어
184
+ ar: {
185
+ locale: "ar",
186
+ countryCode: "SA",
187
+ flag: "🇸🇦",
188
+ dialCode: "+966",
189
+ nativeName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629",
190
+ englishName: "Arabic",
191
+ rtl: true,
192
+ currencyCode: "SAR",
193
+ dateFormat: "DD/MM/YYYY"
194
+ },
195
+ // 힌디어
196
+ hi: {
197
+ locale: "hi",
198
+ countryCode: "IN",
199
+ flag: "🇮🇳",
200
+ dialCode: "+91",
201
+ nativeName: "\u0939\u093F\u0928\u094D\u0926\u0940",
202
+ englishName: "Hindi",
203
+ currencyCode: "INR",
204
+ dateFormat: "DD/MM/YYYY"
205
+ },
206
+ // 태국어
207
+ th: {
208
+ locale: "th",
209
+ countryCode: "TH",
210
+ flag: "🇹🇭",
211
+ dialCode: "+66",
212
+ nativeName: "\u0E44\u0E17\u0E22",
213
+ englishName: "Thai",
214
+ currencyCode: "THB",
215
+ dateFormat: "DD/MM/YYYY"
216
+ },
217
+ // 베트남어
218
+ vi: {
219
+ locale: "vi",
220
+ countryCode: "VN",
221
+ flag: "🇻🇳",
222
+ dialCode: "+84",
223
+ nativeName: "Ti\u1EBFng Vi\u1EC7t",
224
+ englishName: "Vietnamese",
225
+ currencyCode: "VND",
226
+ dateFormat: "DD/MM/YYYY"
227
+ },
228
+ // 인도네시아어
229
+ id: {
230
+ locale: "id",
231
+ countryCode: "ID",
232
+ flag: "🇮🇩",
233
+ dialCode: "+62",
234
+ nativeName: "Bahasa Indonesia",
235
+ englishName: "Indonesian",
236
+ currencyCode: "IDR",
237
+ dateFormat: "DD/MM/YYYY"
238
+ },
239
+ // 터키어
240
+ tr: {
241
+ locale: "tr",
242
+ countryCode: "TR",
243
+ flag: "🇹🇷",
244
+ dialCode: "+90",
245
+ nativeName: "T\xFCrk\xE7e",
246
+ englishName: "Turkish",
247
+ currencyCode: "TRY",
248
+ dateFormat: "DD.MM.YYYY"
249
+ },
250
+ // 폴란드어
251
+ pl: {
252
+ locale: "pl",
253
+ countryCode: "PL",
254
+ flag: "🇵🇱",
255
+ dialCode: "+48",
256
+ nativeName: "Polski",
257
+ englishName: "Polish",
258
+ currencyCode: "PLN",
259
+ dateFormat: "DD.MM.YYYY"
260
+ },
261
+ // 네덜란드어
262
+ nl: {
263
+ locale: "nl",
264
+ countryCode: "NL",
265
+ flag: "🇳🇱",
266
+ dialCode: "+31",
267
+ nativeName: "Nederlands",
268
+ englishName: "Dutch",
269
+ currencyCode: "EUR",
270
+ dateFormat: "DD-MM-YYYY"
271
+ },
272
+ // 중국어 (홍콩)
273
+ "zh-HK": {
274
+ locale: "zh-HK",
275
+ countryCode: "HK",
276
+ flag: "🇭🇰",
277
+ dialCode: "+852",
278
+ nativeName: "\u7E41\u9AD4\u4E2D\u6587 (\u9999\u6E2F)",
279
+ englishName: "Chinese (Hong Kong)",
280
+ currencyCode: "HKD",
281
+ dateFormat: "YYYY/MM/DD"
282
+ },
283
+ // 말레이어
284
+ ms: {
285
+ locale: "ms",
286
+ countryCode: "MY",
287
+ flag: "🇲🇾",
288
+ dialCode: "+60",
289
+ nativeName: "Bahasa Melayu",
290
+ englishName: "Malay",
291
+ currencyCode: "MYR",
292
+ dateFormat: "DD/MM/YYYY"
293
+ },
294
+ // 영어 (영국)
295
+ "en-GB": {
296
+ locale: "en-GB",
297
+ countryCode: "GB",
298
+ flag: "🇬🇧",
299
+ dialCode: "+44",
300
+ nativeName: "English (UK)",
301
+ englishName: "English (United Kingdom)",
302
+ currencyCode: "GBP",
303
+ dateFormat: "DD/MM/YYYY"
304
+ },
305
+ // 영어 (캐나다)
306
+ "en-CA": {
307
+ locale: "en-CA",
308
+ countryCode: "CA",
309
+ flag: "🇨🇦",
310
+ dialCode: "+1",
311
+ nativeName: "English (Canada)",
312
+ englishName: "English (Canada)",
313
+ currencyCode: "CAD",
314
+ dateFormat: "YYYY-MM-DD"
315
+ },
316
+ // 영어 (호주)
317
+ "en-AU": {
318
+ locale: "en-AU",
319
+ countryCode: "AU",
320
+ flag: "🇦🇺",
321
+ dialCode: "+61",
322
+ nativeName: "English (Australia)",
323
+ englishName: "English (Australia)",
324
+ currencyCode: "AUD",
325
+ dateFormat: "DD/MM/YYYY"
326
+ },
327
+ // 영어 (뉴질랜드)
328
+ "en-NZ": {
329
+ locale: "en-NZ",
330
+ countryCode: "NZ",
331
+ flag: "🇳🇿",
332
+ dialCode: "+64",
333
+ nativeName: "English (New Zealand)",
334
+ englishName: "English (New Zealand)",
335
+ currencyCode: "NZD",
336
+ dateFormat: "DD/MM/YYYY"
337
+ },
338
+ // 스페인어 (멕시코)
339
+ "es-MX": {
340
+ locale: "es-MX",
341
+ countryCode: "MX",
342
+ flag: "🇲🇽",
343
+ dialCode: "+52",
344
+ nativeName: "Espa\xF1ol (M\xE9xico)",
345
+ englishName: "Spanish (Mexico)",
346
+ currencyCode: "MXN",
347
+ dateFormat: "DD/MM/YYYY"
348
+ },
349
+ // 스페인어 (아르헨티나)
350
+ "es-AR": {
351
+ locale: "es-AR",
352
+ countryCode: "AR",
353
+ flag: "🇦🇷",
354
+ dialCode: "+54",
355
+ nativeName: "Espa\xF1ol (Argentina)",
356
+ englishName: "Spanish (Argentina)",
357
+ currencyCode: "ARS",
358
+ dateFormat: "DD/MM/YYYY"
359
+ },
360
+ // 스페인어 (콜롬비아)
361
+ "es-CO": {
362
+ locale: "es-CO",
363
+ countryCode: "CO",
364
+ flag: "🇨🇴",
365
+ dialCode: "+57",
366
+ nativeName: "Espa\xF1ol (Colombia)",
367
+ englishName: "Spanish (Colombia)",
368
+ currencyCode: "COP",
369
+ dateFormat: "DD/MM/YYYY"
370
+ },
371
+ // 스웨덴어
372
+ sv: {
373
+ locale: "sv",
374
+ countryCode: "SE",
375
+ flag: "🇸🇪",
376
+ dialCode: "+46",
377
+ nativeName: "Svenska",
378
+ englishName: "Swedish",
379
+ currencyCode: "SEK",
380
+ dateFormat: "YYYY-MM-DD"
381
+ },
382
+ // 노르웨이어
383
+ no: {
384
+ locale: "no",
385
+ countryCode: "NO",
386
+ flag: "🇳🇴",
387
+ dialCode: "+47",
388
+ nativeName: "Norsk",
389
+ englishName: "Norwegian",
390
+ currencyCode: "NOK",
391
+ dateFormat: "DD.MM.YYYY"
392
+ },
393
+ // 덴마크어
394
+ da: {
395
+ locale: "da",
396
+ countryCode: "DK",
397
+ flag: "🇩🇰",
398
+ dialCode: "+45",
399
+ nativeName: "Dansk",
400
+ englishName: "Danish",
401
+ currencyCode: "DKK",
402
+ dateFormat: "DD-MM-YYYY"
403
+ },
404
+ // 핀란드어
405
+ fi: {
406
+ locale: "fi",
407
+ countryCode: "FI",
408
+ flag: "🇫🇮",
409
+ dialCode: "+358",
410
+ nativeName: "Suomi",
411
+ englishName: "Finnish",
412
+ currencyCode: "EUR",
413
+ dateFormat: "DD.MM.YYYY"
414
+ },
415
+ // 우크라이나어
416
+ uk: {
417
+ locale: "uk",
418
+ countryCode: "UA",
419
+ flag: "🇺🇦",
420
+ dialCode: "+380",
421
+ nativeName: "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",
422
+ englishName: "Ukrainian",
423
+ currencyCode: "UAH",
424
+ dateFormat: "DD.MM.YYYY"
425
+ },
426
+ // 체코어
427
+ cs: {
428
+ locale: "cs",
429
+ countryCode: "CZ",
430
+ flag: "🇨🇿",
431
+ dialCode: "+420",
432
+ nativeName: "\u010Ce\u0161tina",
433
+ englishName: "Czech",
434
+ currencyCode: "CZK",
435
+ dateFormat: "DD.MM.YYYY"
436
+ },
437
+ // 헝가리어
438
+ hu: {
439
+ locale: "hu",
440
+ countryCode: "HU",
441
+ flag: "🇭🇺",
442
+ dialCode: "+36",
443
+ nativeName: "Magyar",
444
+ englishName: "Hungarian",
445
+ currencyCode: "HUF",
446
+ dateFormat: "YYYY.MM.DD."
447
+ },
448
+ // 루마니아어
449
+ ro: {
450
+ locale: "ro",
451
+ countryCode: "RO",
452
+ flag: "🇷🇴",
453
+ dialCode: "+40",
454
+ nativeName: "Rom\xE2n\u0103",
455
+ englishName: "Romanian",
456
+ currencyCode: "RON",
457
+ dateFormat: "DD.MM.YYYY"
458
+ },
459
+ // 불가리아어
460
+ bg: {
461
+ locale: "bg",
462
+ countryCode: "BG",
463
+ flag: "🇧🇬",
464
+ dialCode: "+359",
465
+ nativeName: "\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438",
466
+ englishName: "Bulgarian",
467
+ currencyCode: "BGN",
468
+ dateFormat: "DD.MM.YYYY"
469
+ },
470
+ // 크로아티아어
471
+ hr: {
472
+ locale: "hr",
473
+ countryCode: "HR",
474
+ flag: "🇭🇷",
475
+ dialCode: "+385",
476
+ nativeName: "Hrvatski",
477
+ englishName: "Croatian",
478
+ currencyCode: "HRK",
479
+ dateFormat: "DD.MM.YYYY."
480
+ },
481
+ // 세르비아어
482
+ sr: {
483
+ locale: "sr",
484
+ countryCode: "RS",
485
+ flag: "🇷🇸",
486
+ dialCode: "+381",
487
+ nativeName: "\u0421\u0440\u043F\u0441\u043A\u0438",
488
+ englishName: "Serbian",
489
+ currencyCode: "RSD",
490
+ dateFormat: "DD.MM.YYYY."
491
+ },
492
+ // 슬로바키아어
493
+ sk: {
494
+ locale: "sk",
495
+ countryCode: "SK",
496
+ flag: "🇸🇰",
497
+ dialCode: "+421",
498
+ nativeName: "Sloven\u010Dina",
499
+ englishName: "Slovak",
500
+ currencyCode: "EUR",
501
+ dateFormat: "DD.MM.YYYY"
502
+ },
503
+ // 슬로베니아어
504
+ sl: {
505
+ locale: "sl",
506
+ countryCode: "SI",
507
+ flag: "🇸🇮",
508
+ dialCode: "+386",
509
+ nativeName: "Sloven\u0161\u010Dina",
510
+ englishName: "Slovenian",
511
+ currencyCode: "EUR",
512
+ dateFormat: "DD.MM.YYYY"
513
+ },
514
+ // 리투아니아어
515
+ lt: {
516
+ locale: "lt",
517
+ countryCode: "LT",
518
+ flag: "🇱🇹",
519
+ dialCode: "+370",
520
+ nativeName: "Lietuvi\u0173",
521
+ englishName: "Lithuanian",
522
+ currencyCode: "EUR",
523
+ dateFormat: "YYYY-MM-DD"
524
+ },
525
+ // 라트비아어
526
+ lv: {
527
+ locale: "lv",
528
+ countryCode: "LV",
529
+ flag: "🇱🇻",
530
+ dialCode: "+371",
531
+ nativeName: "Latvie\u0161u",
532
+ englishName: "Latvian",
533
+ currencyCode: "EUR",
534
+ dateFormat: "DD.MM.YYYY."
535
+ },
536
+ // 에스토니아어
537
+ et: {
538
+ locale: "et",
539
+ countryCode: "EE",
540
+ flag: "🇪🇪",
541
+ dialCode: "+372",
542
+ nativeName: "Eesti",
543
+ englishName: "Estonian",
544
+ currencyCode: "EUR",
545
+ dateFormat: "DD.MM.YYYY"
546
+ },
547
+ // 그리스어
548
+ el: {
549
+ locale: "el",
550
+ countryCode: "GR",
551
+ flag: "🇬🇷",
552
+ dialCode: "+30",
553
+ nativeName: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",
554
+ englishName: "Greek",
555
+ currencyCode: "EUR",
556
+ dateFormat: "DD/MM/YYYY"
557
+ },
558
+ // 페르시아어
559
+ fa: {
560
+ locale: "fa",
561
+ countryCode: "IR",
562
+ flag: "🇮🇷",
563
+ dialCode: "+98",
564
+ nativeName: "\u0641\u0627\u0631\u0633\u06CC",
565
+ englishName: "Persian",
566
+ rtl: true,
567
+ currencyCode: "IRR",
568
+ dateFormat: "YYYY/MM/DD"
569
+ },
570
+ // 히브리어
571
+ he: {
572
+ locale: "he",
573
+ countryCode: "IL",
574
+ flag: "🇮🇱",
575
+ dialCode: "+972",
576
+ nativeName: "\u05E2\u05D1\u05E8\u05D9\u05EA",
577
+ englishName: "Hebrew",
578
+ rtl: true,
579
+ currencyCode: "ILS",
580
+ dateFormat: "DD/MM/YYYY"
581
+ },
582
+ // 스와힐리어
583
+ sw: {
584
+ locale: "sw",
585
+ countryCode: "KE",
586
+ flag: "🇰🇪",
587
+ dialCode: "+254",
588
+ nativeName: "Kiswahili",
589
+ englishName: "Swahili",
590
+ currencyCode: "KES",
591
+ dateFormat: "DD/MM/YYYY"
592
+ }
593
+ };
594
+ function getLocaleInfo(locale) {
595
+ return LOCALE_INFO_MAP[locale];
596
+ }
597
+ function getAllLocales() {
598
+ return Object.keys(LOCALE_INFO_MAP);
599
+ }
600
+ function getSupportedLocales() {
601
+ return getAllLocales();
602
+ }
603
+ function getFlag(locale) {
604
+ return LOCALE_INFO_MAP[locale]?.flag ?? "";
605
+ }
606
+ function getDialCode(locale) {
607
+ return LOCALE_INFO_MAP[locale]?.dialCode ?? "";
608
+ }
609
+ function isRTL(locale) {
610
+ return LOCALE_INFO_MAP[locale]?.rtl ?? false;
611
+ }
612
+ export {
613
+ DEFAULT_LABELS_DIR,
614
+ LOCALE_COOKIE_KEY,
615
+ LOCALE_INFO_MAP,
616
+ configureCms,
617
+ getAllLocales,
618
+ getCmsConfig,
619
+ getDialCode,
620
+ getFlag,
621
+ getLocaleInfo,
622
+ getSupportedLocales,
623
+ isRTL,
624
+ resetCmsConfig
625
+ };
24
626
  //# sourceMappingURL=index.js.map