@intlayer/docs 8.1.7 → 8.1.9

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 (1048) hide show
  1. package/README.md +1 -0
  2. package/blog/ar/i18n_meaning.md +124 -0
  3. package/blog/ar/l10n_platform_alternative/Lokalise.md +5 -5
  4. package/blog/ar/l10n_platform_alternative/crowdin.md +4 -10
  5. package/blog/ar/l10n_platform_alternative/phrase.md +2 -6
  6. package/blog/ar/list_i18n_technologies/frameworks/svelte.md +25 -3
  7. package/blog/ar/list_i18n_technologies/frameworks/vue.md +16 -2
  8. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  9. package/blog/ar/nextjs-multilingual-seo-comparison.md +1 -1
  10. package/blog/ar/rag_powered_documentation_assistant.md +1 -1
  11. package/blog/de/i18n_meaning.md +124 -0
  12. package/blog/de/l10n_platform_alternative/Lokalise.md +5 -9
  13. package/blog/de/l10n_platform_alternative/crowdin.md +4 -4
  14. package/blog/de/l10n_platform_alternative/phrase.md +2 -6
  15. package/blog/de/list_i18n_technologies/frameworks/svelte.md +25 -3
  16. package/blog/de/list_i18n_technologies/frameworks/vue.md +16 -2
  17. package/blog/de/per-component_vs_centralized_i18n.md +2 -2
  18. package/blog/de/rag_powered_documentation_assistant.md +1 -1
  19. package/blog/en/i18n_meaning.md +124 -0
  20. package/blog/en/intlayer_with_i18next.md +3 -3
  21. package/blog/en/intlayer_with_next-i18next.md +3 -3
  22. package/blog/en/intlayer_with_next-intl.md +3 -3
  23. package/blog/en/intlayer_with_react-i18next.md +3 -3
  24. package/blog/en/intlayer_with_react-intl.md +3 -3
  25. package/blog/en/intlayer_with_vue-i18n.md +3 -3
  26. package/blog/en/l10n_platform_alternative/Lokalise.md +5 -5
  27. package/blog/en/l10n_platform_alternative/crowdin.md +4 -4
  28. package/blog/en/l10n_platform_alternative/phrase.md +2 -2
  29. package/blog/en/nextjs-multilingual-seo-comparison.md +1 -1
  30. package/blog/en/rag_powered_documentation_assistant.md +1 -2
  31. package/blog/en-GB/compiler_vs_declarative_i18n.md +2 -2
  32. package/blog/en-GB/i18n_meaning.md +124 -0
  33. package/blog/en-GB/intlayer_with_i18next.md +1 -1
  34. package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
  35. package/blog/en-GB/intlayer_with_next-intl.md +1 -1
  36. package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
  37. package/blog/en-GB/intlayer_with_react-intl.md +1 -1
  38. package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
  39. package/blog/en-GB/l10n_platform_alternative/Lokalise.md +5 -5
  40. package/blog/en-GB/l10n_platform_alternative/crowdin.md +4 -4
  41. package/blog/en-GB/l10n_platform_alternative/phrase.md +2 -2
  42. package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +25 -3
  43. package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +16 -2
  44. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  45. package/blog/en-GB/nextjs-multilingual-seo-comparison.md +1 -1
  46. package/blog/en-GB/rag_powered_documentation_assistant.md +1 -1
  47. package/blog/es/i18n_meaning.md +124 -0
  48. package/blog/es/l10n_platform_alternative/Lokalise.md +4 -4
  49. package/blog/es/l10n_platform_alternative/crowdin.md +14 -19
  50. package/blog/es/l10n_platform_alternative/phrase.md +2 -8
  51. package/blog/es/list_i18n_technologies/frameworks/svelte.md +25 -3
  52. package/blog/es/list_i18n_technologies/frameworks/vue.md +16 -2
  53. package/blog/es/rag_powered_documentation_assistant.md +1 -1
  54. package/blog/fr/compiler_vs_declarative_i18n.md +1 -1
  55. package/blog/fr/i18n_meaning.md +23 -0
  56. package/blog/fr/l10n_platform_alternative/Lokalise.md +6 -10
  57. package/blog/fr/l10n_platform_alternative/crowdin.md +4 -10
  58. package/blog/fr/l10n_platform_alternative/phrase.md +11 -24
  59. package/blog/fr/list_i18n_technologies/frameworks/svelte.md +25 -3
  60. package/blog/fr/list_i18n_technologies/frameworks/vue.md +16 -2
  61. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  62. package/blog/fr/nextjs-multilingual-seo-comparison.md +1 -1
  63. package/blog/fr/rag_powered_documentation_assistant.md +1 -1
  64. package/blog/hi/compiler_vs_declarative_i18n.md +2 -2
  65. package/blog/hi/i18n_meaning.md +124 -0
  66. package/blog/hi/l10n_platform_alternative/Lokalise.md +5 -11
  67. package/blog/hi/l10n_platform_alternative/crowdin.md +13 -17
  68. package/blog/hi/l10n_platform_alternative/phrase.md +2 -2
  69. package/blog/hi/list_i18n_technologies/frameworks/angular.md +25 -3
  70. package/blog/hi/list_i18n_technologies/frameworks/svelte.md +25 -3
  71. package/blog/hi/list_i18n_technologies/frameworks/vue.md +16 -2
  72. package/blog/hi/nextjs-multilingual-seo-comparison.md +1 -1
  73. package/blog/hi/per-component_vs_centralized_i18n.md +3 -3
  74. package/blog/hi/rag_powered_documentation_assistant.md +1 -1
  75. package/blog/id/compiler_vs_declarative_i18n.md +2 -2
  76. package/blog/id/i18n_meaning.md +124 -0
  77. package/blog/id/l10n_platform_alternative/Lokalise.md +5 -11
  78. package/blog/id/l10n_platform_alternative/crowdin.md +4 -8
  79. package/blog/id/l10n_platform_alternative/phrase.md +11 -22
  80. package/blog/id/list_i18n_technologies/frameworks/angular.md +25 -3
  81. package/blog/id/list_i18n_technologies/frameworks/svelte.md +25 -3
  82. package/blog/id/list_i18n_technologies/frameworks/vue.md +16 -2
  83. package/blog/id/nextjs-multilingual-seo-comparison.md +1 -1
  84. package/blog/id/rag_powered_documentation_assistant.md +1 -1
  85. package/blog/id/vue-i18n_vs_intlayer.md +1 -1
  86. package/blog/it/compiler_vs_declarative_i18n.md +1 -1
  87. package/blog/it/i18n_meaning.md +124 -0
  88. package/blog/it/l10n_platform_alternative/Lokalise.md +5 -9
  89. package/blog/it/l10n_platform_alternative/crowdin.md +4 -10
  90. package/blog/it/l10n_platform_alternative/phrase.md +2 -6
  91. package/blog/it/list_i18n_technologies/frameworks/svelte.md +25 -3
  92. package/blog/it/list_i18n_technologies/frameworks/vue.md +16 -2
  93. package/blog/it/nextjs-multilingual-seo-comparison.md +1 -1
  94. package/blog/it/rag_powered_documentation_assistant.md +1 -1
  95. package/blog/ja/i18n_meaning.md +124 -0
  96. package/blog/ja/l10n_platform_alternative/phrase.md +3 -2
  97. package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
  98. package/blog/ja/list_i18n_technologies/frameworks/react-native.md +6 -9
  99. package/blog/ja/list_i18n_technologies/frameworks/react.md +3 -2
  100. package/blog/ja/list_i18n_technologies/frameworks/svelte.md +27 -6
  101. package/blog/ja/list_i18n_technologies/frameworks/vue.md +29 -15
  102. package/blog/ja/per-component_vs_centralized_i18n.md +1 -1
  103. package/blog/ko/i18n_meaning.md +124 -0
  104. package/blog/ko/l10n_platform_alternative/Lokalise.md +2 -2
  105. package/blog/ko/l10n_platform_alternative/crowdin.md +11 -17
  106. package/blog/ko/l10n_platform_alternative/phrase.md +5 -5
  107. package/blog/ko/list_i18n_technologies/frameworks/angular.md +26 -3
  108. package/blog/ko/list_i18n_technologies/frameworks/react-native.md +35 -39
  109. package/blog/ko/list_i18n_technologies/frameworks/react.md +24 -24
  110. package/blog/ko/list_i18n_technologies/frameworks/svelte.md +28 -7
  111. package/blog/ko/list_i18n_technologies/frameworks/vue.md +22 -2
  112. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  113. package/blog/ko/per-component_vs_centralized_i18n.md +1 -1
  114. package/blog/pl/compiler_vs_declarative_i18n.md +2 -2
  115. package/blog/pl/i18n_meaning.md +124 -0
  116. package/blog/pl/l10n_platform_alternative/Lokalise.md +6 -16
  117. package/blog/pl/l10n_platform_alternative/crowdin.md +5 -5
  118. package/blog/pl/l10n_platform_alternative/phrase.md +4 -8
  119. package/blog/pl/list_i18n_technologies/frameworks/angular.md +26 -4
  120. package/blog/pl/list_i18n_technologies/frameworks/react-native.md +2 -2
  121. package/blog/pl/list_i18n_technologies/frameworks/react.md +1 -1
  122. package/blog/pl/list_i18n_technologies/frameworks/svelte.md +25 -3
  123. package/blog/pl/list_i18n_technologies/frameworks/vue.md +18 -4
  124. package/blog/pl/nextjs-multilingual-seo-comparison.md +1 -1
  125. package/blog/pl/per-component_vs_centralized_i18n.md +4 -4
  126. package/blog/pl/rag_powered_documentation_assistant.md +1 -1
  127. package/blog/pl/vue-i18n_vs_intlayer.md +1 -1
  128. package/blog/pt/compiler_vs_declarative_i18n.md +1 -1
  129. package/blog/pt/i18n_meaning.md +124 -0
  130. package/blog/pt/l10n_platform_alternative/Lokalise.md +5 -5
  131. package/blog/pt/l10n_platform_alternative/crowdin.md +13 -13
  132. package/blog/pt/l10n_platform_alternative/phrase.md +2 -2
  133. package/blog/pt/list_i18n_technologies/frameworks/svelte.md +25 -3
  134. package/blog/pt/list_i18n_technologies/frameworks/vue.md +16 -2
  135. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
  136. package/blog/pt/nextjs-multilingual-seo-comparison.md +1 -1
  137. package/blog/pt/per-component_vs_centralized_i18n.md +1 -1
  138. package/blog/pt/rag_powered_documentation_assistant.md +1 -1
  139. package/blog/ru/compiler_vs_declarative_i18n.md +9 -9
  140. package/blog/ru/i18n_meaning.md +124 -0
  141. package/blog/ru/i18n_using_next-i18next.md +3 -3
  142. package/blog/ru/i18n_using_next-intl.md +6 -6
  143. package/blog/ru/intlayer_with_i18next.md +1 -1
  144. package/blog/ru/intlayer_with_next-i18next.md +2 -2
  145. package/blog/ru/intlayer_with_next-intl.md +1 -1
  146. package/blog/ru/intlayer_with_react-i18next.md +1 -1
  147. package/blog/ru/intlayer_with_react-intl.md +1 -1
  148. package/blog/ru/intlayer_with_vue-i18n.md +1 -1
  149. package/blog/ru/l10n_platform_alternative/Lokalise.md +10 -10
  150. package/blog/ru/l10n_platform_alternative/crowdin.md +20 -26
  151. package/blog/ru/l10n_platform_alternative/phrase.md +16 -20
  152. package/blog/ru/list_i18n_technologies/frameworks/angular.md +26 -4
  153. package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
  154. package/blog/ru/list_i18n_technologies/frameworks/svelte.md +26 -4
  155. package/blog/ru/list_i18n_technologies/frameworks/vue.md +16 -2
  156. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +9 -9
  157. package/blog/ru/nextjs-multilingual-seo-comparison.md +7 -7
  158. package/blog/ru/per-component_vs_centralized_i18n.md +3 -3
  159. package/blog/ru/rag_powered_documentation_assistant.md +9 -9
  160. package/blog/ru/what_is_internationalization.md +1 -1
  161. package/blog/tr/compiler_vs_declarative_i18n.md +2 -2
  162. package/blog/tr/i18n_meaning.md +124 -0
  163. package/blog/tr/l10n_platform_alternative/Lokalise.md +4 -4
  164. package/blog/tr/l10n_platform_alternative/crowdin.md +3 -3
  165. package/blog/tr/l10n_platform_alternative/phrase.md +10 -21
  166. package/blog/tr/list_i18n_technologies/frameworks/angular.md +25 -3
  167. package/blog/tr/list_i18n_technologies/frameworks/svelte.md +25 -3
  168. package/blog/tr/list_i18n_technologies/frameworks/vue.md +16 -2
  169. package/blog/tr/nextjs-multilingual-seo-comparison.md +1 -1
  170. package/blog/tr/rag_powered_documentation_assistant.md +1 -1
  171. package/blog/uk/compiler_vs_declarative_i18n.md +12 -12
  172. package/blog/uk/i18n_meaning.md +124 -0
  173. package/blog/uk/i18n_using_next-i18next.md +10 -10
  174. package/blog/uk/i18n_using_next-intl.md +7 -7
  175. package/blog/uk/internationalization_and_SEO.md +11 -11
  176. package/blog/uk/intlayer_with_i18next.md +2 -2
  177. package/blog/uk/intlayer_with_next-i18next.md +3 -3
  178. package/blog/uk/intlayer_with_next-intl.md +2 -2
  179. package/blog/uk/intlayer_with_react-i18next.md +2 -2
  180. package/blog/uk/intlayer_with_react-intl.md +2 -2
  181. package/blog/uk/intlayer_with_vue-i18n.md +2 -2
  182. package/blog/uk/l10n_platform_alternative/Lokalise.md +9 -9
  183. package/blog/uk/l10n_platform_alternative/crowdin.md +10 -10
  184. package/blog/uk/l10n_platform_alternative/phrase.md +9 -9
  185. package/blog/uk/list_i18n_technologies/frameworks/angular.md +31 -9
  186. package/blog/uk/list_i18n_technologies/frameworks/react-native.md +6 -6
  187. package/blog/uk/list_i18n_technologies/frameworks/react.md +6 -6
  188. package/blog/uk/list_i18n_technologies/frameworks/svelte.md +4 -4
  189. package/blog/uk/list_i18n_technologies/frameworks/vue.md +6 -6
  190. package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +13 -13
  191. package/blog/uk/nextjs-multilingual-seo-comparison.md +8 -8
  192. package/blog/uk/per-component_vs_centralized_i18n.md +3 -3
  193. package/blog/uk/rag_powered_documentation_assistant.md +11 -11
  194. package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +5 -5
  195. package/blog/uk/vue-i18n_vs_intlayer.md +5 -5
  196. package/blog/uk/what_is_internationalization.md +4 -4
  197. package/blog/vi/compiler_vs_declarative_i18n.md +1 -1
  198. package/blog/vi/i18n_meaning.md +124 -0
  199. package/blog/vi/l10n_platform_alternative/Lokalise.md +14 -21
  200. package/blog/vi/l10n_platform_alternative/crowdin.md +4 -4
  201. package/blog/vi/l10n_platform_alternative/phrase.md +2 -6
  202. package/blog/vi/list_i18n_technologies/frameworks/angular.md +25 -3
  203. package/blog/vi/list_i18n_technologies/frameworks/svelte.md +25 -3
  204. package/blog/vi/list_i18n_technologies/frameworks/vue.md +16 -2
  205. package/blog/vi/nextjs-multilingual-seo-comparison.md +1 -1
  206. package/blog/vi/per-component_vs_centralized_i18n.md +1 -1
  207. package/blog/vi/rag_powered_documentation_assistant.md +1 -1
  208. package/blog/zh/compiler_vs_declarative_i18n.md +2 -2
  209. package/blog/zh/i18n_meaning.md +124 -0
  210. package/blog/zh/internationalization_and_SEO.md +5 -5
  211. package/blog/zh/l10n_platform_alternative/Lokalise.md +23 -23
  212. package/blog/zh/l10n_platform_alternative/crowdin.md +28 -32
  213. package/blog/zh/l10n_platform_alternative/phrase.md +32 -38
  214. package/blog/zh/list_i18n_technologies/frameworks/angular.md +28 -6
  215. package/blog/zh/list_i18n_technologies/frameworks/react-native.md +10 -14
  216. package/blog/zh/list_i18n_technologies/frameworks/react.md +5 -5
  217. package/blog/zh/list_i18n_technologies/frameworks/svelte.md +23 -7
  218. package/blog/zh/list_i18n_technologies/frameworks/vue.md +20 -6
  219. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  220. package/blog/zh/nextjs-multilingual-seo-comparison.md +1 -1
  221. package/blog/zh/rag_powered_documentation_assistant.md +1 -1
  222. package/blog/zh/what_is_internationalization.md +1 -1
  223. package/dist/cjs/generated/blog.entry.cjs +1 -1
  224. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  225. package/dist/esm/generated/blog.entry.mjs +1 -1
  226. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  227. package/dist/types/generated/blog.entry.d.ts +1 -0
  228. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  229. package/docs/ar/agent_skills.md +2 -0
  230. package/docs/ar/compiler.md +55 -3
  231. package/docs/ar/component_i18n.md +2 -2
  232. package/docs/ar/configuration.md +68 -1
  233. package/docs/ar/dictionary/content_file.md +2 -2
  234. package/docs/ar/index.md +2 -2
  235. package/docs/ar/intlayer_CMS.md +1 -1
  236. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  237. package/docs/ar/intlayer_with_analog.md +1 -1
  238. package/docs/ar/intlayer_with_angular.md +1 -1
  239. package/docs/ar/intlayer_with_astro.md +1 -1
  240. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  241. package/docs/ar/intlayer_with_express.md +1 -1
  242. package/docs/ar/intlayer_with_fastify.md +1 -1
  243. package/docs/ar/intlayer_with_hono.md +1 -1
  244. package/docs/ar/intlayer_with_lynx+react.md +1 -1
  245. package/docs/ar/intlayer_with_nestjs.md +1 -1
  246. package/docs/ar/intlayer_with_next-i18next.md +2 -2
  247. package/docs/ar/intlayer_with_next-intl.md +2 -2
  248. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  249. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  250. package/docs/ar/intlayer_with_nextjs_16.md +3 -1
  251. package/docs/ar/intlayer_with_nextjs_compiler.md +23 -6
  252. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +2 -2
  253. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  254. package/docs/ar/intlayer_with_nuxt.md +1 -1
  255. package/docs/ar/intlayer_with_react_native+expo.md +4 -2
  256. package/docs/ar/intlayer_with_react_router_v7.md +4 -2
  257. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +4 -2
  258. package/docs/ar/intlayer_with_svelte_kit.md +1 -1
  259. package/docs/ar/intlayer_with_tanstack.md +1 -1
  260. package/docs/ar/intlayer_with_vite+preact.md +3 -1
  261. package/docs/ar/intlayer_with_vite+react.md +3 -1
  262. package/docs/ar/intlayer_with_vite+react_compiler.md +21 -5
  263. package/docs/ar/intlayer_with_vite+solid.md +1 -1
  264. package/docs/ar/intlayer_with_vite+svelte.md +3 -1
  265. package/docs/ar/intlayer_with_vite+vue.md +3 -1
  266. package/docs/ar/introduction.md +2 -2
  267. package/docs/ar/packages/next-intlayer/intlayerMiddleware.md +29 -6
  268. package/docs/ar/releases/v8.md +1 -1
  269. package/docs/de/agent_skills.md +2 -0
  270. package/docs/de/cli/init.md +1 -1
  271. package/docs/de/compiler.md +53 -1
  272. package/docs/de/component_i18n.md +2 -2
  273. package/docs/de/configuration.md +68 -1
  274. package/docs/de/dictionary/content_file.md +2 -2
  275. package/docs/de/index.md +2 -2
  276. package/docs/de/intlayer_with_adonisjs.md +1 -1
  277. package/docs/de/intlayer_with_analog.md +1 -1
  278. package/docs/de/intlayer_with_angular.md +1 -1
  279. package/docs/de/intlayer_with_astro.md +1 -1
  280. package/docs/de/intlayer_with_create_react_app.md +1 -1
  281. package/docs/de/intlayer_with_express.md +1 -1
  282. package/docs/de/intlayer_with_fastify.md +1 -1
  283. package/docs/de/intlayer_with_hono.md +1 -1
  284. package/docs/de/intlayer_with_lynx+react.md +1 -1
  285. package/docs/de/intlayer_with_nestjs.md +1 -1
  286. package/docs/de/intlayer_with_next-i18next.md +2 -2
  287. package/docs/de/intlayer_with_next-intl.md +1 -1
  288. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  289. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  290. package/docs/de/intlayer_with_nextjs_16.md +3 -1
  291. package/docs/de/intlayer_with_nextjs_compiler.md +22 -5
  292. package/docs/de/intlayer_with_nextjs_no_locale_path.md +2 -2
  293. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  294. package/docs/de/intlayer_with_nuxt.md +1 -1
  295. package/docs/de/intlayer_with_react_native+expo.md +4 -2
  296. package/docs/de/intlayer_with_react_router_v7.md +4 -2
  297. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +4 -2
  298. package/docs/de/intlayer_with_svelte_kit.md +1 -1
  299. package/docs/de/intlayer_with_tanstack.md +1 -1
  300. package/docs/de/intlayer_with_vite+preact.md +3 -1
  301. package/docs/de/intlayer_with_vite+react.md +3 -1
  302. package/docs/de/intlayer_with_vite+react_compiler.md +21 -5
  303. package/docs/de/intlayer_with_vite+solid.md +1 -1
  304. package/docs/de/intlayer_with_vite+svelte.md +3 -1
  305. package/docs/de/intlayer_with_vite+vue.md +3 -1
  306. package/docs/de/introduction.md +2 -2
  307. package/docs/de/packages/next-intlayer/intlayerMiddleware.md +29 -6
  308. package/docs/de/releases/v8.md +1 -1
  309. package/docs/en/agent_skills.md +2 -0
  310. package/docs/en/compiler.md +53 -1
  311. package/docs/en/component_i18n.md +2 -2
  312. package/docs/en/configuration.md +16 -1
  313. package/docs/en/dictionary/content_file.md +1 -1
  314. package/docs/en/index.md +2 -2
  315. package/docs/en/intlayer_CMS.md +1 -1
  316. package/docs/en/intlayer_with_adonisjs.md +1 -1
  317. package/docs/en/intlayer_with_analog.md +1 -1
  318. package/docs/en/intlayer_with_angular.md +1 -1
  319. package/docs/en/intlayer_with_astro.md +1 -1
  320. package/docs/en/intlayer_with_create_react_app.md +1 -1
  321. package/docs/en/intlayer_with_express.md +1 -1
  322. package/docs/en/intlayer_with_fastify.md +1 -1
  323. package/docs/en/intlayer_with_hono.md +1 -1
  324. package/docs/en/intlayer_with_lynx+react.md +1 -1
  325. package/docs/en/intlayer_with_nestjs.md +1 -1
  326. package/docs/en/intlayer_with_next-i18next.md +2 -2
  327. package/docs/en/intlayer_with_next-intl.md +1 -1
  328. package/docs/en/intlayer_with_nextjs_14.md +2 -2
  329. package/docs/en/intlayer_with_nextjs_15.md +2 -2
  330. package/docs/en/intlayer_with_nextjs_16.md +4 -2
  331. package/docs/en/intlayer_with_nextjs_compiler.md +23 -6
  332. package/docs/en/intlayer_with_nextjs_no_locale_path.md +3 -3
  333. package/docs/en/intlayer_with_nextjs_page_router.md +2 -2
  334. package/docs/en/intlayer_with_nuxt.md +2 -2
  335. package/docs/en/intlayer_with_react_native+expo.md +5 -3
  336. package/docs/en/intlayer_with_react_router_v7.md +4 -2
  337. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +4 -2
  338. package/docs/en/intlayer_with_svelte_kit.md +1 -1
  339. package/docs/en/intlayer_with_tanstack.md +1 -1
  340. package/docs/en/intlayer_with_vite+preact.md +3 -1
  341. package/docs/en/intlayer_with_vite+react.md +3 -1
  342. package/docs/en/intlayer_with_vite+react_compiler.md +22 -5
  343. package/docs/en/intlayer_with_vite+solid.md +1 -1
  344. package/docs/en/intlayer_with_vite+svelte.md +3 -1
  345. package/docs/en/intlayer_with_vite+vue.md +3 -1
  346. package/docs/en/introduction.md +2 -2
  347. package/docs/en/packages/next-intlayer/intlayerMiddleware.md +29 -6
  348. package/docs/en/releases/v8.md +1 -1
  349. package/docs/en-GB/agent_skills.md +2 -0
  350. package/docs/en-GB/cli/init.md +1 -1
  351. package/docs/en-GB/compiler.md +55 -3
  352. package/docs/en-GB/component_i18n.md +2 -2
  353. package/docs/en-GB/configuration.md +68 -1
  354. package/docs/en-GB/dictionary/content_file.md +2 -2
  355. package/docs/en-GB/index.md +2 -2
  356. package/docs/en-GB/intlayer_CMS.md +1 -1
  357. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  358. package/docs/en-GB/intlayer_with_analog.md +1 -1
  359. package/docs/en-GB/intlayer_with_angular.md +1 -1
  360. package/docs/en-GB/intlayer_with_astro.md +1 -1
  361. package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
  362. package/docs/en-GB/intlayer_with_express.md +1 -1
  363. package/docs/en-GB/intlayer_with_fastify.md +1 -1
  364. package/docs/en-GB/intlayer_with_hono.md +1 -1
  365. package/docs/en-GB/intlayer_with_lynx+react.md +1 -1
  366. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  367. package/docs/en-GB/intlayer_with_next-i18next.md +2 -2
  368. package/docs/en-GB/intlayer_with_next-intl.md +2 -2
  369. package/docs/en-GB/intlayer_with_nextjs_14.md +2 -2
  370. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  371. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  372. package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
  373. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +16 -16
  374. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  375. package/docs/en-GB/intlayer_with_nuxt.md +2 -2
  376. package/docs/en-GB/intlayer_with_react_native+expo.md +2 -2
  377. package/docs/en-GB/intlayer_with_react_router_v7.md +2 -2
  378. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +2 -2
  379. package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
  380. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  381. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  382. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  383. package/docs/en-GB/intlayer_with_vite+react_compiler.md +2 -3
  384. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  385. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  386. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  387. package/docs/en-GB/introduction.md +2 -2
  388. package/docs/en-GB/packages/next-intlayer/intlayerMiddleware.md +29 -6
  389. package/docs/en-GB/readme.md +1 -1
  390. package/docs/en-GB/releases/v8.md +1 -1
  391. package/docs/es/agent_skills.md +2 -0
  392. package/docs/es/compiler.md +53 -1
  393. package/docs/es/component_i18n.md +2 -2
  394. package/docs/es/configuration.md +68 -1
  395. package/docs/es/dictionary/content_file.md +2 -2
  396. package/docs/es/index.md +2 -2
  397. package/docs/es/intlayer_with_adonisjs.md +1 -1
  398. package/docs/es/intlayer_with_analog.md +1 -1
  399. package/docs/es/intlayer_with_angular.md +1 -1
  400. package/docs/es/intlayer_with_astro.md +1 -1
  401. package/docs/es/intlayer_with_create_react_app.md +1 -1
  402. package/docs/es/intlayer_with_express.md +1 -1
  403. package/docs/es/intlayer_with_fastify.md +1 -1
  404. package/docs/es/intlayer_with_hono.md +1 -1
  405. package/docs/es/intlayer_with_lynx+react.md +1 -1
  406. package/docs/es/intlayer_with_nestjs.md +1 -1
  407. package/docs/es/intlayer_with_next-i18next.md +2 -2
  408. package/docs/es/intlayer_with_next-intl.md +1 -1
  409. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  410. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  411. package/docs/es/intlayer_with_nextjs_16.md +3 -1
  412. package/docs/es/intlayer_with_nextjs_compiler.md +23 -6
  413. package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -6
  414. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  415. package/docs/es/intlayer_with_nuxt.md +1 -1
  416. package/docs/es/intlayer_with_react_native+expo.md +5 -3
  417. package/docs/es/intlayer_with_react_router_v7.md +4 -2
  418. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +4 -2
  419. package/docs/es/intlayer_with_svelte_kit.md +1 -1
  420. package/docs/es/intlayer_with_tanstack.md +1 -1
  421. package/docs/es/intlayer_with_vite+preact.md +3 -1
  422. package/docs/es/intlayer_with_vite+react.md +3 -1
  423. package/docs/es/intlayer_with_vite+react_compiler.md +21 -5
  424. package/docs/es/intlayer_with_vite+solid.md +1 -1
  425. package/docs/es/intlayer_with_vite+svelte.md +3 -1
  426. package/docs/es/intlayer_with_vite+vue.md +3 -1
  427. package/docs/es/introduction.md +2 -2
  428. package/docs/es/packages/next-intlayer/intlayerMiddleware.md +29 -6
  429. package/docs/es/releases/v8.md +1 -1
  430. package/docs/fr/agent_skills.md +2 -0
  431. package/docs/fr/compiler.md +56 -4
  432. package/docs/fr/component_i18n.md +2 -2
  433. package/docs/fr/configuration.md +68 -1
  434. package/docs/fr/dictionary/content_file.md +2 -2
  435. package/docs/fr/index.md +2 -2
  436. package/docs/fr/intlayer_CMS.md +1 -1
  437. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  438. package/docs/fr/intlayer_with_analog.md +1 -1
  439. package/docs/fr/intlayer_with_angular.md +1 -1
  440. package/docs/fr/intlayer_with_astro.md +1 -1
  441. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  442. package/docs/fr/intlayer_with_express.md +1 -1
  443. package/docs/fr/intlayer_with_fastify.md +1 -1
  444. package/docs/fr/intlayer_with_hono.md +1 -1
  445. package/docs/fr/intlayer_with_lynx+react.md +1 -1
  446. package/docs/fr/intlayer_with_nestjs.md +1 -1
  447. package/docs/fr/intlayer_with_next-i18next.md +2 -2
  448. package/docs/fr/intlayer_with_next-intl.md +1 -1
  449. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  450. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  451. package/docs/fr/intlayer_with_nextjs_16.md +3 -1
  452. package/docs/fr/intlayer_with_nextjs_compiler.md +24 -7
  453. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +2 -2
  454. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  455. package/docs/fr/intlayer_with_nuxt.md +1 -1
  456. package/docs/fr/intlayer_with_react_native+expo.md +5 -3
  457. package/docs/fr/intlayer_with_react_router_v7.md +4 -2
  458. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +4 -2
  459. package/docs/fr/intlayer_with_svelte_kit.md +2 -2
  460. package/docs/fr/intlayer_with_tanstack.md +1 -1
  461. package/docs/fr/intlayer_with_vite+preact.md +3 -1
  462. package/docs/fr/intlayer_with_vite+react.md +3 -1
  463. package/docs/fr/intlayer_with_vite+react_compiler.md +22 -6
  464. package/docs/fr/intlayer_with_vite+solid.md +1 -1
  465. package/docs/fr/intlayer_with_vite+svelte.md +3 -1
  466. package/docs/fr/intlayer_with_vite+vue.md +4 -2
  467. package/docs/fr/introduction.md +2 -2
  468. package/docs/fr/packages/next-intlayer/intlayerMiddleware.md +30 -7
  469. package/docs/fr/releases/v8.md +1 -1
  470. package/docs/hi/agent_skills.md +2 -0
  471. package/docs/hi/cli/init.md +1 -1
  472. package/docs/hi/compiler.md +55 -3
  473. package/docs/hi/component_i18n.md +2 -2
  474. package/docs/hi/configuration.md +68 -1
  475. package/docs/hi/dictionary/content_file.md +2 -2
  476. package/docs/hi/index.md +2 -2
  477. package/docs/hi/intlayer_CMS.md +1 -1
  478. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  479. package/docs/hi/intlayer_with_analog.md +1 -1
  480. package/docs/hi/intlayer_with_angular.md +1 -1
  481. package/docs/hi/intlayer_with_astro.md +1 -1
  482. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  483. package/docs/hi/intlayer_with_express.md +1 -1
  484. package/docs/hi/intlayer_with_fastify.md +2 -2
  485. package/docs/hi/intlayer_with_hono.md +1 -1
  486. package/docs/hi/intlayer_with_lynx+react.md +1 -1
  487. package/docs/hi/intlayer_with_nestjs.md +1 -1
  488. package/docs/hi/intlayer_with_next-i18next.md +2 -2
  489. package/docs/hi/intlayer_with_next-intl.md +1 -1
  490. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  491. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  492. package/docs/hi/intlayer_with_nextjs_16.md +3 -1
  493. package/docs/hi/intlayer_with_nextjs_compiler.md +23 -6
  494. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +4 -4
  495. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  496. package/docs/hi/intlayer_with_nuxt.md +1 -1
  497. package/docs/hi/intlayer_with_react_native+expo.md +4 -2
  498. package/docs/hi/intlayer_with_react_router_v7.md +4 -2
  499. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +4 -2
  500. package/docs/hi/intlayer_with_svelte_kit.md +1 -1
  501. package/docs/hi/intlayer_with_tanstack.md +1 -1
  502. package/docs/hi/intlayer_with_vite+preact.md +3 -1
  503. package/docs/hi/intlayer_with_vite+react.md +3 -1
  504. package/docs/hi/intlayer_with_vite+react_compiler.md +22 -6
  505. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  506. package/docs/hi/intlayer_with_vite+svelte.md +3 -1
  507. package/docs/hi/intlayer_with_vite+vue.md +4 -2
  508. package/docs/hi/introduction.md +2 -2
  509. package/docs/hi/packages/next-intlayer/intlayerMiddleware.md +29 -6
  510. package/docs/hi/releases/v8.md +1 -1
  511. package/docs/id/agent_skills.md +2 -0
  512. package/docs/id/compiler.md +53 -1
  513. package/docs/id/component_i18n.md +2 -2
  514. package/docs/id/configuration.md +61 -1
  515. package/docs/id/dictionary/content_file.md +2 -2
  516. package/docs/id/index.md +2 -2
  517. package/docs/id/intlayer_CMS.md +1 -1
  518. package/docs/id/intlayer_with_adonisjs.md +1 -1
  519. package/docs/id/intlayer_with_analog.md +1 -1
  520. package/docs/id/intlayer_with_angular.md +1 -1
  521. package/docs/id/intlayer_with_astro.md +1 -1
  522. package/docs/id/intlayer_with_create_react_app.md +1 -1
  523. package/docs/id/intlayer_with_express.md +1 -1
  524. package/docs/id/intlayer_with_fastify.md +1 -1
  525. package/docs/id/intlayer_with_hono.md +1 -1
  526. package/docs/id/intlayer_with_lynx+react.md +1 -1
  527. package/docs/id/intlayer_with_nestjs.md +1 -1
  528. package/docs/id/intlayer_with_next-i18next.md +2 -2
  529. package/docs/id/intlayer_with_next-intl.md +1 -1
  530. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  531. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  532. package/docs/id/intlayer_with_nextjs_16.md +3 -1
  533. package/docs/id/intlayer_with_nextjs_compiler.md +23 -6
  534. package/docs/id/intlayer_with_nextjs_no_locale_path.md +3 -3
  535. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  536. package/docs/id/intlayer_with_nuxt.md +1 -1
  537. package/docs/id/intlayer_with_react_native+expo.md +5 -3
  538. package/docs/id/intlayer_with_react_router_v7.md +4 -2
  539. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +4 -2
  540. package/docs/id/intlayer_with_svelte_kit.md +1 -1
  541. package/docs/id/intlayer_with_tanstack.md +1 -1
  542. package/docs/id/intlayer_with_vite+preact.md +3 -1
  543. package/docs/id/intlayer_with_vite+react.md +3 -1
  544. package/docs/id/intlayer_with_vite+react_compiler.md +25 -9
  545. package/docs/id/intlayer_with_vite+solid.md +1 -1
  546. package/docs/id/intlayer_with_vite+svelte.md +3 -1
  547. package/docs/id/intlayer_with_vite+vue.md +3 -1
  548. package/docs/id/introduction.md +2 -2
  549. package/docs/id/packages/next-intlayer/intlayerMiddleware.md +29 -6
  550. package/docs/id/releases/v8.md +1 -1
  551. package/docs/it/agent_skills.md +2 -0
  552. package/docs/it/compiler.md +55 -3
  553. package/docs/it/component_i18n.md +2 -2
  554. package/docs/it/configuration.md +68 -1
  555. package/docs/it/dictionary/content_file.md +2 -2
  556. package/docs/it/index.md +2 -2
  557. package/docs/it/intlayer_CMS.md +1 -1
  558. package/docs/it/intlayer_with_adonisjs.md +1 -1
  559. package/docs/it/intlayer_with_analog.md +1 -1
  560. package/docs/it/intlayer_with_angular.md +1 -1
  561. package/docs/it/intlayer_with_astro.md +1 -1
  562. package/docs/it/intlayer_with_create_react_app.md +1 -1
  563. package/docs/it/intlayer_with_express.md +1 -1
  564. package/docs/it/intlayer_with_fastify.md +1 -1
  565. package/docs/it/intlayer_with_hono.md +1 -1
  566. package/docs/it/intlayer_with_lynx+react.md +1 -1
  567. package/docs/it/intlayer_with_nestjs.md +1 -1
  568. package/docs/it/intlayer_with_next-i18next.md +2 -2
  569. package/docs/it/intlayer_with_next-intl.md +1 -1
  570. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  571. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  572. package/docs/it/intlayer_with_nextjs_16.md +3 -1
  573. package/docs/it/intlayer_with_nextjs_compiler.md +23 -6
  574. package/docs/it/intlayer_with_nextjs_no_locale_path.md +2 -2
  575. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  576. package/docs/it/intlayer_with_nuxt.md +1 -1
  577. package/docs/it/intlayer_with_react_native+expo.md +4 -2
  578. package/docs/it/intlayer_with_react_router_v7.md +4 -2
  579. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
  580. package/docs/it/intlayer_with_svelte_kit.md +1 -1
  581. package/docs/it/intlayer_with_tanstack.md +1 -1
  582. package/docs/it/intlayer_with_vite+preact.md +3 -1
  583. package/docs/it/intlayer_with_vite+react.md +3 -1
  584. package/docs/it/intlayer_with_vite+react_compiler.md +24 -8
  585. package/docs/it/intlayer_with_vite+solid.md +1 -1
  586. package/docs/it/intlayer_with_vite+svelte.md +3 -1
  587. package/docs/it/intlayer_with_vite+vue.md +4 -2
  588. package/docs/it/introduction.md +2 -2
  589. package/docs/it/packages/next-intlayer/intlayerMiddleware.md +29 -6
  590. package/docs/it/releases/v8.md +1 -1
  591. package/docs/ja/agent_skills.md +2 -0
  592. package/docs/ja/cli/init.md +1 -1
  593. package/docs/ja/compiler.md +53 -1
  594. package/docs/ja/component_i18n.md +2 -2
  595. package/docs/ja/configuration.md +68 -1
  596. package/docs/ja/dictionary/content_file.md +2 -2
  597. package/docs/ja/index.md +2 -2
  598. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  599. package/docs/ja/intlayer_with_analog.md +1 -1
  600. package/docs/ja/intlayer_with_angular.md +1 -1
  601. package/docs/ja/intlayer_with_astro.md +1 -1
  602. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  603. package/docs/ja/intlayer_with_express.md +1 -1
  604. package/docs/ja/intlayer_with_fastify.md +1 -1
  605. package/docs/ja/intlayer_with_hono.md +1 -1
  606. package/docs/ja/intlayer_with_lynx+react.md +1 -1
  607. package/docs/ja/intlayer_with_nestjs.md +1 -1
  608. package/docs/ja/intlayer_with_next-i18next.md +2 -2
  609. package/docs/ja/intlayer_with_next-intl.md +1 -1
  610. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  611. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  612. package/docs/ja/intlayer_with_nextjs_16.md +3 -1
  613. package/docs/ja/intlayer_with_nextjs_compiler.md +22 -5
  614. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +4 -4
  615. package/docs/ja/intlayer_with_nextjs_page_router.md +76 -77
  616. package/docs/ja/intlayer_with_nuxt.md +1 -1
  617. package/docs/ja/intlayer_with_react_native+expo.md +4 -2
  618. package/docs/ja/intlayer_with_react_router_v7.md +4 -2
  619. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +4 -2
  620. package/docs/ja/intlayer_with_svelte_kit.md +1 -1
  621. package/docs/ja/intlayer_with_tanstack.md +1 -1
  622. package/docs/ja/intlayer_with_vite+preact.md +3 -1
  623. package/docs/ja/intlayer_with_vite+react.md +3 -1
  624. package/docs/ja/intlayer_with_vite+react_compiler.md +21 -5
  625. package/docs/ja/intlayer_with_vite+solid.md +1 -1
  626. package/docs/ja/intlayer_with_vite+svelte.md +3 -1
  627. package/docs/ja/intlayer_with_vite+vue.md +3 -1
  628. package/docs/ja/introduction.md +2 -2
  629. package/docs/ja/packages/next-intlayer/intlayerMiddleware.md +29 -6
  630. package/docs/ja/releases/v8.md +1 -1
  631. package/docs/ko/agent_skills.md +2 -0
  632. package/docs/ko/cli/init.md +1 -1
  633. package/docs/ko/compiler.md +53 -1
  634. package/docs/ko/component_i18n.md +2 -2
  635. package/docs/ko/configuration.md +68 -1
  636. package/docs/ko/dictionary/content_file.md +2 -2
  637. package/docs/ko/index.md +2 -2
  638. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  639. package/docs/ko/intlayer_with_analog.md +1 -1
  640. package/docs/ko/intlayer_with_angular.md +1 -1
  641. package/docs/ko/intlayer_with_astro.md +1 -1
  642. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  643. package/docs/ko/intlayer_with_express.md +1 -1
  644. package/docs/ko/intlayer_with_fastify.md +1 -1
  645. package/docs/ko/intlayer_with_hono.md +1 -1
  646. package/docs/ko/intlayer_with_lynx+react.md +1 -1
  647. package/docs/ko/intlayer_with_nestjs.md +1 -1
  648. package/docs/ko/intlayer_with_next-i18next.md +2 -2
  649. package/docs/ko/intlayer_with_next-intl.md +1 -1
  650. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  651. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  652. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  653. package/docs/ko/intlayer_with_nextjs_compiler.md +3 -3
  654. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +2 -2
  655. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  656. package/docs/ko/intlayer_with_nuxt.md +1 -1
  657. package/docs/ko/intlayer_with_react_native+expo.md +2 -2
  658. package/docs/ko/intlayer_with_react_router_v7.md +2 -2
  659. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -2
  660. package/docs/ko/intlayer_with_svelte_kit.md +1 -1
  661. package/docs/ko/intlayer_with_tanstack.md +1 -1
  662. package/docs/ko/intlayer_with_vite+preact.md +1 -1
  663. package/docs/ko/intlayer_with_vite+react.md +1 -1
  664. package/docs/ko/intlayer_with_vite+react_compiler.md +1 -2
  665. package/docs/ko/intlayer_with_vite+solid.md +1 -1
  666. package/docs/ko/intlayer_with_vite+svelte.md +1 -1
  667. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  668. package/docs/ko/introduction.md +2 -2
  669. package/docs/ko/packages/next-intlayer/intlayerMiddleware.md +29 -6
  670. package/docs/ko/releases/v8.md +1 -1
  671. package/docs/pl/agent_skills.md +2 -0
  672. package/docs/pl/cli/init.md +1 -1
  673. package/docs/pl/compiler.md +53 -1
  674. package/docs/pl/component_i18n.md +2 -2
  675. package/docs/pl/configuration.md +61 -1
  676. package/docs/pl/dictionary/content_file.md +2 -2
  677. package/docs/pl/index.md +2 -2
  678. package/docs/pl/intlayer_CMS.md +1 -1
  679. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  680. package/docs/pl/intlayer_with_analog.md +1 -1
  681. package/docs/pl/intlayer_with_angular.md +1 -1
  682. package/docs/pl/intlayer_with_astro.md +1 -1
  683. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  684. package/docs/pl/intlayer_with_express.md +1 -1
  685. package/docs/pl/intlayer_with_fastify.md +1 -1
  686. package/docs/pl/intlayer_with_hono.md +1 -1
  687. package/docs/pl/intlayer_with_lynx+react.md +1 -1
  688. package/docs/pl/intlayer_with_nestjs.md +1 -1
  689. package/docs/pl/intlayer_with_next-i18next.md +2 -2
  690. package/docs/pl/intlayer_with_next-intl.md +1 -1
  691. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  692. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  693. package/docs/pl/intlayer_with_nextjs_16.md +3 -1
  694. package/docs/pl/intlayer_with_nextjs_compiler.md +24 -7
  695. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -6
  696. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  697. package/docs/pl/intlayer_with_nuxt.md +1 -1
  698. package/docs/pl/intlayer_with_react_native+expo.md +5 -3
  699. package/docs/pl/intlayer_with_react_router_v7.md +4 -2
  700. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +5 -3
  701. package/docs/pl/intlayer_with_svelte_kit.md +1 -1
  702. package/docs/pl/intlayer_with_tanstack.md +1 -1
  703. package/docs/pl/intlayer_with_vite+preact.md +3 -1
  704. package/docs/pl/intlayer_with_vite+react.md +3 -1
  705. package/docs/pl/intlayer_with_vite+react_compiler.md +25 -9
  706. package/docs/pl/intlayer_with_vite+solid.md +1 -1
  707. package/docs/pl/intlayer_with_vite+svelte.md +3 -1
  708. package/docs/pl/intlayer_with_vite+vue.md +4 -2
  709. package/docs/pl/introduction.md +2 -2
  710. package/docs/pl/packages/next-intlayer/intlayerMiddleware.md +29 -6
  711. package/docs/pl/packages/preact-intlayer/exports.md +1 -1
  712. package/docs/pl/releases/v8.md +4 -4
  713. package/docs/pt/agent_skills.md +2 -0
  714. package/docs/pt/cli/init.md +1 -1
  715. package/docs/pt/compiler.md +53 -1
  716. package/docs/pt/component_i18n.md +2 -2
  717. package/docs/pt/configuration.md +68 -1
  718. package/docs/pt/dictionary/content_file.md +2 -2
  719. package/docs/pt/index.md +2 -2
  720. package/docs/pt/intlayer_CMS.md +1 -1
  721. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  722. package/docs/pt/intlayer_with_analog.md +1 -1
  723. package/docs/pt/intlayer_with_angular.md +1 -1
  724. package/docs/pt/intlayer_with_astro.md +1 -1
  725. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  726. package/docs/pt/intlayer_with_express.md +1 -1
  727. package/docs/pt/intlayer_with_fastify.md +1 -1
  728. package/docs/pt/intlayer_with_hono.md +1 -1
  729. package/docs/pt/intlayer_with_lynx+react.md +1 -1
  730. package/docs/pt/intlayer_with_nestjs.md +1 -1
  731. package/docs/pt/intlayer_with_next-i18next.md +2 -2
  732. package/docs/pt/intlayer_with_next-intl.md +1 -1
  733. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  734. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  735. package/docs/pt/intlayer_with_nextjs_16.md +3 -1
  736. package/docs/pt/intlayer_with_nextjs_compiler.md +23 -6
  737. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +9 -9
  738. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  739. package/docs/pt/intlayer_with_nuxt.md +1 -1
  740. package/docs/pt/intlayer_with_react_native+expo.md +4 -2
  741. package/docs/pt/intlayer_with_react_router_v7.md +4 -2
  742. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -5
  743. package/docs/pt/intlayer_with_svelte_kit.md +1 -1
  744. package/docs/pt/intlayer_with_tanstack.md +1 -1
  745. package/docs/pt/intlayer_with_vite+preact.md +3 -1
  746. package/docs/pt/intlayer_with_vite+react.md +3 -1
  747. package/docs/pt/intlayer_with_vite+react_compiler.md +25 -9
  748. package/docs/pt/intlayer_with_vite+solid.md +1 -1
  749. package/docs/pt/intlayer_with_vite+svelte.md +3 -1
  750. package/docs/pt/intlayer_with_vite+vue.md +3 -1
  751. package/docs/pt/introduction.md +2 -2
  752. package/docs/pt/packages/next-intlayer/intlayerMiddleware.md +30 -7
  753. package/docs/pt/releases/v8.md +1 -1
  754. package/docs/ru/agent_skills.md +5 -3
  755. package/docs/ru/autoFill.md +3 -3
  756. package/docs/ru/bundle_optimization.md +1 -1
  757. package/docs/ru/cli/doc-translate.md +1 -1
  758. package/docs/ru/cli/fill.md +1 -1
  759. package/docs/ru/cli/init.md +6 -6
  760. package/docs/ru/cli/sdk.md +1 -1
  761. package/docs/ru/compiler.md +56 -4
  762. package/docs/ru/component_i18n.md +2 -2
  763. package/docs/ru/configuration.md +69 -2
  764. package/docs/ru/dictionary/content_file.md +4 -4
  765. package/docs/ru/dictionary/html.md +1 -1
  766. package/docs/ru/formatters.md +1 -1
  767. package/docs/ru/index.md +2 -2
  768. package/docs/ru/intlayer_CMS.md +6 -6
  769. package/docs/ru/intlayer_with_adonisjs.md +2 -2
  770. package/docs/ru/intlayer_with_analog.md +2 -2
  771. package/docs/ru/intlayer_with_angular.md +2 -2
  772. package/docs/ru/intlayer_with_astro.md +2 -2
  773. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  774. package/docs/ru/intlayer_with_express.md +1 -1
  775. package/docs/ru/intlayer_with_fastify.md +2 -2
  776. package/docs/ru/intlayer_with_hono.md +2 -2
  777. package/docs/ru/intlayer_with_lynx+react.md +1 -1
  778. package/docs/ru/intlayer_with_nestjs.md +2 -2
  779. package/docs/ru/intlayer_with_next-i18next.md +3 -3
  780. package/docs/ru/intlayer_with_next-intl.md +1 -1
  781. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  782. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  783. package/docs/ru/intlayer_with_nextjs_16.md +5 -3
  784. package/docs/ru/intlayer_with_nextjs_compiler.md +25 -8
  785. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +12 -12
  786. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  787. package/docs/ru/intlayer_with_nuxt.md +3 -3
  788. package/docs/ru/intlayer_with_react_native+expo.md +4 -2
  789. package/docs/ru/intlayer_with_react_router_v7.md +5 -3
  790. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +5 -7
  791. package/docs/ru/intlayer_with_svelte_kit.md +3 -3
  792. package/docs/ru/intlayer_with_tanstack.md +3 -3
  793. package/docs/ru/intlayer_with_vite+preact.md +10 -8
  794. package/docs/ru/intlayer_with_vite+react.md +5 -3
  795. package/docs/ru/intlayer_with_vite+react_compiler.md +22 -6
  796. package/docs/ru/intlayer_with_vite+solid.md +1 -1
  797. package/docs/ru/intlayer_with_vite+svelte.md +4 -2
  798. package/docs/ru/intlayer_with_vite+vue.md +3 -1
  799. package/docs/ru/introduction.md +2 -2
  800. package/docs/ru/packages/adonis-intlayer/t.md +1 -1
  801. package/docs/ru/packages/hono-intlayer/t.md +2 -2
  802. package/docs/ru/packages/intlayer/exports.md +1 -1
  803. package/docs/ru/packages/next-intlayer/intlayerMiddleware.md +29 -6
  804. package/docs/ru/packages/next-intlayer/useRewriteURL.md +1 -1
  805. package/docs/ru/packages/nuxt-intlayer/exports.md +3 -3
  806. package/docs/ru/packages/react-intlayer/exports.md +16 -16
  807. package/docs/ru/readme.md +1 -1
  808. package/docs/ru/releases/v7.md +3 -3
  809. package/docs/ru/releases/v8.md +6 -6
  810. package/docs/ru/vs_code_extension.md +1 -1
  811. package/docs/tr/agent_skills.md +2 -0
  812. package/docs/tr/cli/init.md +2 -2
  813. package/docs/tr/compiler.md +55 -3
  814. package/docs/tr/component_i18n.md +2 -2
  815. package/docs/tr/configuration.md +68 -1
  816. package/docs/tr/dictionary/content_file.md +2 -2
  817. package/docs/tr/index.md +2 -2
  818. package/docs/tr/intlayer_CMS.md +1 -1
  819. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  820. package/docs/tr/intlayer_with_analog.md +1 -1
  821. package/docs/tr/intlayer_with_angular.md +1 -1
  822. package/docs/tr/intlayer_with_astro.md +1 -1
  823. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  824. package/docs/tr/intlayer_with_express.md +1 -1
  825. package/docs/tr/intlayer_with_fastify.md +1 -1
  826. package/docs/tr/intlayer_with_hono.md +1 -1
  827. package/docs/tr/intlayer_with_lynx+react.md +1 -1
  828. package/docs/tr/intlayer_with_nestjs.md +1 -1
  829. package/docs/tr/intlayer_with_next-i18next.md +2 -2
  830. package/docs/tr/intlayer_with_next-intl.md +1 -1
  831. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  832. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  833. package/docs/tr/intlayer_with_nextjs_16.md +3 -1
  834. package/docs/tr/intlayer_with_nextjs_compiler.md +23 -6
  835. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +4 -4
  836. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  837. package/docs/tr/intlayer_with_nuxt.md +1 -1
  838. package/docs/tr/intlayer_with_react_native+expo.md +4 -2
  839. package/docs/tr/intlayer_with_react_router_v7.md +4 -2
  840. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +4 -2
  841. package/docs/tr/intlayer_with_svelte_kit.md +1 -1
  842. package/docs/tr/intlayer_with_tanstack.md +1 -1
  843. package/docs/tr/intlayer_with_vite+preact.md +3 -1
  844. package/docs/tr/intlayer_with_vite+react.md +3 -1
  845. package/docs/tr/intlayer_with_vite+react_compiler.md +24 -8
  846. package/docs/tr/intlayer_with_vite+solid.md +1 -1
  847. package/docs/tr/intlayer_with_vite+svelte.md +3 -1
  848. package/docs/tr/intlayer_with_vite+vue.md +3 -1
  849. package/docs/tr/introduction.md +2 -2
  850. package/docs/tr/packages/next-intlayer/intlayerMiddleware.md +29 -6
  851. package/docs/tr/releases/v8.md +1 -1
  852. package/docs/uk/agent_skills.md +5 -3
  853. package/docs/uk/autoFill.md +4 -4
  854. package/docs/uk/bundle_optimization.md +2 -2
  855. package/docs/uk/cli/fill.md +1 -1
  856. package/docs/uk/cli/index.md +1 -1
  857. package/docs/uk/cli/list_projects.md +1 -1
  858. package/docs/uk/cli/login.md +2 -2
  859. package/docs/uk/cli/sdk.md +1 -1
  860. package/docs/uk/compiler.md +56 -4
  861. package/docs/uk/component_i18n.md +3 -3
  862. package/docs/uk/configuration.md +65 -5
  863. package/docs/uk/dictionary/content_file.md +6 -6
  864. package/docs/uk/dictionary/enumeration.md +1 -1
  865. package/docs/uk/dictionary/html.md +1 -1
  866. package/docs/uk/formatters.md +9 -9
  867. package/docs/uk/how_works_intlayer.md +6 -6
  868. package/docs/uk/index.md +4 -4
  869. package/docs/uk/interest_of_intlayer.md +24 -24
  870. package/docs/uk/intlayer_CMS.md +7 -7
  871. package/docs/uk/intlayer_visual_editor.md +8 -8
  872. package/docs/uk/intlayer_with_adonisjs.md +2 -2
  873. package/docs/uk/intlayer_with_analog.md +2 -2
  874. package/docs/uk/intlayer_with_angular.md +2 -2
  875. package/docs/uk/intlayer_with_astro.md +3 -3
  876. package/docs/uk/intlayer_with_create_react_app.md +13 -13
  877. package/docs/uk/intlayer_with_express.md +2 -2
  878. package/docs/uk/intlayer_with_fastify.md +3 -3
  879. package/docs/uk/intlayer_with_hono.md +2 -2
  880. package/docs/uk/intlayer_with_lynx+react.md +3 -3
  881. package/docs/uk/intlayer_with_nestjs.md +4 -4
  882. package/docs/uk/intlayer_with_next-i18next.md +5 -5
  883. package/docs/uk/intlayer_with_next-intl.md +1 -1
  884. package/docs/uk/intlayer_with_nextjs_14.md +10 -10
  885. package/docs/uk/intlayer_with_nextjs_15.md +21 -21
  886. package/docs/uk/intlayer_with_nextjs_16.md +5 -3
  887. package/docs/uk/intlayer_with_nextjs_compiler.md +24 -7
  888. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +13 -13
  889. package/docs/uk/intlayer_with_nextjs_page_router.md +9 -9
  890. package/docs/uk/intlayer_with_nuxt.md +6 -6
  891. package/docs/uk/intlayer_with_react_native+expo.md +11 -9
  892. package/docs/uk/intlayer_with_react_router_v7.md +10 -8
  893. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +10 -8
  894. package/docs/uk/intlayer_with_svelte_kit.md +2 -2
  895. package/docs/uk/intlayer_with_tanstack.md +9 -9
  896. package/docs/uk/intlayer_with_vite+preact.md +13 -11
  897. package/docs/uk/intlayer_with_vite+react.md +14 -12
  898. package/docs/uk/intlayer_with_vite+react_compiler.md +26 -10
  899. package/docs/uk/intlayer_with_vite+solid.md +2 -2
  900. package/docs/uk/intlayer_with_vite+svelte.md +4 -2
  901. package/docs/uk/intlayer_with_vite+vue.md +9 -7
  902. package/docs/uk/introduction.md +3 -3
  903. package/docs/uk/locale_mapper.md +1 -1
  904. package/docs/uk/packages/adonis-intlayer/t.md +1 -1
  905. package/docs/uk/packages/angular-intlayer/exports.md +1 -1
  906. package/docs/uk/packages/express-intlayer/t.md +3 -3
  907. package/docs/uk/packages/hono-intlayer/t.md +2 -2
  908. package/docs/uk/packages/intlayer/exports.md +1 -1
  909. package/docs/uk/packages/intlayer/getEnumeration.md +1 -1
  910. package/docs/uk/packages/intlayer/getMultilingualUrls.md +2 -2
  911. package/docs/uk/packages/intlayer/getTranslation.md +2 -2
  912. package/docs/uk/packages/intlayer/getTranslationContent.md +3 -3
  913. package/docs/uk/packages/next-intlayer/intlayerMiddleware.md +29 -6
  914. package/docs/uk/packages/next-intlayer/t.md +2 -2
  915. package/docs/uk/packages/next-intlayer/useLocale.md +3 -3
  916. package/docs/uk/packages/next-intlayer/useRewriteURL.md +1 -1
  917. package/docs/uk/packages/nuxt-intlayer/exports.md +3 -3
  918. package/docs/uk/packages/react-intlayer/t.md +3 -3
  919. package/docs/uk/packages/react-intlayer/useDictionary.md +1 -1
  920. package/docs/uk/packages/react-intlayer/useLocale.md +2 -2
  921. package/docs/uk/packages/react-native-intlayer/exports.md +1 -1
  922. package/docs/uk/per_locale_file.md +2 -2
  923. package/docs/uk/plugins/sync-json.md +10 -10
  924. package/docs/uk/readme.md +3 -3
  925. package/docs/uk/releases/v6.md +2 -2
  926. package/docs/uk/releases/v7.md +2 -2
  927. package/docs/uk/releases/v8.md +2 -2
  928. package/docs/uk/roadmap.md +4 -4
  929. package/docs/uk/testing.md +1 -1
  930. package/docs/uk/vs_code_extension.md +2 -2
  931. package/docs/vi/agent_skills.md +2 -0
  932. package/docs/vi/compiler.md +53 -1
  933. package/docs/vi/component_i18n.md +2 -2
  934. package/docs/vi/configuration.md +61 -1
  935. package/docs/vi/dictionary/content_file.md +2 -2
  936. package/docs/vi/index.md +2 -2
  937. package/docs/vi/intlayer_CMS.md +1 -1
  938. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  939. package/docs/vi/intlayer_with_analog.md +1 -1
  940. package/docs/vi/intlayer_with_angular.md +1 -1
  941. package/docs/vi/intlayer_with_astro.md +1 -1
  942. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  943. package/docs/vi/intlayer_with_express.md +1 -1
  944. package/docs/vi/intlayer_with_fastify.md +1 -1
  945. package/docs/vi/intlayer_with_hono.md +1 -1
  946. package/docs/vi/intlayer_with_lynx+react.md +1 -1
  947. package/docs/vi/intlayer_with_nestjs.md +1 -1
  948. package/docs/vi/intlayer_with_next-i18next.md +2 -2
  949. package/docs/vi/intlayer_with_next-intl.md +1 -1
  950. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  951. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  952. package/docs/vi/intlayer_with_nextjs_16.md +3 -1
  953. package/docs/vi/intlayer_with_nextjs_compiler.md +23 -6
  954. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +2 -2
  955. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  956. package/docs/vi/intlayer_with_nuxt.md +1 -1
  957. package/docs/vi/intlayer_with_react_native+expo.md +5 -3
  958. package/docs/vi/intlayer_with_react_router_v7.md +4 -2
  959. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +4 -2
  960. package/docs/vi/intlayer_with_svelte_kit.md +1 -1
  961. package/docs/vi/intlayer_with_tanstack.md +1 -1
  962. package/docs/vi/intlayer_with_vite+preact.md +3 -1
  963. package/docs/vi/intlayer_with_vite+react.md +3 -1
  964. package/docs/vi/intlayer_with_vite+react_compiler.md +24 -8
  965. package/docs/vi/intlayer_with_vite+solid.md +1 -1
  966. package/docs/vi/intlayer_with_vite+svelte.md +3 -1
  967. package/docs/vi/intlayer_with_vite+vue.md +3 -1
  968. package/docs/vi/introduction.md +2 -2
  969. package/docs/vi/packages/intlayer/getCanonicalPath.md +1 -1
  970. package/docs/vi/packages/next-intlayer/intlayerMiddleware.md +29 -6
  971. package/docs/vi/readme.md +1 -1
  972. package/docs/vi/releases/v8.md +3 -3
  973. package/docs/zh/agent_skills.md +2 -0
  974. package/docs/zh/compiler.md +53 -1
  975. package/docs/zh/component_i18n.md +2 -2
  976. package/docs/zh/configuration.md +68 -1
  977. package/docs/zh/dictionary/content_file.md +2 -2
  978. package/docs/zh/index.md +3 -3
  979. package/docs/zh/intlayer_CMS.md +1 -1
  980. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  981. package/docs/zh/intlayer_with_analog.md +1 -1
  982. package/docs/zh/intlayer_with_angular.md +1 -1
  983. package/docs/zh/intlayer_with_astro.md +1 -1
  984. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  985. package/docs/zh/intlayer_with_express.md +1 -1
  986. package/docs/zh/intlayer_with_fastify.md +1 -1
  987. package/docs/zh/intlayer_with_hono.md +1 -1
  988. package/docs/zh/intlayer_with_lynx+react.md +1 -1
  989. package/docs/zh/intlayer_with_nestjs.md +1 -1
  990. package/docs/zh/intlayer_with_next-i18next.md +2 -2
  991. package/docs/zh/intlayer_with_next-intl.md +1 -1
  992. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  993. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  994. package/docs/zh/intlayer_with_nextjs_16.md +3 -1
  995. package/docs/zh/intlayer_with_nextjs_compiler.md +23 -6
  996. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +3 -3
  997. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  998. package/docs/zh/intlayer_with_nuxt.md +1 -1
  999. package/docs/zh/intlayer_with_react_native+expo.md +4 -2
  1000. package/docs/zh/intlayer_with_react_router_v7.md +4 -2
  1001. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +4 -2
  1002. package/docs/zh/intlayer_with_svelte_kit.md +1 -1
  1003. package/docs/zh/intlayer_with_tanstack.md +1 -1
  1004. package/docs/zh/intlayer_with_vite+preact.md +3 -1
  1005. package/docs/zh/intlayer_with_vite+react.md +3 -1
  1006. package/docs/zh/intlayer_with_vite+react_compiler.md +21 -5
  1007. package/docs/zh/intlayer_with_vite+solid.md +1 -1
  1008. package/docs/zh/intlayer_with_vite+svelte.md +3 -1
  1009. package/docs/zh/intlayer_with_vite+vue.md +3 -1
  1010. package/docs/zh/introduction.md +2 -2
  1011. package/docs/zh/packages/next-intlayer/intlayerMiddleware.md +30 -7
  1012. package/docs/zh/releases/v8.md +1 -1
  1013. package/frequent_questions/ar/error-vite-env-only.md +2 -2
  1014. package/frequent_questions/de/error-vite-env-only.md +2 -2
  1015. package/frequent_questions/en/error-vite-env-only.md +2 -2
  1016. package/frequent_questions/en-GB/error-vite-env-only.md +2 -2
  1017. package/frequent_questions/es/error-vite-env-only.md +2 -2
  1018. package/frequent_questions/fr/error-vite-env-only.md +2 -2
  1019. package/frequent_questions/hi/error-vite-env-only.md +2 -2
  1020. package/frequent_questions/id/domain_routing.md +1 -1
  1021. package/frequent_questions/id/error-vite-env-only.md +2 -2
  1022. package/frequent_questions/it/error-vite-env-only.md +2 -2
  1023. package/frequent_questions/ja/error-vite-env-only.md +2 -2
  1024. package/frequent_questions/ko/error-vite-env-only.md +2 -2
  1025. package/frequent_questions/pl/domain_routing.md +1 -1
  1026. package/frequent_questions/pl/error-vite-env-only.md +2 -2
  1027. package/frequent_questions/pt/error-vite-env-only.md +2 -2
  1028. package/frequent_questions/ru/error-vite-env-only.md +2 -2
  1029. package/frequent_questions/tr/error-vite-env-only.md +2 -2
  1030. package/frequent_questions/uk/SSR_Next_no_[locale].md +1 -1
  1031. package/frequent_questions/uk/array_as_content_declaration.md +1 -1
  1032. package/frequent_questions/uk/customized_locale_list.md +1 -1
  1033. package/frequent_questions/uk/domain_routing.md +1 -1
  1034. package/frequent_questions/uk/error-vite-env-only.md +3 -3
  1035. package/frequent_questions/uk/get_locale_cookie.md +4 -4
  1036. package/frequent_questions/uk/static_rendering.md +1 -1
  1037. package/frequent_questions/vi/domain_routing.md +1 -1
  1038. package/frequent_questions/vi/error-vite-env-only.md +2 -2
  1039. package/frequent_questions/zh/error-vite-env-only.md +3 -3
  1040. package/legal/de/terms_of_service.md +1 -1
  1041. package/legal/fr/terms_of_service.md +2 -2
  1042. package/legal/ja/terms_of_service.md +1 -1
  1043. package/legal/pl/terms_of_service.md +2 -2
  1044. package/legal/ru/terms_of_service.md +1 -1
  1045. package/legal/uk/privacy_notice.md +1 -1
  1046. package/legal/uk/terms_of_service.md +1 -1
  1047. package/package.json +6 -6
  1048. package/src/generated/blog.entry.ts +20 -0
