@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,215 @@
1
+ ---
2
+ createdAt: 2025-08-23
3
+ updatedAt: 2025-08-23
4
+ title: Giới thiệu
5
+ description: Tìm hiểu cách Intlayer hoạt động. Xem các bước mà Intlayer sử dụng trong ứng dụng của bạn. Xem các gói khác nhau làm gì.
6
+ keywords:
7
+ - Giới thiệu
8
+ - Bắt đầu
9
+ - Intlayer
10
+ - Ứng dụng
11
+ - Gói
12
+ slugs:
13
+ - doc
14
+ - get-started
15
+ history:
16
+ - version: 5.5.10
17
+ date: 2025-06-29
18
+ changes: Khởi tạo lịch sử
19
+ ---
20
+
21
+ # Tài liệu Intlayer
22
+
23
+ Chào mừng bạn đến với tài liệu chính thức của Intlayer! Ở đây, bạn sẽ tìm thấy mọi thứ cần thiết để tích hợp, cấu hình và làm chủ Intlayer cho tất cả các nhu cầu quốc tế hóa (i18n) của bạn, dù bạn đang làm việc với Next.js, React, Vite, Express hay môi trường JavaScript khác.
24
+
25
+ ## Giới thiệu
26
+
27
+ ### Intlayer là gì?
28
+
29
+ **Intlayer** là một thư viện quốc tế hóa được thiết kế đặc biệt cho các nhà phát triển JavaScript. Nó cho phép khai báo nội dung của bạn ở mọi nơi trong mã nguồn. Nó chuyển đổi khai báo nội dung đa ngôn ngữ thành các từ điển có cấu trúc để dễ dàng tích hợp vào mã của bạn. Sử dụng TypeScript, **Intlayer** giúp phát triển của bạn mạnh mẽ và hiệu quả hơn.
30
+
31
+ Intlayer cũng cung cấp một trình chỉnh sửa trực quan tùy chọn cho phép bạn dễ dàng chỉnh sửa và quản lý nội dung của mình. Trình chỉnh sửa này đặc biệt hữu ích cho các nhà phát triển thích giao diện trực quan để quản lý nội dung, hoặc cho các nhóm tạo nội dung mà không cần phải lo lắng về mã.
32
+
33
+ ### Ví dụ sử dụng
34
+
35
+ ```bash
36
+ .
37
+ └── Components
38
+ └── MyComponent
39
+ ├── index.content.ts
40
+ └── index.tsx
41
+ ```
42
+
43
+ ```tsx fileName="src/components/MyComponent/index.content.ts" contentDeclarationFormat="typescript"
44
+ import { t, type Dictionary } from "intlayer";
45
+
46
+ const componentContent = {
47
+ key: "component-key",
48
+ content: {
49
+ myTranslatedContent: t({
50
+ en: "Hello World", // Xin chào Thế giới
51
+ es: "Hola Mundo", // Xin chào Thế giới
52
+ fr: "Bonjour le monde", // Xin chào Thế giới
53
+ }),
54
+ },
55
+ } satisfies Dictionary;
56
+
57
+ export default componentContent;
58
+ ```
59
+
60
+ ```javascript fileName="src/components/MyComponent/index.content.mjs" contentDeclarationFormat="esm"
61
+ import { t } from "intlayer";
62
+
63
+ /** @type {import('intlayer').Dictionary} */
64
+ const componentContent = {
65
+ key: "component-key",
66
+ content: {
67
+ myTranslatedContent: t({
68
+ en: "Hello World", // Xin chào Thế giới
69
+ es: "Hola Mundo", // Xin chào Thế giới
70
+ fr: "Bonjour le monde", // Xin chào Thế giới
71
+ }),
72
+ },
73
+ };
74
+
75
+ export default componentContent;
76
+ ```
77
+
78
+ ```javascript fileName="src/components/MyComponent/index.content.cjs" contentDeclarationFormat="commonjs"
79
+ const { t } = require("intlayer");
80
+
81
+ /** @type {import('intlayer').Dictionary} */
82
+ const componentContent = {
83
+ key: "component-key",
84
+ content: {
85
+ myTranslatedContent: t({
86
+ en: "Hello World", // Xin chào Thế giới
87
+ es: "Hola Mundo", // Xin chào Thế giới
88
+ fr: "Bonjour le monde", // Xin chào Thế giới
89
+ }),
90
+ },
91
+ };
92
+
93
+ module.exports = componentContent;
94
+ ```
95
+
96
+ ```json fileName="src/components/MyComponent/index.content.json" contentDeclarationFormat="json"
97
+ {
98
+ "$schema": "https://intlayer.org/schema.json",
99
+ "key": "component-key",
100
+ "content": {
101
+ "myTranslatedContent": {
102
+ "nodeType": "translation",
103
+ "translation": {
104
+ "en": "Hello World",
105
+ "fr": "Bonjour le monde",
106
+ "es": "Hola Mundo"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ ```
112
+
113
+ ```tsx fileName="src/components/MyComponent/index.tsx" codeFormat="typescript"
114
+ import type { FC } from "react";
115
+ import { useIntlayer } from "react-intlayer";
116
+
117
+ export const MyComponent: FC = () => {
118
+ const { myTranslatedContent } = useIntlayer("component-key");
119
+
120
+ return <span>{myTranslatedContent}</span>;
121
+ };
122
+ ```
123
+
124
+ ```jsx fileName="src/components/MyComponent/index.mjx" codeFormat="esm"
125
+ import { useIntlayer } from "react-intlayer";
126
+
127
+ const MyComponent = () => {
128
+ const { myTranslatedContent } = useIntlayer("component-key");
129
+
130
+ return <span>{myTranslatedContent}</span>;
131
+ };
132
+ ```
133
+
134
+ ```jsx fileName="src/components/MyComponent/index.csx" codeFormat="commonjs"
135
+ const { useIntlayer } = require("react-intlayer");
136
+
137
+ const MyComponent = () => {
138
+ const { myTranslatedContent } = useIntlayer("component-key");
139
+
140
+ return <span>{myTranslatedContent}</span>;
141
+ };
142
+ ```
143
+
144
+ ## Tính Năng Chính
145
+
146
+ Intlayer cung cấp nhiều tính năng được thiết kế phù hợp để đáp ứng nhu cầu phát triển web hiện đại. Dưới đây là các tính năng chính, kèm theo các liên kết đến tài liệu chi tiết cho từng tính năng:
147
+
148
+ - **Hỗ trợ Quốc tế hóa**: Nâng cao khả năng tiếp cận toàn cầu của ứng dụng với hỗ trợ quốc tế hóa tích hợp sẵn.
149
+ - **Trình Soạn Thảo Trực Quan**: Cải thiện quy trình phát triển của bạn với các plugin trình soạn thảo được thiết kế dành riêng cho Intlayer. Xem hướng dẫn tại [Hướng Dẫn Trình Soạn Thảo Trực Quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_visual_editor.md).
150
+ - **Tùy Biến Cấu Hình**: Tùy chỉnh thiết lập của bạn với các tùy chọn cấu hình phong phú được trình bày chi tiết trong [Hướng Dẫn Cấu Hình](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/configuration.md).
151
+ - **Công Cụ CLI Nâng Cao**: Quản lý dự án hiệu quả bằng giao diện dòng lệnh của Intlayer. Khám phá các khả năng trong [Tài Liệu Công Cụ CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_cli.md).
152
+
153
+ ## Các Khái Niệm Cốt Lõi
154
+
155
+ ### Từ Điển
156
+
157
+ Tổ chức nội dung đa ngôn ngữ gần với mã nguồn của bạn để giữ mọi thứ nhất quán và dễ bảo trì.
158
+
159
+ - **[Bắt Đầu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/content_file.md)**
160
+ Tìm hiểu những kiến thức cơ bản về cách khai báo nội dung trong Intlayer.
161
+
162
+ - **[Dịch thuật](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/translation.md)**
163
+ Hiểu cách các bản dịch được tạo ra, lưu trữ và sử dụng trong ứng dụng của bạn.
164
+
165
+ - **[Liệt kê](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/enumeration.md)**
166
+ Quản lý dễ dàng các tập dữ liệu lặp lại hoặc cố định trên nhiều ngôn ngữ khác nhau.
167
+
168
+ - **[Điều kiện](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/conditional.md)**
169
+ Tìm hiểu cách sử dụng logic điều kiện trong Intlayer để tạo nội dung động.
170
+
171
+ - **[Chèn giá trị](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/insertion.md)**
172
+ Khám phá cách chèn giá trị vào chuỗi bằng các chỗ giữ chèn giá trị.
173
+
174
+ - **[Lấy dữ liệu bằng hàm](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/function_fetching.md)**
175
+ Xem cách lấy nội dung động với logic tùy chỉnh để phù hợp với quy trình làm việc của dự án bạn.
176
+
177
+ - **[Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/markdown.md)**
178
+ Tìm hiểu cách sử dụng Markdown trong Intlayer để tạo nội dung phong phú.
179
+
180
+ - **[Nhúng tệp](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/file_embeddings.md)**
181
+ Khám phá cách nhúng các tệp bên ngoài vào Intlayer để sử dụng trong trình soạn thảo nội dung.
182
+
183
+ - **[Lồng nhau](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/dictionary/nesting.md)**
184
+ Hiểu cách lồng nội dung trong Intlayer để tạo các cấu trúc phức tạp.
185
+
186
+ ### Môi trường & Tích hợp
187
+
188
+ Chúng tôi xây dựng Intlayer với sự linh hoạt trong tâm trí, cung cấp tích hợp liền mạch với các framework và công cụ xây dựng phổ biến:
189
+
190
+ - **[Intlayer với Next.js 16](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nextjs_16.md)**
191
+ - **[Intlayer với Next.js 15](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nextjs_15.md)**
192
+ - **[Intlayer với Next.js 14 (App Router)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nextjs_14.md)**
193
+ - **[Intlayer với Next.js Page Router](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nextjs_page_router.md)**
194
+ - **[Intlayer với React CRA](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_create_react_app.md)**
195
+ - **[Intlayer với Vite + React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_vite+react.md)**
196
+ - **[Intlayer với React Router v7](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_react_router_v7.md)**
197
+ - **[Intlayer với Tanstack Start](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_tanstack.md)**
198
+ - **[Intlayer với React Native và Expo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_react_native+expo.md)**
199
+ - **[Intlayer với Lynx và React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_lynx+react.md)**
200
+ - **[Intlayer với Vite + Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_vite+preact.md)**
201
+ - **[Intlayer với Vite + Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_vite+vue.md)**
202
+ - **[Intlayer với Nuxt](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nuxt.md)**
203
+ - **[Intlayer với Express](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_express.md)**
204
+ - **[Intlayer với NestJS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_nestjs.md)**
205
+ - **[Intlayer với Angular](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_with_angular.md)**
206
+
207
+ Mỗi hướng dẫn tích hợp bao gồm các thực tiễn tốt nhất để sử dụng các tính năng của Intlayer, như **render phía máy chủ (server-side rendering)**, **định tuyến động (dynamic routing)**, hoặc **render phía khách (client-side rendering)**, giúp bạn duy trì một ứng dụng nhanh, thân thiện với SEO và có khả năng mở rộng cao.
208
+
209
+ ## Đóng góp & Phản hồi
210
+
211
+ Chúng tôi đánh giá cao sức mạnh của phát triển mã nguồn mở và cộng đồng. Nếu bạn muốn đề xuất cải tiến, thêm hướng dẫn mới, hoặc sửa bất kỳ vấn đề nào trong tài liệu của chúng tôi, hãy thoải mái gửi Pull Request hoặc mở một issue trên [kho GitHub của chúng tôi](https://github.com/aymericzip/intlayer/blob/main/docs/docs).
212
+
213
+ **Sẵn sàng để dịch ứng dụng của bạn nhanh hơn và hiệu quả hơn?** Hãy khám phá tài liệu của chúng tôi để bắt đầu sử dụng Intlayer ngay hôm nay. Trải nghiệm một phương pháp quốc tế hóa mạnh mẽ, tinh gọn giúp giữ cho nội dung của bạn được tổ chức tốt và đội ngũ của bạn làm việc hiệu quả hơn.
214
+
215
+ ---
@@ -0,0 +1,242 @@
1
+ ---
2
+ createdAt: 2025-07-27
3
+ updatedAt: 2025-07-27
4
+ title: Bộ ánh xạ Locale
5
+ description: Tìm hiểu cách Bộ ánh xạ Locale hoạt động. Xem các bước được Bộ ánh xạ Locale sử dụng trong ứng dụng của bạn. Xem các gói khác nhau thực hiện những gì.
6
+ keywords:
7
+ - Bộ ánh xạ Locale
8
+ - Bắt đầu
9
+ - Intlayer
10
+ - Ứng dụng
11
+ - Gói
12
+ slugs:
13
+ - doc
14
+ - locale-mapper
15
+ history:
16
+ - version: 5.7.2
17
+ date: 2025-07-27
18
+ changes: Thêm tài liệu bộ ánh xạ locale
19
+ ---
20
+
21
+ # Bộ ánh xạ Locale
22
+
23
+ Bộ ánh xạ Locale là một tiện ích mạnh mẽ giúp bạn làm việc với dữ liệu quốc tế hóa trong ứng dụng Intlayer của bạn. Nó cung cấp ba hàm chính để chuyển đổi và tổ chức dữ liệu theo locale: `localeMap`, `localeFlatMap`, và `localeRecord`.
24
+
25
+ ## Cách Bộ ánh xạ Locale hoạt động
26
+
27
+ Bộ ánh xạ Locale hoạt động trên một đối tượng `LocaleData` chứa tất cả thông tin cần thiết về một locale:
28
+
29
+ ```typescript
30
+ type LocaleData = {
31
+ locale: LocalesValues; // Mã locale hiện tại (ví dụ: 'en', 'fr')
32
+ defaultLocale: LocalesValues; // Mã locale mặc định
33
+ isDefault: boolean; // Có phải đây là locale mặc định hay không
34
+ locales: LocalesValues[]; // Mảng tất cả các locale có sẵn
35
+ urlPrefix: string; // Tiền tố URL cho locale này (ví dụ: '/fr' hoặc '')
36
+ };
37
+ ```
38
+
39
+ Các hàm mapper tự động tạo dữ liệu này cho mỗi locale trong cấu hình của bạn, dựa trên:
40
+
41
+ - Danh sách các locale bạn đã cấu hình
42
+ - Cài đặt locale mặc định
43
+ - Việc có nên thêm tiền tố cho locale mặc định trong URL hay không
44
+
45
+ ## Các hàm chính
46
+
47
+ ### `localeMap`
48
+
49
+ Chuyển đổi mỗi locale thành một đối tượng duy nhất bằng cách sử dụng một hàm mapper.
50
+
51
+ ```typescript
52
+ localeMap<T>(
53
+ mapper: (locale: LocaleData) => T,
54
+ locales?: LocalesValues[],
55
+ defaultLocale?: LocalesValues,
56
+ prefixDefault?: boolean
57
+ ): T[]
58
+ ```
59
+
60
+ **Ví dụ: Tạo các đối tượng route**
61
+
62
+ ```typescript
63
+ import { localeMap } from "intlayer";
64
+
65
+ const routes = localeMap((localizedData) => ({
66
+ path: localizedData.urlPrefix,
67
+ name: localizedData.locale,
68
+ isDefault: localizedData.isDefault,
69
+ locales: localizedData.locales,
70
+ defaultLocale: localizedData.defaultLocale,
71
+ }));
72
+
73
+ // Kết quả:
74
+ // [
75
+ // { path: '/', name: 'en', isDefault: true, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
76
+ // { path: '/fr', name: 'fr', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' },
77
+ // { path: '/es', name: 'es', isDefault: false, locales: ['en', 'fr', 'es'], defaultLocale: 'en' }
78
+ // ]
79
+ ```
80
+
81
+ ### `localeFlatMap`
82
+
83
+ Tương tự như `localeMap`, nhưng hàm mapper trả về một mảng các đối tượng và được làm phẳng thành một mảng duy nhất.
84
+
85
+ ```typescript
86
+ localeFlatMap<T>(
87
+ mapper: (locale: LocaleData) => T[],
88
+ locales?: LocalesValues[],
89
+ defaultLocale?: LocalesValues,
90
+ prefixDefault?: boolean
91
+ ): T[]
92
+ ```
93
+
94
+ **Ví dụ: Tạo nhiều route cho mỗi locale**
95
+
96
+ ```typescript
97
+ import { localeFlatMap } from "intlayer";
98
+
99
+ const routes = localeFlatMap((localizedData) => [
100
+ {
101
+ path: localizedData.urlPrefix,
102
+ name: localizedData.locale,
103
+ isDefault: localizedData.isDefault,
104
+ },
105
+ {
106
+ path: `${localizedData.urlPrefix}/about`,
107
+ name: `${localizedData.locale}-about`,
108
+ isDefault: localizedData.isDefault,
109
+ },
110
+ ]);
111
+
112
+ // Kết quả:
113
+ // [
114
+ // { path: '/', name: 'en', isDefault: true },
115
+ // { path: '/about', name: 'en-about', isDefault: true },
116
+ // { path: '/fr', name: 'fr', isDefault: false },
117
+ // { path: '/fr/about', name: 'fr-about', isDefault: false },
118
+ // { path: '/es', name: 'es', isDefault: false },
119
+ // { path: '/es/about', name: 'es-about', isDefault: false }
120
+ // ]
121
+ ```
122
+
123
+ ### `localeRecord`
124
+
125
+ Tạo một đối tượng record, trong đó mỗi locale là một khóa ánh xạ tới một giá trị được biến đổi bởi hàm mapper.
126
+
127
+ ```typescript
128
+ localeRecord<T>(
129
+ mapper: (locale: LocaleData) => T,
130
+ locales?: Locales[],
131
+ defaultLocale?: Locales,
132
+ prefixDefault?: boolean
133
+ ): Record<Locales, T>
134
+ ```
135
+
136
+ **Ví dụ: Tải các file dịch**
137
+
138
+ ```typescript
139
+ import { localeRecord } from "intlayer";
140
+
141
+ const translations = localeRecord(({ locale }) =>
142
+ require(`./translations/${locale}.json`)
143
+ );
144
+
145
+ // Kết quả:
146
+ // {
147
+ // en: { welcome: 'Welcome', hello: 'Hello' },
148
+ // fr: { welcome: 'Bienvenue', hello: 'Bonjour' },
149
+ // es: { welcome: 'Bienvenido', hello: 'Hola' }
150
+ // }
151
+ ```
152
+
153
+ ## Cấu hình Locale Mapper
154
+
155
+ Locale Mapper tự động sử dụng cấu hình Intlayer của bạn, nhưng bạn có thể ghi đè các giá trị mặc định bằng cách truyền các tham số:
156
+
157
+ ### Sử dụng cấu hình mặc định
158
+
159
+ ```typescript
160
+ import { localeMap } from "intlayer";
161
+
162
+ // Sử dụng cấu hình từ intlayer.config.ts
163
+ const routes = localeMap((data) => ({
164
+ path: data.urlPrefix,
165
+ locale: data.locale,
166
+ }));
167
+ ```
168
+
169
+ ### Ghi đè cấu hình
170
+
171
+ ```typescript
172
+ import { localeMap } from "intlayer";
173
+
174
+ // Ghi đè locales và locale mặc định
175
+ const customRoutes = localeMap(
176
+ (data) => ({ path: data.urlPrefix, locale: data.locale }),
177
+ ["en", "fr", "de"], // Các locales tùy chỉnh
178
+ "en", // Locale mặc định tùy chỉnh
179
+ true // Thêm tiền tố locale mặc định vào URL
180
+ );
181
+ ```
182
+
183
+ ## Ví dụ Sử dụng Nâng cao
184
+
185
+ ### Tạo Menu Điều hướng
186
+
187
+ ```typescript
188
+ import { localeMap } from "intlayer";
189
+
190
+ const navigationItems = localeMap((data) => ({
191
+ label: data.locale.toUpperCase(),
192
+ href: data.urlPrefix || "/",
193
+ isActive: data.isDefault,
194
+ flag: `/flags/${data.locale}.svg`,
195
+ }));
196
+ ```
197
+
198
+ ### Tạo Dữ liệu Sitemap
199
+
200
+ ```typescript
201
+ import { localeFlatMap } from "intlayer";
202
+
203
+ const sitemapUrls = localeFlatMap((data) => [
204
+ {
205
+ url: `${data.urlPrefix}/`,
206
+ lastmod: new Date().toISOString(),
207
+ changefreq: "daily",
208
+ priority: data.isDefault ? 1.0 : 0.8,
209
+ },
210
+ {
211
+ url: `${data.urlPrefix}/about`,
212
+ lastmod: new Date().toISOString(),
213
+ changefreq: "monthly",
214
+ priority: data.isDefault ? 0.8 : 0.6,
215
+ },
216
+ ]);
217
+ ```
218
+
219
+ ### Tải Dịch Thuật Động
220
+
221
+ ```typescript
222
+ import { localeRecord } from "intlayer";
223
+
224
+ const translationModules = localeRecord(({ locale }) => ({
225
+ messages: import(`./locales/${locale}/messages.json`),
226
+ validation: import(`./locales/${locale}/validation.json`),
227
+ metadata: {
228
+ locale,
229
+ direction: ["ar", "he", "fa"].includes(locale) ? "rtl" : "ltr", // hướng văn bản
230
+ },
231
+ }));
232
+ ```
233
+
234
+ ## Tích Hợp Cấu Hình
235
+
236
+ Locale Mapper tích hợp liền mạch với cấu hình Intlayer của bạn:
237
+
238
+ - **Locales**: Tự động sử dụng `configuration.internationalization.locales`
239
+ - **Ngôn ngữ Mặc định**: Sử dụng `configuration.internationalization.defaultLocale`
240
+ - **Tiền tố URL**: Tuân thủ `configuration.middleware.prefixDefault`
241
+
242
+ Điều này đảm bảo tính nhất quán trên toàn bộ ứng dụng của bạn và giảm thiểu sự trùng lặp trong cấu hình.
@@ -0,0 +1,211 @@
1
+ ---
2
+ createdAt: 2025-06-07
3
+ updatedAt: 2025-07-11
4
+ title: Tài liệu Máy chủ MCP
5
+ description: Khám phá các tính năng và cách thiết lập Máy chủ MCP để tối ưu hóa quản lý và vận hành máy chủ của bạn.
6
+ keywords:
7
+ - Máy chủ MCP
8
+ - Quản lý máy chủ
9
+ - Tối ưu hóa
10
+ - Intlayer
11
+ - Tài liệu
12
+ - Thiết lập
13
+ - Tính năng
14
+ slugs:
15
+ - doc
16
+ - mcp-server
17
+ history:
18
+ - version: 5.5.12
19
+ date: 2025-07-11
20
+ changes: Thêm thiết lập ChatGPT
21
+ - version: 5.5.12
22
+ date: 2025-07-10
23
+ changes: Thêm thiết lập Claude Desktop
24
+ - version: 5.5.12
25
+ date: 2025-07-10
26
+ changes: Thêm giao thức SSE và máy chủ từ xa
27
+ - version: 5.5.10
28
+ date: 2025-06-29
29
+ changes: Khởi tạo lịch sử
30
+ ---
31
+
32
+ # Máy chủ MCP Intlayer
33
+
34
+ Máy chủ **Intlayer MCP (Model Context Protocol)** cung cấp hỗ trợ IDE được trang bị AI, được thiết kế riêng cho hệ sinh thái Intlayer.
35
+
36
+ ## Tôi có thể sử dụng nó ở đâu?
37
+
38
+ - Trên các môi trường phát triển hiện đại như **Cursor**, **VS Code**, và bất kỳ IDE nào hỗ trợ giao thức MCP.
39
+ - Trên các trợ lý AI yêu thích của bạn như **Claude Desktop**, **Gemini**, **ChatGPT**, v.v.
40
+
41
+ ## Tại sao nên sử dụng Máy chủ Intlayer MCP?
42
+
43
+ Bằng cách kích hoạt Máy chủ Intlayer MCP trong IDE của bạn, bạn sẽ mở khóa:
44
+
45
+ - **Tài liệu nhận biết ngữ cảnh**
46
+ Máy chủ MCP tải và cung cấp tài liệu của Intlayer. Giúp tăng tốc quá trình thiết lập, di chuyển dữ liệu, v.v.
47
+ Điều này đảm bảo các gợi ý mã, tùy chọn lệnh và giải thích luôn được cập nhật và phù hợp.
48
+
49
+ - **Tích hợp CLI thông minh**
50
+ Truy cập và chạy các lệnh Intlayer CLI trực tiếp từ giao diện IDE của bạn. Sử dụng máy chủ MCP, bạn có thể để trợ lý AI của mình chạy các lệnh như `intlayer dictionaries build` để cập nhật từ điển, hoặc `intlayer dictionaries fill` để điền các bản dịch còn thiếu.
51
+
52
+ > Xem danh sách đầy đủ các lệnh và tùy chọn trong [tài liệu Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/intlayer_cli.md).
53
+
54
+ ## Máy chủ cục bộ (stdio) và máy chủ từ xa (SSE)
55
+
56
+ Máy chủ MCP có thể được sử dụng theo hai cách:
57
+
58
+ - Máy chủ cục bộ (stdio)
59
+ - Máy chủ từ xa (SSE)
60
+
61
+ ### Máy chủ cục bộ (stdio) (khuyến nghị)
62
+
63
+ Intlayer cung cấp một gói NPM có thể được cài đặt cục bộ trên máy của bạn. Nó có thể được cài đặt trong IDE yêu thích của bạn, như VS Code, Cursor, cũng như trong ứng dụng trợ lý địa phương của bạn, như ChatGPT, Claude Desktop, v.v.
64
+
65
+ Máy chủ này là cách được khuyến nghị để sử dụng máy chủ MCP. Vì nó tích hợp tất cả các tính năng của máy chủ MCP, bao gồm cả các công cụ CLI.
66
+
67
+ ### Máy chủ từ xa (SSE)
68
+
69
+ Máy chủ MCP cũng có thể được sử dụng từ xa, sử dụng phương thức truyền SSE. Máy chủ này được Intlayer lưu trữ và có sẵn tại https://mcp.intlayer.org. Máy chủ này có thể truy cập công khai, không cần xác thực, và miễn phí sử dụng.
70
+
71
+ Lưu ý rằng máy chủ từ xa không tích hợp các công cụ CLI, tự động hoàn thành AI, v.v. Máy chủ từ xa chỉ dùng để tương tác với tài liệu nhằm hỗ trợ trợ lý AI của bạn với hệ sinh thái Intlayer.
72
+
73
+ > Do chi phí lưu trữ máy chủ, không thể đảm bảo tính khả dụng của máy chủ từ xa. Chúng tôi giới hạn số lượng kết nối đồng thời. Chúng tôi khuyến nghị sử dụng phương thức truyền máy chủ cục bộ (stdio) để có trải nghiệm ổn định nhất.
74
+
75
+ ---
76
+
77
+ ## Cài đặt trong Cursor
78
+
79
+ Theo dõi [tài liệu chính thức](https://docs.cursor.com/context/mcp) để cấu hình máy chủ MCP trong Cursor.
80
+
81
+ Trong thư mục gốc dự án của bạn, thêm tệp cấu hình `.cursor/mcp.json` sau:
82
+
83
+ ### Máy chủ cục bộ (stdio) (khuyến nghị)
84
+
85
+ ```json fileName=".cursor/mcp.json"
86
+ {
87
+ "mcpServers": {
88
+ "intlayer": {
89
+ "command": "npx",
90
+ "args": ["-y", "@intlayer/mcp"]
91
+ }
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### Máy chủ từ xa (SSE)
97
+
98
+ Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (SSE), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
99
+
100
+ ```json fileName=".cursor/mcp.json"
101
+ {
102
+ "mcpServers": {
103
+ "intlayer": {
104
+ "url": "https://mcp.intlayer.org",
105
+ "transport": "sse"
106
+ }
107
+ }
108
+ }
109
+ ```
110
+
111
+ Điều này cho IDE của bạn biết để khởi chạy máy chủ Intlayer MCP bằng `npx`, đảm bảo luôn sử dụng phiên bản mới nhất trừ khi bạn cố định phiên bản.
112
+
113
+ ---
114
+
115
+ ## Cài đặt trong VS Code
116
+
117
+ Theo dõi [tài liệu chính thức](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) để cấu hình máy chủ MCP trong VS Code.
118
+
119
+ Để sử dụng Intlayer MCP Server với VS Code, bạn cần cấu hình nó trong workspace hoặc cài đặt người dùng của bạn.
120
+
121
+ ### Máy chủ cục bộ (stdio) (khuyến nghị)
122
+
123
+ Tạo một file `.vscode/mcp.json` trong thư mục gốc dự án của bạn:
124
+
125
+ ```json fileName=".vscode/mcp.json"
126
+ {
127
+ "servers": {
128
+ "intlayer": {
129
+ "type": "stdio",
130
+ "command": "npx",
131
+ "args": ["-y", "@intlayer/mcp"]
132
+ }
133
+ }
134
+ }
135
+ ```
136
+
137
+ ### Máy chủ từ xa (SSE)
138
+
139
+ Để kết nối với máy chủ Intlayer MCP từ xa sử dụng Server-Sent Events (SSE), bạn có thể cấu hình client MCP của mình để kết nối với dịch vụ được lưu trữ.
140
+
141
+ ```json fileName=".vscode/mcp.json"
142
+ {
143
+ "servers": {
144
+ "intlayer": {
145
+ "url": "https://mcp.intlayer.org",
146
+ "type": "sse"
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Cài đặt trong ChatGPT
155
+
156
+ ### Máy chủ từ xa (SSE)
157
+
158
+ Theo dõi [tài liệu chính thức](https://platform.openai.com/docs/mcp#test-and-connect-your-mcp-server) để cấu hình máy chủ MCP trong ChatGPT.
159
+
160
+ 1. Truy cập vào [bảng điều khiển promt](https://platform.openai.com/prompts)
161
+ 2. Nhấn vào `+ Create`
162
+ 3. Nhấn vào `Tools (Create or +)`
163
+ 4. Chọn `MCP Server`
164
+ 5. Nhấn vào `Add new`
165
+ 6. Điền các trường sau:
166
+ - URL: `https://mcp.intlayer.org`
167
+ - Label: `Intlayer MCP Server`
168
+ - Name: `intlayer-mcp-server`
169
+ - Authentication: `None`
170
+
171
+ 7. Nhấn vào `Save`
172
+
173
+ ---
174
+
175
+ ## Cài đặt trong Claude Desktop
176
+
177
+ Theo dõi [tài liệu chính thức](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server) để cấu hình máy chủ MCP trong Claude Desktop.
178
+
179
+ Đường dẫn file cấu hình:
180
+
181
+ - macOS: `~/Library/Application\ Support/Claude/claude_desktop_config.json`
182
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
183
+
184
+ ### Máy chủ cục bộ (stdio) (khuyến nghị)
185
+
186
+ ```json fileName="claude_desktop_config.json"
187
+ {
188
+ "mcpServers": {
189
+ "intlayer": {
190
+ "command": "npx",
191
+ "args": ["-y", "@intlayer/mcp"]
192
+ }
193
+ }
194
+ }
195
+ ```
196
+
197
+ ---
198
+
199
+ ## Sử dụng MCP Server qua CLI
200
+
201
+ Bạn cũng có thể chạy trực tiếp máy chủ Intlayer MCP từ dòng lệnh để thử nghiệm, gỡ lỗi hoặc tích hợp với các công cụ khác.
202
+
203
+ ```bash
204
+ # Cài đặt toàn cục
205
+ npm install -g @intlayer/mcp
206
+
207
+ # Hoặc sử dụng trực tiếp với npx (khuyến nghị)
208
+ npx @intlayer/mcp
209
+ ```
210
+
211
+ ---