@intlayer/docs 7.0.7 → 7.0.8

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 (726) hide show
  1. package/blog/ar/i18n_using_next-i18next.md +1068 -0
  2. package/blog/ar/i18n_using_next-intl.md +768 -0
  3. package/blog/ar/intlayer_with_react-intl.md +0 -4
  4. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +5 -4
  5. package/blog/de/i18n_using_next-i18next.md +1107 -0
  6. package/blog/de/i18n_using_next-intl.md +760 -0
  7. package/blog/de/intlayer_with_react-intl.md +0 -4
  8. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  9. package/blog/en/i18n_using_next-i18next.md +1073 -0
  10. package/blog/en/i18n_using_next-intl.md +757 -0
  11. package/blog/en/intlayer_with_i18next.md +71 -8
  12. package/blog/en/intlayer_with_next-i18next.md +71 -8
  13. package/blog/en/intlayer_with_next-intl.md +71 -8
  14. package/blog/en/intlayer_with_react-i18next.md +69 -8
  15. package/blog/en/intlayer_with_react-intl.md +68 -9
  16. package/blog/en/intlayer_with_vue-i18n.md +68 -7
  17. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  18. package/blog/en/vue-i18n_vs_intlayer.md +2 -0
  19. package/blog/en-GB/i18n_using_next-i18next.md +1074 -0
  20. package/blog/en-GB/i18n_using_next-intl.md +757 -0
  21. package/blog/en-GB/intlayer_with_i18next.md +15 -6
  22. package/blog/en-GB/intlayer_with_next-i18next.md +16 -6
  23. package/blog/en-GB/intlayer_with_next-intl.md +16 -6
  24. package/blog/en-GB/intlayer_with_react-i18next.md +16 -7
  25. package/blog/en-GB/intlayer_with_react-intl.md +14 -9
  26. package/blog/en-GB/intlayer_with_vue-i18n.md +16 -7
  27. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  28. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  29. package/blog/en-GB/vue-i18n_vs_intlayer.md +2 -0
  30. package/blog/es/i18n_using_next-i18next.md +1066 -0
  31. package/blog/es/i18n_using_next-intl.md +757 -0
  32. package/blog/es/intlayer_with_react-intl.md +0 -4
  33. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  34. package/blog/fr/i18n_using_next-i18next.md +1078 -0
  35. package/blog/fr/i18n_using_next-intl.md +759 -0
  36. package/blog/fr/intlayer_with_react-intl.md +0 -4
  37. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  38. package/blog/hi/i18n_using_next-i18next.md +1068 -0
  39. package/blog/hi/i18n_using_next-intl.md +758 -0
  40. package/blog/hi/intlayer_with_react-intl.md +0 -4
  41. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  42. package/blog/id/i18n_using_next-i18next.md +1078 -0
  43. package/blog/id/i18n_using_next-intl.md +757 -0
  44. package/blog/id/index.md +69 -0
  45. package/blog/id/internationalization_and_SEO.md +364 -0
  46. package/blog/id/intlayer_with_react-intl.md +0 -4
  47. package/blog/id/list_i18n_technologies/CMS/drupal.md +143 -0
  48. package/blog/id/list_i18n_technologies/CMS/wix.md +167 -0
  49. package/blog/id/list_i18n_technologies/CMS/wordpress.md +188 -0
  50. package/blog/id/list_i18n_technologies/frameworks/angular.md +125 -0
  51. package/blog/id/list_i18n_technologies/frameworks/flutter.md +150 -0
  52. package/blog/id/list_i18n_technologies/frameworks/react-native.md +217 -0
  53. package/blog/id/list_i18n_technologies/frameworks/react.md +155 -0
  54. package/blog/id/list_i18n_technologies/frameworks/svelte.md +131 -0
  55. package/blog/id/list_i18n_technologies/frameworks/vue.md +130 -0
  56. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1500 -0
  57. package/blog/id/nextjs-multilingual-seo-comparison.md +361 -0
  58. package/blog/id/rag_powered_documentation_assistant.md +288 -0
  59. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  60. package/blog/id/vue-i18n_vs_intlayer.md +278 -0
  61. package/blog/id/what_is_internationalization.md +166 -0
  62. package/blog/it/i18n_using_next-i18next.md +1078 -0
  63. package/blog/it/i18n_using_next-intl.md +758 -0
  64. package/blog/it/intlayer_with_react-intl.md +0 -4
  65. package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +4 -0
  66. package/blog/it/vue-i18n_vs_intlayer.md +2 -0
  67. package/blog/ja/i18n_using_next-i18next.md +1078 -0
  68. package/blog/ja/i18n_using_next-intl.md +758 -0
  69. package/blog/ja/intlayer_with_react-intl.md +0 -4
  70. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  71. package/blog/ko/i18n_using_next-i18next.md +1075 -0
  72. package/blog/ko/i18n_using_next-intl.md +759 -0
  73. package/blog/ko/intlayer_with_react-intl.md +0 -4
  74. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  75. package/blog/pl/i18n_using_next-i18next.md +1078 -0
  76. package/blog/pl/i18n_using_next-intl.md +758 -0
  77. package/blog/pl/index.md +69 -0
  78. package/blog/pl/internationalization_and_SEO.md +363 -0
  79. package/blog/pl/intlayer_with_react-intl.md +0 -4
  80. package/blog/pl/list_i18n_technologies/CMS/drupal.md +143 -0
  81. package/blog/pl/list_i18n_technologies/CMS/wix.md +167 -0
  82. package/blog/pl/list_i18n_technologies/CMS/wordpress.md +196 -0
  83. package/blog/pl/list_i18n_technologies/frameworks/angular.md +125 -0
  84. package/blog/pl/list_i18n_technologies/frameworks/flutter.md +151 -0
  85. package/blog/pl/list_i18n_technologies/frameworks/react-native.md +217 -0
  86. package/blog/pl/list_i18n_technologies/frameworks/react.md +155 -0
  87. package/blog/pl/list_i18n_technologies/frameworks/svelte.md +131 -0
  88. package/blog/pl/list_i18n_technologies/frameworks/vue.md +130 -0
  89. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1501 -0
  90. package/blog/pl/nextjs-multilingual-seo-comparison.md +362 -0
  91. package/blog/pl/rag_powered_documentation_assistant.md +288 -0
  92. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  93. package/blog/pl/vue-i18n_vs_intlayer.md +278 -0
  94. package/blog/pl/what_is_internationalization.md +167 -0
  95. package/blog/pt/i18n_using_next-i18next.md +1067 -0
  96. package/blog/pt/i18n_using_next-intl.md +760 -0
  97. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  98. package/blog/ru/i18n_using_next-i18next.md +1106 -0
  99. package/blog/ru/i18n_using_next-intl.md +759 -0
  100. package/blog/ru/intlayer_with_react-intl.md +0 -4
  101. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  102. package/blog/tr/i18n_using_next-i18next.md +1078 -0
  103. package/blog/tr/i18n_using_next-intl.md +760 -0
  104. package/blog/tr/intlayer_with_react-intl.md +0 -4
  105. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  106. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  107. package/blog/tr/vue-i18n_vs_intlayer.md +2 -0
  108. package/blog/vi/i18n_using_next-i18next.md +1080 -0
  109. package/blog/vi/i18n_using_next-intl.md +758 -0
  110. package/blog/vi/index.md +69 -0
  111. package/blog/vi/internationalization_and_SEO.md +363 -0
  112. package/blog/vi/intlayer_with_react-intl.md +0 -4
  113. package/blog/vi/list_i18n_technologies/CMS/drupal.md +143 -0
  114. package/blog/vi/list_i18n_technologies/CMS/wix.md +167 -0
  115. package/blog/vi/list_i18n_technologies/CMS/wordpress.md +188 -0
  116. package/blog/vi/list_i18n_technologies/frameworks/angular.md +125 -0
  117. package/blog/vi/list_i18n_technologies/frameworks/flutter.md +150 -0
  118. package/blog/vi/list_i18n_technologies/frameworks/react-native.md +217 -0
  119. package/blog/vi/list_i18n_technologies/frameworks/react.md +155 -0
  120. package/blog/vi/list_i18n_technologies/frameworks/svelte.md +131 -0
  121. package/blog/vi/list_i18n_technologies/frameworks/vue.md +130 -0
  122. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1520 -0
  123. package/blog/vi/nextjs-multilingual-seo-comparison.md +362 -0
  124. package/blog/vi/rag_powered_documentation_assistant.md +288 -0
  125. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  126. package/blog/vi/vue-i18n_vs_intlayer.md +278 -0
  127. package/blog/vi/what_is_internationalization.md +168 -0
  128. package/blog/zh/i18n_using_next-i18next.md +1105 -0
  129. package/blog/zh/i18n_using_next-intl.md +758 -0
  130. package/blog/zh/intlayer_with_react-intl.md +0 -4
  131. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  132. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  133. package/dist/cjs/common.cjs +0 -4
  134. package/dist/cjs/common.cjs.map +1 -1
  135. package/dist/cjs/generated/blog.entry.cjs +38 -6
  136. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  137. package/dist/cjs/generated/docs.entry.cjs +0 -6
  138. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  139. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -6
  140. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  141. package/dist/cjs/generated/legal.entry.cjs +0 -6
  142. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  143. package/dist/esm/generated/blog.entry.mjs +38 -0
  144. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  145. package/dist/types/generated/blog.entry.d.ts +2 -0
  146. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  147. package/docs/ar/component_i18n.md +1 -1
  148. package/docs/ar/configuration.md +6 -0
  149. package/docs/ar/intlayer_cli.md +8 -3
  150. package/docs/ar/intlayer_with_next-i18next.md +619 -0
  151. package/docs/ar/intlayer_with_next-intl.md +446 -0
  152. package/docs/ar/intlayer_with_nextjs_16.md +21 -0
  153. package/docs/ar/intlayer_with_tanstack.md +4 -0
  154. package/docs/ar/intlayer_with_vite+react.md +4 -0
  155. package/docs/de/component_i18n.md +1 -1
  156. package/docs/de/configuration.md +6 -0
  157. package/docs/de/intlayer_cli.md +8 -3
  158. package/docs/de/intlayer_with_next-i18next.md +627 -0
  159. package/docs/de/intlayer_with_next-intl.md +451 -0
  160. package/docs/de/intlayer_with_nextjs_16.md +21 -0
  161. package/docs/de/intlayer_with_tanstack.md +4 -0
  162. package/docs/de/intlayer_with_vite+react.md +4 -0
  163. package/docs/en/component_i18n.md +1 -1
  164. package/docs/en/intlayer_cli.md +8 -1
  165. package/docs/en/intlayer_with_astro.md +10 -2
  166. package/docs/en/intlayer_with_create_react_app.md +8 -0
  167. package/docs/en/intlayer_with_lynx+react.md +8 -0
  168. package/docs/en/intlayer_with_nestjs.md +10 -0
  169. package/docs/en/intlayer_with_nextjs_14.md +10 -2
  170. package/docs/en/intlayer_with_nextjs_15.md +21 -4
  171. package/docs/en/intlayer_with_nextjs_16.md +17 -0
  172. package/docs/en/intlayer_with_nuxt.md +8 -0
  173. package/docs/en/intlayer_with_react_native+expo.md +10 -2
  174. package/docs/en/intlayer_with_react_router_v7.md +8 -0
  175. package/docs/en/intlayer_with_tanstack.md +10 -0
  176. package/docs/en/intlayer_with_vite+preact.md +10 -2
  177. package/docs/en/intlayer_with_vite+react.md +21 -4
  178. package/docs/en/intlayer_with_vite+vue.md +10 -2
  179. package/docs/en-GB/component_i18n.md +1 -1
  180. package/docs/en-GB/configuration.md +6 -0
  181. package/docs/en-GB/intlayer_cli.md +8 -3
  182. package/docs/en-GB/intlayer_with_angular.md +4 -4
  183. package/docs/en-GB/intlayer_with_express.md +4 -4
  184. package/docs/en-GB/intlayer_with_lynx+react.md +12 -12
  185. package/{blog/en/_intlayer_with_next-i18next.md → docs/en-GB/intlayer_with_next-i18next.md} +241 -42
  186. package/{blog/en/_intlayer_with_next-intl.md → docs/en-GB/intlayer_with_next-intl.md} +144 -29
  187. package/docs/en-GB/intlayer_with_nextjs_16.md +21 -0
  188. package/docs/en-GB/intlayer_with_tanstack.md +5 -1
  189. package/docs/en-GB/intlayer_with_vite+react.md +4 -0
  190. package/docs/en-GB/packages/next-intlayer/t.md +2 -2
  191. package/docs/es/component_i18n.md +1 -1
  192. package/docs/es/configuration.md +6 -0
  193. package/docs/es/intlayer_cli.md +8 -3
  194. package/docs/es/intlayer_with_next-i18next.md +628 -0
  195. package/docs/es/intlayer_with_next-intl.md +446 -0
  196. package/docs/es/intlayer_with_nextjs_16.md +21 -0
  197. package/docs/es/intlayer_with_tanstack.md +4 -0
  198. package/docs/es/intlayer_with_vite+react.md +4 -0
  199. package/docs/fr/configuration.md +6 -0
  200. package/docs/fr/intlayer_cli.md +8 -3
  201. package/docs/fr/intlayer_with_next-i18next.md +628 -0
  202. package/docs/fr/intlayer_with_next-intl.md +446 -0
  203. package/docs/fr/intlayer_with_nextjs_16.md +23 -2
  204. package/docs/fr/intlayer_with_tanstack.md +4 -0
  205. package/docs/fr/intlayer_with_vite+react.md +4 -0
  206. package/docs/hi/component_i18n.md +1 -1
  207. package/docs/hi/configuration.md +6 -0
  208. package/docs/hi/intlayer_cli.md +8 -0
  209. package/docs/hi/intlayer_with_next-i18next.md +628 -0
  210. package/docs/hi/intlayer_with_next-intl.md +446 -0
  211. package/docs/hi/intlayer_with_nextjs_16.md +21 -0
  212. package/docs/hi/intlayer_with_tanstack.md +4 -0
  213. package/docs/hi/intlayer_with_vite+react.md +4 -0
  214. package/docs/id/CI_CD.md +198 -0
  215. package/docs/id/autoFill.md +284 -0
  216. package/docs/id/component_i18n.md +186 -0
  217. package/docs/id/configuration.md +710 -0
  218. package/docs/id/dictionary/condition.md +231 -0
  219. package/docs/id/dictionary/content_file.md +1092 -0
  220. package/docs/id/dictionary/enumeration.md +245 -0
  221. package/docs/id/dictionary/file.md +237 -0
  222. package/docs/id/dictionary/function_fetching.md +214 -0
  223. package/docs/id/dictionary/gender.md +273 -0
  224. package/docs/id/dictionary/insertion.md +192 -0
  225. package/docs/id/dictionary/markdown.md +381 -0
  226. package/docs/id/dictionary/nesting.md +273 -0
  227. package/docs/id/dictionary/translation.md +310 -0
  228. package/docs/id/formatters.md +596 -0
  229. package/docs/id/how_works_intlayer.md +256 -0
  230. package/docs/id/index.md +176 -0
  231. package/docs/id/interest_of_intlayer.md +293 -0
  232. package/docs/id/intlayer_CMS.md +549 -0
  233. package/docs/id/intlayer_cli.md +850 -0
  234. package/docs/id/intlayer_visual_editor.md +288 -0
  235. package/docs/id/intlayer_with_angular.md +694 -0
  236. package/docs/id/intlayer_with_astro.md +252 -0
  237. package/docs/id/intlayer_with_create_react_app.md +1233 -0
  238. package/docs/id/intlayer_with_express.md +411 -0
  239. package/docs/id/intlayer_with_lynx+react.md +518 -0
  240. package/docs/id/intlayer_with_nestjs.md +272 -0
  241. package/docs/id/intlayer_with_next-i18next.md +628 -0
  242. package/docs/id/intlayer_with_next-intl.md +446 -0
  243. package/docs/id/intlayer_with_nextjs_14.md +1617 -0
  244. package/docs/id/intlayer_with_nextjs_15.md +1698 -0
  245. package/docs/id/intlayer_with_nextjs_16.md +21 -0
  246. package/docs/id/intlayer_with_nextjs_page_router.md +1478 -0
  247. package/docs/id/intlayer_with_nuxt.md +808 -0
  248. package/docs/id/intlayer_with_react_native+expo.md +699 -0
  249. package/docs/id/intlayer_with_react_router_v7.md +496 -0
  250. package/docs/id/intlayer_with_tanstack.md +564 -0
  251. package/docs/id/intlayer_with_vite+preact.md +1737 -0
  252. package/docs/id/intlayer_with_vite+react.md +1413 -0
  253. package/docs/id/intlayer_with_vite+solid.md +289 -0
  254. package/docs/id/intlayer_with_vite+svelte.md +289 -0
  255. package/docs/id/intlayer_with_vite+vue.md +1088 -0
  256. package/docs/id/introduction.md +218 -0
  257. package/docs/id/locale_mapper.md +242 -0
  258. package/docs/id/mcp_server.md +211 -0
  259. package/docs/id/packages/express-intlayer/t.md +458 -0
  260. package/docs/id/packages/intlayer/getConfiguration.md +145 -0
  261. package/docs/id/packages/intlayer/getEnumeration.md +159 -0
  262. package/docs/id/packages/intlayer/getHTMLTextDir.md +122 -0
  263. package/docs/id/packages/intlayer/getLocaleLang.md +81 -0
  264. package/docs/id/packages/intlayer/getLocaleName.md +119 -0
  265. package/docs/id/packages/intlayer/getLocalizedUrl.md +309 -0
  266. package/docs/id/packages/intlayer/getMultilingualUrls.md +223 -0
  267. package/docs/id/packages/intlayer/getPathWithoutLocale.md +75 -0
  268. package/docs/id/packages/intlayer/getTranslation.md +190 -0
  269. package/docs/id/packages/intlayer/getTranslationContent.md +188 -0
  270. package/docs/id/packages/next-intlayer/t.md +352 -0
  271. package/docs/id/packages/next-intlayer/useDictionary.md +271 -0
  272. package/docs/id/packages/next-intlayer/useIntlayer.md +264 -0
  273. package/docs/id/packages/next-intlayer/useLocale.md +166 -0
  274. package/docs/id/packages/react-intlayer/t.md +303 -0
  275. package/docs/id/packages/react-intlayer/useDictionary.md +287 -0
  276. package/docs/id/packages/react-intlayer/useI18n.md +267 -0
  277. package/docs/id/packages/react-intlayer/useIntlayer.md +254 -0
  278. package/docs/id/packages/react-intlayer/useLocale.md +210 -0
  279. package/docs/id/per_locale_file.md +323 -0
  280. package/docs/id/readme.md +261 -0
  281. package/docs/id/releases/v6.md +305 -0
  282. package/docs/id/roadmap.md +362 -0
  283. package/docs/id/testing.md +202 -0
  284. package/docs/id/vs_code_extension.md +126 -0
  285. package/docs/it/component_i18n.md +1 -1
  286. package/docs/it/configuration.md +6 -0
  287. package/docs/it/intlayer_cli.md +8 -3
  288. package/docs/it/intlayer_with_next-i18next.md +628 -0
  289. package/docs/it/intlayer_with_next-intl.md +446 -0
  290. package/docs/it/intlayer_with_nextjs_16.md +21 -0
  291. package/docs/it/intlayer_with_tanstack.md +4 -0
  292. package/docs/it/intlayer_with_vite+react.md +4 -0
  293. package/docs/ja/component_i18n.md +1 -1
  294. package/docs/ja/configuration.md +6 -0
  295. package/docs/ja/intlayer_cli.md +8 -3
  296. package/docs/ja/intlayer_with_next-i18next.md +627 -0
  297. package/docs/ja/intlayer_with_next-intl.md +446 -0
  298. package/docs/ja/intlayer_with_nextjs_16.md +21 -0
  299. package/docs/ja/intlayer_with_tanstack.md +4 -0
  300. package/docs/ja/intlayer_with_vite+react.md +4 -0
  301. package/docs/ko/configuration.md +6 -0
  302. package/docs/ko/intlayer_cli.md +8 -3
  303. package/docs/ko/intlayer_with_next-i18next.md +627 -0
  304. package/docs/ko/intlayer_with_next-intl.md +446 -0
  305. package/docs/ko/intlayer_with_nextjs_16.md +21 -0
  306. package/docs/ko/intlayer_with_tanstack.md +4 -0
  307. package/docs/ko/intlayer_with_vite+react.md +4 -0
  308. package/docs/pl/CI_CD.md +198 -0
  309. package/docs/pl/autoFill.md +284 -0
  310. package/docs/pl/component_i18n.md +186 -0
  311. package/docs/pl/configuration.md +710 -0
  312. package/docs/pl/dictionary/condition.md +232 -0
  313. package/docs/pl/dictionary/content_file.md +1130 -0
  314. package/docs/pl/dictionary/enumeration.md +245 -0
  315. package/docs/pl/dictionary/file.md +234 -0
  316. package/docs/pl/dictionary/function_fetching.md +214 -0
  317. package/docs/pl/dictionary/gender.md +276 -0
  318. package/docs/pl/dictionary/insertion.md +188 -0
  319. package/docs/pl/dictionary/markdown.md +408 -0
  320. package/docs/pl/dictionary/nesting.md +273 -0
  321. package/docs/pl/dictionary/translation.md +310 -0
  322. package/docs/pl/formatters.md +596 -0
  323. package/docs/pl/how_works_intlayer.md +256 -0
  324. package/docs/pl/index.md +176 -0
  325. package/docs/pl/interest_of_intlayer.md +291 -0
  326. package/docs/pl/intlayer_CMS.md +549 -0
  327. package/docs/pl/intlayer_cli.md +857 -0
  328. package/docs/pl/intlayer_visual_editor.md +288 -0
  329. package/docs/pl/intlayer_with_angular.md +690 -0
  330. package/docs/pl/intlayer_with_astro.md +280 -0
  331. package/docs/pl/intlayer_with_create_react_app.md +1235 -0
  332. package/docs/pl/intlayer_with_express.md +411 -0
  333. package/docs/pl/intlayer_with_lynx+react.md +518 -0
  334. package/docs/pl/intlayer_with_nestjs.md +272 -0
  335. package/docs/pl/intlayer_with_next-i18next.md +628 -0
  336. package/docs/pl/intlayer_with_next-intl.md +446 -0
  337. package/docs/pl/intlayer_with_nextjs_14.md +1594 -0
  338. package/docs/pl/intlayer_with_nextjs_15.md +1701 -0
  339. package/docs/pl/intlayer_with_nextjs_16.md +21 -0
  340. package/docs/pl/intlayer_with_nextjs_page_router.md +1513 -0
  341. package/docs/pl/intlayer_with_nuxt.md +885 -0
  342. package/docs/pl/intlayer_with_react_native+expo.md +698 -0
  343. package/docs/pl/intlayer_with_react_router_v7.md +503 -0
  344. package/docs/pl/intlayer_with_tanstack.md +562 -0
  345. package/docs/pl/intlayer_with_vite+preact.md +1736 -0
  346. package/docs/pl/intlayer_with_vite+react.md +1438 -0
  347. package/docs/pl/intlayer_with_vite+solid.md +290 -0
  348. package/docs/pl/intlayer_with_vite+svelte.md +289 -0
  349. package/docs/pl/intlayer_with_vite+vue.md +1116 -0
  350. package/docs/pl/introduction.md +209 -0
  351. package/docs/pl/locale_mapper.md +242 -0
  352. package/docs/pl/mcp_server.md +211 -0
  353. package/docs/pl/packages/express-intlayer/t.md +458 -0
  354. package/docs/pl/packages/intlayer/getConfiguration.md +146 -0
  355. package/docs/pl/packages/intlayer/getEnumeration.md +160 -0
  356. package/docs/pl/packages/intlayer/getHTMLTextDir.md +121 -0
  357. package/docs/pl/packages/intlayer/getLocaleLang.md +81 -0
  358. package/docs/pl/packages/intlayer/getLocaleName.md +118 -0
  359. package/docs/pl/packages/intlayer/getLocalizedUrl.md +300 -0
  360. package/docs/pl/packages/intlayer/getMultilingualUrls.md +221 -0
  361. package/docs/pl/packages/intlayer/getPathWithoutLocale.md +75 -0
  362. package/docs/pl/packages/intlayer/getTranslation.md +190 -0
  363. package/docs/pl/packages/intlayer/getTranslationContent.md +189 -0
  364. package/docs/pl/packages/next-intlayer/t.md +353 -0
  365. package/docs/pl/packages/next-intlayer/useDictionary.md +270 -0
  366. package/docs/pl/packages/next-intlayer/useIntlayer.md +263 -0
  367. package/docs/pl/packages/next-intlayer/useLocale.md +166 -0
  368. package/docs/pl/packages/react-intlayer/t.md +303 -0
  369. package/docs/pl/packages/react-intlayer/useDictionary.md +289 -0
  370. package/docs/pl/packages/react-intlayer/useI18n.md +249 -0
  371. package/docs/pl/packages/react-intlayer/useIntlayer.md +256 -0
  372. package/docs/pl/packages/react-intlayer/useLocale.md +210 -0
  373. package/docs/pl/per_locale_file.md +321 -0
  374. package/docs/pl/readme.md +261 -0
  375. package/docs/pl/releases/v6.md +305 -0
  376. package/docs/pl/roadmap.md +362 -0
  377. package/docs/pl/testing.md +202 -0
  378. package/docs/pl/vs_code_extension.md +126 -0
  379. package/docs/pt/component_i18n.md +1 -1
  380. package/docs/pt/configuration.md +6 -0
  381. package/docs/pt/intlayer_cli.md +8 -3
  382. package/docs/pt/intlayer_with_next-i18next.md +627 -0
  383. package/docs/pt/intlayer_with_next-intl.md +446 -0
  384. package/docs/pt/intlayer_with_nextjs_16.md +21 -0
  385. package/docs/pt/intlayer_with_tanstack.md +4 -0
  386. package/docs/pt/intlayer_with_vite+react.md +4 -0
  387. package/docs/ru/component_i18n.md +1 -1
  388. package/docs/ru/configuration.md +6 -0
  389. package/docs/ru/intlayer_cli.md +301 -22
  390. package/docs/ru/intlayer_with_next-i18next.md +629 -0
  391. package/docs/ru/intlayer_with_next-intl.md +448 -0
  392. package/docs/ru/intlayer_with_nextjs_16.md +21 -0
  393. package/docs/ru/intlayer_with_tanstack.md +4 -0
  394. package/docs/ru/intlayer_with_vite+react.md +4 -0
  395. package/docs/tr/component_i18n.md +1 -1
  396. package/docs/tr/configuration.md +6 -0
  397. package/docs/tr/intlayer_cli.md +8 -0
  398. package/docs/tr/intlayer_with_next-i18next.md +627 -0
  399. package/docs/tr/intlayer_with_next-intl.md +446 -0
  400. package/docs/tr/intlayer_with_nextjs_16.md +21 -0
  401. package/docs/tr/intlayer_with_tanstack.md +4 -0
  402. package/docs/tr/intlayer_with_vite+react.md +4 -0
  403. package/docs/vi/CI_CD.md +198 -0
  404. package/docs/vi/autoFill.md +284 -0
  405. package/docs/vi/component_i18n.md +186 -0
  406. package/docs/vi/configuration.md +710 -0
  407. package/docs/vi/dictionary/condition.md +237 -0
  408. package/docs/vi/dictionary/content_file.md +1115 -0
  409. package/docs/vi/dictionary/enumeration.md +255 -0
  410. package/docs/vi/dictionary/file.md +234 -0
  411. package/docs/vi/dictionary/function_fetching.md +212 -0
  412. package/docs/vi/dictionary/gender.md +275 -0
  413. package/docs/vi/dictionary/insertion.md +191 -0
  414. package/docs/vi/dictionary/markdown.md +381 -0
  415. package/docs/vi/dictionary/nesting.md +273 -0
  416. package/docs/vi/dictionary/translation.md +309 -0
  417. package/docs/vi/formatters.md +595 -0
  418. package/docs/vi/how_works_intlayer.md +256 -0
  419. package/docs/vi/index.md +174 -0
  420. package/docs/vi/interest_of_intlayer.md +292 -0
  421. package/docs/vi/intlayer_CMS.md +549 -0
  422. package/docs/vi/intlayer_cli.md +850 -0
  423. package/docs/vi/intlayer_visual_editor.md +288 -0
  424. package/docs/vi/intlayer_with_angular.md +692 -0
  425. package/docs/vi/intlayer_with_astro.md +252 -0
  426. package/docs/vi/intlayer_with_create_react_app.md +1230 -0
  427. package/docs/vi/intlayer_with_express.md +409 -0
  428. package/docs/vi/intlayer_with_lynx+react.md +520 -0
  429. package/docs/vi/intlayer_with_nestjs.md +272 -0
  430. package/docs/vi/intlayer_with_next-i18next.md +628 -0
  431. package/docs/vi/intlayer_with_next-intl.md +446 -0
  432. package/docs/vi/intlayer_with_nextjs_14.md +1584 -0
  433. package/docs/vi/intlayer_with_nextjs_15.md +1738 -0
  434. package/docs/vi/intlayer_with_nextjs_16.md +21 -0
  435. package/docs/vi/intlayer_with_nextjs_page_router.md +1504 -0
  436. package/docs/vi/intlayer_with_nuxt.md +821 -0
  437. package/docs/vi/intlayer_with_react_native+expo.md +700 -0
  438. package/docs/vi/intlayer_with_react_router_v7.md +498 -0
  439. package/docs/vi/intlayer_with_tanstack.md +562 -0
  440. package/docs/vi/intlayer_with_vite+preact.md +1722 -0
  441. package/docs/vi/intlayer_with_vite+react.md +1407 -0
  442. package/docs/vi/intlayer_with_vite+solid.md +287 -0
  443. package/docs/vi/intlayer_with_vite+svelte.md +289 -0
  444. package/docs/vi/intlayer_with_vite+vue.md +1071 -0
  445. package/docs/vi/introduction.md +215 -0
  446. package/docs/vi/locale_mapper.md +242 -0
  447. package/docs/vi/mcp_server.md +211 -0
  448. package/docs/vi/packages/express-intlayer/t.md +457 -0
  449. package/docs/vi/packages/intlayer/getConfiguration.md +145 -0
  450. package/docs/vi/packages/intlayer/getEnumeration.md +162 -0
  451. package/docs/vi/packages/intlayer/getHTMLTextDir.md +121 -0
  452. package/docs/vi/packages/intlayer/getLocaleLang.md +81 -0
  453. package/docs/vi/packages/intlayer/getLocaleName.md +129 -0
  454. package/docs/vi/packages/intlayer/getLocalizedUrl.md +309 -0
  455. package/docs/vi/packages/intlayer/getMultilingualUrls.md +221 -0
  456. package/docs/vi/packages/intlayer/getPathWithoutLocale.md +75 -0
  457. package/docs/vi/packages/intlayer/getTranslation.md +201 -0
  458. package/docs/vi/packages/intlayer/getTranslationContent.md +188 -0
  459. package/docs/vi/packages/next-intlayer/t.md +352 -0
  460. package/docs/vi/packages/next-intlayer/useDictionary.md +273 -0
  461. package/docs/vi/packages/next-intlayer/useIntlayer.md +264 -0
  462. package/docs/vi/packages/next-intlayer/useLocale.md +166 -0
  463. package/docs/vi/packages/react-intlayer/t.md +304 -0
  464. package/docs/vi/packages/react-intlayer/useDictionary.md +288 -0
  465. package/docs/vi/packages/react-intlayer/useI18n.md +295 -0
  466. package/docs/vi/packages/react-intlayer/useIntlayer.md +256 -0
  467. package/docs/vi/packages/react-intlayer/useLocale.md +210 -0
  468. package/docs/vi/per_locale_file.md +326 -0
  469. package/docs/vi/readme.md +261 -0
  470. package/docs/vi/releases/v6.md +305 -0
  471. package/docs/vi/roadmap.md +346 -0
  472. package/docs/vi/testing.md +202 -0
  473. package/docs/vi/vs_code_extension.md +126 -0
  474. package/docs/zh/configuration.md +6 -0
  475. package/docs/zh/intlayer_cli.md +8 -3
  476. package/docs/zh/intlayer_with_next-i18next.md +628 -0
  477. package/docs/zh/intlayer_with_next-intl.md +448 -0
  478. package/docs/zh/intlayer_with_nextjs_16.md +21 -0
  479. package/docs/zh/intlayer_with_tanstack.md +4 -0
  480. package/docs/zh/intlayer_with_vite+react.md +4 -0
  481. package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -2
  482. package/frequent_questions/ar/array_as_content_declaration.md +1 -2
  483. package/frequent_questions/ar/build_dictionaries.md +1 -2
  484. package/frequent_questions/ar/build_error_CI_CD.md +1 -2
  485. package/frequent_questions/ar/bun_set_up.md +1 -2
  486. package/frequent_questions/ar/customized_locale_list.md +1 -2
  487. package/frequent_questions/ar/domain_routing.md +1 -2
  488. package/frequent_questions/ar/esbuild_error.md +1 -2
  489. package/frequent_questions/ar/get_locale_cookie.md +1 -2
  490. package/frequent_questions/ar/intlayer_command_undefined.md +1 -2
  491. package/frequent_questions/ar/locale_incorect_in_url.md +1 -2
  492. package/frequent_questions/ar/static_rendering.md +1 -3
  493. package/frequent_questions/ar/translated_path_url.md +1 -2
  494. package/frequent_questions/ar/unknown_command.md +1 -2
  495. package/frequent_questions/de/SSR_Next_no_[locale].md +1 -2
  496. package/frequent_questions/de/array_as_content_declaration.md +1 -2
  497. package/frequent_questions/de/build_dictionaries.md +1 -2
  498. package/frequent_questions/de/build_error_CI_CD.md +1 -2
  499. package/frequent_questions/de/bun_set_up.md +1 -2
  500. package/frequent_questions/de/customized_locale_list.md +1 -2
  501. package/frequent_questions/de/domain_routing.md +1 -2
  502. package/frequent_questions/de/esbuild_error.md +1 -2
  503. package/frequent_questions/de/get_locale_cookie.md +1 -2
  504. package/frequent_questions/de/intlayer_command_undefined.md +1 -2
  505. package/frequent_questions/de/locale_incorect_in_url.md +1 -2
  506. package/frequent_questions/de/static_rendering.md +1 -3
  507. package/frequent_questions/de/translated_path_url.md +1 -2
  508. package/frequent_questions/de/unknown_command.md +1 -2
  509. package/frequent_questions/en/SSR_Next_no_[locale].md +1 -2
  510. package/frequent_questions/en/array_as_content_declaration.md +1 -2
  511. package/frequent_questions/en/build_dictionaries.md +1 -2
  512. package/frequent_questions/en/build_error_CI_CD.md +1 -2
  513. package/frequent_questions/en/bun_set_up.md +1 -2
  514. package/frequent_questions/en/customized_locale_list.md +1 -2
  515. package/frequent_questions/en/domain_routing.md +1 -2
  516. package/frequent_questions/en/esbuild_error.md +1 -2
  517. package/frequent_questions/en/get_locale_cookie.md +1 -2
  518. package/frequent_questions/en/intlayer_command_undefined.md +1 -2
  519. package/frequent_questions/en/locale_incorect_in_url.md +1 -2
  520. package/frequent_questions/en/static_rendering.md +1 -3
  521. package/frequent_questions/en/translated_path_url.md +1 -2
  522. package/frequent_questions/en/unknown_command.md +1 -2
  523. package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -2
  524. package/frequent_questions/en-GB/array_as_content_declaration.md +1 -2
  525. package/frequent_questions/en-GB/build_dictionaries.md +1 -2
  526. package/frequent_questions/en-GB/build_error_CI_CD.md +1 -2
  527. package/frequent_questions/en-GB/bun_set_up.md +1 -2
  528. package/frequent_questions/en-GB/customized_locale_list.md +1 -2
  529. package/frequent_questions/en-GB/domain_routing.md +1 -2
  530. package/frequent_questions/en-GB/esbuild_error.md +1 -2
  531. package/frequent_questions/en-GB/get_locale_cookie.md +1 -2
  532. package/frequent_questions/en-GB/intlayer_command_undefined.md +1 -2
  533. package/frequent_questions/en-GB/locale_incorect_in_url.md +1 -2
  534. package/frequent_questions/en-GB/static_rendering.md +1 -3
  535. package/frequent_questions/en-GB/translated_path_url.md +1 -2
  536. package/frequent_questions/en-GB/unknown_command.md +1 -2
  537. package/frequent_questions/es/SSR_Next_no_[locale].md +1 -2
  538. package/frequent_questions/es/array_as_content_declaration.md +1 -2
  539. package/frequent_questions/es/build_dictionaries.md +1 -2
  540. package/frequent_questions/es/build_error_CI_CD.md +1 -2
  541. package/frequent_questions/es/bun_set_up.md +1 -2
  542. package/frequent_questions/es/customized_locale_list.md +1 -2
  543. package/frequent_questions/es/domain_routing.md +1 -2
  544. package/frequent_questions/es/esbuild_error.md +1 -2
  545. package/frequent_questions/es/get_locale_cookie.md +1 -2
  546. package/frequent_questions/es/intlayer_command_undefined.md +1 -2
  547. package/frequent_questions/es/locale_incorect_in_url.md +1 -2
  548. package/frequent_questions/es/static_rendering.md +1 -3
  549. package/frequent_questions/es/translated_path_url.md +1 -2
  550. package/frequent_questions/es/unknown_command.md +1 -2
  551. package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -2
  552. package/frequent_questions/fr/array_as_content_declaration.md +1 -2
  553. package/frequent_questions/fr/build_dictionaries.md +1 -2
  554. package/frequent_questions/fr/build_error_CI_CD.md +1 -2
  555. package/frequent_questions/fr/bun_set_up.md +1 -2
  556. package/frequent_questions/fr/customized_locale_list.md +1 -2
  557. package/frequent_questions/fr/domain_routing.md +1 -2
  558. package/frequent_questions/fr/esbuild_error.md +1 -2
  559. package/frequent_questions/fr/get_locale_cookie.md +1 -2
  560. package/frequent_questions/fr/intlayer_command_undefined.md +1 -2
  561. package/frequent_questions/fr/locale_incorect_in_url.md +1 -2
  562. package/frequent_questions/fr/static_rendering.md +1 -3
  563. package/frequent_questions/fr/translated_path_url.md +1 -2
  564. package/frequent_questions/fr/unknown_command.md +1 -2
  565. package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -2
  566. package/frequent_questions/hi/array_as_content_declaration.md +1 -2
  567. package/frequent_questions/hi/build_dictionaries.md +1 -2
  568. package/frequent_questions/hi/build_error_CI_CD.md +1 -2
  569. package/frequent_questions/hi/bun_set_up.md +1 -2
  570. package/frequent_questions/hi/customized_locale_list.md +1 -2
  571. package/frequent_questions/hi/domain_routing.md +1 -2
  572. package/frequent_questions/hi/esbuild_error.md +1 -2
  573. package/frequent_questions/hi/get_locale_cookie.md +1 -2
  574. package/frequent_questions/hi/intlayer_command_undefined.md +1 -2
  575. package/frequent_questions/hi/locale_incorect_in_url.md +1 -2
  576. package/frequent_questions/hi/static_rendering.md +1 -3
  577. package/frequent_questions/hi/translated_path_url.md +1 -2
  578. package/frequent_questions/hi/unknown_command.md +1 -2
  579. package/frequent_questions/id/SSR_Next_no_[locale].md +104 -0
  580. package/frequent_questions/id/array_as_content_declaration.md +71 -0
  581. package/frequent_questions/id/build_dictionaries.md +58 -0
  582. package/frequent_questions/id/build_error_CI_CD.md +74 -0
  583. package/frequent_questions/id/bun_set_up.md +53 -0
  584. package/frequent_questions/id/customized_locale_list.md +64 -0
  585. package/frequent_questions/id/domain_routing.md +113 -0
  586. package/frequent_questions/id/esbuild_error.md +29 -0
  587. package/frequent_questions/id/get_locale_cookie.md +142 -0
  588. package/frequent_questions/id/intlayer_command_undefined.md +155 -0
  589. package/frequent_questions/id/locale_incorect_in_url.md +73 -0
  590. package/frequent_questions/id/static_rendering.md +44 -0
  591. package/frequent_questions/id/translated_path_url.md +55 -0
  592. package/frequent_questions/id/unknown_command.md +97 -0
  593. package/frequent_questions/it/SSR_Next_no_[locale].md +1 -2
  594. package/frequent_questions/it/array_as_content_declaration.md +1 -2
  595. package/frequent_questions/it/build_dictionaries.md +1 -2
  596. package/frequent_questions/it/build_error_CI_CD.md +1 -2
  597. package/frequent_questions/it/bun_set_up.md +1 -2
  598. package/frequent_questions/it/customized_locale_list.md +1 -2
  599. package/frequent_questions/it/domain_routing.md +1 -2
  600. package/frequent_questions/it/esbuild_error.md +1 -2
  601. package/frequent_questions/it/get_locale_cookie.md +1 -2
  602. package/frequent_questions/it/intlayer_command_undefined.md +1 -2
  603. package/frequent_questions/it/locale_incorect_in_url.md +1 -2
  604. package/frequent_questions/it/static_rendering.md +1 -3
  605. package/frequent_questions/it/translated_path_url.md +1 -2
  606. package/frequent_questions/it/unknown_command.md +1 -2
  607. package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -2
  608. package/frequent_questions/ja/array_as_content_declaration.md +1 -2
  609. package/frequent_questions/ja/build_dictionaries.md +1 -2
  610. package/frequent_questions/ja/build_error_CI_CD.md +1 -2
  611. package/frequent_questions/ja/bun_set_up.md +1 -2
  612. package/frequent_questions/ja/customized_locale_list.md +1 -2
  613. package/frequent_questions/ja/domain_routing.md +1 -2
  614. package/frequent_questions/ja/esbuild_error.md +1 -2
  615. package/frequent_questions/ja/get_locale_cookie.md +1 -2
  616. package/frequent_questions/ja/intlayer_command_undefined.md +1 -2
  617. package/frequent_questions/ja/locale_incorect_in_url.md +1 -2
  618. package/frequent_questions/ja/static_rendering.md +1 -3
  619. package/frequent_questions/ja/translated_path_url.md +1 -2
  620. package/frequent_questions/ja/unknown_command.md +1 -2
  621. package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -2
  622. package/frequent_questions/ko/array_as_content_declaration.md +1 -2
  623. package/frequent_questions/ko/build_dictionaries.md +1 -2
  624. package/frequent_questions/ko/build_error_CI_CD.md +1 -2
  625. package/frequent_questions/ko/bun_set_up.md +1 -2
  626. package/frequent_questions/ko/customized_locale_list.md +1 -2
  627. package/frequent_questions/ko/domain_routing.md +1 -2
  628. package/frequent_questions/ko/esbuild_error.md +1 -2
  629. package/frequent_questions/ko/get_locale_cookie.md +1 -2
  630. package/frequent_questions/ko/intlayer_command_undefined.md +1 -2
  631. package/frequent_questions/ko/locale_incorect_in_url.md +1 -2
  632. package/frequent_questions/ko/static_rendering.md +1 -3
  633. package/frequent_questions/ko/translated_path_url.md +1 -2
  634. package/frequent_questions/ko/unknown_command.md +1 -2
  635. package/frequent_questions/pl/SSR_Next_no_[locale].md +104 -0
  636. package/frequent_questions/pl/array_as_content_declaration.md +71 -0
  637. package/frequent_questions/pl/build_dictionaries.md +58 -0
  638. package/frequent_questions/pl/build_error_CI_CD.md +74 -0
  639. package/frequent_questions/pl/bun_set_up.md +54 -0
  640. package/frequent_questions/pl/customized_locale_list.md +64 -0
  641. package/frequent_questions/pl/domain_routing.md +113 -0
  642. package/frequent_questions/pl/esbuild_error.md +29 -0
  643. package/frequent_questions/pl/get_locale_cookie.md +142 -0
  644. package/frequent_questions/pl/intlayer_command_undefined.md +155 -0
  645. package/frequent_questions/pl/locale_incorect_in_url.md +73 -0
  646. package/frequent_questions/pl/static_rendering.md +44 -0
  647. package/frequent_questions/pl/translated_path_url.md +55 -0
  648. package/frequent_questions/pl/unknown_command.md +97 -0
  649. package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -2
  650. package/frequent_questions/pt/array_as_content_declaration.md +1 -2
  651. package/frequent_questions/pt/build_dictionaries.md +1 -2
  652. package/frequent_questions/pt/build_error_CI_CD.md +1 -2
  653. package/frequent_questions/pt/bun_set_up.md +1 -2
  654. package/frequent_questions/pt/customized_locale_list.md +1 -2
  655. package/frequent_questions/pt/domain_routing.md +1 -2
  656. package/frequent_questions/pt/esbuild_error.md +1 -2
  657. package/frequent_questions/pt/get_locale_cookie.md +1 -2
  658. package/frequent_questions/pt/intlayer_command_undefined.md +1 -2
  659. package/frequent_questions/pt/locale_incorect_in_url.md +1 -2
  660. package/frequent_questions/pt/static_rendering.md +1 -3
  661. package/frequent_questions/pt/translated_path_url.md +1 -2
  662. package/frequent_questions/pt/unknown_command.md +1 -2
  663. package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -2
  664. package/frequent_questions/ru/array_as_content_declaration.md +1 -2
  665. package/frequent_questions/ru/build_dictionaries.md +1 -2
  666. package/frequent_questions/ru/build_error_CI_CD.md +1 -2
  667. package/frequent_questions/ru/bun_set_up.md +1 -2
  668. package/frequent_questions/ru/customized_locale_list.md +1 -2
  669. package/frequent_questions/ru/domain_routing.md +1 -2
  670. package/frequent_questions/ru/esbuild_error.md +1 -2
  671. package/frequent_questions/ru/get_locale_cookie.md +1 -2
  672. package/frequent_questions/ru/intlayer_command_undefined.md +1 -2
  673. package/frequent_questions/ru/locale_incorect_in_url.md +1 -2
  674. package/frequent_questions/ru/static_rendering.md +1 -2
  675. package/frequent_questions/ru/translated_path_url.md +1 -2
  676. package/frequent_questions/ru/unknown_command.md +1 -2
  677. package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -2
  678. package/frequent_questions/tr/array_as_content_declaration.md +1 -2
  679. package/frequent_questions/tr/build_dictionaries.md +1 -2
  680. package/frequent_questions/tr/build_error_CI_CD.md +1 -2
  681. package/frequent_questions/tr/bun_set_up.md +1 -2
  682. package/frequent_questions/tr/customized_locale_list.md +1 -2
  683. package/frequent_questions/tr/domain_routing.md +1 -2
  684. package/frequent_questions/tr/esbuild_error.md +1 -2
  685. package/frequent_questions/tr/get_locale_cookie.md +1 -2
  686. package/frequent_questions/tr/intlayer_command_undefined.md +1 -2
  687. package/frequent_questions/tr/locale_incorect_in_url.md +1 -2
  688. package/frequent_questions/tr/static_rendering.md +1 -2
  689. package/frequent_questions/tr/translated_path_url.md +1 -2
  690. package/frequent_questions/tr/unknown_command.md +1 -2
  691. package/frequent_questions/vi/SSR_Next_no_[locale].md +106 -0
  692. package/frequent_questions/vi/array_as_content_declaration.md +71 -0
  693. package/frequent_questions/vi/build_dictionaries.md +58 -0
  694. package/frequent_questions/vi/build_error_CI_CD.md +74 -0
  695. package/frequent_questions/vi/bun_set_up.md +53 -0
  696. package/frequent_questions/vi/customized_locale_list.md +64 -0
  697. package/frequent_questions/vi/domain_routing.md +113 -0
  698. package/frequent_questions/vi/esbuild_error.md +29 -0
  699. package/frequent_questions/vi/get_locale_cookie.md +142 -0
  700. package/frequent_questions/vi/intlayer_command_undefined.md +155 -0
  701. package/frequent_questions/vi/locale_incorect_in_url.md +73 -0
  702. package/frequent_questions/vi/static_rendering.md +44 -0
  703. package/frequent_questions/vi/translated_path_url.md +55 -0
  704. package/frequent_questions/vi/unknown_command.md +97 -0
  705. package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -2
  706. package/frequent_questions/zh/array_as_content_declaration.md +1 -2
  707. package/frequent_questions/zh/build_dictionaries.md +1 -2
  708. package/frequent_questions/zh/build_error_CI_CD.md +1 -2
  709. package/frequent_questions/zh/bun_set_up.md +1 -2
  710. package/frequent_questions/zh/customized_locale_list.md +1 -2
  711. package/frequent_questions/zh/domain_routing.md +1 -2
  712. package/frequent_questions/zh/esbuild_error.md +1 -2
  713. package/frequent_questions/zh/get_locale_cookie.md +1 -2
  714. package/frequent_questions/zh/intlayer_command_undefined.md +1 -2
  715. package/frequent_questions/zh/locale_incorect_in_url.md +1 -2
  716. package/frequent_questions/zh/static_rendering.md +1 -3
  717. package/frequent_questions/zh/translated_path_url.md +1 -2
  718. package/frequent_questions/zh/unknown_command.md +1 -2
  719. package/legal/id/privacy_notice.md +83 -0
  720. package/legal/id/terms_of_service.md +55 -0
  721. package/legal/pl/privacy_notice.md +83 -0
  722. package/legal/pl/terms_of_service.md +55 -0
  723. package/legal/vi/privacy_notice.md +83 -0
  724. package/legal/vi/terms_of_service.md +55 -0
  725. package/package.json +19 -18
  726. package/src/generated/blog.entry.ts +38 -0
