@intlayer/docs 7.4.0 → 7.5.0-canary.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 (298) hide show
  1. package/blog/ar/intlayer_with_i18next.md +2 -0
  2. package/blog/ar/intlayer_with_next-i18next.md +2 -0
  3. package/blog/ar/intlayer_with_next-intl.md +2 -0
  4. package/blog/ar/intlayer_with_react-i18next.md +2 -0
  5. package/blog/ar/intlayer_with_react-intl.md +2 -0
  6. package/blog/ar/intlayer_with_vue-i18n.md +2 -0
  7. package/blog/de/intlayer_with_i18next.md +2 -0
  8. package/blog/de/intlayer_with_next-i18next.md +1 -0
  9. package/blog/de/intlayer_with_next-intl.md +2 -0
  10. package/blog/de/intlayer_with_react-i18next.md +2 -0
  11. package/blog/de/intlayer_with_react-intl.md +2 -0
  12. package/blog/de/intlayer_with_vue-i18n.md +2 -0
  13. package/blog/en/intlayer_with_i18next.md +6 -0
  14. package/blog/en/intlayer_with_next-i18next.md +3 -0
  15. package/blog/en/intlayer_with_next-intl.md +3 -0
  16. package/blog/en/intlayer_with_react-i18next.md +3 -0
  17. package/blog/en/intlayer_with_react-intl.md +3 -0
  18. package/blog/en/intlayer_with_vue-i18n.md +3 -0
  19. package/blog/en-GB/intlayer_with_i18next.md +2 -0
  20. package/blog/en-GB/intlayer_with_next-i18next.md +2 -0
  21. package/blog/en-GB/intlayer_with_next-intl.md +2 -0
  22. package/blog/en-GB/intlayer_with_react-i18next.md +2 -0
  23. package/blog/en-GB/intlayer_with_react-intl.md +2 -0
  24. package/blog/en-GB/intlayer_with_vue-i18n.md +2 -0
  25. package/blog/es/intlayer_with_i18next.md +2 -0
  26. package/blog/es/intlayer_with_next-i18next.md +2 -0
  27. package/blog/es/intlayer_with_next-intl.md +2 -0
  28. package/blog/es/intlayer_with_react-i18next.md +2 -0
  29. package/blog/es/intlayer_with_react-intl.md +2 -0
  30. package/blog/es/intlayer_with_vue-i18n.md +2 -0
  31. package/blog/fr/intlayer_with_i18next.md +2 -0
  32. package/blog/fr/intlayer_with_next-i18next.md +2 -0
  33. package/blog/fr/intlayer_with_next-intl.md +2 -0
  34. package/blog/fr/intlayer_with_react-i18next.md +2 -0
  35. package/blog/fr/intlayer_with_react-intl.md +2 -0
  36. package/blog/fr/intlayer_with_vue-i18n.md +2 -0
  37. package/blog/hi/intlayer_with_i18next.md +2 -0
  38. package/blog/hi/intlayer_with_next-i18next.md +2 -0
  39. package/blog/hi/intlayer_with_next-intl.md +2 -0
  40. package/blog/hi/intlayer_with_react-i18next.md +2 -0
  41. package/blog/hi/intlayer_with_react-intl.md +2 -0
  42. package/blog/hi/intlayer_with_vue-i18n.md +2 -0
  43. package/blog/id/intlayer_with_i18next.md +2 -0
  44. package/blog/id/intlayer_with_next-i18next.md +2 -0
  45. package/blog/id/intlayer_with_next-intl.md +2 -0
  46. package/blog/id/intlayer_with_react-i18next.md +2 -0
  47. package/blog/id/intlayer_with_react-intl.md +2 -0
  48. package/blog/id/intlayer_with_vue-i18n.md +2 -0
  49. package/blog/it/intlayer_with_i18next.md +2 -0
  50. package/blog/it/intlayer_with_next-i18next.md +2 -0
  51. package/blog/it/intlayer_with_next-intl.md +2 -0
  52. package/blog/it/intlayer_with_react-i18next.md +2 -0
  53. package/blog/it/intlayer_with_react-intl.md +2 -0
  54. package/blog/it/intlayer_with_vue-i18n.md +2 -0
  55. package/blog/ja/intlayer_with_i18next.md +2 -0
  56. package/blog/ja/intlayer_with_next-i18next.md +1 -0
  57. package/blog/ja/intlayer_with_next-intl.md +2 -0
  58. package/blog/ja/intlayer_with_react-i18next.md +2 -0
  59. package/blog/ja/intlayer_with_react-intl.md +2 -0
  60. package/blog/ja/intlayer_with_vue-i18n.md +2 -0
  61. package/blog/ko/intlayer_with_i18next.md +2 -0
  62. package/blog/ko/intlayer_with_next-i18next.md +2 -0
  63. package/blog/ko/intlayer_with_next-intl.md +2 -0
  64. package/blog/ko/intlayer_with_react-i18next.md +2 -0
  65. package/blog/ko/intlayer_with_react-intl.md +2 -0
  66. package/blog/ko/intlayer_with_vue-i18n.md +2 -0
  67. package/blog/pl/intlayer_with_i18next.md +2 -0
  68. package/blog/pl/intlayer_with_next-i18next.md +2 -0
  69. package/blog/pl/intlayer_with_next-intl.md +2 -0
  70. package/blog/pl/intlayer_with_react-i18next.md +2 -0
  71. package/blog/pl/intlayer_with_react-intl.md +2 -0
  72. package/blog/pl/intlayer_with_vue-i18n.md +2 -0
  73. package/blog/pt/intlayer_with_i18next.md +2 -0
  74. package/blog/pt/intlayer_with_next-i18next.md +2 -0
  75. package/blog/pt/intlayer_with_next-intl.md +2 -0
  76. package/blog/pt/intlayer_with_react-i18next.md +2 -0
  77. package/blog/pt/intlayer_with_react-intl.md +2 -0
  78. package/blog/pt/intlayer_with_vue-i18n.md +2 -0
  79. package/blog/ru/intlayer_with_i18next.md +2 -0
  80. package/blog/ru/intlayer_with_next-i18next.md +2 -0
  81. package/blog/ru/intlayer_with_next-intl.md +2 -0
  82. package/blog/ru/intlayer_with_react-i18next.md +2 -0
  83. package/blog/ru/intlayer_with_react-intl.md +2 -0
  84. package/blog/ru/intlayer_with_vue-i18n.md +2 -0
  85. package/blog/tr/intlayer_with_i18next.md +2 -0
  86. package/blog/tr/intlayer_with_next-i18next.md +2 -0
  87. package/blog/tr/intlayer_with_next-intl.md +2 -0
  88. package/blog/tr/intlayer_with_react-i18next.md +2 -0
  89. package/blog/tr/intlayer_with_react-intl.md +2 -0
  90. package/blog/tr/intlayer_with_vue-i18n.md +2 -0
  91. package/blog/vi/intlayer_with_i18next.md +2 -0
  92. package/blog/vi/intlayer_with_next-i18next.md +2 -0
  93. package/blog/vi/intlayer_with_next-intl.md +2 -0
  94. package/blog/vi/intlayer_with_react-i18next.md +2 -0
  95. package/blog/vi/intlayer_with_react-intl.md +2 -0
  96. package/blog/vi/intlayer_with_vue-i18n.md +2 -0
  97. package/blog/zh/intlayer_with_i18next.md +2 -0
  98. package/blog/zh/intlayer_with_next-i18next.md +2 -0
  99. package/blog/zh/intlayer_with_next-intl.md +2 -0
  100. package/blog/zh/intlayer_with_react-i18next.md +2 -0
  101. package/blog/zh/intlayer_with_react-intl.md +2 -0
  102. package/blog/zh/intlayer_with_vue-i18n.md +2 -0
  103. package/dist/cjs/generated/docs.entry.cjs +19 -0
  104. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  105. package/dist/esm/generated/docs.entry.mjs +19 -0
  106. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  107. package/dist/types/generated/docs.entry.d.ts +1 -0
  108. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  109. package/docs/ar/cli/index.md +5 -0
  110. package/docs/ar/cli/login.md +157 -0
  111. package/docs/ar/configuration.md +12 -0
  112. package/docs/ar/dictionary/content_file.md +24 -1
  113. package/docs/ar/intlayer_with_astro.md +1 -1
  114. package/docs/ar/intlayer_with_express.md +1 -1
  115. package/docs/ar/intlayer_with_nestjs.md +1 -1
  116. package/docs/ar/intlayer_with_next-i18next.md +1 -0
  117. package/docs/ar/intlayer_with_next-intl.md +1 -0
  118. package/docs/ar/intlayer_with_tanstack.md +1 -12
  119. package/docs/ar/plugins/sync-json.md +27 -2
  120. package/docs/de/cli/index.md +5 -0
  121. package/docs/de/cli/login.md +160 -0
  122. package/docs/de/configuration.md +12 -0
  123. package/docs/de/dictionary/content_file.md +24 -1
  124. package/docs/de/intlayer_with_astro.md +1 -1
  125. package/docs/de/intlayer_with_express.md +1 -1
  126. package/docs/de/intlayer_with_nestjs.md +1 -1
  127. package/docs/de/intlayer_with_next-i18next.md +1 -0
  128. package/docs/de/intlayer_with_next-intl.md +1 -0
  129. package/docs/de/intlayer_with_tanstack.md +1 -12
  130. package/docs/de/plugins/sync-json.md +27 -2
  131. package/docs/en/cli/index.md +5 -0
  132. package/docs/en/cli/login.md +157 -0
  133. package/docs/en/configuration.md +13 -0
  134. package/docs/en/dictionary/content_file.md +24 -1
  135. package/docs/en/index.md +1 -0
  136. package/docs/en/intlayer_with_astro.md +1 -1
  137. package/docs/en/intlayer_with_express.md +1 -1
  138. package/docs/en/intlayer_with_nestjs.md +1 -2
  139. package/docs/en/intlayer_with_next-i18next.md +1 -0
  140. package/docs/en/intlayer_with_next-intl.md +1 -0
  141. package/docs/en/intlayer_with_tanstack.md +7 -17
  142. package/docs/en/plugins/sync-json.md +53 -2
  143. package/docs/en-GB/cli/index.md +5 -0
  144. package/docs/en-GB/cli/login.md +181 -0
  145. package/docs/en-GB/configuration.md +12 -0
  146. package/docs/en-GB/dictionary/content_file.md +24 -1
  147. package/docs/en-GB/intlayer_with_astro.md +1 -1
  148. package/docs/en-GB/intlayer_with_express.md +1 -1
  149. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  150. package/docs/en-GB/intlayer_with_next-i18next.md +1 -0
  151. package/docs/en-GB/intlayer_with_next-intl.md +1 -0
  152. package/docs/en-GB/intlayer_with_tanstack.md +1 -12
  153. package/docs/en-GB/plugins/sync-json.md +26 -1
  154. package/docs/es/cli/index.md +5 -0
  155. package/docs/es/cli/login.md +182 -0
  156. package/docs/es/configuration.md +12 -0
  157. package/docs/es/dictionary/content_file.md +24 -1
  158. package/docs/es/intlayer_with_astro.md +1 -1
  159. package/docs/es/intlayer_with_express.md +1 -1
  160. package/docs/es/intlayer_with_nestjs.md +1 -1
  161. package/docs/es/intlayer_with_next-i18next.md +1 -0
  162. package/docs/es/intlayer_with_next-intl.md +1 -0
  163. package/docs/es/intlayer_with_tanstack.md +1 -12
  164. package/docs/es/plugins/sync-json.md +27 -2
  165. package/docs/fr/cli/index.md +5 -0
  166. package/docs/fr/cli/login.md +185 -0
  167. package/docs/fr/configuration.md +12 -0
  168. package/docs/fr/dictionary/content_file.md +24 -1
  169. package/docs/fr/intlayer_with_astro.md +1 -1
  170. package/docs/fr/intlayer_with_express.md +1 -1
  171. package/docs/fr/intlayer_with_nestjs.md +1 -1
  172. package/docs/fr/intlayer_with_next-i18next.md +1 -0
  173. package/docs/fr/intlayer_with_next-intl.md +1 -0
  174. package/docs/fr/intlayer_with_tanstack.md +1 -12
  175. package/docs/fr/plugins/sync-json.md +27 -2
  176. package/docs/hi/cli/index.md +5 -0
  177. package/docs/hi/cli/login.md +181 -0
  178. package/docs/hi/configuration.md +12 -0
  179. package/docs/hi/dictionary/content_file.md +24 -1
  180. package/docs/hi/intlayer_with_astro.md +1 -1
  181. package/docs/hi/intlayer_with_express.md +1 -1
  182. package/docs/hi/intlayer_with_nestjs.md +1 -1
  183. package/docs/hi/intlayer_with_next-i18next.md +1 -0
  184. package/docs/hi/intlayer_with_next-intl.md +1 -0
  185. package/docs/hi/intlayer_with_tanstack.md +1 -12
  186. package/docs/hi/plugins/sync-json.md +27 -2
  187. package/docs/id/cli/index.md +5 -0
  188. package/docs/id/cli/login.md +157 -0
  189. package/docs/id/configuration.md +12 -0
  190. package/docs/id/dictionary/content_file.md +24 -1
  191. package/docs/id/intlayer_with_astro.md +1 -1
  192. package/docs/id/intlayer_with_express.md +1 -1
  193. package/docs/id/intlayer_with_nestjs.md +1 -1
  194. package/docs/id/intlayer_with_next-i18next.md +1 -0
  195. package/docs/id/intlayer_with_next-intl.md +1 -0
  196. package/docs/id/intlayer_with_tanstack.md +1 -12
  197. package/docs/id/plugins/sync-json.md +27 -2
  198. package/docs/it/cli/index.md +5 -0
  199. package/docs/it/cli/login.md +157 -0
  200. package/docs/it/configuration.md +12 -0
  201. package/docs/it/dictionary/content_file.md +24 -1
  202. package/docs/it/intlayer_with_astro.md +1 -1
  203. package/docs/it/intlayer_with_express.md +1 -1
  204. package/docs/it/intlayer_with_nestjs.md +1 -1
  205. package/docs/it/intlayer_with_next-i18next.md +1 -0
  206. package/docs/it/intlayer_with_next-intl.md +1 -0
  207. package/docs/it/intlayer_with_tanstack.md +1 -12
  208. package/docs/it/plugins/sync-json.md +27 -2
  209. package/docs/ja/cli/index.md +5 -0
  210. package/docs/ja/cli/login.md +159 -0
  211. package/docs/ja/configuration.md +12 -0
  212. package/docs/ja/dictionary/content_file.md +24 -1
  213. package/docs/ja/intlayer_with_astro.md +1 -1
  214. package/docs/ja/intlayer_with_express.md +1 -1
  215. package/docs/ja/intlayer_with_nestjs.md +1 -1
  216. package/docs/ja/intlayer_with_next-i18next.md +1 -0
  217. package/docs/ja/intlayer_with_next-intl.md +1 -0
  218. package/docs/ja/intlayer_with_tanstack.md +1 -12
  219. package/docs/ja/plugins/sync-json.md +27 -2
  220. package/docs/ko/cli/index.md +5 -0
  221. package/docs/ko/cli/login.md +188 -0
  222. package/docs/ko/configuration.md +12 -0
  223. package/docs/ko/dictionary/content_file.md +44 -1
  224. package/docs/ko/intlayer_with_astro.md +1 -1
  225. package/docs/ko/intlayer_with_express.md +1 -1
  226. package/docs/ko/intlayer_with_nestjs.md +1 -1
  227. package/docs/ko/intlayer_with_next-i18next.md +1 -0
  228. package/docs/ko/intlayer_with_next-intl.md +1 -0
  229. package/docs/ko/intlayer_with_tanstack.md +1 -12
  230. package/docs/ko/plugins/sync-json.md +27 -2
  231. package/docs/pl/cli/index.md +5 -0
  232. package/docs/pl/cli/login.md +187 -0
  233. package/docs/pl/configuration.md +12 -0
  234. package/docs/pl/dictionary/content_file.md +24 -1
  235. package/docs/pl/intlayer_with_astro.md +2 -2
  236. package/docs/pl/intlayer_with_express.md +1 -1
  237. package/docs/pl/intlayer_with_nestjs.md +1 -1
  238. package/docs/pl/intlayer_with_next-i18next.md +1 -0
  239. package/docs/pl/intlayer_with_next-intl.md +1 -0
  240. package/docs/pl/intlayer_with_tanstack.md +1 -12
  241. package/docs/pl/plugins/sync-json.md +24 -2
  242. package/docs/pt/cli/index.md +5 -0
  243. package/docs/pt/cli/login.md +186 -0
  244. package/docs/pt/configuration.md +12 -0
  245. package/docs/pt/dictionary/content_file.md +24 -1
  246. package/docs/pt/intlayer_with_astro.md +1 -1
  247. package/docs/pt/intlayer_with_express.md +1 -1
  248. package/docs/pt/intlayer_with_nestjs.md +1 -1
  249. package/docs/pt/intlayer_with_next-i18next.md +1 -0
  250. package/docs/pt/intlayer_with_next-intl.md +1 -0
  251. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +570 -0
  252. package/docs/pt/intlayer_with_tanstack.md +1 -12
  253. package/docs/pt/plugins/sync-json.md +27 -2
  254. package/docs/ru/cli/index.md +5 -0
  255. package/docs/ru/cli/login.md +181 -0
  256. package/docs/ru/configuration.md +12 -0
  257. package/docs/ru/dictionary/content_file.md +44 -1
  258. package/docs/ru/intlayer_with_astro.md +1 -1
  259. package/docs/ru/intlayer_with_express.md +1 -1
  260. package/docs/ru/intlayer_with_nestjs.md +1 -1
  261. package/docs/ru/intlayer_with_next-i18next.md +1 -0
  262. package/docs/ru/intlayer_with_next-intl.md +1 -0
  263. package/docs/ru/intlayer_with_tanstack.md +1 -12
  264. package/docs/ru/plugins/sync-json.md +27 -2
  265. package/docs/tr/cli/index.md +5 -0
  266. package/docs/tr/cli/login.md +171 -0
  267. package/docs/tr/configuration.md +12 -0
  268. package/docs/tr/dictionary/content_file.md +44 -1
  269. package/docs/tr/intlayer_with_astro.md +1 -1
  270. package/docs/tr/intlayer_with_express.md +1 -1
  271. package/docs/tr/intlayer_with_next-i18next.md +1 -0
  272. package/docs/tr/intlayer_with_next-intl.md +1 -0
  273. package/docs/tr/intlayer_with_tanstack.md +1 -12
  274. package/docs/tr/plugins/sync-json.md +27 -2
  275. package/docs/vi/cli/index.md +5 -0
  276. package/docs/vi/cli/login.md +186 -0
  277. package/docs/vi/configuration.md +12 -0
  278. package/docs/vi/dictionary/content_file.md +24 -1
  279. package/docs/vi/intlayer_with_astro.md +1 -1
  280. package/docs/vi/intlayer_with_express.md +1 -1
  281. package/docs/vi/intlayer_with_nestjs.md +1 -1
  282. package/docs/vi/intlayer_with_next-i18next.md +1 -0
  283. package/docs/vi/intlayer_with_next-intl.md +1 -0
  284. package/docs/vi/intlayer_with_tanstack.md +1 -12
  285. package/docs/vi/plugins/sync-json.md +27 -2
  286. package/docs/zh/cli/index.md +5 -0
  287. package/docs/zh/cli/login.md +182 -0
  288. package/docs/zh/configuration.md +12 -0
  289. package/docs/zh/dictionary/content_file.md +44 -1
  290. package/docs/zh/intlayer_with_astro.md +1 -1
  291. package/docs/zh/intlayer_with_express.md +1 -1
  292. package/docs/zh/intlayer_with_nestjs.md +1 -1
  293. package/docs/zh/intlayer_with_next-i18next.md +1 -0
  294. package/docs/zh/intlayer_with_next-intl.md +1 -0
  295. package/docs/zh/intlayer_with_tanstack.md +1 -12
  296. package/docs/zh/plugins/sync-json.md +27 -2
  297. package/package.json +9 -9
  298. package/src/generated/docs.entry.ts +19 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
