@intlayer/docs 8.3.0-canary.4 → 8.3.1

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 (240) hide show
  1. package/docs/ar/compiler.md +84 -49
  2. package/docs/ar/configuration.md +80 -37
  3. package/docs/ar/intlayer_with_nextjs_16.md +174 -1
  4. package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
  5. package/docs/ar/intlayer_with_react_router_v7.md +224 -1
  6. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
  7. package/docs/ar/intlayer_with_svelte_kit.md +175 -2
  8. package/docs/ar/intlayer_with_tanstack.md +176 -1
  9. package/docs/ar/intlayer_with_vite+preact.md +174 -1
  10. package/docs/ar/intlayer_with_vite+react.md +174 -1
  11. package/docs/ar/intlayer_with_vite+solid.md +174 -1
  12. package/docs/ar/intlayer_with_vite+svelte.md +174 -1
  13. package/docs/ar/intlayer_with_vite+vue.md +174 -1
  14. package/docs/de/compiler.md +83 -48
  15. package/docs/de/configuration.md +434 -212
  16. package/docs/de/intlayer_with_nextjs_16.md +176 -1
  17. package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
  18. package/docs/de/intlayer_with_react_router_v7.md +225 -2
  19. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
  20. package/docs/de/intlayer_with_svelte_kit.md +158 -2
  21. package/docs/de/intlayer_with_tanstack.md +159 -1
  22. package/docs/de/intlayer_with_vite+preact.md +157 -1
  23. package/docs/de/intlayer_with_vite+react.md +157 -1
  24. package/docs/de/intlayer_with_vite+solid.md +159 -3
  25. package/docs/de/intlayer_with_vite+svelte.md +157 -1
  26. package/docs/de/intlayer_with_vite+vue.md +157 -1
  27. package/docs/en/compiler.md +60 -33
  28. package/docs/en/configuration.md +80 -57
  29. package/docs/en/intlayer_with_nextjs_16.md +176 -0
  30. package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
  31. package/docs/en/intlayer_with_react_router_v7.md +159 -0
  32. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
  33. package/docs/en/intlayer_with_svelte_kit.md +159 -0
  34. package/docs/en/intlayer_with_tanstack.md +160 -1
  35. package/docs/en/intlayer_with_vite+preact.md +159 -0
  36. package/docs/en/intlayer_with_vite+react.md +159 -0
  37. package/docs/en/intlayer_with_vite+solid.md +148 -27
  38. package/docs/en/intlayer_with_vite+svelte.md +159 -0
  39. package/docs/en/intlayer_with_vite+vue.md +142 -41
  40. package/docs/en-GB/compiler.md +66 -34
  41. package/docs/en-GB/configuration.md +78 -36
  42. package/docs/es/compiler.md +83 -48
  43. package/docs/es/configuration.md +429 -206
  44. package/docs/es/intlayer_with_adonisjs.md +1 -1
  45. package/docs/es/intlayer_with_express.md +1 -1
  46. package/docs/es/intlayer_with_fastify.md +1 -1
  47. package/docs/es/intlayer_with_hono.md +1 -1
  48. package/docs/es/intlayer_with_nestjs.md +1 -1
  49. package/docs/es/intlayer_with_nextjs_16.md +176 -3
  50. package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
  51. package/docs/es/intlayer_with_nuxt.md +1 -1
  52. package/docs/es/intlayer_with_react_router_v7.md +227 -4
  53. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
  54. package/docs/es/intlayer_with_svelte_kit.md +158 -2
  55. package/docs/es/intlayer_with_tanstack.md +160 -2
  56. package/docs/es/intlayer_with_vite+preact.md +162 -6
  57. package/docs/es/intlayer_with_vite+react.md +160 -4
  58. package/docs/es/intlayer_with_vite+solid.md +163 -7
  59. package/docs/es/intlayer_with_vite+svelte.md +157 -1
  60. package/docs/es/intlayer_with_vite+vue.md +165 -9
  61. package/docs/fr/compiler.md +81 -46
  62. package/docs/fr/configuration.md +355 -134
  63. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  64. package/docs/fr/intlayer_with_express.md +1 -1
  65. package/docs/fr/intlayer_with_fastify.md +1 -1
  66. package/docs/fr/intlayer_with_hono.md +1 -1
  67. package/docs/fr/intlayer_with_nestjs.md +1 -1
  68. package/docs/fr/intlayer_with_nextjs_16.md +183 -7
  69. package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
  70. package/docs/fr/intlayer_with_react_router_v7.md +229 -3
  71. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
  72. package/docs/fr/intlayer_with_svelte_kit.md +158 -2
  73. package/docs/fr/intlayer_with_tanstack.md +159 -1
  74. package/docs/fr/intlayer_with_vite+preact.md +164 -8
  75. package/docs/fr/intlayer_with_vite+react.md +162 -6
  76. package/docs/fr/intlayer_with_vite+solid.md +163 -7
  77. package/docs/fr/intlayer_with_vite+svelte.md +157 -1
  78. package/docs/fr/intlayer_with_vite+vue.md +164 -8
  79. package/docs/hi/compiler.md +81 -46
  80. package/docs/hi/configuration.md +87 -44
  81. package/docs/hi/intlayer_with_nextjs_16.md +174 -1
  82. package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
  83. package/docs/hi/intlayer_with_react_router_v7.md +224 -1
  84. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  85. package/docs/hi/intlayer_with_svelte_kit.md +158 -2
  86. package/docs/hi/intlayer_with_tanstack.md +159 -1
  87. package/docs/hi/intlayer_with_vite+preact.md +157 -1
  88. package/docs/hi/intlayer_with_vite+react.md +157 -1
  89. package/docs/hi/intlayer_with_vite+solid.md +157 -1
  90. package/docs/hi/intlayer_with_vite+svelte.md +157 -1
  91. package/docs/hi/intlayer_with_vite+vue.md +157 -1
  92. package/docs/id/compiler.md +84 -51
  93. package/docs/id/configuration.md +83 -45
  94. package/docs/id/intlayer_with_nextjs_16.md +174 -1
  95. package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
  96. package/docs/id/intlayer_with_react_router_v7.md +224 -1
  97. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
  98. package/docs/id/intlayer_with_svelte_kit.md +158 -2
  99. package/docs/id/intlayer_with_tanstack.md +159 -1
  100. package/docs/id/intlayer_with_vite+preact.md +157 -1
  101. package/docs/id/intlayer_with_vite+react.md +157 -1
  102. package/docs/id/intlayer_with_vite+solid.md +157 -1
  103. package/docs/id/intlayer_with_vite+svelte.md +157 -1
  104. package/docs/id/intlayer_with_vite+vue.md +157 -1
  105. package/docs/it/compiler.md +81 -46
  106. package/docs/it/configuration.md +426 -204
  107. package/docs/it/intlayer_with_nextjs_16.md +174 -1
  108. package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
  109. package/docs/it/intlayer_with_react_router_v7.md +225 -2
  110. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
  111. package/docs/it/intlayer_with_svelte_kit.md +158 -2
  112. package/docs/it/intlayer_with_tanstack.md +159 -1
  113. package/docs/it/intlayer_with_vite+preact.md +157 -1
  114. package/docs/it/intlayer_with_vite+react.md +157 -1
  115. package/docs/it/intlayer_with_vite+solid.md +159 -3
  116. package/docs/it/intlayer_with_vite+svelte.md +157 -1
  117. package/docs/it/intlayer_with_vite+vue.md +157 -1
  118. package/docs/ja/compiler.md +94 -58
  119. package/docs/ja/configuration.md +88 -45
  120. package/docs/ja/intlayer_with_nextjs_16.md +174 -1
  121. package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
  122. package/docs/ja/intlayer_with_react_router_v7.md +184 -394
  123. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
  124. package/docs/ja/intlayer_with_svelte_kit.md +119 -595
  125. package/docs/ja/intlayer_with_tanstack.md +131 -642
  126. package/docs/ja/intlayer_with_vite+preact.md +111 -1231
  127. package/docs/ja/intlayer_with_vite+react.md +129 -1304
  128. package/docs/ja/intlayer_with_vite+solid.md +159 -3
  129. package/docs/ja/intlayer_with_vite+svelte.md +157 -1
  130. package/docs/ja/intlayer_with_vite+vue.md +157 -1
  131. package/docs/ko/compiler.md +88 -52
  132. package/docs/ko/configuration.md +87 -44
  133. package/docs/ko/intlayer_with_nextjs_16.md +174 -1
  134. package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
  135. package/docs/ko/intlayer_with_react_router_v7.md +225 -2
  136. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
  137. package/docs/ko/intlayer_with_svelte_kit.md +158 -2
  138. package/docs/ko/intlayer_with_tanstack.md +159 -1
  139. package/docs/ko/intlayer_with_vite+preact.md +157 -1
  140. package/docs/ko/intlayer_with_vite+react.md +157 -1
  141. package/docs/ko/intlayer_with_vite+solid.md +159 -3
  142. package/docs/ko/intlayer_with_vite+svelte.md +157 -1
  143. package/docs/ko/intlayer_with_vite+vue.md +157 -1
  144. package/docs/pl/compiler.md +84 -51
  145. package/docs/pl/configuration.md +83 -37
  146. package/docs/pl/intlayer_with_nextjs_16.md +174 -1
  147. package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
  148. package/docs/pl/intlayer_with_react_router_v7.md +224 -1
  149. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
  150. package/docs/pl/intlayer_with_svelte_kit.md +158 -2
  151. package/docs/pl/intlayer_with_tanstack.md +159 -1
  152. package/docs/pl/intlayer_with_vite+preact.md +157 -1
  153. package/docs/pl/intlayer_with_vite+react.md +157 -1
  154. package/docs/pl/intlayer_with_vite+solid.md +157 -1
  155. package/docs/pl/intlayer_with_vite+svelte.md +157 -1
  156. package/docs/pl/intlayer_with_vite+vue.md +157 -1
  157. package/docs/pt/compiler.md +81 -46
  158. package/docs/pt/configuration.md +404 -194
  159. package/docs/pt/intlayer_with_nextjs_16.md +174 -1
  160. package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
  161. package/docs/pt/intlayer_with_react_router_v7.md +224 -1
  162. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
  163. package/docs/pt/intlayer_with_svelte_kit.md +158 -2
  164. package/docs/pt/intlayer_with_tanstack.md +159 -1
  165. package/docs/pt/intlayer_with_vite+preact.md +157 -1
  166. package/docs/pt/intlayer_with_vite+react.md +157 -1
  167. package/docs/pt/intlayer_with_vite+solid.md +157 -1
  168. package/docs/pt/intlayer_with_vite+svelte.md +157 -1
  169. package/docs/pt/intlayer_with_vite+vue.md +157 -1
  170. package/docs/ru/compiler.md +90 -57
  171. package/docs/ru/configuration.md +76 -46
  172. package/docs/ru/intlayer_with_nextjs_16.md +174 -1
  173. package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
  174. package/docs/ru/intlayer_with_react_router_v7.md +224 -1
  175. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
  176. package/docs/ru/intlayer_with_svelte_kit.md +158 -2
  177. package/docs/ru/intlayer_with_tanstack.md +159 -1
  178. package/docs/ru/intlayer_with_vite+preact.md +157 -1
  179. package/docs/ru/intlayer_with_vite+react.md +157 -1
  180. package/docs/ru/intlayer_with_vite+solid.md +157 -1
  181. package/docs/ru/intlayer_with_vite+svelte.md +157 -1
  182. package/docs/ru/intlayer_with_vite+vue.md +157 -1
  183. package/docs/tr/compiler.md +85 -52
  184. package/docs/tr/configuration.md +83 -40
  185. package/docs/tr/intlayer_with_nextjs_16.md +174 -1
  186. package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
  187. package/docs/tr/intlayer_with_react_router_v7.md +224 -1
  188. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
  189. package/docs/tr/intlayer_with_svelte_kit.md +158 -2
  190. package/docs/tr/intlayer_with_tanstack.md +159 -1
  191. package/docs/tr/intlayer_with_vite+preact.md +157 -1
  192. package/docs/tr/intlayer_with_vite+react.md +157 -1
  193. package/docs/tr/intlayer_with_vite+solid.md +157 -1
  194. package/docs/tr/intlayer_with_vite+svelte.md +157 -1
  195. package/docs/tr/intlayer_with_vite+vue.md +157 -1
  196. package/docs/uk/compiler.md +96 -61
  197. package/docs/uk/configuration.md +83 -37
  198. package/docs/uk/intlayer_with_nextjs_16.md +174 -1
  199. package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
  200. package/docs/uk/intlayer_with_react_router_v7.md +224 -1
  201. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
  202. package/docs/uk/intlayer_with_svelte_kit.md +157 -1
  203. package/docs/uk/intlayer_with_tanstack.md +159 -1
  204. package/docs/uk/intlayer_with_vite+preact.md +157 -1
  205. package/docs/uk/intlayer_with_vite+react.md +157 -1
  206. package/docs/uk/intlayer_with_vite+solid.md +157 -1
  207. package/docs/uk/intlayer_with_vite+svelte.md +157 -1
  208. package/docs/uk/intlayer_with_vite+vue.md +157 -1
  209. package/docs/vi/compiler.md +85 -50
  210. package/docs/vi/configuration.md +85 -39
  211. package/docs/vi/intlayer_with_nextjs_16.md +174 -1
  212. package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
  213. package/docs/vi/intlayer_with_react_router_v7.md +224 -1
  214. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
  215. package/docs/vi/intlayer_with_svelte_kit.md +158 -2
  216. package/docs/vi/intlayer_with_tanstack.md +159 -1
  217. package/docs/vi/intlayer_with_vite+preact.md +157 -1
  218. package/docs/vi/intlayer_with_vite+react.md +157 -1
  219. package/docs/vi/intlayer_with_vite+solid.md +157 -1
  220. package/docs/vi/intlayer_with_vite+svelte.md +157 -1
  221. package/docs/vi/intlayer_with_vite+vue.md +157 -1
  222. package/docs/zh/compiler.md +84 -49
  223. package/docs/zh/configuration.md +80 -37
  224. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  225. package/docs/zh/intlayer_with_express.md +1 -1
  226. package/docs/zh/intlayer_with_fastify.md +1 -1
  227. package/docs/zh/intlayer_with_hono.md +1 -1
  228. package/docs/zh/intlayer_with_nestjs.md +1 -1
  229. package/docs/zh/intlayer_with_nextjs_16.md +174 -1
  230. package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
  231. package/docs/zh/intlayer_with_react_router_v7.md +227 -4
  232. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
  233. package/docs/zh/intlayer_with_svelte_kit.md +158 -2
  234. package/docs/zh/intlayer_with_tanstack.md +159 -1
  235. package/docs/zh/intlayer_with_vite+preact.md +159 -3
  236. package/docs/zh/intlayer_with_vite+react.md +157 -1
  237. package/docs/zh/intlayer_with_vite+solid.md +161 -5
  238. package/docs/zh/intlayer_with_vite+svelte.md +157 -1
  239. package/docs/zh/intlayer_with_vite+vue.md +158 -2
  240. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-12-30