@@ -0,0 +1,885 @@
1
+ ---
2
+ createdAt: 2025-06-18
3
+ updatedAt: 2025-06-29
4
+ title: Jak przetłumaczyć swoją aplikację Nuxt i Vue – przewodnik i18n 2025
5
+ description: Dowiedz się, jak uczynić swoją stronę Nuxt i Vue wielojęzyczną. Postępuj zgodnie z dokumentacją, aby zinternacjonalizować (i18n) i przetłumaczyć ją.
6
+ keywords:
7
+ - Internacjonalizacja
8
+ - Dokumentacja
9
+ - Intlayer
10
+ - Nuxt
11
+ - Vue
12
+ - JavaScript
13
+ slugs:
14
+ - doc
15
+ - environment
16
+ - nuxt-and-vue
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-nuxt-template
18
+ history:
19
+ - version: 5.5.10
20
+ date: 2025-06-29
21
+ changes: Inicjalizacja historii
22
+ ---
23
+
24
+ # Przetłumacz swoją stronę Nuxt i Vue za pomocą Intlayer | Internacjonalizacja (i18n)
25
+
26
+ Zobacz [Application Template](https://github.com/aymericzip/intlayer-nuxt-template) na GitHub.
27
+
28
+ ## Spis treści
29
+
30
+ <TOC/>
31
+
32
+ ## Czym jest Intlayer?
33
+
34
+ **Intlayer** to innowacyjna, open-source'owa biblioteka do internacjonalizacji (i18n), zaprojektowana, aby uprościć obsługę wielojęzyczności we współczesnych aplikacjach webowych.
35
+
36
+ Dzięki Intlayer możesz:
37
+
38
+ - **Łatwo zarządzać tłumaczeniami** za pomocą deklaratywnych słowników na poziomie komponentów.
39
+ - **Dynamicznie lokalizować metadane**, trasy i treści.
40
+ - **Zapewnić wsparcie dla TypeScript** dzięki automatycznie generowanym typom, co poprawia autouzupełnianie i wykrywanie błędów.
41
+ - **Korzystać z zaawansowanych funkcji**, takich jak dynamiczne wykrywanie i przełączanie lokalizacji.
42
+
43
+ ---
44
+
45
+ ## Przewodnik krok po kroku, jak skonfigurować Intlayer w aplikacji Nuxt
46
+
47
+ <iframe
48
+ src="https://stackblitz.com/github/aymericzip/intlayer-nuxt-template?embed=1&ctl=1&file=intlayer.config.ts"
49
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
50
+ title="Demo CodeSandbox - Jak internacjonalizować swoją aplikację za pomocą Intlayer"
51
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
52
+ loading="lazy"
53
+ />
54
+
55
+ ### Krok 1: Instalacja zależności
56
+
57
+ Zainstaluj niezbędne pakiety za pomocą npm:
58
+
59
+ ```bash packageManager="npm"
60
+ npm install intlayer vue-intlayer
61
+ npm install --save-dev nuxt-intlayer
62
+ ```
63
+
64
+ ```bash packageManager="pnpm"
65
+ pnpm add intlayer vue-intlayer
66
+ pnpm add --save-dev nuxt-intlayer
67
+ ```
68
+
69
+ ```bash packageManager="yarn"
70
+ yarn add intlayer vue-intlayer
71
+ yarn add --save-dev nuxt-intlayer
72
+ ```
73
+
74
+ - **intlayer**
75
+
76
+ - **intlayer**
77
+
78
+ Podstawowy pakiet, który dostarcza narzędzia do internacjonalizacji do zarządzania konfiguracją, tłumaczeń, [deklaracji treści](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md), transpilecji oraz [poleceń CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_cli.md).
79
+
80
+ - **vue-intlayer**
81
+ Pakiet integrujący Intlayer z aplikacją Vue. Zawiera composables dla komponentów Vue.
82
+
83
+ - **nuxt-intlayer**
84
+ Moduł Nuxt integrujący Intlayer z aplikacjami Nuxt. Zapewnia automatyczną konfigurację, middleware do wykrywania lokalizacji, zarządzanie ciasteczkami oraz przekierowania URL.
85
+
86
+ ### Krok 2: Konfiguracja Twojego projektu
87
+
88
+ Utwórz plik konfiguracyjny, aby skonfigurować języki swojej aplikacji:
89
+
90
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
91
+ import { Locales, type IntlayerConfig } from "intlayer";
92
+
93
+ const config: IntlayerConfig = {
94
+ internationalization: {
95
+ locales: [
96
+ Locales.ENGLISH,
97
+ Locales.FRENCH,
98
+ Locales.SPANISH,
99
+ // Twoje inne lokalizacje
100
+ ],
101
+ defaultLocale: Locales.ENGLISH,
102
+ },
103
+ content: {
104
+ contentDir: ["."], // Domyślnie Intlayer będzie obserwować pliki deklaracji treści z katalogu `./src`
105
+ },
106
+ };
107
+
108
+ export default config;
109
+ ```
110
+
111
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
112
+ import { Locales } from "intlayer";
113
+
114
+ /** @type {import('intlayer').IntlayerConfig} */
115
+ const config = {
116
+ internationalization: {
117
+ locales: [
118
+ Locales.ENGLISH,
119
+ Locales.FRENCH,
120
+ Locales.SPANISH,
121
+ // Twoje inne lokalizacje
122
+ ],
123
+ defaultLocale: Locales.ENGLISH,
124
+ },
125
+ content: {
126
+ contentDir: ["."],
127
+ },
128
+ };
129
+
130
+ export default config;
131
+ ```
132
+
133
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
134
+ const { Locales } = require("intlayer");
135
+
136
+ /** @type {import('intlayer').IntlayerConfig} */
137
+ const config = {
138
+ internationalization: {
139
+ locales: [
140
+ Locales.ENGLISH,
141
+ Locales.FRENCH,
142
+ Locales.SPANISH,
143
+ // Twoje inne lokalizacje
144
+ ],
145
+ defaultLocale: Locales.ENGLISH,
146
+ },
147
+ content: {
148
+ contentDir: ["."],
149
+ },
150
+ };
151
+
152
+ module.exports = config;
153
+ ```
154
+
155
+ > Za pomocą tego pliku konfiguracyjnego możesz ustawić lokalizowane adresy URL, przekierowania w middleware, nazwy ciasteczek, lokalizację i rozszerzenie deklaracji treści, wyłączyć logi Intlayer w konsoli i wiele więcej. Pełną listę dostępnych parametrów znajdziesz w [dokumentacji konfiguracyjnej](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md).
156
+
157
+ ### Krok 3: Zintegruj Intlayer w swojej konfiguracji Nuxt
158
+
159
+ Dodaj moduł intlayer do swojej konfiguracji Nuxt:
160
+
161
+ ```typescript fileName="nuxt.config.ts"
162
+ import { defineNuxtConfig } from "nuxt/config";
163
+
164
+ export default defineNuxtConfig({
165
+ // ... Twoja istniejąca konfiguracja Nuxt
166
+ modules: ["nuxt-intlayer"],
167
+ });
168
+ ```
169
+
170
+ > Moduł `nuxt-intlayer` automatycznie obsługuje integrację Intlayer z Nuxt. Konfiguruje budowanie deklaracji treści, monitoruje pliki w trybie deweloperskim, dostarcza middleware do wykrywania lokalizacji oraz zarządza lokalizowanym routingiem.
171
+
172
+ ### Krok 4: Zadeklaruj swoją treść
173
+
174
+ Twórz i zarządzaj deklaracjami treści, aby przechowywać tłumaczenia:
175
+
176
+ ```tsx fileName="components/helloWorld.content.ts" contentDeclarationFormat="typescript"
177
+ import { t, type Dictionary } from "intlayer";
178
+
179
+ const helloWorldContent = {
180
+ key: "helloworld",
181
+ content: {
182
+ count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
183
+ edit: t({
184
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
185
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
186
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
187
+ }),
188
+ checkOut: t({
189
+ pl: "Sprawdź ",
190
+ en: "Check out ",
191
+ fr: "Vérifiez ",
192
+ es: "Compruebe ",
193
+ }),
194
+ nuxtIntlayer: t({
195
+ pl: "Dokumentacja Nuxt Intlayer",
196
+ en: "Nuxt Intlayer documentation",
197
+ fr: "Documentation de Nuxt Intlayer",
198
+ es: "Documentación de Nuxt Intlayer",
199
+ }),
200
+ learnMore: t({
201
+ pl: "Dowiedz się więcej o Nuxt w ",
202
+ en: "Learn more about Nuxt in the ",
203
+ fr: "En savoir plus sur Nuxt dans la ",
204
+ es: "Aprenda más sobre Nuxt en la ",
205
+ }),
206
+ nuxtDocs: t({
207
+ pl: "Dokumentacja Nuxt",
208
+ en: "Nuxt Documentation",
209
+ fr: "Documentation Nuxt",
210
+ es: "Documentación de Nuxt",
211
+ }),
212
+ readTheDocs: t({
213
+ pl: "Kliknij logo Nuxt, aby dowiedzieć się więcej",
214
+ en: "Click on the Nuxt logo to learn more",
215
+ pl: "Kliknij na logo Nuxt, aby dowiedzieć się więcej",
216
+ fr: "Cliquez sur le logo Nuxt pour en savoir plus",
217
+ es: "Haga clic en el logotipo de Nuxt para obtener más información",
218
+ }),
219
+ },
220
+ } satisfies Dictionary;
221
+
222
+ export default helloWorldContent;
223
+ ```
224
+
225
+ ```javascript fileName="components/helloWorld.content.mjs" contentDeclarationFormat="esm"
226
+ import { t } from "intlayer";
227
+
228
+ /** @type {import('intlayer').Dictionary} */
229
+ const helloWorldContent = {
230
+ key: "helloworld",
231
+ content: {
232
+ count: t({
233
+ pl: "licznik to ",
234
+ en: "count is ",
235
+ fr: "le compte est ",
236
+ es: "el recuento es ",
237
+ }),
238
+ edit: t({
239
+ pl: "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
240
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
241
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
242
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
243
+ }),
244
+ checkOut: t({
245
+ pl: "Sprawdź ",
246
+ en: "Check out ",
247
+ fr: "Vérifiez ",
248
+ es: "Compruebe ",
249
+ }),
250
+ nuxtIntlayer: t({
251
+ pl: "Dokumentacja Nuxt Intlayer",
252
+ en: "Nuxt Intlayer documentation",
253
+ fr: "Documentation de Nuxt Intlayer",
254
+ es: "Documentación de Nuxt Intlayer",
255
+ }),
256
+ learnMore: t({
257
+ pl: "Dowiedz się więcej o Nuxt w ",
258
+ en: "Learn more about Nuxt in the ",
259
+ fr: "En savoir plus sur Nuxt dans la ",
260
+ es: "Aprenda más sobre Nuxt en la ",
261
+ }),
262
+ nuxtDocs: t({
263
+ pl: "Dokumentacja Nuxt",
264
+ en: "Nuxt Documentation",
265
+ fr: "Documentation Nuxt",
266
+ es: "Documentación de Nuxt",
267
+ }),
268
+ readTheDocs: t({
269
+ pl: "Kliknij na logo Nuxt, aby dowiedzieć się więcej",
270
+ en: "Click on the Nuxt logo to learn more",
271
+ fr: "Cliquez sur le logo Nuxt pour en savoir plus",
272
+ es: "Haga clic en el logotipo de Nuxt para obtener más información",
273
+ }),
274
+ },
275
+ };
276
+
277
+ export default helloWorldContent;
278
+ ```
279
+
280
+ ```javascript fileName="components/helloWorld.content.cjs" contentDeclarationFormat="commonjs"
281
+ const { t } = require("intlayer");
282
+
283
+ /** @type {import('intlayer').Dictionary} */
284
+ const helloWorldContent = {
285
+ key: "helloworld",
286
+ content: {
287
+ count: t({ pl: "licznik to ", en: "count is ", fr: "le compte est ", es: "el recuento es " }),
288
+ edit: t({
289
+ pl: "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
290
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
291
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
292
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
293
+ }),
294
+ checkOut: t({ pl: "Sprawdź ", en: "Check out ", fr: "Vérifiez ", es: "Compruebe " }),
295
+ nuxtIntlayer: t({
296
+ pl: "Dokumentacja Nuxt Intlayer",
297
+ en: "Nuxt Intlayer documentation",
298
+ fr: "Documentation de Nuxt Intlayer",
299
+ es: "Documentación de Nuxt Intlayer",
300
+ }),
301
+ learnMore: t({
302
+ pl: "Dowiedz się więcej o Nuxt w ",
303
+ en: "Learn more about Nuxt in the ",
304
+ fr: "En savoir plus sur Nuxt dans la ",
305
+ es: "Aprenda más sobre Nuxt en la ",
306
+ }),
307
+ nuxtDocs: t({
308
+ pl: "Dokumentacja Nuxt",
309
+ en: "Nuxt Documentation",
310
+ fr: "Documentation Nuxt",
311
+ es: "Documentación de Nuxt",
312
+ }),
313
+ readTheDocs: t({
314
+ pl: "Kliknij logo Nuxt, aby dowiedzieć się więcej",
315
+ en: "Click on the Nuxt logo to learn more",
316
+ fr: "Cliquez sur le logo Nuxt pour en savoir plus",
317
+ es: "Haga clic en el logotipo de Nuxt para obtener más información",
318
+ }),
319
+ },
320
+ };
321
+
322
+ module.exports = helloWorldContent;
323
+ es: "Documentación de Nuxt Intlayer",
324
+ }),
325
+ learnMore: t({
326
+ pl: "Dowiedz się więcej o Nuxt w ",
327
+ en: "Learn more about Nuxt in the ",
328
+ fr: "En savoir plus sur Nuxt dans la ",
329
+ es: "Aprenda más sobre Nuxt en la ",
330
+ }),
331
+ nuxtDocs: t({
332
+ pl: "Dokumentacja Nuxt",
333
+ en: "Nuxt Documentation",
334
+ fr: "Documentation Nuxt",
335
+ es: "Documentación de Nuxt",
336
+ }),
337
+ readTheDocs: t({
338
+ pl: "Kliknij na logo Nuxt, aby dowiedzieć się więcej",
339
+ en: "Click on the Nuxt logo to learn more",
340
+ fr: "Cliquez sur le logo Nuxt pour en savoir plus",
341
+ es: "Haga clic en el logotipo de Nuxt para obtener más información",
342
+ }),
343
+ },
344
+ };
345
+
346
+ module.exports = helloWorldContent;
347
+ ```
348
+
349
+ ```json fileName="components/helloWorld.content.json" contentDeclarationFormat="json"
350
+ {
351
+ "$schema": "https://intlayer.org/schema.json",
352
+ "key": "helloworld",
353
+ "content": {
354
+ "count": {
355
+ "nodeType": "translation",
356
+ "translation": {
357
+ "pl": "licznik to ",
358
+ "en": "count is ",
359
+ "fr": "le compte est ",
360
+ "es": "el recuento es "
361
+ }
362
+ },
363
+ "edit": {
364
+ "nodeType": "translation",
365
+ "translation": {
366
+ "pl": "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
367
+ "en": "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
368
+ "fr": "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
369
+ "es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
370
+ }
371
+ },
372
+ "checkOut": {
373
+ "nodeType": "translation",
374
+ "translation": {
375
+ "pl": "Sprawdź ",
376
+ "en": "Check out ",
377
+ "fr": "Vérifiez ",
378
+ "es": "Compruebe "
379
+ }
380
+ },
381
+ "nuxtIntlayer": {
382
+ "nodeType": "translation",
383
+ "translation": {
384
+ "nodeType": "translation",
385
+ "translation": {
386
+ "pl": "licznik to ",
387
+ "en": "count is ",
388
+ "fr": "le compte est ",
389
+ "es": "el recuento es "
390
+ }
391
+ },
392
+ "edit": {
393
+ "nodeType": "translation",
394
+ "translation": {
395
+ "pl": "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
396
+ "en": "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
397
+ "fr": "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
398
+ "es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
399
+ }
400
+ },
401
+ "checkOut": {
402
+ "nodeType": "translation",
403
+ "translation": {
404
+ "pl": "Sprawdź ",
405
+ "en": "Check out ",
406
+ "fr": "Vérifiez ",
407
+ "es": "Compruebe "
408
+ }
409
+ },
410
+ "nuxtIntlayer": {
411
+ "nodeType": "translation",
412
+ "translation": {
413
+ "pl": "Dokumentacja Nuxt Intlayer",
414
+ "en": "Nuxt Intlayer documentation",
415
+ "fr": "Documentation de Nuxt Intlayer",
416
+ "es": "Documentación de Nuxt Intlayer"
417
+ }
418
+ },
419
+ "learnMore": {
420
+ "nodeType": "translation",
421
+ "translation": {
422
+ "pl": "Dowiedz się więcej o Nuxt w ",
423
+ "en": "Learn more about Nuxt in the ",
424
+ "fr": "En savoir plus sur Nuxt dans la ",
425
+ "es": "Aprenda más sobre Nuxt en la "
426
+ }
427
+ },
428
+ "nuxtDocs": {
429
+ "nodeType": "translation",
430
+ "translation": {
431
+ "pl": "Dokumentacja Nuxt",
432
+ "en": "Nuxt Documentation",
433
+ "fr": "Documentation Nuxt",
434
+ "es": "Documentación de Nuxt"
435
+ }
436
+ },
437
+ "readTheDocs": {
438
+ "nodeType": "translation",
439
+ "translation": {
440
+ "pl": "Kliknij logo Nuxt, aby dowiedzieć się więcej",
441
+ "en": "Click on the Nuxt logo to learn more",
442
+ "fr": "Cliquez sur le logo Nuxt pour en savoir plus",
443
+ "es": "Haga clic en el logotipo de Nuxt para obtener más información"
444
+ }
445
+ }
446
+ }
447
+ }
448
+ ```
449
+
450
+ > Twoje deklaracje zawartości mogą być zdefiniowane w dowolnym miejscu w Twojej aplikacji, pod warunkiem, że znajdują się w katalogu `contentDir` (domyślnie `./src`). I pasują do rozszerzenia pliku deklaracji zawartości (domyślnie `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
451
+
452
+ > Aby uzyskać więcej szczegółów, zapoznaj się z [dokumentacją deklaracji zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md).
453
+
454
+ ### Krok 5: Wykorzystaj Intlayer w swoim kodzie
455
+
456
+ Uzyskaj dostęp do swoich słowników zawartości w całej aplikacji Nuxt, korzystając z composable `useIntlayer`:
457
+
458
+ ```vue fileName="components/HelloWorld.vue"
459
+ <script setup lang="ts">
460
+ import { ref } from "vue";
461
+ import { useIntlayer } from "vue-intlayer";
462
+
463
+ defineProps({
464
+ msg: String,
465
+ });
466
+
467
+ const {
468
+ count,
469
+ edit,
470
+ checkOut,
471
+ nuxtIntlayer,
472
+ learnMore,
473
+ nuxtDocs,
474
+ readTheDocs,
475
+ } = useIntlayer("helloworld");
476
+ const countRef = ref(0);
477
+ </script>
478
+
479
+ <template>
480
+ <h1>{{ msg }}</h1>
481
+
482
+ <div class="card">
483
+ <button type="button" @click="countRef++">
484
+ <count />
485
+ {{ countRef }}
486
+ </button>
487
+ <p v-html="edit"></p>
488
+ </div>
489
+
490
+ <p>
491
+ <checkOut />
492
+ <a href="https://nuxt.com/docs/getting-started/introduction" target="_blank"
493
+ >Nuxt</a
494
+ >, <nuxtIntlayer />
495
+ </p>
496
+ <p>
497
+ <learnMore />
498
+ <a href="https://nuxt.com" target="_blank"><nuxtDocs /></a>.
499
+ </p>
500
+ <p class="read-the-docs"><readTheDocs /></p>
501
+ <p class="read-the-docs">{{ readTheDocs }}</p>
502
+ </template>
503
+ ```
504
+
505
+ #### Dostęp do treści w Intlayer
506
+
507
+ Intlayer oferuje różne API do dostępu do Twoich treści:
508
+
509
+ - **Składnia oparta na komponentach** (zalecana):
510
+ Użyj składni `<myContent />` lub `<Component :is="myContent" />`, aby wyrenderować treść jako węzeł Intlayer. Integruje się to bezproblemowo z [Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) oraz [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md).
511
+
512
+ - **Składnia oparta na łańcuchu znaków**:
513
+ Użyj `{{ myContent }}`, aby wyrenderować treść jako zwykły tekst, bez wsparcia Visual Editor.
514
+
515
+ - **Składnia surowego HTML**:
516
+ Użyj `<div v-html="myContent" />`, aby wyrenderować treść jako surowy HTML, bez wsparcia Visual Editor.
517
+
518
+ - **Składnia destrukturyzacji**:
519
+ `useIntlayer` composable zwraca Proxy z zawartością. Ten proxy można zdestrukturyzować, aby uzyskać dostęp do zawartości, zachowując rekatywność.
520
+ - Użyj `const content = useIntlayer("myContent");` oraz `{{ content.myContent }}` / `<content.myContent />`.
521
+ - Lub użyj `const { myContent } = useIntlayer("myContent");` oraz `{{ myContent }}` / `<myContent/>` do zdestrukturyzowania zawartości.
522
+
523
+ ### (Opcjonalnie) Krok 6: Zmień język swojej zawartości
524
+
525
+ Aby zmienić język swojej zawartości, możesz użyć funkcji `setLocale` dostarczonej przez composable `useLocale`. Funkcja ta pozwala ustawić lokalizację aplikacji i odpowiednio zaktualizować zawartość.
526
+
527
+ Utwórz komponent do przełączania między językami:
528
+
529
+ ```vue fileName="components/LocaleSwitcher.vue"
530
+ <template>
531
+ <div class="locale-switcher">
532
+ <select v-model="selectedLocale" @change="changeLocale">
533
+ <option v-for="loc in availableLocales" :key="loc" :value="loc">
534
+ {{ getLocaleName(loc) }}
535
+ </option>
536
+ </select>
537
+ </div>
538
+ </template>
539
+
540
+ <script setup lang="ts">
541
+ import { ref, watch } from "vue";
542
+ import { getLocaleName } from "intlayer";
543
+ import { useLocale } from "vue-intlayer";
544
+
545
+ // Pobierz informacje o lokalizacji oraz funkcję setLocale
546
+ const { locale, availableLocales, setLocale } = useLocale();
547
+
548
+ // Śledź wybraną lokalizację za pomocą ref
549
+ const selectedLocale = ref(locale.value);
550
+
551
+ // Aktualizuj lokalizację po zmianie wyboru
552
+ const changeLocale = () => setLocale(selectedLocale.value);
553
+
554
+ // Synchronizuj selectedLocale z globalną lokalizacją
555
+ watch(
556
+ () => locale.value,
557
+ (newLocale) => {
558
+ selectedLocale.value = newLocale;
559
+ }
560
+ );
561
+ </script>
562
+ </template>
563
+
564
+ <style scoped>
565
+ .locale-switcher {
566
+ margin: 1rem 0;
567
+ }
568
+
569
+ select {
570
+ padding: 0.5rem;
571
+ border-radius: 0.25rem;
572
+ border: 1px solid #ccc;
573
+ }
574
+ </style>
575
+ ```
576
+
577
+ Następnie użyj tego komponentu na swoich stronach lub w layoucie:
578
+
579
+ ```vue fileName="app.vue"
580
+ <script setup lang="ts">
581
+ import { useIntlayer } from "vue-intlayer";
582
+ import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
583
+
584
+ const content = useIntlayer("app"); // Utwórz powiązany plik deklaracji intlayer
585
+ </script>
586
+
587
+ <template>
588
+ <div>
589
+ <header>
590
+ <LocaleSwitcher />
591
+ </header>
592
+ <main>
593
+ <NuxtPage />
594
+ </main>
595
+ </div>
596
+ </template>
597
+ ```
598
+
599
+ ### (Opcjonalny) Krok 7: Dodaj lokalizowane routingi do swojej aplikacji
600
+
601
+ Nuxt automatycznie obsługuje lokalizowane routingi podczas korzystania z modułu `nuxt-intlayer`. Tworzy to trasy dla każdego języka automatycznie na podstawie struktury katalogu stron.
602
+
603
+ Przykład:
604
+
605
+ ```plaintext
606
+ pages/
607
+ ├── index.vue → /, /fr, /es
608
+ ├── about.vue → /about, /fr/about, /es/about
609
+ └── contact/
610
+ └── index.vue → /contact, /fr/contact, /es/contact
611
+ ```
612
+
613
+ Aby utworzyć lokalizowaną stronę, po prostu stwórz swoje pliki Vue w katalogu `pages/`:
614
+
615
+ ```vue fileName="pages/about.vue"
616
+ <script setup lang="ts">
617
+ import { useIntlayer } from "vue-intlayer";
618
+
619
+ const content = useIntlayer("about");
620
+ </script>
621
+
622
+ <template>
623
+ <div>
624
+ <h1>{{ content.title }}</h1>
625
+ <p>{{ content.description }}</p>
626
+ </div>
627
+ </template>
628
+ ```
629
+
630
+ Moduł `nuxt-intlayer` automatycznie:
631
+
632
+ - Wykrywa preferowany język użytkownika
633
+ - Obsługuje przełączanie języka przez URL
634
+ - Ustawia odpowiedni atrybut `<html lang="">`
635
+ - Zarządza ciasteczkami językowymi
636
+ - Przekierowuje użytkowników na odpowiedni zlokalizowany URL
637
+
638
+ ### (Opcjonalny) Krok 8: Tworzenie komponentu Lokalizowanego Linku
639
+
640
+ Aby zapewnić, że nawigacja w Twojej aplikacji respektuje aktualny język, możesz stworzyć niestandardowy komponent `LocalizedLink`. Komponent ten automatycznie dodaje prefiks języka do wewnętrznych adresów URL.
641
+
642
+ ```vue fileName="components/LocalizedLink.vue"
643
+ <template>
644
+ <NuxtLink :to="localizedHref" v-bind="$attrs">
645
+ <slot />
646
+ </NuxtLink>
647
+ </template>
648
+
649
+ <script setup lang="ts">
650
+ import { computed } from "vue";
651
+ import { getLocalizedUrl } from "intlayer";
652
+ import { useLocale } from "vue-intlayer";
653
+
654
+ const props = defineProps({
655
+ to: {
656
+ type: String,
657
+ required: true,
658
+ },
659
+ });
660
+
661
+ const { locale } = useLocale();
662
+
663
+ // Sprawdź, czy link jest zewnętrzny
664
+ const isExternalLink = computed(() => /^https?:\/\//.test(props.to || ""));
665
+
666
+ // Utwórz zlokalizowany href dla linków wewnętrznych
667
+ const localizedHref = computed(() =>
668
+ isExternalLink.value ? props.to : getLocalizedUrl(props.to, locale.value)
669
+ );
670
+ </script>
671
+ ```
672
+
673
+ Następnie użyj tego komponentu w całej aplikacji:
674
+
675
+ ```vue fileName="pages/index.vue"
676
+ <template>
677
+ <div>
678
+ <LocalizedLink to="/about">
679
+ {{ content.aboutLink }}
680
+ </LocalizedLink>
681
+ <LocalizedLink to="/contact">
682
+ {{ content.contactLink }}
683
+ </LocalizedLink>
684
+ </div>
685
+ </template>
686
+
687
+ <script setup lang="ts">
688
+ import { useIntlayer } from "vue-intlayer";
689
+ import LocalizedLink from "~/components/LocalizedLink.vue";
690
+
691
+ const content = useIntlayer("home");
692
+ </script>
693
+ ```
694
+
695
+ ### (Opcjonalny) Krok 9: Obsługa metadanych i SEO
696
+
697
+ Nuxt oferuje doskonałe możliwości SEO. Możesz użyć Intlayer do obsługi zlokalizowanych metadanych:
698
+
699
+ ```vue fileName="pages/about.vue"
700
+ <script setup lang="ts">
701
+ import { useSeoMeta } from "nuxt/app";
702
+ import { getIntlayer } from "intlayer";
703
+ import { useLocale } from "vue-intlayer";
704
+
705
+ const { locale } = useLocale();
706
+ const content = getIntlayer("about-meta", locale.value);
707
+
708
+ useSeoMeta({
709
+ title: content.title,
710
+ description: content.description,
711
+ });
712
+ </script>
713
+
714
+ <template>
715
+ <div>
716
+ <h1>{{ content.pageTitle }}</h1>
717
+ <p>{{ content.pageContent }}</p>
718
+ </div>
719
+ </template>
720
+ ```
721
+
722
+ Utwórz odpowiadającą deklarację zawartości:
723
+
724
+ ```ts fileName="pages/about-meta.content.ts"
725
+ import { t, type Dictionary } from "intlayer";
726
+ import type { useSeoMeta } from "nuxt/app";
727
+
728
+ const aboutMetaContent = {
729
+ key: "about-meta",
730
+ content: {
731
+ title: t({
732
+ pl: "O nas - Moja Firma",
733
+ en: "About Us - My Company",
734
+ fr: "À Propos - Ma Société",
735
+ es: "Acerca de Nosotros - Mi Empresa",
736
+ }),
737
+ description: t({
738
+ pl: "Dowiedz się więcej o naszej firmie i naszej misji",
739
+ en: "Learn more about our company and our mission",
740
+ fr: "En savoir plus sur notre société et notre mission",
741
+ es: "Conozca más sobre nuestra empresa y nuestra misión",
742
+ }),
743
+ },
744
+ } satisfies Dictionary<Parameters<typeof useSeoMeta>[0]>;
745
+
746
+ export default aboutMetaContent;
747
+ ```
748
+
749
+ ```typescript fileName="pages/about-meta.content.mjs" contentDeclarationFormat="esm"
750
+ import { t } from "intlayer";
751
+
752
+ /** @type {import('intlayer').Dictionary} */
753
+ const aboutMetaContent = {
754
+ key: "about-meta",
755
+ content: {
756
+ title: t({
757
+ zh: "关于我们 - 我的公司",
758
+ en: "About Us - My Company",
759
+ fr: "À Propos - Ma Société",
760
+ es: "Acerca de Nosotros - Mi Empresa",
761
+ pl: "O nas - Moja Firma",
762
+ }),
763
+ description: t({
764
+ zh: "了解更多关于我们公司和我们的使命",
765
+ en: "Learn more about our company and our mission",
766
+ fr: "En savoir plus sur notre société et notre mission",
767
+ es: "Conozca más sobre nuestra empresa y nuestra misión",
768
+ pl: "Dowiedz się więcej o naszej firmie i naszej misji",
769
+ }),
770
+ },
771
+ };
772
+
773
+ export default aboutMetaContent;
774
+ ```
775
+
776
+ ```typescript fileName="pages/about-meta.content.js" contentDeclarationFormat="cjs"
777
+ const { t } = require("intlayer");
778
+
779
+ /** @type {import('intlayer').Dictionary} */
780
+ const aboutMetaContent = {
781
+ key: "about-meta",
782
+ content: {
783
+ title: t({
784
+ zh: "关于我们 - 我的公司",
785
+ en: "About Us - My Company",
786
+ fr: "À Propos - Ma Société",
787
+ es: "Acerca de Nosotros - Mi Empresa",
788
+ pl: "O nas - Moja Firma",
789
+ }),
790
+ fr: "À Propos - Ma Société",
791
+ es: "Acerca de Nosotros - Mi Empresa",
792
+ }),
793
+ description: t({
794
+ zh: "了解更多关于我们公司和我们的使命",
795
+ en: "Learn more about our company and our mission",
796
+ fr: "En savoir plus sur notre société et notre mission",
797
+ es: "Conozca más sobre nuestra empresa y nuestra misión",
798
+ pl: "Dowiedz się więcej o naszej firmie i naszej misji",
799
+ }),
800
+ },
801
+ };
802
+
803
+ module.exports = aboutMetaContent;
804
+ ```
805
+
806
+ ```json fileName="pages/about-meta.content.json" contentDeclarationFormat="json"
807
+ {
808
+ "key": "about-meta",
809
+ "content": {
810
+ "title": {
811
+ "nodeType": "translation",
812
+ "translations": {
813
+ "zh": "关于我们 - 我的公司",
814
+ "en": "About Us - My Company",
815
+ "fr": "À Propos - Ma Société",
816
+ "es": "Acerca de Nosotros - Mi Empresa",
817
+ "pl": "O nas - Moja firma"
818
+ }
819
+ },
820
+ "description": {
821
+ "nodeType": "translation",
822
+ "translations": {
823
+ "zh": "了解更多关于我们公司和我们的使命",
824
+ "en": "Learn more about our company and our mission",
825
+ "fr": "En savoir plus sur notre société et notre mission",
826
+ "es": "Conozca más sobre nuestra empresa y nuestra misión"
827
+ }
828
+ }
829
+ }
830
+ }
831
+ ```
832
+
833
+ ### Konfiguracja TypeScript
834
+
835
+ Intlayer wykorzystuje rozszerzenia modułów (module augmentation), aby korzystać z zalet TypeScript i uczynić Twoją bazę kodu bardziej solidną.
836
+
837
+ ![Autouzupełnianie](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
838
+
839
+ ![Błąd tłumaczenia](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
840
+
841
+ Upewnij się, że Twoja konfiguracja TypeScript zawiera automatycznie generowane typy.
842
+
843
+ ```json5 fileName="tsconfig.json"
844
+ {
845
+ // ... Twoje istniejące konfiguracje TypeScript
846
+ "include": [
847
+ // ... Twoje istniejące konfiguracje TypeScript
848
+ ".intlayer/**/*.ts", // Dołącz automatycznie generowane typy
849
+ ],
850
+ }
851
+ ```
852
+
853
+ ### Konfiguracja Git
854
+
855
+ Zaleca się ignorowanie plików generowanych przez Intlayer. Pozwala to uniknąć ich commitowania do repozytorium Git.
856
+
857
+ Aby to zrobić, możesz dodać następujące instrukcje do pliku `.gitignore`:
858
+
859
+ ```plaintext fileName=".gitignore"
860
+ # Ignoruj pliki generowane przez Intlayer
861
+ .intlayer
862
+ ```
863
+
864
+ ### Rozszerzenie VS Code
865
+
866
+ Aby poprawić doświadczenie programistyczne z Intlayer, możesz zainstalować oficjalne **rozszerzenie Intlayer dla VS Code**.
867
+
868
+ [Zainstaluj z VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
869
+
870
+ To rozszerzenie oferuje:
871
+
872
+ - **Autouzupełnianie** kluczy tłumaczeń.
873
+ - **Wykrywanie błędów w czasie rzeczywistym** dla brakujących tłumaczeń.
874
+ - **Podglądy w linii** przetłumaczonej zawartości.
875
+ - **Szybkie akcje** umożliwiające łatwe tworzenie i aktualizowanie tłumaczeń.
876
+
877
+ Aby uzyskać więcej informacji na temat korzystania z rozszerzenia, zapoznaj się z [dokumentacją rozszerzenia Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
878
+
879
+ ---
880
+
881
+ ### Idź dalej
882
+
883
+ Aby pójść dalej, możesz zaimplementować [edytor wizualny](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) lub zewnętrznie zarządzać swoją zawartością za pomocą [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md).
884
+
885
+ ---