- updatedAt: 2025-09-20
3
+ updatedAt: 2025-12-13
4
4
  title: Plik z Treścią
5
5
  description: Dowiedz się, jak dostosować rozszerzenia dla plików deklaracji treści. Postępuj zgodnie z tą dokumentacją, aby efektywnie wdrażać warunki w swoim projekcie.
6
6
  keywords:
@@ -12,6 +12,9 @@ slugs:
12
12
  - concept
13
13
  - content
14
14
  history:
15
+ - version: 7.5.0
16
+ date: 2025-12-13
17
+ changes: Dodano obsługę formatów ICU i i18next
15
18
  - version: 7.0.0
16
19
  date: 2025-10-23
17
20
  changes: Zmiana nazwy `autoFill` na `fill`
@@ -387,6 +390,26 @@ Tablica łańcuchów znaków służąca do kategoryzacji i organizacji słownik
387
390
  }
388
391
  ```
389
392
 
393
+ #### `format` ('intlayer' | 'icu' | 'i18next')
394
+
395
+ Określa formatter do użycia dla zawartości słownika. Pozwala to na używanie różnych składni formatowania wiadomości.
396
+
397
+ - `'intlayer'`: Domyślny formatter Intlayer.
398
+ - `'icu'`: Używa formatowania wiadomości ICU.
399
+ - `'i18next'`: Używa formatowania wiadomości i18next.
400
+
401
+ **Przykład:**
402
+
403
+ ```typescript
404
+ {
405
+ key: "my-dictionary",
406
+ format: "icu",
407
+ content: {
408
+ message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
409
+ }
410
+ }
411
+ ```
412
+
390
413
  #### `locale` (LocalesValues)
391
414
 
392
415
  Przekształca słownik w słownik per-lokalizacyjny, gdzie każde pole zadeklarowane w zawartości zostanie automatycznie przekształcone w węzeł tłumaczenia. Gdy ta właściwość jest ustawiona:
@@ -2,7 +2,7 @@
2
2
  createdAt: 2024-03-07
3
3
  updatedAt: 2025-10-03
4
4
  title: Jak przetłumaczyć swoją aplikację Astro – przewodnik i18n 2025
5
- description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej aplikacji Vite i React za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją aplikację wielojęzyczną.
5
+ description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej strony Astro za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją stronę wielojęzyczną.
6
6
  keywords:
7
7
  - Internacjonalizacja
8
8
  - Dokumentacja
@@ -28,7 +28,7 @@ Aby pójść dalej, możesz zaimplementować [edytor wizualny](https://github.co
28
28
  createdAt: 2024-03-07
29
29
  updatedAt: 2025-10-03
30
30
  title: Jak przetłumaczyć swoją aplikację Astro – przewodnik i18n 2025
31
- description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej aplikacji Vite i React za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją aplikację wielojęzyczną.
31
+ description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej strony Astro za pomocą Intlayer. Postępuj zgodnie z tym przewodnikiem, aby uczynić swoją stronę wielojęzyczną.
32
32
  keywords:
33
33
 
34
34
  - Internacjonalizacja
@@ -2,7 +2,7 @@
2
2
  createdAt: 2025-08-23
3
3
  updatedAt: 2025-08-23
4
4
  title: Jak przetłumaczyć backend Express – przewodnik i18n 2025
5
- description: Dowiedz się, jak uczynić swój backend vite wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
5
+ description: Dowiedz się, jak uczynić swój backend Express wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
6
6
  keywords:
7
7
  - Internacjonalizacja
8
8
  - Dokumentacja
@@ -2,7 +2,7 @@
2
2
  createdAt: 2025-09-09
3
3
  updatedAt: 2025-09-09
4
4
  title: Jak przetłumaczyć backend Nest – przewodnik i18n 2025
5
- description: Dowiedz się, jak uczynić swój backend vite wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
5
+ description: Dowiedz się, jak uczynić swój backend NestJS wielojęzycznym. Postępuj zgodnie z dokumentacją, aby internacjonalizować (i18n) i tłumaczyć.
6
6
  keywords:
7
7
  - Internacjonalizacja
8
8
  - Dokumentacja
@@ -581,6 +581,7 @@ const config: IntlayerConfig = {
581
581
  },
582
582
  plugins: [
583
583
  syncJSON({
584
+ format: "i18next",
584
585
  source: ({ locale }) => `./locales/${locale}.json`,
585
586
  }),
586
587
  ],
@@ -419,6 +419,7 @@ const config: IntlayerConfig = {
419
419
  plugins: [
420
420
  // Zachowaj strukturę folderów per namespace w synchronizacji z Intlayer
421
421
  syncJSON({
422
+ format: "icu",
422
423
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
423
424
  }),
424
425
  ],
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2025-09-09
3
+ updatedAt: 2025-12-11
4
4
  title: Jak przetłumaczyć swoją aplikację Tanstack Start – przewodnik i18n 2025
5
5
  description: Dowiedz się, jak dodać internacjonalizację (i18n) do swojej aplikacji Tanstack Start za pomocą Intlayer. Postępuj zgodnie z tym kompleksowym przewodnikiem, aby uczynić swoją aplikację wielojęzyczną z routingiem uwzględniającym lokalizację.
6
6
  keywords:
@@ -624,17 +624,6 @@ export function NotFoundComponent() {
624
624
  }
625
625
  ```