@@ -20,16 +20,16 @@ slugs:
20
20
 
21
21
  # SEO та i18n в Next.js: Перекладу недостатньо
22
22
 
23
- Коли розробники думають про інтернаціоналізацію (i18n), першим рефлексом часто є: _перекласти контент_. Але зазвичай забувають, що головна мета інтернаціоналізації зробити ваш вебсайт більш помітним для світу.
23
+ Коли розробники думають про інтернаціоналізацію (i18n), першим рефлексом часто є: _перекласти контент_. Але зазвичай забувають, що головна мета інтернаціоналізації, зробити ваш вебсайт більш помітним для світу.
24
24
  Якщо ваша багатомовна програма Next.js не повідомляє пошуковим системам, як сканувати й розуміти різні мовні версії, більшість ваших зусиль може залишитися непоміченою.
25
25
 
26
- У цьому блозі ми розглянемо, чому **i18n це суперсила для SEO**, і як правильно реалізувати її в Next.js за допомогою `next-intl`, `next-i18next` та `Intlayer`.
26
+ У цьому блозі ми розглянемо, чому **i18n, це суперсила для SEO**, і як правильно реалізувати її в Next.js за допомогою `next-intl`, `next-i18next` та `Intlayer`.
27
27
 
28
28
  ---
29
29
 