3
+ updatedAt: 2026-03-12
4
4
  title: Vite + Vue i18n - Как перевести приложение Vue в 2026
5
5
  description: Узнайте, как сделать ваш сайт на Vite и Vue многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
6
6
  keywords:
@@ -1087,6 +1087,162 @@ Intlayer использует расширение модулей (module augmen
1087
1087
 
1088
1088
  ---
1089
1089
 
1090
+ ### (Опционально) Шаг 1 : Извлечение содержимого ваших компонентов
1091
+
1092
+ Если у вас есть существующая кодовая база, преобразование тысяч файлов может занять много времени.
1093
+
1094
+ Чтобы упростить этот процесс, Intlayer предлагает [компилятор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/compiler.md) / [экстрактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/extract.md) для преобразования ваших компонентов и извлечения содержимого.
1095
+
1096
+ Чтобы настроить его, вы можете добавить раздел `compiler` в ваш файл `intlayer.config.ts`:
1097
+
1098
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
1099
+ import { type IntlayerConfig } from "intlayer";
1100
+
1101
+ const config: IntlayerConfig = {
1102
+ // ... Остальная часть вашей конфигурации
1103
+ compiler: {
1104
+ /**
1105
+ * Указывает, должен ли быть включен компилятор.
1106
+ */
1107
+ enabled: true,
1108
+
1109
+ /**
1110
+ * Определяет путь к выходным файлам
1111
+ */
1112
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1113
+
1114
+ /**
1115
+ * Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
1116
+ */
1117
+ saveComponents: false,
1118
+
1119
+ /**
1120
+ * Префикс ключа словаря
1121
+ */
1122
+ dictionaryKeyPrefix: "",
1123
+ },
1124
+ };
1125
+
1126
+ export default config;
1127
+ ```
1128
+
1129
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
1130
+ /** @type {import('intlayer').IntlayerConfig} */
1131
+ const config = {
1132
+ // ... Остальная часть вашей конфигурации
1133
+ compiler: {
1134
+ /**
1135
+ * Указывает, должен ли быть включен компилятор.
1136
+ */
1137
+ enabled: true,
1138
+
1139
+ /**
1140
+ * Определяет путь к выходным файлам
1141
+ */
1142
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1143
+
1144
+ /**
1145
+ * Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
1146
+ */
1147
+ saveComponents: false,
1148
+
1149
+ /**
1150
+ * Префикс ключа словаря
1151
+ */
1152
+ dictionaryKeyPrefix: "",
1153
+ },
1154
+ };
1155
+
1156
+ export default config;
1157
+ ```
1158
+
1159
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
1160
+ /** @type {import('intlayer').IntlayerConfig} */
1161
+ const config = {
1162
+ // ... Остальная часть вашей конфигурации
1163
+ compiler: {
1164
+ /**
1165
+ * Указывает, должен ли быть включен компилятор.
1166
+ */
1167
+ enabled: true,
1168
+
1169
+ /**
1170
+ * Определяет путь к выходным файлам
1171
+ */
1172
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
1173
+
1174
+ /**
1175
+ * Указывает, должны ли компоненты сохраняться после преобразования. Таким образом, компилятор можно запустить только один раз для преобразования приложения, а затем удалить.
1176
+ */
1177
+ saveComponents: false,
1178
+
1179
+ /**
1180
+ * Префикс ключа словаря
1181
+ */
1182
+ dictionaryKeyPrefix: "",
1183
+ },
1184
+ };
1185
+
1186
+ module.exports = config;
1187
+ ```
1188
+
1189
+ <Tabs>
1190
+ <Tab value='Команда извлечения'>
1191
+
1192
+ Запустите экстрактор для преобразования компонентов и извлечения содержимого
1193
+
1194
+ ```bash packageManager="npm"
1195
+ npx intlayer extract
1196
+ ```
1197
+
1198
+ ```bash packageManager="pnpm"
1199
+ pnpm intlayer extract
1200
+ ```
1201
+
1202
+ ```bash packageManager="yarn"
1203
+ yarn intlayer extract
1204
+ ```
1205
+
1206
+ ```bash packageManager="bun"
1207
+ bunx intlayer extract
1208
+ ```
1209
+
1210
+ </Tab>
1211
+ <Tab value='Компилятор Babel'>
1212
+
1213
+ Обновите ваш `vite.config.ts`, чтобы включить плагин `intlayerCompiler`:
1214
+
1215
+ ```ts fileName="vite.config.ts"
1216
+ import { defineConfig } from "vite";
1217
+ import { intlayer, intlayerCompiler } from "vite-intlayer";
1218
+
1219
+ export default defineConfig({
1220
+ plugins: [
1221
+ intlayer(),
1222
+ intlayerCompiler(), // Добавляет плагин компилятора
1223
+ ],
1224
+ });
1225
+ ```
1226
+
1227
+ ```bash packageManager="npm"
1228
+ npm run build # Или npm run dev
1229
+ ```
1230
+
1231
+ ```bash packageManager="pnpm"
1232
+ pnpm run build # Or pnpm run dev
1233
+ ```
1234
+
1235
+ ```bash packageManager="yarn"
1236
+ yarn build # Or yarn dev
1237
+ ```
1238
+
1239
+ ```bash packageManager="bun"
1240
+ bun run build # Or bun run dev
1241
+ ```
1242
+
1243
+ </Tab>
1244
+ </Tabs>
1245
+
1090
1246
  ### Продвинутые возможности
1091
1247
 
1092
1248
  Для расширения возможностей вы можете реализовать [визуальный редактор](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_visual_editor.md) или вынести ваш контент во внешний [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/intlayer_CMS.md).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2026-03-10
3
+ updatedAt: 2026-03-12
4
4
  title: Intlayer Compiler | i18n için Otomatik İçerik Çıkarımı
5
5
  description: Uluslararasılaştırma sürecinizi Intlayer Compiler ile otomatikleştirin. İçeriği bileşenlerinizden doğrudan çıkararak Vite, Next.js ve daha fazlasında daha hızlı ve verimli i18n sağlayın.
6
6
  keywords:
@@ -22,7 +22,7 @@ slugs:
22
22
  history:
23
23
  - version: 8.2.0
24
24
  date: 2026-03-09
25
- changes: Update compiler options, add FilePathPattern support
25
+ changes: Derleyici seçeneklerini güncelle, FilePathPattern desteği ekle
26
26
  - version: 8.1.7
27
27
  date: 2026-02-25
28
28
  changes: Derleyici seçeneklerini güncelle
@@ -136,9 +136,9 @@ const {
136
136
  module.exports = {
137
137
  presets: ["next/babel"],
138
138
  plugins: [
139
- // Extract content from components into dictionaries
139
+ // Bileşenlerden içeriği sözlüklere çıkarın
140
140
  [intlayerExtractBabelPlugin, getExtractPluginOptions()],
141
- // Optimize imports by replacing useIntlayer with direct dictionary imports
141
+ // useIntlayer'ı doğrudan sözlük içe aktarmalarıyla değiştirerek içe aktarmaları optimize edin
142
142
  [intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
143
143
  ],
144
144
  };
@@ -149,73 +149,83 @@ Bu yapılandırma, bileşenlerinizde beyan edilen içeriğin otomatik olarak ç
149
149
  See complete tutorial: [Intlayer Compiler with Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_compiler.md)
150
150
 
151
151
  </Tab>
152
+ </Tabs>
152
153
 
153
154
  ### Özel yapılandırma
154
155
 
155
156
  Derleyici davranışını özelleştirmek için projenizin kök dizinindeki `intlayer.config.ts` dosyasını güncelleyebilirsiniz.
156
157
 
157
- ```ts fileName="intlayer.config.ts"
158
+ ````ts fileName="intlayer.config.ts"
158
159
  import { type IntlayerConfig, Locales } from "intlayer";
159
160
 
160
161
  const config: IntlayerConfig = {
161
162
  compiler: {
162
163
  /**
164
+ * Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
163
165
  * Geliştirme sırasında derleyiciyi atlamak ve başlangıç sürelerini hızlandırmak için 'build-only' olarak ayarlayın.
164
166
  */
165
167
  enabled: true,
166
168
 
167
169
  /**
168
- * Pattern to traverse the code to optimize.
170
+ * Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer.
171
+ *
172
+ * - `./` ile başlayan yollar bileşen dizinine göre çözümlenir.
173
+ * - `/` ile başlayan yollar projenin kök dizinine (`baseDir`) göre çözümlenir.
174
+ *
175
+ * - Yola `{{locale}}` değişkenini dahil etmek, dile göre ayrılmış sözlüklerin oluşturulmasını etkinleştirir.
176
+ *
177
+ * Örnekler:
178
+ * ```ts
179
+ * {
180
+ * // Bileşenin yanına çok dilli .content.ts dosyaları oluşturun
181
+ * output: ({ fileName, extension }) => `./${fileName}${extension}`,
182
+ *
183
+ * // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer kullanım
184
+ * }
185
+ * ```
186
+ *
187
+ * ```ts
188
+ * {
189
+ * // Proje kökünde dile göre merkezileştirilmiş JSON dosyaları oluşturun
190
+ * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
191
+ *
192
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer kullanım
193
+ * }
194
+ * ```
195
+ *
196
+ * Değişken listesi:
197
+ * - `fileName`: Dosya adı.
198
+ * - `key`: İçerik anahtarı.
199
+ * - `locale`: İçerik dili.
200
+ * - `extension`: Dosya uzantısı.
201
+ * - `componentFileName`: Bileşen dosya adı.
202
+ * - `componentExtension`: Bileşen dosya uzantısı.
203
+ * - `format`: Sözlük formatı.
204
+ * - `componentFormat`: Bileşen sözlük formatı.
205
+ * - `componentDirPath`: Bileşen dizin yolu.
169
206
  */
170
- transformPattern: [
171
- "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
172
- "!**/node_modules/**",
173
- ],
207
+ output: ({ fileName, extension }) => `./${fileName}${extension}`,
174
208
 
175
209
  /**
176
- * Pattern to exclude from the optimization.
177
- */
178
- excludePattern: ["**/node_modules/**"],
179
-
180
- /**
181
- * Optimize edilmiş sözlükler für çıktı dizini.
210
+ * Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
211
+ * Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
182
212
  */
183
- output: ({ key }) => `compiler/${key}.content.json`,
213
+ saveComponents: false,
184
214
 
185
215
  /**
186
- * Oluşturulan dosyaya yalnızca içeriği yerleştirin, anahtar olmadan.
216
+ * Oluşturulan dosyaya yalnızca içeriği yerleştirin. Dil başına i18next JSON çıktısı veya ICU MessageFormat için kullanışlıdır.
217
+ *
218
+ * - `output: ({ locale, key }) => `./locale/${locale}/${key}.json`,`
187
219
  */
188
220
  noMetadata: false,
189
221
 
190
222
  /**
191
223
  * Sözlük anahtar öneki
192
224
  */
193
- dictionaryKeyPrefix: "", // Remove base prefix
194
-
195
- /**
196
- * Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
197
- * Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
198
- */
199
- saveComponents: false,
225
+ dictionaryKeyPrefix: "", // Ayıklanan sözlük anahtarları için isteğe bağlı bir önek ekleyin
200
226
  },
201
227
  };
202
-
203
- export default config;
204
- ```
205
-
206
- ### Eksik çevirileri doldur
207
-
208
- Intlayer, eksik çevirileri doldurmanıza yardımcı olacak bir CLI aracı sağlar. Kodunuzdaki eksik çevirileri test etmek ve doldurmak için `intlayer` komutunu kullanabilirsiniz.
209
-
210
- ```bash
211
- npx intlayer test # Eksik çeviri olup olmadığını test et
212
- ```
213
-
214
- ```bash
215
- npx intlayer fill # Eksik çevirileri doldur
216
- ```
217
-
218
- > Daha fazla ayrıntı için [CLI belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/ci.md) bakın.
228
+ ````
219
229
 
220
230
  ### Derleyici Yapılandırma Referansı
221
231
 
@@ -225,42 +235,43 @@ Aşağıdaki özellikler `intlayer.config.ts` dosyanızın `compiler` bloğunda
225
235
  - _Tip_: `boolean | 'build-only'`
226
236
  - _Varsayılan_: `true`
227
237
  - _Açıklama_: Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
238
+
228
239
  - **dictionaryKeyPrefix**:
229
240
  - _Tip_: `string`
230
- - _Varsayılan_: `'comp-'`
241
+ - _Varsayılan_: `''`
231
242
  - _Açıklama_: Ayıklanan sözlük anahtarları için önek.
243
+
232
244
  - **transformPattern**:
233
245
  - _Tip_: `string | string[]`
234
246
  - _Varsayılan_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
235
- - _Açıklama_: Optimize edilecek kodu taramak için desenler.
247
+ - _Açıklama_: (Kullanımdan kaldırıldı: bunun yerine `build.traversePattern` kullanın) Optimize edilecek kodu taramak için desenler.
248
+
236
249
  - **excludePattern**:
237
250
  - _Tip_: `string | string[]`
238
251
  - _Varsayılan_: `['**/node_modules/**']`
239
- - _Açıklama_: Optimizasyondan hariç tutulacak desenler.
240
- - **outputDir** (Deprecated):
241
- - _Tip_: `string`
242
- - _Varsayılan_: `'compiler'`
243
- - _Açıklama_: Ayıklanan sözlüklerin saklanacağı dizin.
252
+ - _Açıklama_: (Kullanımdan kaldırıldı: bunun yerine `build.traversePattern` kullanın) Optimizasyondan hariç tutulacak desenler.
244
253
 
245
254
  - **output**:
246
255
  - _Tip_: `FilePathPattern`
247
256
  - _Varsayılan_: `({ key }) => 'compiler/${key}.content.json'`
248
257
  - _Açıklama_: Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer. `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, ve `{{componentFormat}}` gibi dinamik değişkenleri işler. `'my/{{var}}/path'` formatı kullanılarak bir dize olarak veya bir fonksiyon olarak ayarlanabilir.
249
258
  - _Not_: `./**/*` yolları bileşene göre çözümlenir. `/**/*` yolları Intlayer `baseDir`'e göre çözümlenir.
259
+ - _Not_: Yolda dil tanımlanmışsa, sözlükler dil başına oluşturulacaktır.
250
260
  - _Örnek_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
251
261
 
252
262
  - **noMetadata**:
253
263
  - _Tip_: `boolean`
254
264
  - _Varsayılan_: `false`
255
- - _Açıklama_: Meta verilerin dosyaya kaydedilip kaydedilmeyeceğini belirtir. Doğruysa, derleyici sözlüklerin meta verilerini (anahtar, içerik sarmalayıcı) kaydetmez.
265
+ - _Açıklama_: Meta verilerin dosyaya kaydedilip kaydedilmeyeceğini belirtir. Doğruysa, derleyici sözlüklerin meta verilerini (anahtar, içerik sarmalayıcı) kaydetmez. Dil başına i18next veya ICU MessageFormat JSON çıktıları için kullanışlıdır.
256
266
  - _Not_: `loadJSON` eklentisi ile kullanıldığında kullanışlıdır.
257
- - _Örnek_: `true` ise:
267
+ - _Örnek_:
268
+ Eğer `true`:
258
269
  ```json
259
270
  {
260
271
  "key": "value"
261
272
  }
262
273
  ```
263
- `false` ise:
274
+ Eğer `false`:
264
275
  ```json
265
276
  {
266
277
  "key": "value",
@@ -274,3 +285,25 @@ Aşağıdaki özellikler `intlayer.config.ts` dosyanızın `compiler` bloğunda
274
285
  - _Tip_: `boolean`
275
286
  - _Varsayılan_: `false`
276
287
  - _Açıklama_: Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
288
+
289
+ ### Eksik çevirileri doldur
290
+
291
+ Intlayer, eksik çevirileri doldurmanıza yardımcı olacak bir CLI aracı sağlar. Kodunuzdaki eksik çevirileri test etmek ve doldurmak için `intlayer` komutunu kullanabilirsiniz.
292
+
293
+ ```bash
294
+ npx intlayer test # Eksik çeviri olup olmadığını test et
295
+ ```
296
+
297
+ ```bash
298
+ npx intlayer fill # Eksik çevirileri doldur
299
+ ```
300
+
301
+ ### Çıkarma
302
+
303
+ Intlayer, kodunuzdan içerik çıkarmak için bir CLI aracı sağlar. Kodunuzdaki içeriği çıkarmak için `intlayer extract` komutunu kullanabilirsiniz.
304
+
305
+ ```bash
306
+ npx intlayer extract
307
+ ```
308
+
309
+ > Daha fazla ayrıntı için [CLI belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/index.md) bakın.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-08-13
3
- updatedAt: 2026-03-11
3
+ updatedAt: 2026-03-12
4
4
  title: Yapılandırma
5
5
  description: Uygulamanız için Intlayer'ı nasıl yapılandıracağınızı öğrenin. Intlayer'ı ihtiyaçlarınıza göre özelleştirmek için mevcut çeşitli ayarları ve seçenekleri anlayın.
6
6
  keywords:
@@ -15,7 +15,7 @@ slugs:
15
15
  - configuration
16
16
  history:
17
17
  - version: 8.3.0
18
- data: 2026-03-11
18
+ date: 2026-03-11
19
19
  changes: 'baseDir''i ''content'' yapılandırmasından ''system'' yapılandırmasına taşıyın
20
20
  - version: 8.2.0
21
21
  date: 2026-03-09
@@ -95,7 +95,7 @@ Intlayer, JSON, JS, MJS ve TS yapılandırma dosyası formatlarını kabul eder:
95
95
 
96
96
  ## Örnek yapılandırma dosyası
97
97
 
98
- ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
98
+ ````typescript fileName="intlayer.config.ts" codeFormat="typescript"
99
99
  import { Locales, type IntlayerConfig } from "intlayer";
100
100
  import { nextjsRewrite } from "intlayer/routing";
101
101
  import { z } from "zod";
@@ -193,7 +193,7 @@ const config: IntlayerConfig = {
193
193
  * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
194
194
  * Default: ['cookie', 'header']
195
195
  */
196
- storage: "cookie",
196
+ storage: ["cookie", "header"],
197
197
 
198
198
  /**
199
199
  * Base path for the application URLs.
@@ -330,6 +330,17 @@ const config: IntlayerConfig = {
330
330
  * Base URL for the AI API.
331
331
  */
332
332
  baseURL: "http://localhost:3000",
333
+
334
+ /**
335
+ * Veri Serileştirme
336
+ *
337
+ * Seçenekler:
338
+ * - "json": Standart, güvenilir; daha fazla token kullanır.
339
+ * - "toon": Daha az token, JSON'dan daha az tutarlı.
340
+ *
341
+ * Varsayılan: "json"
342
+ */
343
+ dataSerialization: "json",
333
344
  },
334
345
 
335
346
  /**
@@ -429,42 +440,70 @@ const config: IntlayerConfig = {
429
440
  compiler: {
430
441
  /**
431
442
  * Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
443
+ *
444
+ * - false : Derleyiciyi devre dışı bırakır.
445
+ * - true : Derleyiciyi etkinleştirir.
446
+ * - "build-only" : Başlangıç sürelerini hızlandırmak için geliştirme sırasında derleyiciyi atlar.
447
+ *
448
+ * Varsayılan değer : false
432
449
  */
433
450
  enabled: true,
434
451
 
435
452
  /**
436
- * Pattern to traverse the code to optimize.
437
- */
438
- transformPattern: [
439
- "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
440
- "!**/node_modules/**",
441
- ],
442
-
443
- /**
444
- * Pattern to exclude from the optimization.
453
+ * Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer.
454
+ *
455
+ * - `./` ile başlayan yollar bileşen dizinine göre çözümlenir.
456
+ * - `/` ile başlayan yollar projenin kök dizinine (`baseDir`) göre çözümlenir.
457
+ *
458
+ * - Yola `{{locale}}` değişkenini dahil etmek, dile göre ayrılmış sözlüklerin oluşturulmasını etkinleştirir.
459
+ *
460
+ * Örnek:
461
+ * ```ts
462
+ * {
463
+ * // Bileşenin yanına çok dilli .content.ts dosyaları oluşturun
464
+ * output: ({ fileName, extension }) => `./${fileName}${extension}`,
465
+ *
466
+ * // output: './{{fileName}}{{extension}}', // Şablon dizesi kullanarak eşdeğer
467
+ * }
468
+ * ```
469
+ *
470
+ * ```ts
471
+ * {
472
+ * // Proje kökünde dile göre merkezileştirilmiş JSON dosyaları oluşturun
473
+ * output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
474
+ *
475
+ * // output: '/locales/{{locale}}/{{key}}.content.json', // Şablon dizesi kullanarak eşdeğer
476
+ * }
477
+ * ```
478
+ *
479
+ * Değişken listesi:
480
+ * - `fileName`: Dosya adı.
481
+ * - `key`: İçerik anahtarı.
482
+ * - `locale`: İçerik dili.
483
+ * - `extension`: Dosya uzantısı.
484
+ * - `componentFileName`: Bileşen dosya adı.
485
+ * - `componentExtension`: Bileşen dosya uzantısı.
486
+ * - `format`: Sözlük formatı.
487
+ * - `componentFormat`: Bileşen sözlük formatı.
488
+ * - `componentDirPath`: Bileşen dizin yolu.
445
489
  */
446
- excludePattern: ["**/node_modules/**"],
490
+ output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
447
491
 
448
492
  /**
449
- * Optimize edilmiş sözlükler für çıktı dizini.
493
+ * Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
494
+ * Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
450
495
  */
451
- output: ({ key }) => `compiler/${key}.content.json`,
496
+ saveComponents: false,
452
497
 
453
498
  /**
454
- * Oluşturulan dosyaya yalnızca içeriği yerleştirin, anahtar olmadan.
499
+ * Oluşturulan dosyaya yalnızca içeriği yerleştirin. Yerel ayar başına i18next veya ICU MessageFormat JSON çıktıları için yararlıdır.
455
500
  */
456
501
  noMetadata: false,
457
502
 
458
503
  /**
459
504
  * Sözlük anahtar öneki
460
505
  */
461
- dictionaryKeyPrefix: "", // Remove base prefix
462
-
463
- /**
464
- * Bileşenlerin dönüştürüldükten sonra kaydedilip kaydedilmeyeceğini belirtir.
465
- * Bu şekilde, derleyici uygulamayı dönüştürmek için yalnızca bir kez çalıştırılabilir ve ardından kaldırılabilir.
466
- */
467
- saveComponents: false,
506
+ dictionaryKeyPrefix: "", // Ayıklanan sözlük anahtarları için isteğe bağlı önek ekleyin
468
507
  },
469
508
 
470
509
  /**
@@ -483,7 +522,7 @@ const config: IntlayerConfig = {
483
522
  };
484
523
 
485
524
  export default config;
486
- ```
525
+ ````
487
526
 
488
527
  ## Konfigürasyon Referansı
489
528
 
@@ -1032,7 +1071,7 @@ Sözlükleri doğrudan bileşenlerinizden çıkaran Intlayer derleyicisini kontr
1032
1071
 
1033
1072
  - **dictionaryKeyPrefix**:
1034
1073
  - _Tür_: `string`
1035
- - _Varsayılan_: `'comp-'`
1074
+ - _Varsayılan_: `''`
1036
1075
  - _Açıklama_: Çıkarılan sözlük anahtarları için önek.
1037
1076
  - _Örnek_: `'my-key-'`
1038
1077
  - _Not_: Sözlükler çıkarıldığında, anahtar dosya adına göre oluşturulur. Bu önek, çakışmaları önlemek için oluşturulan anahtara eklenir.
@@ -1056,30 +1095,34 @@ Sözlükleri doğrudan bileşenlerinizden çıkaran Intlayer derleyicisini kontr
1056
1095
  - _Açıklama_: Optimizasyon sırasında hangi dosyaların hariç tutulacağını tanımlayan desenler.
1057
1096
  - _Örnek_: `['**/node_modules/**', '!**/node_modules/react/**']`
1058
1097
 
1059
- - **outputDir**:
1060
- - _Tür_: `string`
1061
- - _Varsayılan_: `'compiler'`
1062
- - _Açıklama_: Çıkarılan sözlüklerin, proje temel yolunuza göre saklanacağı dizin.
1063
-
1064
1098
  - **output**:
1065
- - _Tip_: `FilePathPattern`
1066
- - _Varsayılan_: `({ key }) => 'compiler/${key}.content.json'`
1067
- - _Açıklama_: Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer. `{{locale}}`, `{{key}}`, `{{fileName}}`, `{{extension}}`, `{{format}}`, `{{dirPath}}`, `{{componentFileName}}`, `{{componentExtension}}`, ve `{{componentFormat}}` gibi dinamik değişkenleri işler. `'my/{{var}}/path'` formatı kullanılarak bir dize olarak veya bir fonksiyon olarak ayarlanabilir.
1068
- - _Not_: `./**/*` yolları bileşene göre çözümlenir. `/**/*` yolları Intlayer `baseDir`'e göre çözümlenir.
1069
- - _Örnek_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
1099
+ - _Tür_: `FilePathPattern`
1100
+ - _Varsayılan_: `undefined`
1101
+ - _Açıklama_: Çıktı dosyalarının yolunu tanımlar. `outputDir` yerine geçer. Şablon dizeleri veya bir fonksiyon aracılığıyla dinamik değişkenleri işler. Desteklenen değişkenler: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}` ve `{{componentDirPath}}`.
1102
+ - _Not_: `./` ile başlayan yollar bileşen dizinine göre çözümlenir. `/` ile başlayan yollar projenin kök dizinine (`baseDir`) göre çözümlenir.
1103
+ - _Not_: Yola `{{locale}}` değişkenini dahil etmek, dile göre ayrılmış sözlüklerin oluşturulmasını etkinleştirir.
1104
+ - _Örnek_:
1105
+ - **Bileşenin yanında çok dilli dosyalar oluşturun**:
1106
+ - Dize: `'./{{fileName}}{{extension}}'`
1107
+ - Fonksiyon: `({ fileName, extension }) => \`./${fileName}${extension}\``
1108
+
1109
+ - **Dil başına merkezi JSON dosyaları çıktılayın**:
1110
+ - Dize: `'/locales/{{locale}}/{{key}}.content.json'`
1111
+ - Fonksiyon: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
1070
1112
 