626
626
 
627
- ```tsx fileName="src/routes/__root.tsx"
628
- import { createRootRoute } from "@tanstack/react-router";
629
-
630
- // Trasa główna służy jako układ najwyższego poziomu
631
- // Nie obsługuje 404 bezpośrednio - to jest delegowane do tras potomnych
632
- // To utrzymuje główną trasę prostą i pozwala trasom świadomym locale zarządzać własną logiką 404
633
- export const Route = createRootRoute({
634
- component: Outlet,
635
- });
636
- ```
637
-
638
627
  ```tsx fileName="src/routes/{-$locale}/route.tsx"
639
628
  import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
640
629
  import { validatePrefix } from "intlayer";
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-03-13
3
- updatedAt: 2025-10-05
3
+ updatedAt: 2025-12-13
4
4
  title: Wtyczka Sync JSON
5
5
  description: Synchronizuj słowniki Intlayer z zewnętrznymi plikami JSON i18n (i18next, next-intl, react-intl, vue-i18n i inne). Zachowaj istniejące i18n, korzystając z Intlayer do zarządzania, tłumaczenia i testowania swoich komunikatów.
6
6
  keywords:
@@ -29,7 +29,7 @@ history:
29
29
  changes: Pierwsza dokumentacja wtyczki Sync JSON
30
30
  ---
31
31
 
32
- # Sync JSON (mosty i18n)
32
+ # Sync JSON (mosty i18n) - Sync JSON z obsługą ICU / i18next
33
33
 
34
34
  <iframe title="Jak zachować synchronizację tłumaczeń JSON z Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
35
35
 
@@ -105,9 +105,27 @@ syncJSON({
105
105
  source: ({ key, locale }) => string, // wymagane
106
106
  location?: string, // opcjonalna etykieta, domyślnie: "plugin"
107
107
  priority?: number, // opcjonalny priorytet do rozstrzygania konfliktów, domyślnie: 0
108
+ format?: 'intlayer' | 'icu' | 'i18next', // opcjonalny formatator, domyślnie: 'intlayer'
108
109
  });
109
110
  ```