30
30
  ## Чому SEO та i18n
31
31
 
32
- Додавання мов це не лише про UX. Це також потужний важіль для **органічної видимості**. Ось чому:
32
+ Додавання мов, це не лише про UX. Це також потужний важіль для **органічної видимості**. Ось чому:
33
33
 
34
34
  1. **Краща виявлюваність:** Пошукові системи індексують локалізовані версії та ранжують їх для користувачів, які шукають рідною мовою.
35
35
  2. **Уникнення дубльованого контенту:** Правильні канонічні та альтернативні теги повідомляють сканерам, яка сторінка належить до якої локалі.
@@ -54,7 +54,7 @@ slugs:
54
54
  - **Використовуйте локалізовані посилання**
55
55
  Приклад: `<a href="/fr/about">Про нас</a>` замість посилання на сторінку за замовчуванням `/about`.
56
56
 
57
- Це прості кроки але їх пропуск може коштувати вам видимості.
57
+ Це прості кроки, але їх пропуск може коштувати вам видимості.
58
58
 
59
59
  ---
60
60
 
@@ -344,8 +344,8 @@ export default robots;
344
344
 
345
345
  ## Висновок
346
346
 
347
- Правильна реалізація i18n у Next.js це не просто переклад тексту, а забезпечення того, щоб пошукові системи та користувачі точно знали, яку версію вашого контенту показувати.
348
- Налаштування hreflang, sitemap і правил для robots те, що перетворює переклади на реальну SEO-цінність.
347
+ Правильна реалізація i18n у Next.js, це не просто переклад тексту, а забезпечення того, щоб пошукові системи та користувачі точно знали, яку версію вашого контенту показувати.
348
+ Налаштування hreflang, sitemap і правил для robots, те, що перетворює переклади на реальну SEO-цінність.
349
349
 
