@intlayer/docs 7.0.6 → 7.0.8-canary.0

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,1116 @@
1
+ ---
2
+ createdAt: 2025-04-18
3
+ updatedAt: 2025-06-29
4
+ title: Jak przetłumaczyć swoją aplikację Vite i Vue – przewodnik i18n 2025
5
+ description: Dowiedz się, jak uczynić swoją stronę Vite 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
+ - Vite
11
+ - Vue
12
+ - JavaScript
13
+ slugs:
14
+ - doc
15
+ - environment
16
+ - vite-and-vue
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-vite-vue-template
18
+ history:
19
+ - version: 5.5.10
20
+ date: 2025-06-29
21
+ changes: Inicjalizacja historii
22
+ ---
23
+
24
+ # Przetłumacz swoją stronę Vite i Vue za pomocą Intlayer | Internacjonalizacja (i18n)
25
+
26
+ ## Spis treści
27
+
28
+ <TOC/>
29
+
30
+ ## Czym jest Intlayer?
31
+
32
+ **Intlayer** to innowacyjna, open-source’owa biblioteka do internacjonalizacji (i18n), zaprojektowana, aby uprościć wsparcie wielojęzyczne w nowoczesnych aplikacjach webowych.
33
+
34
+ Dzięki Intlayer możesz:
35
+
36
+ - **Łatwo zarządzać tłumaczeniami** za pomocą deklaratywnych słowników na poziomie komponentów.
37
+ - **Dynamicznie lokalizować metadane**, trasy i zawartość.
38
+ - **Zapewnić wsparcie dla TypeScript** dzięki automatycznie generowanym typom, co poprawia autouzupełnianie i wykrywanie błędów.
39
+ - **Korzystać z zaawansowanych funkcji**, takich jak dynamiczne wykrywanie i przełączanie lokalizacji.
40
+
41
+ ---
42
+
43
+ ## Przewodnik krok po kroku, jak skonfigurować Intlayer w aplikacji Vite i Vue
44
+
45
+ <iframe
46
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-vue-template?embed=1&ctl=1&file=intlayer.config.ts"
47
+ Zobacz [Szablon aplikacji](https://github.com/aymericzip/intlayer-vite-vue-template) na GitHub.
48
+
49
+ ### Krok 1: Instalacja zależności
50
+
51
+ Zainstaluj niezbędne pakiety za pomocą npm:
52
+
53
+ ```bash packageManager="npm"
54
+ npm install intlayer vue-intlayer
55
+ npm install vite-intlayer --save-dev
56
+ ```
57
+
58
+ ```bash packageManager="pnpm"
59
+ pnpm add intlayer vue-intlayer
60
+ pnpm add vite-intlayer --save-dev
61
+ ```
62
+
63
+ ```bash packageManager="yarn"
64
+ yarn add intlayer vue-intlayer
65
+ yarn add vite-intlayer --save-dev
66
+ ```
67
+
68
+ - **intlayer**
69
+
70
+ Główny 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).
71
+
72
+ - **vue-intlayer**
73
+ Pakiet integrujący Intlayer z aplikacją Vue. Zapewnia dostawców kontekstu oraz composables do internacjonalizacji w Vue.
74
+
75
+ - **vite-intlayer**
76
+ Zawiera wtyczkę Vite do integracji Intlayer z [bundlerem Vite](https://vite.dev/guide/why.html#why-bundle-for-production), a także middleware do wykrywania preferowanego języka użytkownika, zarządzania ciasteczkami oraz obsługi przekierowań URL.
77
+
78
+ ### Krok 2: Konfiguracja Twojego projektu
79
+
80
+ Utwórz plik konfiguracyjny, aby skonfigurować języki swojej aplikacji:
81
+
82
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
83
+ import { Locales, type IntlayerConfig } from "intlayer";
84
+
85
+ const config: IntlayerConfig = {
86
+ internationalization: {
87
+ locales: [
88
+ Locales.ENGLISH,
89
+ Locales.FRENCH,
90
+ Locales.SPANISH,
91
+ // Twoje pozostałe lokalizacje
92
+ ],
93
+ defaultLocale: Locales.ENGLISH,
94
+ },
95
+ };
96
+
97
+ export default config;
98
+ ```
99
+
100
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
101
+ import { Locales } from "intlayer";
102
+
103
+ /** @type {import('intlayer').IntlayerConfig} */
104
+ const config = {
105
+ internationalization: {
106
+ locales: [
107
+ Locales.ENGLISH,
108
+ Locales.FRENCH,
109
+ Locales.SPANISH,
110
+ // Twoje pozostałe lokalizacje
111
+ ],
112
+ defaultLocale: Locales.ENGLISH,
113
+ },
114
+ };
115
+
116
+ export default config;
117
+ ```
118
+
119
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
120
+ const { Locales } = require("intlayer");
121
+
122
+ /** @type {import('intlayer').IntlayerConfig} */
123
+ const config = {
124
+ internationalization: {
125
+ locales: [
126
+ Locales.ENGLISH,
127
+ Locales.FRENCH,
128
+ Locales.SPANISH,
129
+ // Twoje pozostałe lokalizacje
130
+ ],
131
+ defaultLocale: Locales.ENGLISH,
132
+ },
133
+ };
134
+
135
+ module.exports = config;
136
+ ```
137
+
138
+ > Za pomocą tego pliku konfiguracyjnego możesz ustawić lokalizowane adresy URL, przekierowania w middleware, nazwy ciasteczek, lokalizację i rozszerzenie deklaracji zawartoś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).
139
+
140
+ ### Krok 3: Zintegruj Intlayer w swojej konfiguracji Vite
141
+
142
+ Dodaj wtyczkę intlayer do swojej konfiguracji.
143
+
144
+ ```typescript fileName="vite.config.ts" codeFormat="typescript"
145
+ import { defineConfig } from "vite";
146
+ import vue from "@vitejs/plugin-vue";
147
+ import { intlayer } from "vite-intlayer";
148
+
149
+ // https://vitejs.dev/config/
150
+ export default defineConfig({
151
+ plugins: [vue(), intlayer()],
152
+ });
153
+ ```
154
+
155
+ ```javascript fileName="vite.config.mjs" codeFormat="esm"
156
+ import { defineConfig } from "vite";
157
+ import vue from "@vitejs/plugin-vue";
158
+ import { intlayer } from "vite-intlayer";
159
+
160
+ // https://vitejs.dev/config/
161
+ export default defineConfig({
162
+ plugins: [vue(), intlayer()],
163
+ });
164
+ ```
165
+
166
+ ```javascript fileName="vite.config.cjs" codeFormat="commonjs"
167
+ const { defineConfig } = require("vite");
168
+ const vue = require("@vitejs/plugin-vue");
169
+ const { intlayer } = require("vite-intlayer");
170
+
171
+ // https://vitejs.dev/config/
172
+ module.exports = defineConfig({
173
+ plugins: [vue(), intlayer()],
174
+ });
175
+ ```
176
+
177
+ > Wtyczka Vite `intlayer()` służy do integracji Intlayer z Vite. Zapewnia budowanie plików deklaracji treści oraz monitoruje je w trybie deweloperskim. Definiuje zmienne środowiskowe Intlayer w aplikacji Vite. Dodatkowo dostarcza aliasy optymalizujące wydajność.
178
+
179
+ ### Krok 4: Zadeklaruj swoją treść
180
+
181
+ Twórz i zarządzaj deklaracjami treści, aby przechowywać tłumaczenia:
182
+
183
+ ```tsx fileName="src/helloWorld.content.ts" contentDeclarationFormat="typescript"
184
+ import { t, type Dictionary } from "intlayer";
185
+
186
+ const helloWorldContent = {
187
+ key: "helloworld",
188
+ content: {
189
+ count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
190
+ edit: t({
191
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
192
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
193
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
194
+ }),
195
+ checkOut: t({
196
+ pl: "Sprawdź ",
197
+ en: "Check out ",
198
+ fr: "Vérifiez ",
199
+ es: "Compruebe ",
200
+ }),
201
+ officialStarter: t({
202
+ pl: ", oficjalny starter Vue + Vite",
203
+ en: ", the official Vue + Vite starter",
204
+ fr: ", le starter officiel Vue + Vite",
205
+ es: ", el starter oficial Vue + Vite",
206
+ }),
207
+ learnMore: t({
208
+ pl: "Dowiedz się więcej o wsparciu IDE dla Vue w ",
209
+ en: "Learn more about IDE Support for Vue in the ",
210
+ fr: "En savoir plus sur le support IDE pour Vue dans le ",
211
+ es: "Aprenda más sobre el soporte IDE para Vue en el ",
212
+ }),
213
+ vueDocs: t({
214
+ pl: "Przewodnik skalowania dokumentacji Vue",
215
+ en: "Vue Docs Scaling up Guide",
216
+ fr: "Vue Docs Scaling up Guide",
217
+ es: "Vue Docs Scaling up Guide",
218
+ }),
219
+ readTheDocs: t({
220
+ pl: "Kliknij na loga Vite i Vue, aby dowiedzieć się więcej",
221
+ en: "Click on the Vite and Vue logos to learn more",
222
+ fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
223
+ es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
224
+ }),
225
+ },
226
+ } satisfies Dictionary;
227
+
228
+ export default helloWorldContent;
229
+ ```
230
+
231
+ ```javascript fileName="src/helloWorld.content.mjs" contentDeclarationFormat="esm"
232
+ import { t } from "intlayer";
233
+
234
+ /** @type {import('intlayer').Dictionary} */
235
+ const helloWorldContent = {
236
+ key: "helloworld",
237
+ content: {
238
+ count: t({
239
+ pl: "licznik to ",
240
+ en: "count is ",
241
+ fr: "le compte est ",
242
+ es: "el recuento es ",
243
+ }),
244
+ edit: t({
245
+ pl: "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
246
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
247
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
248
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
249
+ }),
250
+ checkOut: t({
251
+ pl: "Sprawdź ",
252
+ en: "Check out ",
253
+ fr: "Vérifiez ",
254
+ es: "Compruebe ",
255
+ }),
256
+ officialStarter: t({
257
+ pl: "oficjalny starter Vue + Vite",
258
+ en: "the official Vue + Vite starter",
259
+ fr: "le starter officiel Vue + Vite",
260
+ es: "el starter oficial Vue + Vite",
261
+ }),
262
+ learnMore: t({
263
+ pl: "Dowiedz się więcej o wsparciu IDE dla Vue w ",
264
+ en: "Learn more about IDE Support for Vue in the ",
265
+ fr: "En savoir plus sur le support IDE pour Vue dans le ",
266
+ es: "Aprenda más sobre el soporte IDE para Vue en el ",
267
+ }),
268
+ vueDocs: t({
269
+ pl: "Przewodnik skalowania dokumentacji Vue",
270
+ en: "Vue Docs Scaling up Guide",
271
+ fr: "Vue Docs Scaling up Guide",
272
+ es: "Vue Docs Scaling up Guide",
273
+ }),
274
+ readTheDocs: t({
275
+ pl: "Kliknij na loga Vite i Vue, aby dowiedzieć się więcej",
276
+ en: "Click on the Vite and Vue logos to learn more",
277
+ fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
278
+ es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
279
+ pl: "Kliknij na logotypy Vite i Vue, aby dowiedzieć się więcej",
280
+ }),
281
+ },
282
+ };
283
+
284
+ export default helloWorldContent;
285
+ ```
286
+
287
+ ```javascript fileName="src/helloWorld.content.cjs" contentDeclarationFormat="commonjs"
288
+ const { t } = require("intlayer");
289
+
290
+ /** @type {import('intlayer').Dictionary} */
291
+ const appContent = {
292
+ key: "helloworld",
293
+ content: {
294
+ count: t({
295
+ pl: "licznik to ",
296
+ en: "count is ",
297
+ fr: "le compte est ",
298
+ es: "el recuento es ",
299
+ }),
300
+ edit: t({
301
+ pl: "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
302
+ en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
303
+ fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
304
+ es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
305
+ }),
306
+ checkOut: t({
307
+ pl: "Sprawdź ",
308
+ en: "Check out ",
309
+ fr: "Vérifiez ",
310
+ es: "Compruebe ",
311
+ }),
312
+ officialStarter: t({
313
+ pl: "oficjalny starter Vue + Vite",
314
+ en: "the official Vue + Vite starter",
315
+ fr: "le starter officiel Vue + Vite",
316
+ es: "el starter oficial Vue + Vite",
317
+ }),
318
+ learnMore: t({
319
+ pl: "Dowiedz się więcej o wsparciu IDE dla Vue w ",
320
+ en: "Learn more about IDE Support for Vue in the ",
321
+ fr: "En savoir plus sur le support IDE pour Vue dans le ",
322
+ es: "Aprenda más sobre el soporte IDE para Vue en el ",
323
+ }),
324
+ vueDocs: t({
325
+ pl: "Przewodnik skalowania dokumentacji Vue",
326
+ en: "Vue Docs Scaling up Guide",
327
+ fr: "Vue Docs Scaling up Guide",
328
+ es: "Vue Docs Scaling up Guide",
329
+ }),
330
+ readTheDocs: t({
331
+ pl: "Kliknij na logotypy Vite i Vue, aby dowiedzieć się więcej",
332
+ en: "Click on the Vite and Vue logos to learn more",
333
+ fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
334
+ es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
335
+ }),
336
+ },
337
+ };
338
+
339
+ module.exports = appContent;
340
+ ```
341
+
342
+ ```json fileName="src/helloWorld.content.json" contentDeclarationFormat="json"
343
+ {
344
+ "$schema": "https://intlayer.org/schema.json",
345
+ "key": "helloworld",
346
+ "content": {
347
+ "count": {
348
+ "nodeType": "translation",
349
+ "translation": {
350
+ "pl": "liczba to ",
351
+ "en": "count is ",
352
+ "fr": "le compte est ",
353
+ "es": "el recuento es "
354
+ }
355
+ },
356
+ "edit": {
357
+ "nodeType": "translation",
358
+ "translation": {
359
+ "pl": "Edytuj <code>components/HelloWorld.vue</code> i zapisz, aby przetestować HMR",
360
+ "en": "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
361
+ "fr": "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
362
+ "es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
363
+ }
364
+ },
365
+ "es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
366
+ }
367
+ },
368
+ "checkOut": {
369
+ "nodeType": "translation",
370
+ "translation": {
371
+ "pl": "Sprawdź ",
372
+ "en": "Check out ",
373
+ "fr": "Vérifiez ",
374
+ "es": "Compruebe "
375
+ }
376
+ },
377
+ "officialStarter": {
378
+ "nodeType": "translation",
379
+ "translation": {
380
+ "pl": "oficjalny starter Vue + Vite",
381
+ "en": "the official Vue + Vite starter",
382
+ "fr": "le starter officiel Vue + Vite",
383
+ "es": "el starter oficial Vue + Vite"
384
+ }
385
+ },
386
+ "learnMore": {
387
+ "nodeType": "translation",
388
+ "translation": {
389
+ "pl": "Dowiedz się więcej o wsparciu IDE dla Vue w ",
390
+ "en": "Learn more about IDE Support for Vue in the ",
391
+ "fr": "En savoir plus sur le support IDE pour Vue dans le ",
392
+ "es": "Aprenda más sobre el soporte IDE para Vue en el "
393
+ }
394
+ },
395
+ "vueDocs": {
396
+ "nodeType": "translation",
397
+ "translation": {
398
+ "pl": "Przewodnik po skalowaniu Vue Docs",
399
+ "en": "Vue Docs Scaling up Guide",
400
+ "fr": "Vue Docs Scaling up Guide",
401
+ "es": "Vue Docs Scaling up Guide"
402
+ }
403
+ },
404
+ "readTheDocs": {
405
+ "nodeType": "translation",
406
+ "translation": {
407
+ "pl": "Kliknij na loga Vite i Vue, aby dowiedzieć się więcej",
408
+ "en": "Click on the Vite and Vue logos to learn more",
409
+ "fr": "Cliquez sur les logos Vite et Vue pour en savoir plus",
410
+ "es": "Haga clic en los logotipos de Vite y Vue para obtener más información"
411
+ }
412
+ }
413
+ }
414
+ }
415
+ ```
416
+
417
+ > Twoje deklaracje zawartości mogą być definiowane w dowolnym miejscu w Twojej aplikacji, pod warunkiem, że zostaną umieszczone w katalogu `contentDir` (domyślnie `./src`). Muszą również odpowiadać rozszerzeniu pliku deklaracji zawartości (domyślnie `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
418
+
419
+ > Po więcej szczegółów odsyłamy do [dokumentacji deklaracji zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md).
420
+
421
+ ### Krok 5: Wykorzystaj Intlayer w swoim kodzie
422
+
423
+ Aby wykorzystać funkcje internacjonalizacji Intlayer w całej aplikacji Vue, najpierw musisz zarejestrować instancję singleton Intlayer w swoim głównym pliku. Ten krok jest kluczowy, ponieważ dostarcza kontekst internacjonalizacji wszystkim komponentom w aplikacji, umożliwiając dostęp do tłumaczeń w dowolnym miejscu w drzewie komponentów.
424
+
425
+ ```javascript fileName=main.js
426
+ import { createApp } from "vue";
427
+ import { installIntlayer } from "vue-intlayer";
428
+ import App from "./App.vue";
429
+ import "./style.css";
430
+
431
+ const app = createApp(App);
432
+
433
+ // Wstrzyknij providera na najwyższym poziomie
434
+ installIntlayer(app);
435
+
436
+ // Zamontuj aplikację
437
+ app.mount("#app");
438
+ ```
439
+
440
+ Uzyskaj dostęp do swoich słowników treści w całej aplikacji, tworząc główny komponent Vue i używając kompozycji `useIntlayer`:
441
+
442
+ ```vue fileName="src/HelloWord.vue"
443
+ <script setup lang="ts">
444
+ import { ref } from "vue";
445
+ import { useIntlayer } from "vue-intlayer";
446
+
447
+ defineProps({
448
+ msg: String,
449
+ });
450
+
451
+ const {
452
+ count,
453
+ edit,
454
+ checkOut,
455
+ officialStarter,
456
+ learnMore,
457
+ vueDocs,
458
+ readTheDocs,
459
+ } = useIntlayer("helloworld");
460
+ const countRef = ref(0);
461
+ </script>
462
+
463
+ <template>
464
+ <h1>{{ msg }}</h1>
465
+
466
+ <div class="card">
467
+ <button type="button" @click="countRef++">
468
+ <count />
469
+ {{ countRef }}
470
+ </button>
471
+ <p v-html="edit"></p>
472
+ </div>
473
+
474
+ <p>
475
+ <checkOut />
476
+ <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
477
+ >create-vue</a
478
+ >, <officialStarter />
479
+ </p>
480
+ <p>
481
+ <learnMore />
482
+ <a
483
+ href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
484
+ target="_blank"
485
+ ><vueDocs /></a
486
+ >.
487
+ </p>
488
+ <p class="read-the-docs"><readTheDocs /></p>
489
+ <p class="read-the-docs">{{ readTheDocs }}</p>
490
+ </template>
491
+ ```
492
+
493
+ #### Dostęp do treści w Intlayer
494
+
495
+ Intlayer oferuje różne API do dostępu do Twojej treści:
496
+
497
+ - **Składnia oparta na komponentach** (zalecana):
498
+ 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).
499
+
500
+ - **Składnia oparta na łańcuchu znaków**:
501
+ Użyj `{{ myContent }}`, aby wyrenderować treść jako zwykły tekst, bez wsparcia Visual Editor.
502
+
503
+ - **Składnia surowego HTML**:
504
+ Użyj `<div v-html="myContent" />`, aby renderować zawartość jako surowy HTML, bez wsparcia Visual Editora.
505
+
506
+ - **Składnia destrukturyzacji**:
507
+ Kompozycja `useIntlayer` zwraca Proxy z zawartością. Ten proxy można destrukturyzować, aby uzyskać dostęp do zawartości, zachowując reaktywność.
508
+ - Użyj `const content = useIntlayer("myContent");` oraz `{{ content.myContent }}` / `<content.myContent />`.
509
+ - Lub użyj `const { myContent } = useIntlayer("myContent");` oraz `{{ myContent }}` / `<myContent/>`, aby destrukturyzować zawartość.
510
+
511
+ ### (Opcjonalny) Krok 6: Zmień język swojej zawartości
512
+
513
+ Aby zmienić język swojej zawartości, możesz użyć funkcji `setLocale` dostarczonej przez kompozycję `useLocale`. Funkcja ta pozwala ustawić lokalizację aplikacji i odpowiednio zaktualizować zawartość.
514
+
515
+ Utwórz komponent do przełączania między językami:
516
+
517
+ ```vue fileName="src/components/LocaleSwitcher.vue"
518
+ <template>
519
+ <div class="locale-switcher">
520
+ <select v-model="selectedLocale" @change="changeLocale">
521
+ <option v-for="loc in availableLocales" :key="loc" :value="loc">
522
+ {{ getLocaleName(loc) }}
523
+ </option>
524
+ </select>
525
+ </div>
526
+ </template>
527
+
528
+ <script setup lang="ts">
529
+ import { ref, watch } from "vue";
530
+ import { getLocaleName } from "intlayer";
531
+ import { useLocale } from "vue-intlayer";
532
+
533
+ // Pobierz informacje o lokalizacji oraz funkcję setLocale
534
+ const { locale, availableLocales, setLocale } = useLocale();
535
+
536
+ // Śledź wybraną lokalizację za pomocą ref
537
+ const selectedLocale = ref(locale.value);
538
+
539
+ // Aktualizuj lokalizację, gdy zmieni się wybór
540
+ const changeLocale = () => setLocale(selectedLocale.value);
541
+
542
+ // Synchronizuj selectedLocale z globalnym locale
543
+ watch(
544
+ () => locale.value,
545
+ (newLocale) => {
546
+ selectedLocale.value = newLocale;
547
+ }
548
+ );
549
+ </script>
550
+ ```
551
+
552
+ Następnie użyj tego komponentu w swoim pliku App.vue:
553
+
554
+ ```vue fileName="src/App.vue"
555
+ <script setup lang="ts">
556
+ import { useIntlayer } from "vue-intlayer";
557
+ import HelloWorld from "@components/HelloWorld.vue";
558
+ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
559
+ import { ref, watch } from "vue";
560
+
561
+ const content = useIntlayer("app"); // Utwórz powiązany plik deklaracji intlayer
562
+ </script>
563
+
564
+ <template>
565
+ <div>
566
+ <LocaleSwitcher />
567
+ <a href="https://vite.dev" target="_blank">
568
+ <img src="/vite.svg" class="logo" :alt="content.viteLogo" />
569
+ </a>
570
+ <a href="https://vuejs.org/" target="_blank">
571
+ <img src="./assets/vue.svg" class="logo vue" :alt="content.vueLogo" />
572
+ </a>
573
+ </div>
574
+ <HelloWorld :msg="content.title" />
575
+ </template>
576
+ ```
577
+
578
+ ### (Opcjonalny) Krok 7: Dodaj lokalizowane routowanie do swojej aplikacji
579
+
580
+ Dodanie lokalizowanego routingu w aplikacji Vue zazwyczaj polega na użyciu Vue Router z prefiksami lokalizacji. Tworzy to unikalne ścieżki dla każdego języka, co jest przydatne dla SEO i przyjaznych dla SEO adresów URL.
581
+
582
+ Przykład:
583
+
584
+ ```plaintext
585
+ - https://example.com/about
586
+ - https://example.com/es/about
587
+ - https://example.com/fr/about
588
+ ```
589
+
590
+ Najpierw zainstaluj Vue Router:
591
+
592
+ ```bash packageManager="npm"
593
+ npm install intlayer vue-router
594
+ ```
595
+
596
+ ```bash packageManager="pnpm"
597
+ pnpm add intlayer vue-router
598
+ ```
599
+
600
+ ```bash packageManager="yarn"
601
+ yarn add intlayer vue-router
602
+ ```
603
+
604
+ Następnie utwórz konfigurację routera, która obsługuje routing oparty na lokalizacji:
605
+
606
+ ```js fileName="src/router/index.ts"
607
+ import {
608
+ configuration,
609
+ getPathWithoutLocale,
610
+ localeFlatMap,
611
+ type Locales,
612
+ } from 'intlayer';
613
+ import { createIntlayerClient } from 'vue-intlayer';
614
+ import { createRouter, createWebHistory } from 'vue-router';
615
+ import HomeView from './views/home/HomeView.vue';
616
+ import RootView from './views/root/Root.vue';
617
+
618
+ // Pobierz konfigurację internacjonalizacji
619
+ const { internationalization, middleware } = configuration;
620
+ const { defaultLocale } = internationalization;
621
+
622
+ /**
623
+ * Zadeklaruj trasy z lokalizowanymi ścieżkami i metadanymi.
624
+ */
625
+ const routes = localeFlatMap((localizedData) => [
626
+ {
627
+ path: `${localizedData.urlPrefix}/`,
628
+ name: `Root-${localizedData.locale}`,
629
+ component: RootView,
630
+ meta: {
631
+ locale: localizedData.locale,
632
+ },
633
+ },
634
+ {
635
+ path: `${localizedData.urlPrefix}/home`,
636
+ name: `Home-${localizedData.locale}`,
637
+ component: HomeView,
638
+ meta: {
639
+ locale: localizedData.locale,
640
+ },
641
+ },
642
+ ]);
643
+
644
+ // Utwórz instancję routera
645
+ export const router = createRouter({
646
+ history: createWebHistory(),
647
+ routes,
648
+ });
649
+
650
+ // Dodaj strażnika nawigacji do obsługi lokalizacji
651
+ router.beforeEach((to, _from, next) => {
652
+ const client = createIntlayerClient();
653
+
654
+ const metaLocale = to.meta.locale as Locales | undefined;
655
+
656
+ if (metaLocale) {
657
+ // Ponowne użycie lokalizacji zdefiniowanej w meta trasy
658
+ client.setLocale(metaLocale);
659
+ next();
660
+ } else {
661
+ // Domyślne zachowanie: brak lokalizacji w meta, możliwa nieznaleziona trasa
662
+ // Opcjonalnie: obsłuż 404 lub przekieruj do domyślnej lokalizacji
663
+ client.setLocale(defaultLocale);
664
+
665
+ if (middleware.prefixDefault) {
666
+ next(`/${defaultLocale}${getPathWithoutLocale(to.path)}`);
667
+ } else {
668
+ next(getPathWithoutLocale(to.path));
669
+ }
670
+ }
671
+ });
672
+ ```
673
+
674
+ > Nazwa jest używana do identyfikacji trasy w routerze. Powinna być unikalna wśród wszystkich tras, aby uniknąć konfliktów oraz zapewnić prawidłową nawigację i linkowanie.
675
+
676
+ Następnie zarejestruj router w pliku main.js:
677
+
678
+ ```js fileName="src/main.ts"
679
+ import { createApp } from "vue";
680
+ import App from "./App.vue";
681
+ import { router } from "./router";
682
+ import "./style.css";
683
+
684
+ const app = createApp(App);
685
+
686
+ // Dodaj router do aplikacji
687
+ app.use(router);
688
+
689
+ // Zamontuj aplikację
690
+ app.mount("#app");
691
+ ```
692
+
693
+ Następnie zaktualizuj plik `App.vue`, aby renderować komponent RouterView. Ten komponent wyświetli dopasowany komponent dla bieżącej ścieżki.
694
+
695
+ ```vue fileName="src/App.vue"
696
+ <script setup lang="ts">
697
+ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
698
+ </script>
699
+
700
+ <template>
701
+ <nav>
702
+ <LocaleSwitcher />
703
+ </nav>
704
+ <RouterView />
705
+ </template>
706
+ ```
707
+
708
+ Równolegle możesz również użyć `intlayerMiddleware`, aby dodać routowanie po stronie serwera do swojej aplikacji. Ten plugin automatycznie wykryje bieżący język na podstawie URL i ustawi odpowiedni cookie językowy. Jeśli nie zostanie określony żaden język, plugin wybierze najbardziej odpowiedni język na podstawie preferencji językowych przeglądarki użytkownika. Jeśli nie zostanie wykryty żaden język, nastąpi przekierowanie do domyślnego języka.
709
+
710
+ > Zauważ, że aby używać `intlayerMiddleware` w produkcji, musisz przenieść pakiet `vite-intlayer` z `devDependencies` do `dependencies`.
711
+
712
+ ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
713
+ import { defineConfig } from "vite";
714
+ import vue from "@vitejs/plugin-vue";
715
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
716
+
717
+ // https://vitejs.dev/config/
718
+ export default defineConfig({
719
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
720
+ });
721
+ ```
722
+
723
+ ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
724
+ import { defineConfig } from "vite";
725
+ import vue from "@vitejs/plugin-vue";
726
+ import { intlayer, intlayerMiddleware } from "vite-intlayer";
727
+
728
+ // https://vitejs.dev/config/
729
+ export default defineConfig({
730
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
731
+ });
732
+ ```
733
+
734
+ ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
735
+ const { defineConfig } = require("vite");
736
+ const vue = require("@vitejs/plugin-vue");
737
+ const { intlayer, intlayerMiddleware } = require("vite-intlayer");
738
+
739
+ // https://vitejs.dev/config/
740
+ module.exports = defineConfig({
741
+ plugins: [vue(), intlayer(), intlayerMiddleware()],
742
+ });
743
+ ```
744
+
745
+ ### (Opcjonalny) Krok 8: Zmiana URL po zmianie lokalizacji
746
+
747
+ Aby automatycznie aktualizować URL po zmianie języka przez użytkownika, możesz zmodyfikować komponent `LocaleSwitcher`, aby korzystał z Vue Router:
748
+
749
+ ```vue fileName="src/components/LocaleSwitcher.vue"
750
+ <template>
751
+ <div class="locale-switcher">
752
+ <select v-model="selectedLocale" @change="changeLocale">
753
+ <option v-for="loc in availableLocales" :key="loc" :value="loc">
754
+ {{ getLocaleName(loc) }}
755
+ </option>
756
+ </select>
757
+ </div>
758
+ </template>
759
+
760
+ <script setup lang="ts">
761
+ import { ref, watch } from "vue";
762
+ import { useRouter } from "vue-router";
763
+ import { Locales, getLocaleName, getLocalizedUrl } from "intlayer";
764
+ import { useLocale } from "vue-intlayer";
765
+
766
+ // Pobierz Vue Router
767
+ const router = useRouter();
768
+
769
+ // Pobierz informacje o lokalizacji oraz funkcję setLocale
770
+ const { locale, availableLocales, setLocale } = useLocale({
771
+ onLocaleChange: (newLocale) => {
772
+ // Pobierz bieżącą trasę i utwórz zlokalizowany URL
773
+ const currentPath = router.currentRoute.value.fullPath;
774
+ const localizedPath = getLocalizedUrl(currentPath, newLocale);
775
+
776
+ // Przejdź do zlokalizowanej trasy bez przeładowania strony
777
+ router.push(localizedPath);
778
+ },
779
+ });
780
+
781
+ // Śledź wybraną lokalizację za pomocą ref
782
+ const selectedLocale = ref(locale.value);
783
+
784
+ // Aktualizuj lokalizację, gdy zmieni się wybór
785
+ const changeLocale = () => {
786
+ setLocale(selectedLocale.value);
787
+ };
788
+
789
+ // Synchronizuj selectedLocale z globalną lokalizacją
790
+ watch(
791
+ () => locale.value,
792
+ (newLocale) => {
793
+ selectedLocale.value = newLocale;
794
+ }
795
+ );
796
+ </script>
797
+ ```
798
+
799
+ Wskazówka: Dla lepszego SEO i dostępności używaj tagów takich jak `<a href="/fr/home" hreflang="fr">` do linkowania do stron zlokalizowanych, jak pokazano w Kroku 10. Pozwala to wyszukiwarkom na prawidłowe wykrywanie i indeksowanie adresów URL specyficznych dla języka. Aby zachować zachowanie SPA, możesz zapobiec domyślnej nawigacji za pomocą @click.prevent, zmienić lokalizację używając useLocale oraz programowo nawigować za pomocą Vue Router.
800
+
801
+ ```html
802
+ <ol class="divide-text/20 divide-y divide-dashed overflow-y-auto p-1">
803
+ <li>
804
+ <a
805
+ hreflang="x-default"
806
+ aria-label="Przełącz na angielski"
807
+ target="_self"
808
+ aria-current="page"
809
+ href="/doc/get-started"
810
+ >
811
+ <div>
812
+ <span dir="ltr" lang="en">English</span>
813
+ <span>Angielski</span>
814
+ <span>EN</span>
815
+ </div>
816
+ </a>
817
+ </li>
818
+ <li>
819
+ <a
820
+ hreflang="es"
821
+ aria-label="Przełącz na hiszpański"
822
+ target="_self"
823
+ href="/es/doc/get-started"
824
+ >
825
+ <div>
826
+ <span dir="ltr" lang="es">Español</span>
827
+ <span>Hiszpański</span>
828
+ <span>ES</span>
829
+ </div>
830
+ </a>
831
+ </li>
832
+ </ol>
833
+ ```
834
+
835
+ ### (Opcjonalny) Krok 9: Zmień atrybuty języka i kierunku w tagu HTML
836
+
837
+ Gdy Twoja aplikacja obsługuje wiele języków, niezwykle ważne jest, aby zaktualizować atrybuty `lang` i `dir` znacznika `<html>`, tak aby odpowiadały aktualnej lokalizacji. Zapewnia to:
838
+
839
+ - **Dostępność**: Czytniki ekranu i technologie wspomagające polegają na poprawnym atrybucie `lang`, aby prawidłowo wymawiać i interpretować zawartość.
840
+ - **Renderowanie tekstu**: Atrybut `dir` (kierunek) zapewnia, że tekst jest wyświetlany w odpowiedniej kolejności (np. od lewej do prawej dla angielskiego, od prawej do lewej dla arabskiego lub hebrajskiego), co jest kluczowe dla czytelności.
841
+ - **SEO**: Wyszukiwarki używają atrybutu `lang`, aby określić język Twojej strony, co pomaga w wyświetlaniu odpowiednio zlokalizowanych treści w wynikach wyszukiwania.
842
+
843
+ Aktualizując te atrybuty dynamicznie przy każdej zmianie lokalizacji, zapewniasz spójne i dostępne doświadczenie dla użytkowników we wszystkich obsługiwanych językach.
844
+
845
+ ```js fileName="src/composables/useI18nHTMLAttributes.ts"
846
+ import { watch } from "vue";
847
+ import { useLocale } from "vue-intlayer";
848
+ import { getHTMLTextDir } from "intlayer";
849
+
850
+ /**
851
+ * Composable, który aktualizuje atrybuty `lang` i `dir` elementu HTML <html>
852
+ * na podstawie aktualnej lokalizacji.
853
+ *
854
+ * @example
855
+ * // W Twoim pliku App.vue lub globalnym komponencie
856
+ * import { useI18nHTMLAttributes } from './composables/useI18nHTMLAttributes'
857
+ *
858
+ * useI18nHTMLAttributes()
859
+ */
860
+ export const useI18nHTMLAttributes = () => {
861
+ const { locale } = useLocale();
862
+
863
+ // Aktualizuj atrybuty HTML za każdym razem, gdy zmienia się lokalizacja
864
+ watch(
865
+ () => locale.value,
866
+ (newLocale) => {
867
+ if (!newLocale) return;
868
+
869
+ // Aktualizuj atrybut języka
870
+ document.documentElement.lang = newLocale;
871
+
872
+ // Ustaw kierunek tekstu (ltr dla większości języków, rtl dla arabskiego, hebrajskiego itd.)
873
+ document.documentElement.dir = getHTMLTextDir(newLocale);
874
+ },
875
+ { immediate: true }
876
+ );
877
+ };
878
+ ```
879
+
880
+ Użyj tego composable w swoim `App.vue` lub globalnym komponencie:
881
+
882
+ ```vue fileName="src/App.vue"
883
+ <script setup lang="ts">
884
+ import { useI18nHTMLAttributes } from "@composables/useI18nHTMLAttributes";
885
+
886
+ // Zastosuj atrybuty HTML na podstawie aktualnej lokalizacji
887
+ useI18nHTMLAttributes();
888
+ </script>
889
+
890
+ <template>
891
+ <!-- Szablon Twojej aplikacji -->
892
+ </template>
893
+ ```
894
+
895
+ ### (Opcjonalny) Krok 10: Tworzenie lokalizowanego komponentu Link
896
+
897
+ Aby zapewnić, że nawigacja w Twojej aplikacji respektuje aktualny język, możesz stworzyć niestandardowy komponent `Link`. Ten komponent automatycznie dodaje przedrostek z aktualnym językiem do wewnętrznych adresów URL. Na przykład, gdy użytkownik mówiący po francusku kliknie link do strony "About", zostanie przekierowany na `/fr/about` zamiast na `/about`.
898
+
899
+ To zachowanie jest przydatne z kilku powodów:
900
+
901
+ - **SEO i doświadczenie użytkownika**: Lokalizowane adresy URL pomagają wyszukiwarkom poprawnie indeksować strony specyficzne dla języka oraz dostarczać użytkownikom treści w ich preferowanym języku.
902
+ - **Spójność**: Korzystając z lokalizowanego linku w całej aplikacji, zapewniasz, że nawigacja pozostaje w obrębie aktualnego języka, zapobiegając nieoczekiwanym zmianom języka.
903
+ /// **Utrzymanie**: Centralizacja logiki lokalizacji w jednym komponencie upraszcza zarządzanie adresami URL, co sprawia, że baza kodu jest łatwiejsza w utrzymaniu i rozbudowie wraz z rozwojem aplikacji.
904
+
905
+ ```vue fileName="src/components/Link.vue"
906
+ <template>
907
+ <a :href="localizedHref" v-bind="$attrs">
908
+ <slot />
909
+ </a>
910
+ </template>
911
+
912
+ <script setup lang="ts">
913
+ import { computed } from "vue";
914
+ import { getLocalizedUrl } from "intlayer";
915
+ import { useLocale } from "vue-intlayer";
916
+
917
+ const props = defineProps({
918
+ href: {
919
+ type: String,
920
+ required: true,
921
+ },
922
+ });
923
+
924
+ const { locale } = useLocale();
925
+
926
+ // Sprawdź, czy link jest zewnętrzny
927
+ const isExternalLink = computed(() => /^https?:\/\//.test(props.href || ""));
928
+
929
+ // Utwórz zlokalizowany href dla linków wewnętrznych
930
+ const localizedHref = computed(() =>
931
+ isExternalLink.value ? props.href : getLocalizedUrl(props.href, locale.value)
932
+ );
933
+ </script>
934
+ ```
935
+
936
+ Do użytku z Vue Router, utwórz wersję specyficzną dla routera:
937
+
938
+ ```vue fileName="src/components/RouterLink.vue"
939
+ <template>
940
+ <router-link :to="localizedTo" v-bind="$attrs">
941
+ <slot />
942
+ </router-link>
943
+ </template>
944
+
945
+ <script setup lang="ts">
946
+ import { computed } from "vue";
947
+ import { getLocalizedUrl } from "intlayer";
948
+ import { useLocale } from "vue-intlayer";
949
+
950
+ const props = defineProps({
951
+ to: {
952
+ type: [String, Object],
953
+ required: true,
954
+ },
955
+ });
956
+
957
+ const { locale } = useLocale();
958
+
959
+ // Utwórz zlokalizowaną właściwość to dla router-link
960
+ const localizedTo = computed(() => {
961
+ if (typeof props.to === "string") {
962
+ return getLocalizedUrl(props.to, locale.value);
963
+ } else {
964
+ // Jeśli 'to' jest obiektem, zlokalizuj właściwość path
965
+ return {
966
+ ...props.to,
967
+ path: getLocalizedUrl(props.to.path ?? "/", locale.value),
968
+ };
969
+ }
970
+ });
971
+ </script>
972
+ ```
973
+
974
+ Użyj tych komponentów w swojej aplikacji:
975
+
976
+ ```vue fileName="src/App.vue"
977
+ <template>
978
+ <div>
979
+ <!-- Vue router -->
980
+ <RouterLink to="/">Root</RouterLink>
981
+ <RouterLink to="/home">Home</RouterLink>
982
+ <!-- Inne -->
983
+ <Link href="/">Root</Link>
984
+ <Link href="/home">Home</Link>
985
+ </div>
986
+ </template>
987
+
988
+ <script setup lang="ts">
989
+ import Link from "@components/Link.vue";
990
+ import RouterLink from "@components/RouterLink.vue";
991
+ </script>
992
+ ```
993
+
994
+ ### (Opcjonalny) Krok 11: Renderowanie Markdown
995
+
996
+ Intlayer obsługuje renderowanie zawartości Markdown bezpośrednio w Twojej aplikacji Vue. Domyślnie Markdown jest traktowany jako zwykły tekst. Aby przekształcić Markdown w bogaty HTML, możesz zintegrować [markdown-it](https://github.com/markdown-it/markdown-it), parser Markdown.
997
+
998
+ Jest to szczególnie przydatne, gdy Twoje tłumaczenia zawierają sformatowaną zawartość, taką jak listy, linki czy wyróżnienia.
999
+
1000
+ Domyślnie Intlayer renderuje markdown jako ciąg znaków. Jednak Intlayer oferuje również sposób na renderowanie markdown do HTML za pomocą funkcji `installIntlayerMarkdown`.
1001
+
1002
+ > Aby zobaczyć, jak deklarować zawartość markdown za pomocą pakietu `intlayer`, zobacz [dokumentację markdown](https://github.com/aymericzip/intlayer/tree/main/docs/pl/dictionary/markdown.md).
1003
+
1004
+ ```ts fileName="main.ts"
1005
+ import MarkdownIt from "markdown-it";
1006
+ import { createApp, h } from "vue";
1007
+ import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
1008
+
1009
+ const app = createApp(App);
1010
+
1011
+ installIntlayer(app);
1012
+
1013
+ const md = new MarkdownIt({
1014
+ html: true, // zezwól na tagi HTML
1015
+ linkify: true, // automatyczne linkowanie URL
1016
+ typographer: true, // włącz inteligentne cudzysłowy, myślniki itp.
1017
+ });
1018
+
1019
+ // Powiedz Intlayer, aby używał md.render() za każdym razem, gdy musi przekształcić markdown na HTML
1020
+ installIntlayerMarkdown(app, (markdown) => {
1021
+ const html = md.render(markdown);
1022
+ return h("div", { innerHTML: html });
1023
+ });
1024
+ ```
1025
+
1026
+ Po zarejestrowaniu możesz używać składni opartej na komponentach, aby bezpośrednio wyświetlać zawartość Markdown:
1027
+
1028
+ ```vue
1029
+ <template>
1030
+ <div>
1031
+ <myMarkdownContent />
1032
+ </div>
1033
+ </template>
1034
+
1035
+ <script setup lang="ts">
1036
+ import { useIntlayer } from "vue-intlayer";
1037
+
1038
+ const { myMarkdownContent } = useIntlayer("my-component");
1039
+ </script>
1040
+ ```
1041
+
1042
+ ### Konfiguracja TypeScript
1043
+
1044
+ Intlayer wykorzystuje rozszerzenia modułów (module augmentation), aby korzystać z zalet TypeScript i uczynić Twoją bazę kodu bardziej solidną.
1045
+
1046
+ ![Autouzupełnianie](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1047
+
1048
+ ![Błąd tłumaczenia](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
1049
+
1050
+ Upewnij się, że Twoja konfiguracja TypeScript zawiera automatycznie generowane typy.
1051
+
1052
+ ```json5 fileName="tsconfig.json"
1053
+ {
1054
+ // ... Twoje istniejące konfiguracje TypeScript
1055
+ "include": [
1056
+ // ... Twoje istniejące konfiguracje TypeScript
1057
+ ".intlayer/**/*.ts", // Uwzględnij automatycznie generowane typy
1058
+ ],
1059
+ }
1060
+ ```
1061
+
1062
+ ### Konfiguracja Git
1063
+
1064
+ Zaleca się ignorowanie plików generowanych przez Intlayer. Pozwala to uniknąć ich zatwierdzania do repozytorium Git.
1065
+
1066
+ Aby to zrobić, możesz dodać następujące instrukcje do pliku `.gitignore`:
1067
+
1068
+ ```plaintext
1069
+ # Ignoruj pliki generowane przez Intlayer
1070
+ .intlayer
1071
+ ```
1072
+
1073
+ ### Rozszerzenie VS Code
1074
+
1075
+ Aby poprawić doświadczenie podczas pracy z Intlayer, możesz zainstalować oficjalne **rozszerzenie Intlayer dla VS Code**.
1076
+
1077
+ [Zainstaluj z Marketplace VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1078
+
1079
+ To rozszerzenie oferuje:
1080
+
1081
+ - **Autouzupełnianie** kluczy tłumaczeń.
1082
+ - **Wykrywanie błędów w czasie rzeczywistym** dla brakujących tłumaczeń.
1083
+ - **Podgląd w linii** przetłumaczonej zawartości.
1084
+ - **Szybkie akcje** umożliwiające łatwe tworzenie i aktualizowanie tłumaczeń.
1085
+
1086
+ Zaleca się ignorowanie plików generowanych przez Intlayer. Pozwala to uniknąć ich zatwierdzania do repozytorium Git.
1087
+
1088
+ Aby to zrobić, możesz dodać następujące instrukcje do pliku `.gitignore`:
1089
+
1090
+ ```plaintext
1091
+ # Ignoruj pliki generowane przez Intlayer
1092
+ .intlayer
1093
+ ```
1094
+
1095
+ ### Rozszerzenie VS Code
1096
+
1097
+ Aby poprawić doświadczenie programistyczne z Intlayer, możesz zainstalować oficjalne **rozszerzenie Intlayer dla VS Code**.
1098
+
1099
+ [Zainstaluj z Marketplace VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1100
+
1101
+ To rozszerzenie oferuje:
1102
+
1103
+ - **Autouzupełnianie** kluczy tłumaczeń.
1104
+ - **Wykrywanie błędów w czasie rzeczywistym** dla brakujących tłumaczeń.
1105
+ - **Podgląd w linii** przetłumaczonej zawartości.
1106
+ - **Szybkie akcje** do łatwego tworzenia i aktualizowania tłumaczeń.
1107
+
1108
+ Więcej szczegółów na temat korzystania z rozszerzenia znajdziesz w [dokumentacji rozszerzenia Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
1109
+
1110
+ ---
1111
+
1112
+ ### Idź dalej
1113
+
1114
+ Aby iść dalej, możesz zaimplementować [edytor wizualny](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) lub wyodrębnić swoją zawartość, korzystając z [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md).
1115
+
1116
+ ---