110
111
 
112
+ #### `format` ('intlayer' | 'icu' | 'i18next')
113
+
114
+ Określa formatator, który będzie używany do zawartości słownika podczas synchronizacji plików JSON. Pozwala to na używanie różnych składni formatowania wiadomości zgodnych z różnymi bibliotekami i18n.
115
+
116
+ - `'intlayer'`: Domyślny formatator Intlayer (domyślnie).
117
+ - `'icu'`: Używa formatowania wiadomości ICU (zgodne z bibliotekami takimi jak react-intl, vue-i18n).
118
+ - `'i18next'`: Używa formatowania wiadomości i18next (zgodne z i18next, next-i18next, Solid-i18next).
119
+
120
+ **Przykład:**
121
+
122
+ ```ts
123
+ syncJSON({
124
+ source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
125
+ format: "i18next", // Użyj formatowania i18next dla zgodności
126
+ }),
127
+ ```
128
+
111
129
  ## Wiele źródeł JSON i priorytet
112
130
 
113
131
  Możesz dodać wiele wtyczek `syncJSON`, aby synchronizować różne źródła JSON. Jest to przydatne, gdy masz wiele bibliotek i18n lub różne struktury JSON w swoim projekcie.
@@ -134,6 +152,7 @@ export default defineConfig({
134
152
  plugins: [
135
153
  // Główne źródło JSON (najwyższy priorytet)
136
154
  syncJSON({
155
+ format: "i18next",
137
156
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
138
157
  location: "main-translations",
139
158
  priority: 10,
@@ -141,6 +160,7 @@ export default defineConfig({
141
160
 
142
161
  // Zapasowe źródło JSON (niższy priorytet)
143
162
  syncJSON({
163
+ format: "i18next",
144
164
  source: ({ locale }) => `./fallback-locales/${locale}.json`,
145
165
  location: "fallback-translations",
146
166
  priority: 5,
@@ -148,6 +168,7 @@ export default defineConfig({
148
168
 
149
169
  // Źródło JSON dziedziczone (najniższy priorytet)
150
170
  syncJSON({
171
+ format: "i18next",
151
172
  source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.json`,
152
173
  location: "legacy-translations",
153
174
  priority: 1,
@@ -178,6 +199,7 @@ import { syncJSON } from "@intlayer/sync-json-plugin";
178
199
  export default {
179
200
  plugins: [
180
201
  syncJSON({
202
+ format: "i18next",
181
203
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
182
204
  }),
183
205
  ],
@@ -103,6 +103,10 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
103
103
 
104
104
  ## Executar comandos intlayer
105
105
 
106
+ ### Autenticação
107
+
108
+ - **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/login.md)** - Autenticar-se com o CMS do Intlayer e obter credenciais de acesso
109
+
106
110
  ### Comandos Principais
107
111
 
108
112
  - **[Construir Dicionários](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/build.md)** - Construa seus dicionários a partir dos arquivos de declaração de conteúdo
@@ -144,6 +148,7 @@ Para ver como configurar os locais disponíveis ou outros parâmetros, consulte
144
148
 
145
149
  ```json fileName="package.json"
146
150
  "scripts": {
151
+ "intlayer:login": "npx intlayer login",
147
152
  "intlayer:build": "npx intlayer build",
148
153
  "intlayer:watch": "npx intlayer build --watch",
149
154
  "intlayer:push": "npx intlayer push",
@@ -0,0 +1,186 @@
1
+ ---
2
+ createdAt: 2025-12-16
3
+ updatedAt: 2025-12-16
4
+ title: CLI - Login
5
+ description: Aprenda como usar o comando de login do Intlayer CLI para autenticar-se no Intlayer CMS e obter credenciais de acesso.
6
+ keywords:
7
+ - CLI
8
+ - Login
9
+ - Autenticação
10
+ - CMS
11
+ - Intlayer
12
+ - Credenciais
13
+ slugs:
14
+ - doc
15
+ - concept
16
+ - cli
17
+ - login
18
+ ---
19
+
20
+ # Comando de Login do Intlayer CLI
21
+
22
+ ---
23
+
24
+ ## Descrição
25
+
26
+ O comando `login` do Intlayer CLI permite que você se autentique no Intlayer CMS. Este comando abre automaticamente o seu navegador padrão para concluir o processo de autenticação e receber as credenciais necessárias (Client ID e Client Secret) para usar os serviços do Intlayer.
27
+
28
+ ## Uso
29
+
30
+ ```bash
31
+ npx intlayer login [options]
32
+ ```
33
+
34
+ ou
35
+
36
+ ```bash
37
+ intlayer login [options]
38
+ ```
39
+
40
+ ## Opções
41
+
42
+ ### `--cms-url <url>`
43
+
44
+ Especifica a URL do Intlayer CMS para se conectar para autenticação.
45
+
46
+ - **Tipo**: `string`
47
+ - **Padrão**: O valor configurado em `intlayer.config.*` ou `https://intlayer.org`
48
+ - **Exemplo**:
49
+
50
+ ```bash
51
+ npx intlayer login --cms-url https://intlayer.org
52
+ ```
53
+
54
+ ### Opções de Configuração
55
+
56
+ Você também pode usar opções comuns de configuração:
57
+
58
+ - `--env-file <path>`: Caminho para o arquivo de ambiente
59
+ - `-e, --env <env>`: Ambiente de execução
60
+ - `--base-dir <dir>`: Diretório base do projeto
61
+ - `--verbose`: Habilitar saída detalhada (padrão: true)
62
+ - `--prefix <prefix>`: Prefixo para logs
63
+
64
+ ## Como Funciona
65
+
66
+ 1. **Inicialização do servidor local**: O comando inicia um servidor HTTP local em uma porta aleatória para receber credenciais do CMS
67
+
68
+ Especifique a URL do Intlayer CMS para se conectar durante a autenticação.
69
+
70
+ - **Tipo**: `string`
71
+ - **Padrão**: O valor configurado em `intlayer.config.*` ou `https://intlayer.org`
72
+ - **Exemplo**:
73
+
74
+ ```bash
75
+ npx intlayer login --cms-url https://intlayer.org
76
+ ```
77
+
78
+ ### Opções de Configuração
79
+
80
+ Você também pode usar opções de configuração comuns:
81
+
82
+ - `--env-file <path>`: Caminho para o arquivo de ambiente
83
+ - `-e, --env <env>`: Ambiente de execução
84
+ - `--base-dir <dir>`: Diretório base do projeto
85
+ - `--verbose`: Habilitar saída detalhada (padrão: true)
86
+ - `--prefix <prefix>`: Prefixo para os logs
87
+
88
+ ## Como Funciona
89
+
90
+ 1. **Inicialização do Servidor Local**: O comando inicia um servidor HTTP local em uma porta aleatória para receber as credenciais do CMS
91
+ 2. **Abertura do Navegador**: O comando abre automaticamente o seu navegador padrão na URL de login do CMS
92
+ 3. **Autenticação**: Complete a autenticação no navegador usando sua conta Intlayer
93
+ 4. **Recepção das Credenciais**: O servidor local recebe o Client ID e o Client Secret do CMS
94
+ 5. **Instruções**: O comando exibe instruções para configurar as credenciais no seu projeto
95
+
96
+ ## Saída
97
+
98
+ Após um login bem-sucedido, o comando exibirá:
99
+
100
+ 1. **As credenciais recebidas** (Client ID e Client Secret)
101
+ 2. **Instruções para o arquivo `.env`:**
102
+
103
+ ```bash
104
+ INTLAYER_CLIENT_ID=your_client_id
105
+ INTLAYER_CLIENT_SECRET=your_client_secret
106
+ ```
107
+
108
+ 3. **Instruções para o arquivo de configuração do Intlayer**:
109
+
110
+ ```typescript
111
+ {
112
+ editor: {
113
+ cmsURL: 'https://intlayer.org',
114
+ clientId: process.env.INTLAYER_CLIENT_ID,
115
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
116
+ },
117
+ }
118
+ clientId: process.env.INTLAYER_CLIENT_ID,
119
+ clientSecret: process.env.INTLAYER_CLIENT_SECRET,
120
+ },
121
+ }
122
+ ```
123
+
124
+ ## Configuração Manual
125
+
126
+ Se o navegador não abrir automaticamente, você pode visitar manualmente a URL exibida no terminal.
127
+
128
+ ## Exemplos
129
+
130
+ ### Login com URL do CMS personalizado
131
+
132
+ ```bash
133
+ npx intlayer login --cms-url https://custom-cms.example.com
134
+ ```
135
+
136
+ ### Login com Arquivo de Ambiente Específico
137
+
138
+ ```bash
139
+ npx intlayer login --env-file .env.production
140
+ ```
141
+
142
+ ### Login em Modo Verbose
143
+
144
+ ```bash
145
+ npx intlayer login --verbose
146
+ ```
147
+
148
+ ## Solução de Problemas
149
+
150
+ ### Navegador Não Abre
151
+
152
+ Se o navegador não abrir automaticamente, copie a URL exibida no terminal e abra-a manualmente no seu navegador.
153
+
154
+ ### Problemas de Conexão
155
+
156
+ Se você encontrar problemas de conexão, verifique:
157
+
158
+ 1. Que a URL do CMS esteja correta
159
+ 2. Que sua conexão com a internet esteja funcionando corretamente
160
+ 3. Que não haja firewalls bloqueando a conexão
161
+
162
+ ### Credenciais não recebidas
163
+
164
+ Se as credenciais não forem recebidas:
165
+
166
+ 1. Certifique-se de que você concluiu o processo de autenticação no navegador
167
+ 2. Verifique se a porta local não está bloqueada
168
+ 3. Tente executar o comando novamente
169
+
170
+ ## Próximos passos
171
+
172
+ Após completar o login:
173
+
174
+ 1. Adicione as credenciais ao seu arquivo `.env`
175
+ 2. Configure seu arquivo `intlayer.config.*` com as credenciais
176
+ 3. Use comandos da CLI para gerenciar seus dicionários:
177
+ - [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/push.md) - Fazer push de dicionários para o CMS
178
+ - [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/pull.md) - Fazer pull de dicionários do CMS
179
+
180
+ - [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/fill.md) - Preencher traduções faltantes
181
+
182
+ ## Veja também
183
+
184
+ - [Documentação da CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/cli/index.md)
185
+ - [Configuração do Intlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md)
186
+ - [Intlayer CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/intlayer_CMS.md)
@@ -14,6 +14,9 @@ slugs:
14
14
  - concept
15
15
  - configuration
16
16
  history:
17
+ - version: 7.5.0
18
+ date: 2025-12-17
19
+ changes: Adicionar opção `buildMode`
17
20
  - version: 6.0.0
18
21
  date: 2025-09-16
19
22
  changes: Adicionado modo de importação `live`
@@ -524,6 +527,15 @@ As opções de build se aplicam aos plugins `@intlayer/babel` e `@intlayer/swc`.
524
527
 
525
528
  #### Propriedades
526
529
 
530
+ - **mode**:
531
+ - _Tipo_: `'auto' | 'manual'`
532
+ - _Padrão_: `'auto'`
533
+ - _Descrição_: Controla o modo da build.
534
+ - _Exemplo_: `'manual'`
535
+ - _Nota_: Se 'auto', a build será habilitada automaticamente quando a aplicação for construída.
536
+ - _Nota_: Se 'manual', a build será definida apenas quando o comando de build for executado.
537
+ - _Nota_: Pode ser usado para desabilitar a build de dicionários, por exemplo quando a execução em um ambiente Node.js deve ser evitada.
538
+
527
539
  - **optimize**:
528
540
  - _Tipo_: `boolean`
529
541
  - _Padrão_: `process.env.NODE_ENV === 'production'`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
- updatedAt: 2025-09-20
3
+ updatedAt: 2025-12-13
4
4
  title: Arquivo de Conteúdo
5
5
  description: Aprenda como personalizar as extensões para seus arquivos de declaração de conteúdo. Siga esta documentação para implementar condições de forma eficiente em seu projeto.
6
6
  keywords:
@@ -12,6 +12,9 @@ slugs:
12
12
  - concept
13
13
  - content
14
14
  history:
15
+ - version: 7.5.0
16
+ date: 2025-12-13
17
+ changes: Adicionado suporte para formatos ICU e i18next
15
18
  - version: 6.0.0
16
19
  date: 2025-09-20
17
20
  changes: Adição da documentação dos campos
@@ -387,6 +390,26 @@ Array de strings para categorizar e organizar dicionários. As tags fornecem con
387
390
  }
388
391
  ```
389
392
 
393
+ #### `format` ('intlayer' | 'icu' | 'i18next')
394
+
395
+ Especifica o formatador a ser usado para o conteúdo do dicionário. Isso permite usar diferentes sintaxes de formatação de mensagens.
396
+
397
+ - `'intlayer'`: O formatador Intlayer padrão.
398
+ - `'icu'`: Usa formatação de mensagens ICU.
399
+ - `'i18next'`: Usa formatação de mensagens i18next.
400
+
401
+ **Exemplo:**
402
+
403
+ ```typescript
404
+ {
405
+ key: "my-dictionary",
406
+ format: "icu",
407
+ content: {
408
+ message: "Hello {name}, you have {count, plural, one {# message} other {# messages}}"
409
+ }
410
+ }
411
+ ```
412
+
390
413
  #### `locale` (LocalesValues)
391
414
 
392
415
  Transforma o dicionário em um dicionário por localidade onde cada campo declarado no conteúdo será automaticamente transformado em um nó de tradução. Quando essa propriedade é definida:
@@ -2,7 +2,7 @@
2
2
  createdAt: 2024-03-07
3
3
  updatedAt: 2025-10-03
4
4
  title: Como traduzir seu Astro – guia i18n 2025
5
- description: Aprenda como adicionar internacionalização (i18n) à sua aplicação Vite e React usando Intlayer. Siga este guia para tornar seu app multilíngue.
5
+ description: Aprenda como adicionar internacionalização (i18n) ao seu site Astro usando Intlayer. Siga este guia para tornar seu site multilíngue.
6
6
  keywords:
7
7
  - Internacionalização
8
8
  - Documentação
@@ -2,7 +2,7 @@
2
2
  createdAt: 2024-08-11
3
3
  updatedAt: 2025-06-29
4
4
  title: Como traduzir seu Express backend – guia i18n 2025
5
- description: Descubra como tornar seu backend vite multilíngue. Siga a documentação para internacionalizar (i18n) e traduzi-lo.
5
+ description: Descubra como tornar seu backend Express multilíngue. Siga a documentação para internacionalizar (i18n) e traduzi-lo.
6
6
  keywords:
7
7
  - Internacionalização
8
8
  - Documentação
@@ -2,7 +2,7 @@
2
2
  createdAt: 2025-09-09
3
3
  updatedAt: 2025-09-09
4
4
  title: Como traduzir seu Nest backend – guia i18n 2025
5
- description: Descubra como tornar seu backend vite multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
5
+ description: Descubra como tornar seu backend NestJS multilíngue. Siga a documentação para internacionalizar (i18n) e traduzir.
6
6
  keywords:
7
7
  - Internacionalização
8
8
  - Documentação
@@ -580,6 +580,7 @@ const config: IntlayerConfig = {
580
580
  },
581
581
  plugins: [
582
582
  syncJSON({
583
+ format: "i18next",
583
584
  source: ({ locale }) => `./locales/${locale}.json`,
584
585
  }),
585
586
  ],
@@ -419,6 +419,7 @@ const config: IntlayerConfig = {
419
419
  plugins: [
420
420
  // Mantenha sua estrutura de pastas por namespace sincronizada com o Intlayer
421
421
  syncJSON({
422
+ format: "icu",
422
423
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
423
424
  }),
424
425
  ],