1071
1113
  - **noMetadata**:
1072
- - _Tip_: `boolean`
1114
+ - _Tür_: `boolean`
1073
1115
  - _Varsayılan_: `false`
1074
- - _Açıklama_: Meta verilerin dosyaya kaydedilip kaydedilmeyeceğini belirtir. Doğruysa, derleyici sözlüklerin meta verilerini (anahtar, içerik sarmalayıcı) kaydetmez.
1116
+ - _Açıklama_: Meta verilerin dosyaya kaydedilip kaydedilmeyeceğini belirtir. Doğruysa, derleyici sözlüklerin meta verilerini (anahtar, içerik sarmalayıcı) kaydetmez. Dil başına i18next veya ICU MessageFormat JSON çıktıları için kullanışlıdır.
1075
1117
  - _Not_: `loadJSON` eklentisi ile kullanıldığında kullanışlıdır.
1076
- - _Örnek_: `true` ise:
1118
+ - _Örnek_:
1119
+ Eğer `true` ise :
1077
1120
  ```json
1078
1121
  {
1079
1122
  "key": "value"
1080
1123
  }
1081
1124
  ```
1082
- `false` ise:
1125
+ Eğer `false` ise :
1083
1126
  ```json
1084
1127
  {
1085
1128
  "key": "value",