350
350
  Хоча next-intl і next-i18next дають надійні способи це реалізувати, зазвичай вони вимагають багато ручного налаштування, щоб підтримувати консистентність між локалями.
351
351
 
@@ -355,6 +355,6 @@ export default robots;
355
355
 
356
356
  Метадані зберігаються централізовано замість того, щоб розкидуватися по JSON-файлах або власних утилітах.
357
357
 
358
- Він спроєктований для Next.js з нуля, тож ви витрачаєте менше часу на налагодження конфігурації й більше на реліз.
358
+ Він спроєктований для Next.js з нуля, тож ви витрачаєте менше часу на налагодження конфігурації й більше, на реліз.
359
359
 
360
- Якщо ваша мета не просто перекладати, а масштабувати багатомовне SEO без зайвих зусиль, Intlayer дає вам найчистіше, найбільш стійке до майбутніх змін налаштування.
360
+ Якщо ваша мета, не просто перекладати, а масштабувати багатомовне SEO без зайвих зусиль, Intlayer дає вам найчистіше, найбільш стійке до майбутніх змін налаштування.
@@ -81,7 +81,7 @@ extension Localization on String {
81
81
 
82
82
  Водночас потрібно знати, що коли ви динамічно завантажуєте свій вміст, ви вводите додаткові запити до сервера. Кожен додатковий `useState` або хук означає ще один запит до сервера.
83
83
 
84
- > Щоб вирішити це питання, Intlayer пропонує групувати кілька визначень контенту під одним ключем Intlayer потім об'єднає цей контент.
84
+ > Щоб вирішити це питання, Intlayer пропонує групувати кілька визначень контенту під одним ключем. Intlayer потім об'єднає цей контент.
85
85
 
86
86
  Але з-поміж усіх цих рішень очевидно, що найпопулярнішим є централізований підхід.
87
87
 
@@ -97,7 +97,7 @@ extension Localization on String {
97
97
  Дозвольте пояснити, чому це може бути проблематично для вашого додатка:
98
98
 
99
99
  - **Невикористані дані:**
100
- Коли завантажується сторінка, часто підвантажується контент з усіх інших сторінок. (У додатку з 10 сторінок це означає 90% невикористаного контенту.) Відкриваєте модальне вікно з відкладеним завантаженням? Бібліотека i18n байдуже вона все одно спочатку підвантажує рядки.
100
+ Коли завантажується сторінка, часто підвантажується контент з усіх інших сторінок. (У додатку з 10 сторінок це означає 90% невикористаного контенту.) Відкриваєте модальне вікно з відкладеним завантаженням? Бібліотека i18n байдуже, вона все одно спочатку підвантажує рядки.
101
101
  - **Продуктивність:**
102
102
  При кожному перерендері кожен ваш компонент отримує велике JSON-навантаження, що погіршує реактивність додатка в міру його зростання.
103
103
  - **Підтримка:**
@@ -245,4 +245,4 @@ export const MyComponent = () => {
245
245
  - Важче підключатися до інших l10n-систем та додаткових інструментів.
246
246
  - Ви потрапляєте у залежність (що, по суті, вже відбувається з будь-яким i18n-рішенням через їхній специфічний синтаксис).
247
247
 
248
- Саме тому Intlayer намагається надати повний набір інструментів для i18n (100% безкоштовний і з відкритим вихідним кодом OSS), включно з AI-перекладом за допомогою вашого власного AI-провайдера та API-ключів. Intlayer також надає інструменти для синхронізації ваших JSON-файлів, що працюють подібно до message formatters ICU / vue-i18n / i18next, щоб відобразити контент у їхніх специфічних форматах.
248
+ Саме тому Intlayer намагається надати повний набір інструментів для i18n (100% безкоштовний і з відкритим вихідним кодом. OSS), включно з AI-перекладом за допомогою вашого власного AI-провайдера та API-ключів. Intlayer також надає інструменти для синхронізації ваших JSON-файлів, що працюють подібно до message formatters ICU / vue-i18n / i18next, щоб відобразити контент у їхніх специфічних форматах.
@@ -48,13 +48,13 @@ RAG став популярним не випадково: це один із н
48
48
  - Пошук, який відчувається природно: поєднання Algolia + FAQ + чатбот в одному.
49
49
  - Зворотний зв'язок: зберігаючи запити, ви виявляєте, з чим насправді мають труднощі користувачі.
50
50
 
51
- Той останній пункт є вирішальним. Система RAG не лише відповідає на запитання вона показує, що саме запитують користувачі. Це означає:
51
+ Той останній пункт є вирішальним. Система RAG не лише відповідає на запитання, вона показує, що саме запитують користувачі. Це означає:
52
52
 
53
53
  - Ви виявляєте відсутню інформацію в документації.
54
54
  - Ви бачите появу запитів на нові фічі.
55
55
  - Ви помічаєте патерни, які можуть навіть спрямовувати продуктову стратегію.
56
56
 
57
- Отже, RAG це не лише інструмент підтримки. Це також **двигун product discovery**.
57
+ Отже, RAG, це не лише інструмент підтримки. Це також **двигун product discovery**.
58
58
 
59
59
  ## Як працює RAG-пайплайн
60
60
 
@@ -99,7 +99,7 @@ RAG став популярним не випадково: це один із н
99
99
 
100
100
  ## Крок 3: Генерація embeddings
101
101
 
102
- Як тільки документи розбиті на чанки, ми генеруємо **embeddings** високорозмірні вектори, що представляють кожний чанк.
102
+ Як тільки документи розбиті на чанки, ми генеруємо **embeddings**, високорозмірні вектори, що представляють кожний чанк.
103
103
 
104
104
  Я використовував модель OpenAI’s text-embedding-3-large, але ви можете використати будь-яку сучасну модель embeddings.
105
105
 
@@ -113,7 +113,7 @@ RAG став популярним не випадково: це один із н
113
113
  ];
114
114
  ```
115
115
 
116
- Кожний вектор це математичний відбиток тексту, що дозволяє виконувати пошук за схожістю.
116
+ Кожний вектор, це математичний відбиток тексту, що дозволяє виконувати пошук за схожістю.
117
117
 
118
118
  ## Крок 4: Індексування та збереження embeddings
119
119
 
@@ -163,7 +163,7 @@ This turns your RAG assistant into a **continuous user research tool**.
163
163
 
164
164
  ## Скільки це коштує?
165
165
 
166
- Одне з поширених зауважень щодо RAG це вартість. Насправді це дивно дешево:
166
+ Одне з поширених зауважень щодо RAG, це вартість. Насправді це дивно дешево:
167
167
 
168
168
  - Генерація embeddings для ~200 документів займає близько **5 хвилин** і коштує **1–2 євро**.
169
169
  - Пошук по документації повністю безкоштовний.
@@ -180,7 +180,7 @@ This turns your RAG assistant into a **continuous user research tool**.
180
180
  - Фронтенд: Next.js / React / Tailwind CSS
181
181
  - Бекенд: Node.js API route / OpenAI API
182
182
 
183
- Пакет `@smart-doc/docs` це пакет на TypeScript, який відповідає за обробку документації. Коли файл Markdown додається або змінюється, пакет містить скрипт `build`, який перебудовує список документації для кожної мови, генерує embeddings і зберігає їх у файлі `embeddings.json`.
183
+ Пакет `@smart-doc/docs`, це пакет на TypeScript, який відповідає за обробку документації. Коли файл Markdown додається або змінюється, пакет містить скрипт `build`, який перебудовує список документації для кожної мови, генерує embeddings і зберігає їх у файлі `embeddings.json`.
184
184
 
185
185
  Для фронтенду ми використовуємо застосунок Next.js, який надає:
186
186
 
@@ -237,7 +237,7 @@ User query :
237
237
 
238
238
  ## Подальші кроки
239
239
 
240
- Цей проєкт мінімальна реалізація. Але ви можете розширити його багатьма способами:
240
+ Цей проєкт, мінімальна реалізація. Але ви можете розширити його багатьма способами:
241
241
 
242
242
  - MCP server → перемістити функцію пошуку по документації на MCP-сервер, щоб підключати документацію до будь-якого AI-помічника
243
243
 
@@ -255,7 +255,7 @@ User query :
255
255
 
256
256
  ## Чому це важливо поза межами документації
257
257
 
258
- Цікаво не лише в чат-боті. Це механізм зворотного зв'язку (feedback loop).
258
+ Цікаво не лише в чат-боті. Це, механізм зворотного зв'язку (feedback loop).
259
259
 
260
260
  З RAG ви не просто відповідаєте на запити:
261
261
 
@@ -271,13 +271,13 @@ User query :
271
271
  - Користувачі неодноразово просять інтеграцію, яку ви ще не підтримуєте
272
272
  - Люди шукають терміни, що виявляють новий сценарій використання
273
273
 
274
- Це **product intelligence** прямо від ваших користувачів.
274
+ Це, **product intelligence** прямо від ваших користувачів.
275
275
 
276
276
  ## Висновок
277
277
 
278
- RAG це один із найпростіших і найпотужніших способів зробити LLMs практичними. Поєднавши **retrieval + generation**, ви можете перетворити статичну документацію на **smart assistant** і, одночасно, отримувати безперервний потік insights про продукт.
278
+ RAG, це один із найпростіших і найпотужніших способів зробити LLMs практичними. Поєднавши **retrieval + generation**, ви можете перетворити статичну документацію на **smart assistant** і, одночасно, отримувати безперервний потік insights про продукт.
279
279
 
280
- Для мене цей проєкт показав, що RAG це не просто технічний трюк. Це спосіб трансформувати документацію у:
280
+ Для мене цей проєкт показав, що RAG, це не просто технічний трюк. Це спосіб трансформувати документацію у:
281
281
 
282
282
  - інтерактивну систему підтримки
283
283
  - канал зворотного зв'язку
@@ -126,7 +126,7 @@ slugs:
126
126
  - **react-intl / react-i18next**: Широка екосистема спільноти; для редакційних робочих процесів ви зазвичай використовуєте зовнішні платформи локалізації.
127
127
  - **Intlayer**: Надає **безкоштовний візуальний редактор** та **опційний CMS** (зберігайте контент у Git або зовнішньо). Також пропонує **розширення для VSCode** для створення контенту та **переклад із допомогою ШІ** з використанням ваших власних ключів провайдера.
128
128
 
129
- **Чому це важливо:** Вбудовані інструменти скорочують цикл між розробниками та авторами контенту менше допоміжного коду, менше залежностей від постачальників.
129
+ **Чому це важливо:** Вбудовані інструменти скорочують цикл між розробниками та авторами контенту, менше допоміжного коду, менше залежностей від постачальників.
130
130
 
131
131
  ---
132
132
 
@@ -134,7 +134,7 @@ slugs:
134
134
 
135
135
  - **Оберіть react-intl** якщо ви хочете **форматування повідомлень, орієнтоване на ICU**, з простим, відповідним стандартам API, і ваша команда комфортно підтримує каталоги та перевірки вручну.
136
136
  - **Оберіть react-i18next** якщо вам потрібна **широта екосистеми i18next** (детектори, бекенди, плагін ICU, інтеграції) і ви готові до більшої конфігурації заради гнучкості.
137
- - **Обирайте Intlayer** якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking** та **batteries-included** редакторські інструменти особливо для **large, modular** React-додатків, design-systems тощо.
137
+ - **Обирайте Intlayer** якщо ви цінуєте **component-scoped content**, **strict TypeScript**, **build-time guarantees**, **tree-shaking** та **batteries-included** редакторські інструменти, особливо для **large, modular** React-додатків, design-systems тощо.
138
138
 
139
139
  ---
140
140
 
@@ -150,15 +150,15 @@ slugs:
150
150
 
151
151
  ## Зірки GitHub
152
152
 
153
- GitHub-зірки це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, стежать за його розвитком і ймовірно його приймуть. Для оцінки цінності проєкту зірки допомагають порівнювати популярність між альтернативами та дають уявлення про зростання екосистеми.
153
+ GitHub-зірки, це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, стежать за його розвитком і ймовірно його приймуть. Для оцінки цінності проєкту зірки допомагають порівнювати популярність між альтернативами та дають уявлення про зростання екосистеми.
154
154
 
155
155
  ## [![Діаграма історії зірок](https://api.star-history.com/svg?repos=formatjs/formatjs&repos=i18next/react-i18next&repos=aymericzip/intlayer&type=Date)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&aymericzip/intlayer)
156
156
 
157
157
  ## Висновок
158
158
 
159
- Усі три бібліотеки ефективно локалізують React. Відмінність у тому, скільки **infrastructure** вам потрібно побудувати, щоб досягти **safe, scalable** setup:
159
+ Усі три бібліотеки ефективно локалізують React. Відмінність, у тому, скільки **infrastructure** вам потрібно побудувати, щоб досягти **safe, scalable** setup:
160
160
 
161
- - З **Intlayer** **модульний контент**, **сувора типізація TS**, **безпека на етапі збірки**, **tree-shaken bundles** та **редакційні інструменти** це налаштування за замовчуванням, а не рутинні завдання.
161
+ - З **Intlayer** **модульний контент**, **сувора типізація TS**, **безпека на етапі збірки**, **tree-shaken bundles** та **редакційні інструменти**, це налаштування за замовчуванням, а не рутинні завдання.
162
162
  - Якщо ваша команда цінує **підтримуваність і швидкість** у multi-locale, компонентно-орієнтованих React-додатках, Intlayer сьогодні пропонує **найповніший** робочий процес для розробників і контенту.
163
163
 
164
164
  Дивіться документ [«Чому Intlayer?»](https://intlayer.org/doc/why) для детальнішої інформації.
@@ -32,7 +32,7 @@ slugs:
32
32
 
33
33
  <TOC/>
34
34
 
35
- > **коротко**: Обидва можуть локалізувати Vue-додатки. Якщо вам потрібен **контент у межах компонента**, **строга типізація TypeScript**, **перевірки відсутніх ключів на етапі збірки**, **словники, оптимізовані для tree-shaking**, та вбудовані **помічники для роутера/SEO**, а також **Візуальний редактор та AI-переклади**, **Intlayer** більш повне та сучасне рішення.
35
+ > **коротко**: Обидва можуть локалізувати Vue-додатки. Якщо вам потрібен **контент у межах компонента**, **строга типізація TypeScript**, **перевірки відсутніх ключів на етапі збірки**, **словники, оптимізовані для tree-shaking**, та вбудовані **помічники для роутера/SEO**, а також **Візуальний редактор та AI-переклади**, **Intlayer**, більш повне та сучасне рішення.
36
36
 
37
37
  ---
38
38
 
@@ -108,7 +108,7 @@ slugs:
108
108
 
109
109
  ### 5) Продуктивність та поведінка завантаження
110
110
 
111
- - **vue-i18n**: Підтримує асинхронні повідомлення локалей; уникнення надмірного бандлінгу на вашому боці (ретельно розділяйте каталоги).
111
+ - **vue-i18n**: Підтримує асинхронні повідомлення локалей; уникнення надмірного бандлінгу, на вашому боці (ретельно розділяйте каталоги).
112
112
  - **Intlayer**: **Tree-shakes** під час збірки та **ліниво завантажує по кожному словнику/локалі**. Невикористовуваний контент не потрапляє в бандл.
113
113
 
114
114
  **Чому це важливо:** Менші бандли та швидший старт для багатомовних Vue-додатків.
@@ -233,7 +233,7 @@ const { greeting } = useIntlayer("component-example");
233
233
  - **Типобезпечне середовище**: Потужна конфігурація TS з автозаповненням.
234
234
  - **Спрощене отримання контенту**: Єдиний хук/composable для отримання всього вмісту словника.
235
235
  - **Організована кодова база**: 1 компонент = 1 словник у тій же папці.
236
- - **Покращена маршрутизація**: Хелпери для **Vue Router/Nuxt** локалізовані шляхи та метадані.
236
+ - **Покращена маршрутизація**: Хелпери для **Vue Router/Nuxt**, локалізовані шляхи та метадані.
237
237
  - **Підтримка Markdown**: Імпорт віддалених/локальних Markdown-файлів для кожної локалі; робить frontmatter доступним у коді.
238
238
  - **Безкоштовний Visual Editor & опційний CMS**: Створення контенту без платної платформи локалізації; синхронізація, дружня до Git.
239
239
  - **Tree-shakable контент**: Постачається лише те, що використовується; підтримує lazy loading.
@@ -247,7 +247,7 @@ const { greeting } = useIntlayer("component-example");
247
247
  ## Коли вибирати який варіант?
248
248
 
249
249
  - **Оберіть vue-i18n**, якщо ви хочете **стандартний підхід у Vue**, вам зручно самостійно керувати каталогами/просторами імен, і ваш додаток **малого або середнього розміру** (або ви вже покладаєтесь на Nuxt i18n).
250
- - **Оберіть Intlayer**, якщо ви цінуєте **контент, прив'язаний до компонентів**, **строгий TypeScript**, **гарантії на етапі збірки**, **tree-shaking** та **batteries-included** інструменти для роутингу/SEO/редагування особливо для **великих модульних кодових баз Vue/Nuxt**, дизайн-систем тощо.
250
+ - **Оберіть Intlayer**, якщо ви цінуєте **контент, прив'язаний до компонентів**, **строгий TypeScript**, **гарантії на етапі збірки**, **tree-shaking** та **batteries-included** інструменти для роутингу/SEO/редагування, особливо для **великих модульних кодових баз Vue/Nuxt**, дизайн-систем тощо.
251
251
 
252
252
  ---
253
253
 
@@ -263,7 +263,7 @@ const { greeting } = useIntlayer("component-example");
263
263
 
264
264
  ## Зірки GitHub
265
265
 
266
- GitHub-зірки це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, слідкують за його розвитком і, ймовірно, впровадять його. При оцінці вартості проєкту зірки допомагають порівняти динаміку прийняття між альтернативами та дають уявлення про зростання екосистеми.
266
+ GitHub-зірки, це вагомий індикатор популярності проєкту, довіри спільноти та його довгострокової релевантності. Хоча вони не є прямим показником технічної якості, вони відображають, скільки розробників вважають проєкт корисним, слідкують за його розвитком і, ймовірно, впровадять його. При оцінці вартості проєкту зірки допомагають порівняти динаміку прийняття між альтернативами та дають уявлення про зростання екосистеми.
267
267
 
268
268
  [![Графік історії зірок](https://api.star-history.com/svg?repos=intlify/vue-i18n&repos=aymericzip/intlayer&type=Date)](https://www.star-history.com/#intlify/vue-i18n&aymericzip/intlayer)
269
269
 
@@ -23,7 +23,7 @@ slugs:
23
23
 
24
24
  ## Розуміння інтернаціоналізації (i18n)
25
25
 
26
- **Інтернаціоналізація**, часто скорочено як **i18n**, це процес проєктування та підготовки застосунку для підтримки кількох мов, культур і регіональних конвенцій **без** значних змін у кодовій базі. Назва i18n походить від того, що між буквами **i** та **n** у слові "internationalization" є 18 літер.
26
+ **Інтернаціоналізація**, часто скорочено як **i18n**,, це процес проєктування та підготовки застосунку для підтримки кількох мов, культур і регіональних конвенцій **без** значних змін у кодовій базі. Назва i18n походить від того, що між буквами **i** та **n** у слові "internationalization" є 18 літер.
27
27
 
28
28
  ## Чому i18n важливий
29
29
 
@@ -41,9 +41,9 @@ slugs:
41
41
 
42
42
  ## Інтернаціоналізація (i18n) vs. Локалізація (l10n)
43
43
 
44
- **Інтернаціоналізація (i18n)** це процес проєктування вашого продукту так, щоб він міг легко підтримувати кілька мов і регіональних відмінностей. Наприклад, якщо ви створюєте вебсайт з урахуванням інтернаціоналізації, ви забезпечуєте підтримку різних наборів символів у текстових полях, відображення дат відповідно до локальних форматів і адаптацію макетів для розширення тексту при перекладі на інші мови.
44
+ **Інтернаціоналізація (i18n)**, це процес проєктування вашого продукту так, щоб він міг легко підтримувати кілька мов і регіональних відмінностей. Наприклад, якщо ви створюєте вебсайт з урахуванням інтернаціоналізації, ви забезпечуєте підтримку різних наборів символів у текстових полях, відображення дат відповідно до локальних форматів і адаптацію макетів для розширення тексту при перекладі на інші мови.
45
45
 
46
- **Локалізація (l10n)** це робота, яка виконується після інтернаціоналізації. Вона полягає у перекладі вмісту та налаштуванні культурних деталей для задоволення потреб конкретної аудиторії. Наприклад, коли вебсайт вже інтернаціоналізовано, ви можете локалізувати його для французьких користувачів, переклавши весь текст, змінивши формат дати на день/місяць/рік і навіть підкоригувавши зображення або іконки, щоб вони краще відповідали французьким культурним нормам.
46
+ **Локалізація (l10n)**, це робота, яка виконується після інтернаціоналізації. Вона полягає у перекладі вмісту та налаштуванні культурних деталей для задоволення потреб конкретної аудиторії. Наприклад, коли вебсайт вже інтернаціоналізовано, ви можете локалізувати його для французьких користувачів, переклавши весь текст, змінивши формат дати на день/місяць/рік і навіть підкоригувавши зображення або іконки, щоб вони краще відповідали французьким культурним нормам.
47
47
 
48
48
  Підсумовуючи, інтернаціоналізація готує ваш продукт до глобального використання, тоді як локалізація адаптує його для конкретного ринку.
49
49
 
@@ -162,6 +162,6 @@ slugs:
162
162
 
163
163
  ## Висновок
164
164
 
165
- Інтернаціоналізація (i18n) це більше, ніж просто технічне завдання; це **стратегічна інвестиція**, яка дозволяє вашому програмному забезпеченню буквально говорити мовою ваших користувачів. Абстрагуючи локально-залежні елементи, враховуючи мовні та культурні відмінності та плануючи майбутнє розширення, ви надаєте своєму продукту змогу процвітати на глобальному ринку.
165
+ Інтернаціоналізація (i18n), це більше, ніж просто технічне завдання; це **стратегічна інвестиція**, яка дозволяє вашому програмному забезпеченню буквально говорити мовою ваших користувачів. Абстрагуючи локально-залежні елементи, враховуючи мовні та культурні відмінності та плануючи майбутнє розширення, ви надаєте своєму продукту змогу процвітати на глобальному ринку.
166
166
 
167
167
  Чи ви створюєте мобільний застосунок, SaaS-платформу або корпоративний інструмент, **i18n гарантує, що ваш продукт зможе адаптуватиись і приваблювати користувачів із усього світу**, без потреби постійно переписувати код. Використовуючи best practices, надійні frameworks і continuous localization strategies, розробники та продуктові команди можуть доставляти **істинно глобальний** користувацький досвід програмного забезпечення.
@@ -20,7 +20,7 @@ slugs:
20
20
 
21
21
  # Lập Luận Ủng Hộ và Phản Đối i18n Dựa trên Trình Biên Dịch
22
22
 
23
- Nếu bạn đã xây dựng các ứng dụng web hơn một thập kỷ, bạn biết rằng Quốc tế hóa (i18n) luôn là một điểm gây khó khăn. Đây thường là công việc không ai muốn làm trích xuất chuỗi, quản lý các tập tin JSON, và lo lắng về các quy tắc số nhiều.
23
+ Nếu bạn đã xây dựng các ứng dụng web hơn một thập kỷ, bạn biết rằng Quốc tế hóa (i18n) luôn là một điểm gây khó khăn. Đây thường là công việc không ai muốn làm, trích xuất chuỗi, quản lý các tập tin JSON, và lo lắng về các quy tắc số nhiều.
24
24
 
25
25
  Gần đây, một làn sóng mới của các công cụ i18n **"dựa trên trình biên dịch"** đã xuất hiện, hứa hẹn sẽ làm biến mất nỗi đau này. Lời chào hàng rất hấp dẫn: **Chỉ cần viết văn bản trong các component của bạn, và để công cụ build lo phần còn lại.** Không cần key, không cần import, chỉ có phép thuật.
26
26
 
@@ -0,0 +1,124 @@
1
+ ---
2
+ createdAt: 2026-02-26
3
+ updatedAt: 2026-02-26
4
+ title: "Ý nghĩa i18n: Quốc tế hóa là gì và tại sao nó lại quan trọng?"
5
+ description: "Khám phá ý nghĩa thực sự của i18n trong phát triển phần mềm. Tìm hiểu quốc tế hóa là gì, tại sao nó được viết tắt là i18n và nó tác động như thế nào đến phạm vị tiếp cận toàn cầu."
6
+ keywords:
7
+ - ý nghĩa i18n
8
+ - i18n là gì
9
+ - i18n
10
+ - quốc tế hóa
11
+ - bản địa hóa
12
+ - blog
13
+ - phát triển web
14
+ slugs:
15
+ - blog
16
+ - i18n-meaning
17
+ ---
18
+
19
+ # Ý nghĩa i18n: Quốc tế hóa là gì và tại sao nó lại quan trọng?
20
+
21
+ ![minh họa i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
22
+
23
+ ## Hiểu về "Ý nghĩa i18n"
24
+
25
+ Nếu bạn tham gia vào lĩnh vực phát triển phần mềm, thiết kế web hoặc tiếp thị kỹ thuật số, có thể bạn đã bắt gặp thuật ngữ **i18n**. **Ý nghĩa i18n** thực sự chỉ đơn giản là một từ viết tắt bằng số cho **internationalization** (quốc tế hóa).
26
+
27
+ Nhưng tại sao lại là "i18n"? Chữ viết tắt được tạo ra bằng cách lấy chữ cái đầu tiên của từ "internationalization" (**i**), chữ cái cuối cùng (**n**) và đếm số chữ cái ở giữa chúng (**18**). Quy ước này thường được sử dụng trong ngành công nghệ để rút ngắn các thuật ngữ dài và rườm rà (một ví dụ phổ biến khác là **l10n** cho bản địa hóa - localization).
28
+
29
+ Về mặt kỹ thuật, **ý nghĩa i18n** đề cập đến quá trình thiết kế và chuẩn bị một ứng dụng phần mềm, trang web hoặc sản phẩm để nó có thể dễ dàng hỗ trợ nhiều ngôn ngữ, tiêu chuẩn khu vực và quy ước văn hóa, tất cả mà không yêu cầu thay đổi kỹ thuật đáng kể đối với mã nguồn cơ sở.
30
+
31
+ ## Ý nghĩa cốt lõi của i18n trong thực tế
32
+
33
+ Hiểu ý nghĩa i18n không chỉ dừng lại ở việc biết từ viết tắt đó đại diện cho cái gì. Đó là việc nhận ra các nguyên tắc kiến trúc đằng sau nó. Khi một dự án được "quốc tế hóa" đúng cách, điều đó có nghĩa là các nhà phát triển đã tách biệt nội dung khỏi mã nguồn.
34
+
35
+ Thay vì viết cứng văn bản vào ứng dụng như thế này:
36
+
37
+ ```javascript
38
+ <button>Gửi</button>
39
+ ```
40
+
41
+ Một ứng dụng sẵn sàng cho i18n sẽ sử dụng các khóa dịch hoặc biến:
42
+
43
+ ```javascript
44
+ <button>{t("submit_button")}</button>
45
+ ```
46
+
47
+ Điều này đảm bảo rằng ứng dụng có thể tải động từ điển ngôn ngữ chính xác (ví dụ: tiếng Anh, tiếng Tây Ban Nha, tiếng Nhật) dựa trên sở thích của người dùng mà không cần viết lại thành phần.
48
+
49
+ ## Tại sao ý nghĩa i18n lại quan trọng đối với doanh nghiệp của bạn
50
+
51
+ Nắm bắt được **ý nghĩa i18n** chỉ là bước đầu tiên. Hiểu được _tại sao_ nó lại quan trọng đối với các sản phẩm kỹ thuật số hiện đại chính là điều tạo nên sự khác biệt giữa các ứng dụng toàn cầu thành công và các ứng dụng địa phương.
52
+
53
+ ### Phá bỏ rào cản ngôn ngữ
54
+
55
+ Ứng dụng rõ ràng nhất của ý nghĩa i18n là dịch thuật. Bằng cách quốc tế hóa ứng dụng của bạn ngay từ ngày đầu tiên, bạn xây dựng một nền tảng cho phép bạn dịch giao diện của mình sang hàng chục ngôn ngữ một cách liền mạch. Điều này là cần thiết để mở ra các thị trường toàn cầu mới.
56
+
57
+ ### Thích nghi văn hóa và khu vực
58
+
59
+ Ý nghĩa i18n mở rộng ra ngoài ngôn ngữ. Quốc tế hóa thực sự hỗ trợ:
60
+
61
+ - **Định dạng Ngày và Giờ:** Hiển thị `MM/DD/YYYY` cho người dùng Hoa Kỳ so với `DD/MM/YYYY` cho người dùng Châu Âu.
62
+ - **Định dạng số:** Nhận ra rằng `1,000.50` ở Hoa Kỳ thường được viết là `1.000,50` ở các vùng của Châu Âu.
63
+ - **Tiền tệ:** Thích ứng `$99.00` so với `99,00 €`.
64
+ - **Hướng văn bản:** Hỗ trợ các ngôn ngữ viết từ phải sang trái (RTL) như tiếng Ả Rập và tiếng Do Thái.
65
+
66
+ ### Cải thiện hiệu suất SEO
67
+
68
+ Các công cụ tìm kiếm ưu tiên nội dung có liên quan đến ngôn ngữ và khu vực của người dùng. Áp dụng các nguyên tắc đằng sau ý nghĩa i18n cho phép bạn cấu trúc trang web của mình (ví dụ: sử dụng thẻ `hreflang`, URL được bản địa hóa) để xếp hạng cao hơn ở nhiều quốc gia, thúc đẩy lưu lượng truy cập toàn cầu tự nhiên.
69
+
70
+ ## Quốc tế hóa (i18n) so với Bản địa hóa (l10n)
71
+
72
+ Để hiểu đầy đủ về **ý nghĩa i18n**, bạn phải phân biệt nó với **l10n** (bản địa hóa).
73
+
74
+ - **i18n (Quốc tế hóa):** Là việc _chuẩn bị kỹ thuật_ và khung thiết kế cấu trúc giúp cho việc thích nghi trở nên khả thi. Ví dụ: hỗ trợ mã hóa UTF-8, trừu tượng hóa các chuỗi văn bản và làm cho bố cục giao diện người dùng linh hoạt cho các từ dài hơn.
75
+ - **l10n (Bản địa hóa):** Là việc _thích nghi thực tế_ sản phẩm cho một địa phương cụ thể. Ví dụ: dịch văn bản tiếng Anh sang tiếng Việt, điều chỉnh hình ảnh cho phù hợp với các chuẩn mực văn hóa và thiết lập đơn vị tiền tệ địa phương.
76
+
77
+ Hãy nghĩ về **i18n** giống như việc chế tạo một chiếc xe hơi mà vô lăng có thể chuyển sang bên trái hoặc bên phải. **l10n** là hành động thực sự chuyển vô lăng sang bên phải để bán chiếc xe đó tại Vương quốc Anh.
78
+
79
+ ## Những quan niệm sai lầm phổ biến về ý nghĩa i18n
80
+
81
+ 1. **"i18n chỉ là dịch thuật."**
82
+ Mặc dù dịch thuật là một phần lớn của kết quả cuối cùng, ý nghĩa thực sự của i18n bao gồm định dạng, quy tắc số nhiều, hướng văn bản và sự sẵn sàng về kiến trúc.
83
+ 2. **"Chúng ta có thể thêm i18n sau."**
84
+ Việc trang bị thêm i18n cho một ứng dụng sau này là cực kỳ khó khăn. Các chuỗi văn bản bị viết cứng, các thành phần giao diện người dùng cứng nhắc và định dạng ngày tháng không tương thích có thể dẫn đến nợ kỹ thuật khổng lồ. Lập kế hoạch cho i18n ngay từ đầu là một phương pháp hay cơ bản.
85
+
86
+ ## Cách triển khai i18n hiệu quả
87
+
88
+ ![minh họa nỗi đau i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/pain_i18n.webp)
89
+
90
+ Bây giờ chúng ta đã xác định được **ý nghĩa thực sự của i18n**, làm thế nào để bạn áp dụng nó?
91
+
92
+ - **Sử dụng khung i18n đã được thiết lập:** Đừng phát minh lại bánh xe. Cho dù bạn đang sử dụng React, Vue, Next.js hay JavaScript thuần túy, đều có các thư viện i18n cụ thể được thiết kế để xử lý các công việc nặng nhọc (như số nhiều và nội suy).
93
+ - **Trừu tượng hóa tất cả văn bản hiển thị cho người dùng:** Đảm bảo không có văn bản viết cứng nào tồn tại trong các thành phần giao diện người dùng của bạn.
94
+ - **Sử dụng hệ thống quản lý dịch thuật mạnh mẽ:** Các công cụ như **Intlayer** thu hẹp khoảng cách giữa nhà phát triển và trình biên dịch. Intlayer hoạt động như một CMS không đầu (headless CMS) được tích hợp chặt chẽ với cơ sở mã của bạn, cho phép những người quản lý nội dung cập nhật bản dịch một cách trực quan mà không yêu cầu nhà phát triển kích hoạt một bản dựng mới.
95
+
96
+ ---
97
+
98
+ ### Xem danh sách thư viện và công cụ i18n theo công nghệ
99
+
100
+ Nếu bạn đang tìm kiếm danh sách các thư viện và công cụ i18n theo công nghệ, hãy xem các tài nguyên sau:
101
+
102
+ ### Dành cho Hệ quản trị nội dung (CMS)
103
+
104
+ - WordPress: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/CMS/wordpress.md)
105
+ - Wix: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/CMS/wix.md)
106
+ - Drupal: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/CMS/drupal.md)
107
+
108
+ ### Dành cho ứng dụng JavaScript (Frontend)
109
+
110
+ - React: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/frameworks/react.md)
111
+ - Angular: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/frameworks/angular.md)
112
+ - Vue: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/frameworks/vue.md)
113
+ - Svelte: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/frameworks/svelte.md)
114
+ - React Native: [Xem danh sách thư viện và công cụ i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/vi/list_i18n_technologies/frameworks/react-native.md)
115
+
116
+ ---
117
+
118
+ ## Kết luận
119
+
120
+ **Ý nghĩa i18n** là một khái niệm nền tảng cho bất kỳ doanh nghiệp kỹ thuật số hiện đại nào nhằm mục tiêu tác động toàn cầu. Không chỉ đơn thuần là một từ viết tắt kỹ thuật kỳ quặc cho "quốc tế hóa", i18n đại diện cho kiến trúc kỹ thuật cần thiết để điều chỉnh phần mềm của bạn một cách liền mạch cho phù hợp với các ngôn ngữ, văn hóa và tiêu chuẩn khu vực đa dạng.
121
+
122
+ Bằng cách hiểu ý nghĩa i18n và áp dụng các nguyên tắc của nó sớm trong chu kỳ phát triển, bạn tiết kiệm được thời gian kỹ thuật đáng kể, ngăn ngừa nợ kỹ thuật trong tương lai và đảm bảo rằng ứng dụng của bạn cung cấp trải nghiệm bản địa và thân thiện với người dùng trên toàn thế giới.
123
+
124
+ Cho dù bạn đang xây dựng một ứng dụng di động, nền tảng SaaS hay một công cụ dành cho doanh nghiệp, việc nắm bắt ý nghĩa thực sự của i18n sẽ đảm bảo rằng sản phẩm của bạn có thể thích nghi và thu hút người dùng từ khắp nơi trên thế giới mà không cần phải viết lại mã nguồn liên tục. Bằng cách tận dụng các phương pháp hay nhất, khung làm việc mạnh mẽ và khai báo nội dung được bản địa hóa với các nền tảng như Intlayer, các nhóm sản phẩm có thể mang lại trải nghiệm phần mềm thực sự toàn cầu.
@@ -37,11 +37,11 @@ Nó xây dựng thành công bằng cách là một TMS "thân thiện với nh
37
37
 
38
38
  # Intlayer
39
39
 
40
- Intlayer được biết chủ yếu là một giải pháp i18n, nhưng nó cũng tích hợp một headless CMS. Không giống Lokalise, vốn hoạt động chủ yếu như một công cụ đồng bộ hóa bên ngoài cho các strings của bạn, Intlayer tồn tại gần hơn với mã nguồn của bạn. Nó kiểm soát toàn bộ stack từ lớp bundling đến phân phối nội dung từ xa dẫn đến một luồng nội dung mượt mà và hiệu quả hơn.
40
+ Intlayer được biết chủ yếu là một giải pháp i18n, nhưng nó cũng tích hợp một headless CMS. Không giống Lokalise, vốn hoạt động chủ yếu như một công cụ đồng bộ hóa bên ngoài cho các strings của bạn, Intlayer tồn tại gần hơn với mã nguồn của bạn. Nó kiểm soát toàn bộ stack, từ lớp bundling đến phân phối nội dung từ xa, dẫn đến một luồng nội dung mượt mà và hiệu quả hơn.
41
41
 
42
42
  ## Tại sao các paradigms đã thay đổi kể từ khi có AI?
43
43
 
44
- Lokalise đã hoàn thiện khía cạnh "DevOps" của bản địa hóa tự động di chuyển các strings. Tuy nhiên, sự xuất hiện của các Mô hình Ngôn ngữ Lớn (Large Language Models - LLMs) đã thay đổi căn bản các paradigms của bản địa hóa. Điểm nghẽn giờ đây không còn là _di chuyển_ các strings; mà là _tạo ra_ chúng.
44
+ Lokalise đã hoàn thiện khía cạnh "DevOps" của bản địa hóa, tự động di chuyển các strings. Tuy nhiên, sự xuất hiện của các Mô hình Ngôn ngữ Lớn (Large Language Models - LLMs) đã thay đổi căn bản các paradigms của bản địa hóa. Điểm nghẽn giờ đây không còn là _di chuyển_ các strings; mà là _tạo ra_ chúng.
45
45
 
46
46
  Với các Mô hình Ngôn ngữ Lớn (LLMs), chi phí dịch thuật đã giảm mạnh, và tốc độ đã tăng lên một cách cấp số. Vai trò của đội ngũ bản địa hóa đang chuyển từ "quản lý dịch giả" sang "quản lý ngữ cảnh và rà soát."
47
47
 
@@ -57,31 +57,24 @@ Lokalise thường bị chỉ trích vì các bậc giá cao, có thể trở n
57
57
 
58
58
  1. **Hiệu quả Chi phí:** Bạn không bị ràng buộc vào mô hình định giá "per key" hoặc "per seat" vốn phạt sự tăng trưởng. Với Intlayer, bạn trả cho việc suy luận của riêng bạn (BYO Key), nghĩa là chi phí của bạn tỉ lệ trực tiếp với mức sử dụng thực tế, chứ không phải biên lợi nhuận của nền tảng.
59
59
  2. **Tích hợp luồng công việc:** Trong khi Lokalise yêu cầu đồng bộ file (ngay cả khi đã tự động), Intlayer cho phép định nghĩa Declarative Content trực tiếp trong các file component của bạn (React, Next.js, v.v.). Điều này giữ ngữ cảnh ngay sát giao diện người dùng, giảm lỗi.
60
- 3. **Quản lý trực quan:** Intlayer cung cấp một trình chỉnh sửa trực quan tương tác trực tiếp với ứng dụng đang chạy của bạn, đảm bảo các chỉnh sửa được thực hiện trong đầy đủ bối cảnh trực quan điều thường bị tách rời trong danh sách file của TMS truyền thống.
60
+ 3. **Quản lý trực quan:** Intlayer cung cấp một trình chỉnh sửa trực quan tương tác trực tiếp với ứng dụng đang chạy của bạn, đảm bảo các chỉnh sửa được thực hiện trong đầy đủ bối cảnh trực quan, điều thường bị tách rời trong danh sách file của TMS truyền thống.
61
61
 
62
62
  # So sánh song song
63
63
 
64
- | Feature | Lokalise (TMS hiện đại) | Intlayer (AI-Native) |
65
- | :------------------- | :---------------------------------------- | :----------------------------------------------------------- |
66
- | **Triết lý cốt lõi** | Tự động hóa & L10n ở giai đoạn thiết kế. | Quản lý logic nội dung & tạo nội dung bằng AI. |
67
- | **Mô hình giá** | Theo seat / MAU / số key (Chi phí cao). | Trả cho inference của riêng bạn (BYO Key). |
68
- | **Tích hợp** | Đồng bộ dựa trên API / plugin Figma. | Tích hợp sâu vào code (Declarative). |
69
- | **Cập nhật** | Trì hoãn đồng bộ / cần tạo PR. | Đồng bộ tức thì với codebase hoặc ứng dụng đang chạy. |
70
- | **Định dạng file** | Không ràng buộc (Mobile, Web, Documents). | Web hiện đại (JSON, JS, TS). |
71
- | **Kiểm thử** | Quy trình rà soát. | CI / CLI / Kiểm thử A/B. |
72
- | **Hosting** | SaaS (Mã nguồn đóng). | Mã nguồn mở & Có thể tự lưu trữ (Docker). |
73
- | **Triết lý cốt lõi** | Tự động hóa & L10n ở giai đoạn thiết kế. | Quản lý logic nội dung & sinh tạo nội dung bằng AI. |
74
- | **Mô hình giá** | Theo seat / MAU / số key (Chi phí cao). | Trả cho inference của riêng bạn (Tự cung cấp Key - BYO Key). |
75
- | **Tích hợp** | Đồng bộ dựa trên API / plugin Figma. | Tích hợp sâu vào code (Declarative). |
76
- | **Cập nhật** | Trì hoãn đồng bộ / yêu cầu tạo PR. | Đồng bộ tức thì với codebase hoặc ứng dụng đang chạy. |
77
- | **Định dạng file** | Không phụ thuộc (Mobile, Web, Documents). | Web hiện đại (JSON, JS, TS). |
78
- | **Kiểm thử** | Quy trình review. | CI / CLI / Kiểm thử A/B. |
79
- | **Lưu trữ** | SaaS (Mã nguồn đóng). | Mã nguồn mở & Tự lưu trữ được (Docker). |
64
+ | Feature | Lokalise (TMS hiện đại) | Intlayer (AI-Native) |
65
+ | :------------------- | :---------------------------------------- | :---------------------------------------------------- |
66
+ | **Triết lý cốt lõi** | Tự động hóa & L10n ở giai đoạn thiết kế. | Quản lý logic nội dung & tạo nội dung bằng AI. |
67
+ | **Mô hình giá** | Theo seat / MAU / số key (Chi phí cao). | Trả cho inference của riêng bạn (BYO Key). |
68
+ | **Tích hợp** | Đồng bộ dựa trên API / plugin Figma. | Tích hợp sâu vào code (Declarative). |
69
+ | **Cập nhật** | Trì hoãn đồng bộ / cần tạo PR. | Đồng bộ tức thì với codebase hoặc ứng dụng đang chạy. |
70
+ | **Định dạng file** | Không ràng buộc (Mobile, Web, Documents). | Web hiện đại (JSON, JS, TS). |
71
+ | **Kiểm thử** | Quy trình rà soát. | CI / CLI / Kiểm thử A/B. |
72
+ | **Hosting** | SaaS (Mã nguồn đóng). | Mã nguồn mở & Có thể tự lưu trữ (Docker). |
80
73
 
81
74
  Intlayer cung cấp một giải pháp i18n đầy đủ, all-in-one cho phép tích hợp sâu nội dung của bạn. Nội dung từ xa của bạn có thể được đồng bộ trực tiếp với codebase hoặc với ứng dụng đang chạy của bạn. Ngược lại, Lokalise thường dựa vào việc tạo Pull Requests để cập nhật nội dung trong repo của bạn, điều này duy trì sự tách biệt giữa "content state" và "application state".
82
75
 
83
76
  Hơn nữa, Intlayer có thể được sử dụng như một Feature Flag hoặc công cụ A/B testing, cho phép bạn thử nghiệm các biến thể nội dung khác nhau một cách động. Trong khi Lokalise tập trung vào việc đảm bảo từ ngữ chính xác, Intlayer tập trung vào việc tối ưu hóa _trải nghiệm người dùng_ thông qua việc phục vụ dữ liệu động.
84
77
 
85
- Lokalise rất phù hợp cho các ứng dụng di động (iOS/Android) và các quy trình làm việc do thiết kế dẫn dắt. Tuy nhiên, đối với các ứng dụng web hiện đại sử dụng các framework như Next.js hoặc React, khả năng xử lý bản địa của Intlayer với các định dạng `.js`, `.ts` và các từ điển JSON mang lại trải nghiệm nhà phát triển (DX) vượt trội với hỗ trợ TypeScript đầy đủ cho nội dung đảm bảo bạn sẽ không bao giờ phát hành thiếu khóa dịch nữa.
78
+ Lokalise rất phù hợp cho các ứng dụng di động (iOS/Android) và các quy trình làm việc do thiết kế dẫn dắt. Tuy nhiên, đối với các ứng dụng web hiện đại sử dụng các framework như Next.js hoặc React, khả năng xử lý bản địa của Intlayer với các định dạng `.js`, `.ts` và các từ điển JSON mang lại trải nghiệm nhà phát triển (DX) vượt trội với hỗ trợ TypeScript đầy đủ cho nội dung, đảm bảo bạn sẽ không bao giờ phát hành thiếu khóa dịch nữa.
86
79
 
87
- Cuối cùng, đối với những người ưu tiên chủ quyền dữ liệu và quyền kiểm soát, Intlayer là mã nguồn mở và có thể được tự lưu trữ. Các file Docker có sẵn trực tiếp trong repository, cho phép bạn sở hữu hoàn toàn cơ sở hạ tầng localization của mình tương phản rõ rệt với mô hình SaaS đóng của Lokalise.
80
+ Cuối cùng, đối với những người ưu tiên chủ quyền dữ liệu và quyền kiểm soát, Intlayer là mã nguồn mở và có thể được tự lưu trữ. Các file Docker có sẵn trực tiếp trong repository, cho phép bạn sở hữu hoàn toàn cơ sở hạ tầng localization của mình, tương phản rõ rệt với mô hình SaaS đóng của Lokalise.
@@ -37,7 +37,7 @@ Trong hơn một thập kỷ, Crowdin đã là tiêu chuẩn ngành trong quản
37
37
 
38
38
  # Intlayer
39
39
 
40
- Intlayer được biết đến chủ yếu như một giải pháp i18n, nhưng nó cũng tích hợp một CMS. Khác với Crowdin, vốn chỉ giới hạn ở việc đóng vai trò như một lớp bọc quanh thiết lập i18n hiện có của bạn, Intlayer kiểm soát toàn bộ stack từ lớp bundling đến phân phối nội dung từ xa dẫn đến luồng nội dung mượt mà và hiệu quả hơn.
40
+ Intlayer được biết đến chủ yếu như một giải pháp i18n, nhưng nó cũng tích hợp một CMS. Khác với Crowdin, vốn chỉ giới hạn ở việc đóng vai trò như một lớp bọc quanh thiết lập i18n hiện có của bạn, Intlayer kiểm soát toàn bộ stack, từ lớp bundling đến phân phối nội dung từ xa, dẫn đến luồng nội dung mượt mà và hiệu quả hơn.
41
41
 
42
42
  ## Tại sao các paradigms đã thay đổi kể từ khi có AI?
43
43
 
@@ -49,7 +49,7 @@ Tuy nhiên, có một hạn chế. Copywriting không chỉ đơn thuần là d
49
49
 
50
50
  Ngày nay, quy trình làm việc hiệu quả nhất là trước tiên dùng AI để dịch và định vị trang của bạn trên phạm vi toàn cầu. Sau đó, ở giai đoạn hai, bạn sử dụng copywriter là con người để tối ưu hóa những nội dung cụ thể có lưu lượng truy cập cao nhằm tăng tỷ lệ chuyển đổi khi sản phẩm đã bắt đầu tạo ra doanh thu.
51
51
 
52
- Mặc dù doanh thu của Crowdin chủ yếu đến từ các giải pháp legacy đã được kiểm chứng vẫn đang hoạt động tốt, tôi tin rằng ngành localization truyền thống sẽ chịu tác động nặng nề trong khoảng 5 đến 10 năm tới. Mô hình trả theo số từ hoặc theo seat cho một công cụ quản lý đang dần trở nên lỗi thời.
52
+ Mặc dù doanh thu của Crowdin, chủ yếu đến từ các giải pháp legacy đã được kiểm chứng, vẫn đang hoạt động tốt, tôi tin rằng ngành localization truyền thống sẽ chịu tác động nặng nề trong khoảng 5 đến 10 năm tới. Mô hình trả theo số từ hoặc theo seat cho một công cụ quản lý đang dần trở nên lỗi thời.
53
53
 
54
54
  ## Tại sao Intlayer là một lựa chọn thay thế tốt cho Crowdin?
55
55
 
@@ -73,8 +73,8 @@ Với Intlayer, bạn tạo bản dịch với chi phí inference của chính b
73
73
 
74
74
  Intlayer cung cấp một giải pháp i18n toàn diện, all-in-one cho phép tích hợp sâu nội dung của bạn. Nội dung từ xa của bạn có thể được đồng bộ trực tiếp với codebase hoặc ứng dụng đang chạy của bạn. Ngược lại, Crowdin thường đòi hỏi phải rebuild ứng dụng trong pipeline CI/CD để cập nhật nội dung, tạo ra ma sát giữa đội dịch và quy trình triển khai.
75
75
 
76
- Hơn nữa, Intlayer có thể được sử dụng như một Feature Flag hoặc công cụ A/B testing, cho phép bạn thử nghiệm các biến thể nội dung khác nhau một cách động điều mà các công cụ TMS tiêu chuẩn như Crowdin không hỗ trợ một cách bản địa.
76
+ Hơn nữa, Intlayer có thể được sử dụng như một Feature Flag hoặc công cụ A/B testing, cho phép bạn thử nghiệm các biến thể nội dung khác nhau một cách động, điều mà các công cụ TMS tiêu chuẩn như Crowdin không hỗ trợ một cách bản địa.
77
77
 
78
- Crowdin hỗ trợ nhiều định dạng tệp bao gồm các loại kế thừa như `.po`, `.xml` và `.yaml`, điều này có thể có lợi cho các dự án có quy trình làm việc đã được thiết lập hoặc các hệ thống cũ. Ngược lại, Intlayer chủ yếu làm việc với các định dạng hướng web hiện đại như `.json`, `.js` và `.ts`. Điều này có nghĩa Intlayer có thể không tương thích với tất cả các định dạng tệp kế thừa, đây là một yếu tố cần cân nhắc cho các đội đang di chuyển từ các nền tảng cũ.
78
+ Crowdin hỗ trợ nhiều định dạng tệp, bao gồm các loại kế thừa như `.po`, `.xml` và `.yaml`, điều này có thể có lợi cho các dự án có quy trình làm việc đã được thiết lập hoặc các hệ thống cũ. Ngược lại, Intlayer chủ yếu làm việc với các định dạng hướng web hiện đại như `.json`, `.js` và `.ts`. Điều này có nghĩa Intlayer có thể không tương thích với tất cả các định dạng tệp kế thừa, đây là một yếu tố cần cân nhắc cho các đội đang di chuyển từ các nền tảng cũ.
79
79
 
80
80
  Cuối cùng, đối với những người ưu tiên chủ quyền dữ liệu và kiểm soát, Intlayer là mã nguồn mở và có thể tự lưu trữ. Các file Docker có sẵn trực tiếp trong repository, cho phép bạn nắm hoàn toàn quyền sở hữu cơ sở hạ tầng localization của mình.
@@ -29,10 +29,6 @@ Một Hệ thống Quản lý Dịch (TMS) là một nền tảng phần mềm
29
29
 
30
30
  Về bản chất, một TMS theo truyền thống là cầu nối giữa mã kỹ thuật (nơi các chuỗi/strings tồn tại) và các chuyên gia ngôn ngữ (những người hiểu rõ văn hóa).
31
31
 
32
- Hệ thống Quản lý Dịch thuật (TMS) là một nền tảng phần mềm được thiết kế để tự động hóa và tinh giản quy trình dịch và bản địa hóa (L10n). Thông thường, một TMS hoạt động như một trung tâm tập trung nơi nội dung được tải lên, tổ chức và phân công cho các dịch giả. Nó quản lý các luồng công việc, lưu trữ translation memories (để tránh dịch lại cùng một câu nhiều lần) và xử lý việc chuyển giao các tệp đã dịch trở lại cho các developer hoặc người quản lý nội dung.
33
-
34
- Về bản chất, một TMS về lịch sử là cầu nối giữa mã kỹ thuật (nơi các chuỗi nằm) và các chuyên gia ngôn ngữ (những người hiểu văn hóa).
35
-
36
32
  # Phrase (trước đây là PhraseApp)
37
33
 
38
34
  Phrase là một giải pháp hạng nặng trong lĩnh vực bản địa hóa doanh nghiệp. Ban đầu được biết đến với tên PhraseApp, nó đã phát triển đáng kể, đặc biệt sau khi sáp nhập với Memsource. Nó định vị mình như một Localization Suite toàn diện được thiết kế cho bản địa hóa phần mềm, cung cấp khả năng API mạnh mẽ và hỗ trợ định dạng rộng rãi.
@@ -41,7 +37,7 @@ Phrase được xây dựng để mở rộng quy mô. Đây là lựa chọn h
41
37
 
42
38
  # Intlayer
43
39
 
44
- Intlayer được biết chủ yếu như một giải pháp i18n, nhưng nó cũng tích hợp một headless CMS. Không giống như Phrase, hoạt động như một bộ giải pháp doanh nghiệp lớn và bên ngoài, Intlayer hoạt động như một lớp tích hợp vào mã, linh hoạt. Nó kiểm soát toàn bộ stack từ tầng bundling đến phân phối nội dung từ xa dẫn đến một luồng nội dung mượt mà hơn và hiệu quả hơn cho các ứng dụng web hiện đại.
40
+ Intlayer được biết chủ yếu như một giải pháp i18n, nhưng nó cũng tích hợp một headless CMS. Không giống như Phrase, hoạt động như một bộ giải pháp doanh nghiệp lớn và bên ngoài, Intlayer hoạt động như một lớp tích hợp vào mã, linh hoạt. Nó kiểm soát toàn bộ stack, từ tầng bundling đến phân phối nội dung từ xa, dẫn đến một luồng nội dung mượt mà hơn và hiệu quả hơn cho các ứng dụng web hiện đại.
45
41
 
46
42
  ## Tại sao các mô hình đã thay đổi kể từ khi có AI?
47
43
 
@@ -79,4 +75,4 @@ Hơn nữa, Intlayer có thể được sử dụng như một Feature Flag ho
79
75
 
80
76
  Mặc dù Phrase không thể phủ nhận khả năng đáp ứng các nhu cầu doanh nghiệp phức tạp, đa định dạng (ví dụ: dịch PDF, phụ đề và phần mềm cùng lúc), Intlayer là lựa chọn vượt trội cho các nhóm sản phẩm xây dựng ứng dụng web muốn sở hữu toàn quyền, đảm bảo type safety và có quy trình làm việc hiện đại, dựa trên AI mà không phải chịu các chi phí và độ phức tạp của giải pháp enterprise.
81
77
 
82
- Cuối cùng, đối với những người ưu tiên chủ quyền dữ liệu và quyền kiểm soát, Intlayer là mã nguồn mở và có thể tự-host. Các file Docker có sẵn trực tiếp trong kho lưu trữ, giúp bạn sở hữu toàn bộ hạ tầng bản địa hóa của mình điều mà hệ sinh thái SaaS đóng của Phrase không thể cung cấp.
78
+ Cuối cùng, đối với những người ưu tiên chủ quyền dữ liệu và quyền kiểm soát, Intlayer là mã nguồn mở và có thể tự-host. Các file Docker có sẵn trực tiếp trong kho lưu trữ, giúp bạn sở hữu toàn bộ hạ tầng bản địa hóa của mình, điều mà hệ sinh thái SaaS đóng của Phrase không thể cung cấp.