@spfn/cms 0.1.0-alpha.7 → 0.1.0-alpha.70

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