@intlayer/docs 8.1.6 → 8.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1054) hide show
  1. package/README.md +20 -12
  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/cjs/generated/docs.entry.cjs +1 -1
  226. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  227. package/dist/esm/generated/blog.entry.mjs +1 -1
  228. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  229. package/dist/esm/generated/docs.entry.mjs +1 -1
  230. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  231. package/dist/types/generated/blog.entry.d.ts +1 -0
  232. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  233. package/dist/types/generated/docs.entry.d.ts +2 -0
  234. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  235. package/docs/ar/agent_skills.md +2 -0
  236. package/docs/ar/compiler.md +81 -3
  237. package/docs/ar/component_i18n.md +2 -2
  238. package/docs/ar/configuration.md +68 -1
  239. package/docs/ar/dictionary/content_file.md +1 -1
  240. package/docs/ar/index.md +2 -2
  241. package/docs/ar/intlayer_CMS.md +1 -1
  242. package/docs/ar/intlayer_with_adonisjs.md +1 -1
  243. package/docs/ar/intlayer_with_analog.md +1 -1
  244. package/docs/ar/intlayer_with_angular.md +1 -1
  245. package/docs/ar/intlayer_with_astro.md +1 -1
  246. package/docs/ar/intlayer_with_create_react_app.md +1 -1
  247. package/docs/ar/intlayer_with_express.md +1 -1
  248. package/docs/ar/intlayer_with_fastify.md +1 -1
  249. package/docs/ar/intlayer_with_hono.md +1 -1
  250. package/docs/ar/intlayer_with_lynx+react.md +1 -1
  251. package/docs/ar/intlayer_with_nestjs.md +1 -1
  252. package/docs/ar/intlayer_with_next-i18next.md +2 -2
  253. package/docs/ar/intlayer_with_next-intl.md +2 -2
  254. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  255. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  256. package/docs/ar/intlayer_with_nextjs_16.md +3 -1
  257. package/docs/ar/intlayer_with_nextjs_compiler.md +498 -0
  258. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +2 -2
  259. package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
  260. package/docs/ar/intlayer_with_nuxt.md +1 -1
  261. package/docs/ar/intlayer_with_react_native+expo.md +4 -2
  262. package/docs/ar/intlayer_with_react_router_v7.md +4 -2
  263. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +4 -2
  264. package/docs/ar/intlayer_with_svelte_kit.md +1 -1
  265. package/docs/ar/intlayer_with_tanstack.md +1 -1
  266. package/docs/ar/intlayer_with_vite+preact.md +3 -1
  267. package/docs/ar/intlayer_with_vite+react.md +3 -1
  268. package/docs/ar/intlayer_with_vite+react_compiler.md +385 -0
  269. package/docs/ar/intlayer_with_vite+solid.md +1 -1
  270. package/docs/ar/intlayer_with_vite+svelte.md +3 -1
  271. package/docs/ar/intlayer_with_vite+vue.md +3 -1
  272. package/docs/ar/introduction.md +2 -2
  273. package/docs/ar/packages/next-intlayer/intlayerMiddleware.md +29 -6
  274. package/docs/ar/readme.md +138 -110
  275. package/docs/de/agent_skills.md +2 -0
  276. package/docs/de/cli/init.md +1 -1
  277. package/docs/de/compiler.md +79 -1
  278. package/docs/de/component_i18n.md +2 -2
  279. package/docs/de/configuration.md +68 -1
  280. package/docs/de/dictionary/content_file.md +1 -1
  281. package/docs/de/index.md +2 -2
  282. package/docs/de/intlayer_with_adonisjs.md +1 -1
  283. package/docs/de/intlayer_with_analog.md +1 -1
  284. package/docs/de/intlayer_with_angular.md +1 -1
  285. package/docs/de/intlayer_with_astro.md +1 -1
  286. package/docs/de/intlayer_with_create_react_app.md +1 -1
  287. package/docs/de/intlayer_with_express.md +1 -1
  288. package/docs/de/intlayer_with_fastify.md +1 -1
  289. package/docs/de/intlayer_with_hono.md +1 -1
  290. package/docs/de/intlayer_with_lynx+react.md +1 -1
  291. package/docs/de/intlayer_with_nestjs.md +1 -1
  292. package/docs/de/intlayer_with_next-i18next.md +2 -2
  293. package/docs/de/intlayer_with_next-intl.md +1 -1
  294. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  295. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  296. package/docs/de/intlayer_with_nextjs_16.md +3 -1
  297. package/docs/de/intlayer_with_nextjs_compiler.md +498 -0
  298. package/docs/de/intlayer_with_nextjs_no_locale_path.md +2 -2
  299. package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
  300. package/docs/de/intlayer_with_nuxt.md +1 -1
  301. package/docs/de/intlayer_with_react_native+expo.md +4 -2
  302. package/docs/de/intlayer_with_react_router_v7.md +4 -2
  303. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +4 -2
  304. package/docs/de/intlayer_with_svelte_kit.md +1 -1
  305. package/docs/de/intlayer_with_tanstack.md +1 -1
  306. package/docs/de/intlayer_with_vite+preact.md +3 -1
  307. package/docs/de/intlayer_with_vite+react.md +3 -1
  308. package/docs/de/intlayer_with_vite+react_compiler.md +385 -0
  309. package/docs/de/intlayer_with_vite+solid.md +1 -1
  310. package/docs/de/intlayer_with_vite+svelte.md +3 -1
  311. package/docs/de/intlayer_with_vite+vue.md +3 -1
  312. package/docs/de/introduction.md +2 -2
  313. package/docs/de/packages/next-intlayer/intlayerMiddleware.md +29 -6
  314. package/docs/de/readme.md +152 -124
  315. package/docs/en/agent_skills.md +2 -0
  316. package/docs/en/compiler.md +80 -1
  317. package/docs/en/component_i18n.md +2 -2
  318. package/docs/en/configuration.md +16 -1
  319. package/docs/en/index.md +2 -2
  320. package/docs/en/intlayer_CMS.md +1 -1
  321. package/docs/en/intlayer_with_adonisjs.md +1 -1
  322. package/docs/en/intlayer_with_analog.md +1 -1
  323. package/docs/en/intlayer_with_angular.md +1 -1
  324. package/docs/en/intlayer_with_astro.md +1 -1
  325. package/docs/en/intlayer_with_create_react_app.md +1 -1
  326. package/docs/en/intlayer_with_express.md +1 -1
  327. package/docs/en/intlayer_with_fastify.md +1 -1
  328. package/docs/en/intlayer_with_hono.md +1 -1
  329. package/docs/en/intlayer_with_lynx+react.md +1 -1
  330. package/docs/en/intlayer_with_nestjs.md +1 -1
  331. package/docs/en/intlayer_with_next-i18next.md +2 -2
  332. package/docs/en/intlayer_with_next-intl.md +1 -1
  333. package/docs/en/intlayer_with_nextjs_14.md +2 -2
  334. package/docs/en/intlayer_with_nextjs_15.md +2 -2
  335. package/docs/en/intlayer_with_nextjs_16.md +4 -2
  336. package/docs/en/intlayer_with_nextjs_compiler.md +498 -0
  337. package/docs/en/intlayer_with_nextjs_no_locale_path.md +3 -3
  338. package/docs/en/intlayer_with_nextjs_page_router.md +2 -2
  339. package/docs/en/intlayer_with_nuxt.md +2 -2
  340. package/docs/en/intlayer_with_react_native+expo.md +5 -3
  341. package/docs/en/intlayer_with_react_router_v7.md +4 -2
  342. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +4 -2
  343. package/docs/en/intlayer_with_svelte_kit.md +1 -1
  344. package/docs/en/intlayer_with_tanstack.md +1 -1
  345. package/docs/en/intlayer_with_vite+preact.md +3 -1
  346. package/docs/en/intlayer_with_vite+react.md +3 -1
  347. package/docs/en/intlayer_with_vite+react_compiler.md +385 -0
  348. package/docs/en/intlayer_with_vite+solid.md +1 -1
  349. package/docs/en/intlayer_with_vite+svelte.md +3 -1
  350. package/docs/en/intlayer_with_vite+vue.md +3 -1
  351. package/docs/en/introduction.md +2 -2
  352. package/docs/en/packages/next-intlayer/intlayerMiddleware.md +29 -6
  353. package/docs/en/readme.md +129 -105
  354. package/docs/en-GB/agent_skills.md +2 -0
  355. package/docs/en-GB/cli/init.md +1 -1
  356. package/docs/en-GB/compiler.md +81 -3
  357. package/docs/en-GB/component_i18n.md +2 -2
  358. package/docs/en-GB/configuration.md +68 -1
  359. package/docs/en-GB/dictionary/content_file.md +1 -1
  360. package/docs/en-GB/index.md +2 -2
  361. package/docs/en-GB/intlayer_CMS.md +1 -1
  362. package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
  363. package/docs/en-GB/intlayer_with_analog.md +1 -1
  364. package/docs/en-GB/intlayer_with_angular.md +1 -1
  365. package/docs/en-GB/intlayer_with_astro.md +1 -1
  366. package/docs/en-GB/intlayer_with_create_react_app.md +1 -1
  367. package/docs/en-GB/intlayer_with_express.md +1 -1
  368. package/docs/en-GB/intlayer_with_fastify.md +1 -1
  369. package/docs/en-GB/intlayer_with_hono.md +1 -1
  370. package/docs/en-GB/intlayer_with_lynx+react.md +1 -1
  371. package/docs/en-GB/intlayer_with_nestjs.md +1 -1
  372. package/docs/en-GB/intlayer_with_next-i18next.md +2 -2
  373. package/docs/en-GB/intlayer_with_next-intl.md +2 -2
  374. package/docs/en-GB/intlayer_with_nextjs_14.md +2 -2
  375. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  376. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  377. package/docs/en-GB/intlayer_with_nextjs_compiler.md +481 -0
  378. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +16 -16
  379. package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
  380. package/docs/en-GB/intlayer_with_nuxt.md +2 -2
  381. package/docs/en-GB/intlayer_with_react_native+expo.md +2 -2
  382. package/docs/en-GB/intlayer_with_react_router_v7.md +2 -2
  383. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +2 -2
  384. package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
  385. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  386. package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
  387. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  388. package/docs/en-GB/intlayer_with_vite+react_compiler.md +368 -0
  389. package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
  390. package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
  391. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  392. package/docs/en-GB/introduction.md +2 -2
  393. package/docs/en-GB/packages/next-intlayer/intlayerMiddleware.md +29 -6
  394. package/docs/en-GB/readme.md +134 -108
  395. package/docs/es/agent_skills.md +2 -0
  396. package/docs/es/compiler.md +79 -1
  397. package/docs/es/component_i18n.md +2 -2
  398. package/docs/es/configuration.md +68 -1
  399. package/docs/es/dictionary/content_file.md +1 -1
  400. package/docs/es/index.md +2 -2
  401. package/docs/es/intlayer_with_adonisjs.md +1 -1
  402. package/docs/es/intlayer_with_analog.md +1 -1
  403. package/docs/es/intlayer_with_angular.md +1 -1
  404. package/docs/es/intlayer_with_astro.md +1 -1
  405. package/docs/es/intlayer_with_create_react_app.md +1 -1
  406. package/docs/es/intlayer_with_express.md +1 -1
  407. package/docs/es/intlayer_with_fastify.md +1 -1
  408. package/docs/es/intlayer_with_hono.md +1 -1
  409. package/docs/es/intlayer_with_lynx+react.md +1 -1
  410. package/docs/es/intlayer_with_nestjs.md +1 -1
  411. package/docs/es/intlayer_with_next-i18next.md +2 -2
  412. package/docs/es/intlayer_with_next-intl.md +1 -1
  413. package/docs/es/intlayer_with_nextjs_14.md +1 -1
  414. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  415. package/docs/es/intlayer_with_nextjs_16.md +3 -1
  416. package/docs/es/intlayer_with_nextjs_compiler.md +498 -0
  417. package/docs/es/intlayer_with_nextjs_no_locale_path.md +6 -6
  418. package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
  419. package/docs/es/intlayer_with_nuxt.md +1 -1
  420. package/docs/es/intlayer_with_react_native+expo.md +5 -3
  421. package/docs/es/intlayer_with_react_router_v7.md +4 -2
  422. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +4 -2
  423. package/docs/es/intlayer_with_svelte_kit.md +1 -1
  424. package/docs/es/intlayer_with_tanstack.md +1 -1
  425. package/docs/es/intlayer_with_vite+preact.md +3 -1
  426. package/docs/es/intlayer_with_vite+react.md +3 -1
  427. package/docs/es/intlayer_with_vite+react_compiler.md +385 -0
  428. package/docs/es/intlayer_with_vite+solid.md +1 -1
  429. package/docs/es/intlayer_with_vite+svelte.md +3 -1
  430. package/docs/es/intlayer_with_vite+vue.md +3 -1
  431. package/docs/es/introduction.md +2 -2
  432. package/docs/es/packages/next-intlayer/intlayerMiddleware.md +29 -6
  433. package/docs/es/readme.md +149 -121
  434. package/docs/fr/agent_skills.md +2 -0
  435. package/docs/fr/compiler.md +82 -4
  436. package/docs/fr/component_i18n.md +2 -2
  437. package/docs/fr/configuration.md +68 -1
  438. package/docs/fr/dictionary/content_file.md +1 -1
  439. package/docs/fr/index.md +2 -2
  440. package/docs/fr/intlayer_CMS.md +1 -1
  441. package/docs/fr/intlayer_with_adonisjs.md +1 -1
  442. package/docs/fr/intlayer_with_analog.md +1 -1
  443. package/docs/fr/intlayer_with_angular.md +1 -1
  444. package/docs/fr/intlayer_with_astro.md +1 -1
  445. package/docs/fr/intlayer_with_create_react_app.md +1 -1
  446. package/docs/fr/intlayer_with_express.md +1 -1
  447. package/docs/fr/intlayer_with_fastify.md +1 -1
  448. package/docs/fr/intlayer_with_hono.md +1 -1
  449. package/docs/fr/intlayer_with_lynx+react.md +1 -1
  450. package/docs/fr/intlayer_with_nestjs.md +1 -1
  451. package/docs/fr/intlayer_with_next-i18next.md +2 -2
  452. package/docs/fr/intlayer_with_next-intl.md +1 -1
  453. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  454. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  455. package/docs/fr/intlayer_with_nextjs_16.md +3 -1
  456. package/docs/fr/intlayer_with_nextjs_compiler.md +498 -0
  457. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +2 -2
  458. package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
  459. package/docs/fr/intlayer_with_nuxt.md +1 -1
  460. package/docs/fr/intlayer_with_react_native+expo.md +5 -3
  461. package/docs/fr/intlayer_with_react_router_v7.md +4 -2
  462. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +4 -2
  463. package/docs/fr/intlayer_with_svelte_kit.md +2 -2
  464. package/docs/fr/intlayer_with_tanstack.md +1 -1
  465. package/docs/fr/intlayer_with_vite+preact.md +3 -1
  466. package/docs/fr/intlayer_with_vite+react.md +3 -1
  467. package/docs/fr/intlayer_with_vite+react_compiler.md +385 -0
  468. package/docs/fr/intlayer_with_vite+solid.md +1 -1
  469. package/docs/fr/intlayer_with_vite+svelte.md +3 -1
  470. package/docs/fr/intlayer_with_vite+vue.md +4 -2
  471. package/docs/fr/introduction.md +2 -2
  472. package/docs/fr/packages/next-intlayer/intlayerMiddleware.md +30 -7
  473. package/docs/fr/readme.md +150 -122
  474. package/docs/hi/agent_skills.md +2 -0
  475. package/docs/hi/cli/init.md +1 -1
  476. package/docs/hi/compiler.md +81 -3
  477. package/docs/hi/component_i18n.md +2 -2
  478. package/docs/hi/configuration.md +68 -1
  479. package/docs/hi/dictionary/content_file.md +1 -1
  480. package/docs/hi/index.md +2 -2
  481. package/docs/hi/intlayer_CMS.md +1 -1
  482. package/docs/hi/intlayer_with_adonisjs.md +1 -1
  483. package/docs/hi/intlayer_with_analog.md +1 -1
  484. package/docs/hi/intlayer_with_angular.md +1 -1
  485. package/docs/hi/intlayer_with_astro.md +1 -1
  486. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  487. package/docs/hi/intlayer_with_express.md +1 -1
  488. package/docs/hi/intlayer_with_fastify.md +2 -2
  489. package/docs/hi/intlayer_with_hono.md +1 -1
  490. package/docs/hi/intlayer_with_lynx+react.md +1 -1
  491. package/docs/hi/intlayer_with_nestjs.md +1 -1
  492. package/docs/hi/intlayer_with_next-i18next.md +2 -2
  493. package/docs/hi/intlayer_with_next-intl.md +1 -1
  494. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  495. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  496. package/docs/hi/intlayer_with_nextjs_16.md +3 -1
  497. package/docs/hi/intlayer_with_nextjs_compiler.md +498 -0
  498. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +4 -4
  499. package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
  500. package/docs/hi/intlayer_with_nuxt.md +1 -1
  501. package/docs/hi/intlayer_with_react_native+expo.md +4 -2
  502. package/docs/hi/intlayer_with_react_router_v7.md +4 -2
  503. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +4 -2
  504. package/docs/hi/intlayer_with_svelte_kit.md +1 -1
  505. package/docs/hi/intlayer_with_tanstack.md +1 -1
  506. package/docs/hi/intlayer_with_vite+preact.md +3 -1
  507. package/docs/hi/intlayer_with_vite+react.md +3 -1
  508. package/docs/hi/intlayer_with_vite+react_compiler.md +386 -0
  509. package/docs/hi/intlayer_with_vite+solid.md +1 -1
  510. package/docs/hi/intlayer_with_vite+svelte.md +3 -1
  511. package/docs/hi/intlayer_with_vite+vue.md +4 -2
  512. package/docs/hi/introduction.md +2 -2
  513. package/docs/hi/packages/next-intlayer/intlayerMiddleware.md +29 -6
  514. package/docs/hi/readme.md +153 -125
  515. package/docs/id/agent_skills.md +2 -0
  516. package/docs/id/compiler.md +79 -1
  517. package/docs/id/component_i18n.md +2 -2
  518. package/docs/id/configuration.md +61 -1
  519. package/docs/id/dictionary/content_file.md +1 -1
  520. package/docs/id/index.md +2 -2
  521. package/docs/id/intlayer_CMS.md +1 -1
  522. package/docs/id/intlayer_with_adonisjs.md +1 -1
  523. package/docs/id/intlayer_with_analog.md +1 -1
  524. package/docs/id/intlayer_with_angular.md +1 -1
  525. package/docs/id/intlayer_with_astro.md +1 -1
  526. package/docs/id/intlayer_with_create_react_app.md +1 -1
  527. package/docs/id/intlayer_with_express.md +1 -1
  528. package/docs/id/intlayer_with_fastify.md +1 -1
  529. package/docs/id/intlayer_with_hono.md +1 -1
  530. package/docs/id/intlayer_with_lynx+react.md +1 -1
  531. package/docs/id/intlayer_with_nestjs.md +1 -1
  532. package/docs/id/intlayer_with_next-i18next.md +2 -2
  533. package/docs/id/intlayer_with_next-intl.md +1 -1
  534. package/docs/id/intlayer_with_nextjs_14.md +1 -1
  535. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  536. package/docs/id/intlayer_with_nextjs_16.md +3 -1
  537. package/docs/id/intlayer_with_nextjs_compiler.md +498 -0
  538. package/docs/id/intlayer_with_nextjs_no_locale_path.md +3 -3
  539. package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
  540. package/docs/id/intlayer_with_nuxt.md +1 -1
  541. package/docs/id/intlayer_with_react_native+expo.md +5 -3
  542. package/docs/id/intlayer_with_react_router_v7.md +4 -2
  543. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +4 -2
  544. package/docs/id/intlayer_with_svelte_kit.md +1 -1
  545. package/docs/id/intlayer_with_tanstack.md +1 -1
  546. package/docs/id/intlayer_with_vite+preact.md +3 -1
  547. package/docs/id/intlayer_with_vite+react.md +3 -1
  548. package/docs/id/intlayer_with_vite+react_compiler.md +385 -0
  549. package/docs/id/intlayer_with_vite+solid.md +1 -1
  550. package/docs/id/intlayer_with_vite+svelte.md +3 -1
  551. package/docs/id/intlayer_with_vite+vue.md +3 -1
  552. package/docs/id/introduction.md +2 -2
  553. package/docs/id/packages/next-intlayer/intlayerMiddleware.md +29 -6
  554. package/docs/id/readme.md +133 -105
  555. package/docs/it/agent_skills.md +2 -0
  556. package/docs/it/compiler.md +81 -3
  557. package/docs/it/component_i18n.md +2 -2
  558. package/docs/it/configuration.md +68 -1
  559. package/docs/it/dictionary/content_file.md +1 -1
  560. package/docs/it/index.md +2 -2
  561. package/docs/it/intlayer_CMS.md +1 -1
  562. package/docs/it/intlayer_with_adonisjs.md +1 -1
  563. package/docs/it/intlayer_with_analog.md +1 -1
  564. package/docs/it/intlayer_with_angular.md +1 -1
  565. package/docs/it/intlayer_with_astro.md +1 -1
  566. package/docs/it/intlayer_with_create_react_app.md +1 -1
  567. package/docs/it/intlayer_with_express.md +1 -1
  568. package/docs/it/intlayer_with_fastify.md +1 -1
  569. package/docs/it/intlayer_with_hono.md +1 -1
  570. package/docs/it/intlayer_with_lynx+react.md +1 -1
  571. package/docs/it/intlayer_with_nestjs.md +1 -1
  572. package/docs/it/intlayer_with_next-i18next.md +2 -2
  573. package/docs/it/intlayer_with_next-intl.md +1 -1
  574. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  575. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  576. package/docs/it/intlayer_with_nextjs_16.md +3 -1
  577. package/docs/it/intlayer_with_nextjs_compiler.md +498 -0
  578. package/docs/it/intlayer_with_nextjs_no_locale_path.md +2 -2
  579. package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
  580. package/docs/it/intlayer_with_nuxt.md +1 -1
  581. package/docs/it/intlayer_with_react_native+expo.md +4 -2
  582. package/docs/it/intlayer_with_react_router_v7.md +4 -2
  583. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
  584. package/docs/it/intlayer_with_svelte_kit.md +1 -1
  585. package/docs/it/intlayer_with_tanstack.md +1 -1
  586. package/docs/it/intlayer_with_vite+preact.md +3 -1
  587. package/docs/it/intlayer_with_vite+react.md +3 -1
  588. package/docs/it/intlayer_with_vite+react_compiler.md +390 -0
  589. package/docs/it/intlayer_with_vite+solid.md +1 -1
  590. package/docs/it/intlayer_with_vite+svelte.md +3 -1
  591. package/docs/it/intlayer_with_vite+vue.md +4 -2
  592. package/docs/it/introduction.md +2 -2
  593. package/docs/it/packages/next-intlayer/intlayerMiddleware.md +29 -6
  594. package/docs/it/readme.md +155 -127
  595. package/docs/ja/agent_skills.md +2 -0
  596. package/docs/ja/cli/init.md +1 -1
  597. package/docs/ja/compiler.md +79 -1
  598. package/docs/ja/component_i18n.md +2 -2
  599. package/docs/ja/configuration.md +68 -1
  600. package/docs/ja/dictionary/content_file.md +1 -1
  601. package/docs/ja/index.md +2 -2
  602. package/docs/ja/intlayer_with_adonisjs.md +1 -1
  603. package/docs/ja/intlayer_with_analog.md +1 -1
  604. package/docs/ja/intlayer_with_angular.md +1 -1
  605. package/docs/ja/intlayer_with_astro.md +1 -1
  606. package/docs/ja/intlayer_with_create_react_app.md +1 -1
  607. package/docs/ja/intlayer_with_express.md +1 -1
  608. package/docs/ja/intlayer_with_fastify.md +1 -1
  609. package/docs/ja/intlayer_with_hono.md +1 -1
  610. package/docs/ja/intlayer_with_lynx+react.md +1 -1
  611. package/docs/ja/intlayer_with_nestjs.md +1 -1
  612. package/docs/ja/intlayer_with_next-i18next.md +2 -2
  613. package/docs/ja/intlayer_with_next-intl.md +1 -1
  614. package/docs/ja/intlayer_with_nextjs_14.md +1 -1
  615. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  616. package/docs/ja/intlayer_with_nextjs_16.md +3 -1
  617. package/docs/ja/intlayer_with_nextjs_compiler.md +498 -0
  618. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +4 -4
  619. package/docs/ja/intlayer_with_nextjs_page_router.md +76 -77
  620. package/docs/ja/intlayer_with_nuxt.md +1 -1
  621. package/docs/ja/intlayer_with_react_native+expo.md +4 -2
  622. package/docs/ja/intlayer_with_react_router_v7.md +4 -2
  623. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +4 -2
  624. package/docs/ja/intlayer_with_svelte_kit.md +1 -1
  625. package/docs/ja/intlayer_with_tanstack.md +1 -1
  626. package/docs/ja/intlayer_with_vite+preact.md +3 -1
  627. package/docs/ja/intlayer_with_vite+react.md +3 -1
  628. package/docs/ja/intlayer_with_vite+react_compiler.md +385 -0
  629. package/docs/ja/intlayer_with_vite+solid.md +1 -1
  630. package/docs/ja/intlayer_with_vite+svelte.md +3 -1
  631. package/docs/ja/intlayer_with_vite+vue.md +3 -1
  632. package/docs/ja/introduction.md +2 -2
  633. package/docs/ja/packages/next-intlayer/intlayerMiddleware.md +29 -6
  634. package/docs/ja/readme.md +152 -126
  635. package/docs/ko/agent_skills.md +2 -0
  636. package/docs/ko/cli/init.md +1 -1
  637. package/docs/ko/compiler.md +79 -1
  638. package/docs/ko/component_i18n.md +2 -2
  639. package/docs/ko/configuration.md +68 -1
  640. package/docs/ko/dictionary/content_file.md +1 -1
  641. package/docs/ko/index.md +2 -2
  642. package/docs/ko/intlayer_with_adonisjs.md +1 -1
  643. package/docs/ko/intlayer_with_analog.md +1 -1
  644. package/docs/ko/intlayer_with_angular.md +1 -1
  645. package/docs/ko/intlayer_with_astro.md +1 -1
  646. package/docs/ko/intlayer_with_create_react_app.md +1 -1
  647. package/docs/ko/intlayer_with_express.md +1 -1
  648. package/docs/ko/intlayer_with_fastify.md +1 -1
  649. package/docs/ko/intlayer_with_hono.md +1 -1
  650. package/docs/ko/intlayer_with_lynx+react.md +1 -1
  651. package/docs/ko/intlayer_with_nestjs.md +1 -1
  652. package/docs/ko/intlayer_with_next-i18next.md +2 -2
  653. package/docs/ko/intlayer_with_next-intl.md +1 -1
  654. package/docs/ko/intlayer_with_nextjs_14.md +1 -1
  655. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  656. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  657. package/docs/ko/intlayer_with_nextjs_compiler.md +481 -0
  658. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +2 -2
  659. package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
  660. package/docs/ko/intlayer_with_nuxt.md +1 -1
  661. package/docs/ko/intlayer_with_react_native+expo.md +2 -2
  662. package/docs/ko/intlayer_with_react_router_v7.md +2 -2
  663. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -2
  664. package/docs/ko/intlayer_with_svelte_kit.md +1 -1
  665. package/docs/ko/intlayer_with_tanstack.md +1 -1
  666. package/docs/ko/intlayer_with_vite+preact.md +1 -1
  667. package/docs/ko/intlayer_with_vite+react.md +1 -1
  668. package/docs/ko/intlayer_with_vite+react_compiler.md +368 -0
  669. package/docs/ko/intlayer_with_vite+solid.md +1 -1
  670. package/docs/ko/intlayer_with_vite+svelte.md +1 -1
  671. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  672. package/docs/ko/introduction.md +2 -2
  673. package/docs/ko/packages/next-intlayer/intlayerMiddleware.md +29 -6
  674. package/docs/ko/readme.md +154 -126
  675. package/docs/pl/agent_skills.md +2 -0
  676. package/docs/pl/cli/init.md +1 -1
  677. package/docs/pl/compiler.md +79 -1
  678. package/docs/pl/component_i18n.md +2 -2
  679. package/docs/pl/configuration.md +61 -1
  680. package/docs/pl/dictionary/content_file.md +1 -1
  681. package/docs/pl/index.md +2 -2
  682. package/docs/pl/intlayer_CMS.md +1 -1
  683. package/docs/pl/intlayer_with_adonisjs.md +1 -1
  684. package/docs/pl/intlayer_with_analog.md +1 -1
  685. package/docs/pl/intlayer_with_angular.md +1 -1
  686. package/docs/pl/intlayer_with_astro.md +1 -1
  687. package/docs/pl/intlayer_with_create_react_app.md +1 -1
  688. package/docs/pl/intlayer_with_express.md +1 -1
  689. package/docs/pl/intlayer_with_fastify.md +1 -1
  690. package/docs/pl/intlayer_with_hono.md +1 -1
  691. package/docs/pl/intlayer_with_lynx+react.md +1 -1
  692. package/docs/pl/intlayer_with_nestjs.md +1 -1
  693. package/docs/pl/intlayer_with_next-i18next.md +2 -2
  694. package/docs/pl/intlayer_with_next-intl.md +1 -1
  695. package/docs/pl/intlayer_with_nextjs_14.md +1 -1
  696. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  697. package/docs/pl/intlayer_with_nextjs_16.md +3 -1
  698. package/docs/pl/intlayer_with_nextjs_compiler.md +498 -0
  699. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +6 -6
  700. package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
  701. package/docs/pl/intlayer_with_nuxt.md +1 -1
  702. package/docs/pl/intlayer_with_react_native+expo.md +5 -3
  703. package/docs/pl/intlayer_with_react_router_v7.md +4 -2
  704. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +5 -3
  705. package/docs/pl/intlayer_with_svelte_kit.md +1 -1
  706. package/docs/pl/intlayer_with_tanstack.md +1 -1
  707. package/docs/pl/intlayer_with_vite+preact.md +3 -1
  708. package/docs/pl/intlayer_with_vite+react.md +3 -1
  709. package/docs/pl/intlayer_with_vite+react_compiler.md +385 -0
  710. package/docs/pl/intlayer_with_vite+solid.md +1 -1
  711. package/docs/pl/intlayer_with_vite+svelte.md +3 -1
  712. package/docs/pl/intlayer_with_vite+vue.md +4 -2
  713. package/docs/pl/introduction.md +2 -2
  714. package/docs/pl/packages/next-intlayer/intlayerMiddleware.md +29 -6
  715. package/docs/pl/packages/preact-intlayer/exports.md +1 -1
  716. package/docs/pl/readme.md +134 -106
  717. package/docs/pl/releases/v8.md +3 -3
  718. package/docs/pt/agent_skills.md +2 -0
  719. package/docs/pt/cli/init.md +1 -1
  720. package/docs/pt/compiler.md +80 -2
  721. package/docs/pt/component_i18n.md +2 -2
  722. package/docs/pt/configuration.md +68 -1
  723. package/docs/pt/dictionary/content_file.md +1 -1
  724. package/docs/pt/index.md +2 -2
  725. package/docs/pt/intlayer_CMS.md +1 -1
  726. package/docs/pt/intlayer_with_adonisjs.md +1 -1
  727. package/docs/pt/intlayer_with_analog.md +1 -1
  728. package/docs/pt/intlayer_with_angular.md +1 -1
  729. package/docs/pt/intlayer_with_astro.md +1 -1
  730. package/docs/pt/intlayer_with_create_react_app.md +1 -1
  731. package/docs/pt/intlayer_with_express.md +1 -1
  732. package/docs/pt/intlayer_with_fastify.md +1 -1
  733. package/docs/pt/intlayer_with_hono.md +1 -1
  734. package/docs/pt/intlayer_with_lynx+react.md +1 -1
  735. package/docs/pt/intlayer_with_nestjs.md +1 -1
  736. package/docs/pt/intlayer_with_next-i18next.md +2 -2
  737. package/docs/pt/intlayer_with_next-intl.md +1 -1
  738. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  739. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  740. package/docs/pt/intlayer_with_nextjs_16.md +3 -1
  741. package/docs/pt/intlayer_with_nextjs_compiler.md +498 -0
  742. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +9 -9
  743. package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
  744. package/docs/pt/intlayer_with_nuxt.md +1 -1
  745. package/docs/pt/intlayer_with_react_native+expo.md +4 -2
  746. package/docs/pt/intlayer_with_react_router_v7.md +4 -2
  747. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -5
  748. package/docs/pt/intlayer_with_svelte_kit.md +1 -1
  749. package/docs/pt/intlayer_with_tanstack.md +1 -1
  750. package/docs/pt/intlayer_with_vite+preact.md +3 -1
  751. package/docs/pt/intlayer_with_vite+react.md +3 -1
  752. package/docs/pt/intlayer_with_vite+react_compiler.md +390 -0
  753. package/docs/pt/intlayer_with_vite+solid.md +1 -1
  754. package/docs/pt/intlayer_with_vite+svelte.md +3 -1
  755. package/docs/pt/intlayer_with_vite+vue.md +3 -1
  756. package/docs/pt/introduction.md +2 -2
  757. package/docs/pt/packages/next-intlayer/intlayerMiddleware.md +30 -7
  758. package/docs/pt/readme.md +154 -126
  759. package/docs/ru/agent_skills.md +5 -3
  760. package/docs/ru/autoFill.md +3 -3
  761. package/docs/ru/bundle_optimization.md +1 -1
  762. package/docs/ru/cli/doc-translate.md +1 -1
  763. package/docs/ru/cli/fill.md +1 -1
  764. package/docs/ru/cli/init.md +6 -6
  765. package/docs/ru/cli/sdk.md +1 -1
  766. package/docs/ru/compiler.md +82 -4
  767. package/docs/ru/component_i18n.md +2 -2
  768. package/docs/ru/configuration.md +69 -2
  769. package/docs/ru/dictionary/content_file.md +3 -3
  770. package/docs/ru/dictionary/html.md +1 -1
  771. package/docs/ru/formatters.md +1 -1
  772. package/docs/ru/index.md +2 -2
  773. package/docs/ru/intlayer_CMS.md +6 -6
  774. package/docs/ru/intlayer_with_adonisjs.md +2 -2
  775. package/docs/ru/intlayer_with_analog.md +2 -2
  776. package/docs/ru/intlayer_with_angular.md +2 -2
  777. package/docs/ru/intlayer_with_astro.md +2 -2
  778. package/docs/ru/intlayer_with_create_react_app.md +1 -1
  779. package/docs/ru/intlayer_with_express.md +1 -1
  780. package/docs/ru/intlayer_with_fastify.md +2 -2
  781. package/docs/ru/intlayer_with_hono.md +2 -2
  782. package/docs/ru/intlayer_with_lynx+react.md +1 -1
  783. package/docs/ru/intlayer_with_nestjs.md +2 -2
  784. package/docs/ru/intlayer_with_next-i18next.md +3 -3
  785. package/docs/ru/intlayer_with_next-intl.md +1 -1
  786. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  787. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  788. package/docs/ru/intlayer_with_nextjs_16.md +5 -3
  789. package/docs/ru/intlayer_with_nextjs_compiler.md +498 -0
  790. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +12 -12
  791. package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
  792. package/docs/ru/intlayer_with_nuxt.md +3 -3
  793. package/docs/ru/intlayer_with_react_native+expo.md +4 -2
  794. package/docs/ru/intlayer_with_react_router_v7.md +5 -3
  795. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +5 -7
  796. package/docs/ru/intlayer_with_svelte_kit.md +3 -3
  797. package/docs/ru/intlayer_with_tanstack.md +3 -3
  798. package/docs/ru/intlayer_with_vite+preact.md +10 -8
  799. package/docs/ru/intlayer_with_vite+react.md +5 -3
  800. package/docs/ru/intlayer_with_vite+react_compiler.md +385 -0
  801. package/docs/ru/intlayer_with_vite+solid.md +1 -1
  802. package/docs/ru/intlayer_with_vite+svelte.md +4 -2
  803. package/docs/ru/intlayer_with_vite+vue.md +3 -1
  804. package/docs/ru/introduction.md +2 -2
  805. package/docs/ru/packages/adonis-intlayer/t.md +1 -1
  806. package/docs/ru/packages/hono-intlayer/t.md +2 -2
  807. package/docs/ru/packages/intlayer/exports.md +1 -1
  808. package/docs/ru/packages/next-intlayer/intlayerMiddleware.md +29 -6
  809. package/docs/ru/packages/next-intlayer/useRewriteURL.md +1 -1
  810. package/docs/ru/packages/nuxt-intlayer/exports.md +3 -3
  811. package/docs/ru/packages/react-intlayer/exports.md +16 -16
  812. package/docs/ru/readme.md +138 -110
  813. package/docs/ru/releases/v7.md +3 -3
  814. package/docs/ru/releases/v8.md +5 -5
  815. package/docs/ru/vs_code_extension.md +1 -1
  816. package/docs/tr/agent_skills.md +2 -0
  817. package/docs/tr/cli/init.md +2 -2
  818. package/docs/tr/compiler.md +81 -3
  819. package/docs/tr/component_i18n.md +2 -2
  820. package/docs/tr/configuration.md +68 -1
  821. package/docs/tr/dictionary/content_file.md +1 -1
  822. package/docs/tr/index.md +2 -2
  823. package/docs/tr/intlayer_CMS.md +1 -1
  824. package/docs/tr/intlayer_with_adonisjs.md +1 -1
  825. package/docs/tr/intlayer_with_analog.md +1 -1
  826. package/docs/tr/intlayer_with_angular.md +1 -1
  827. package/docs/tr/intlayer_with_astro.md +1 -1
  828. package/docs/tr/intlayer_with_create_react_app.md +1 -1
  829. package/docs/tr/intlayer_with_express.md +1 -1
  830. package/docs/tr/intlayer_with_fastify.md +1 -1
  831. package/docs/tr/intlayer_with_hono.md +1 -1
  832. package/docs/tr/intlayer_with_lynx+react.md +1 -1
  833. package/docs/tr/intlayer_with_nestjs.md +1 -1
  834. package/docs/tr/intlayer_with_next-i18next.md +2 -2
  835. package/docs/tr/intlayer_with_next-intl.md +1 -1
  836. package/docs/tr/intlayer_with_nextjs_14.md +1 -1
  837. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  838. package/docs/tr/intlayer_with_nextjs_16.md +3 -1
  839. package/docs/tr/intlayer_with_nextjs_compiler.md +498 -0
  840. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +4 -4
  841. package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
  842. package/docs/tr/intlayer_with_nuxt.md +1 -1
  843. package/docs/tr/intlayer_with_react_native+expo.md +4 -2
  844. package/docs/tr/intlayer_with_react_router_v7.md +4 -2
  845. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +4 -2
  846. package/docs/tr/intlayer_with_svelte_kit.md +1 -1
  847. package/docs/tr/intlayer_with_tanstack.md +1 -1
  848. package/docs/tr/intlayer_with_vite+preact.md +3 -1
  849. package/docs/tr/intlayer_with_vite+react.md +3 -1
  850. package/docs/tr/intlayer_with_vite+react_compiler.md +391 -0
  851. package/docs/tr/intlayer_with_vite+solid.md +1 -1
  852. package/docs/tr/intlayer_with_vite+svelte.md +3 -1
  853. package/docs/tr/intlayer_with_vite+vue.md +3 -1
  854. package/docs/tr/introduction.md +2 -2
  855. package/docs/tr/packages/next-intlayer/intlayerMiddleware.md +29 -6
  856. package/docs/tr/readme.md +139 -111
  857. package/docs/uk/agent_skills.md +5 -3
  858. package/docs/uk/autoFill.md +4 -4
  859. package/docs/uk/bundle_optimization.md +2 -2
  860. package/docs/uk/cli/fill.md +1 -1
  861. package/docs/uk/cli/index.md +1 -1
  862. package/docs/uk/cli/list_projects.md +1 -1
  863. package/docs/uk/cli/login.md +2 -2
  864. package/docs/uk/cli/sdk.md +1 -1
  865. package/docs/uk/compiler.md +82 -4
  866. package/docs/uk/component_i18n.md +3 -3
  867. package/docs/uk/configuration.md +65 -5
  868. package/docs/uk/dictionary/content_file.md +5 -5
  869. package/docs/uk/dictionary/enumeration.md +1 -1
  870. package/docs/uk/dictionary/html.md +1 -1
  871. package/docs/uk/formatters.md +9 -9
  872. package/docs/uk/how_works_intlayer.md +6 -6
  873. package/docs/uk/index.md +4 -4
  874. package/docs/uk/interest_of_intlayer.md +24 -24
  875. package/docs/uk/intlayer_CMS.md +7 -7
  876. package/docs/uk/intlayer_visual_editor.md +8 -8
  877. package/docs/uk/intlayer_with_adonisjs.md +2 -2
  878. package/docs/uk/intlayer_with_analog.md +2 -2
  879. package/docs/uk/intlayer_with_angular.md +2 -2
  880. package/docs/uk/intlayer_with_astro.md +3 -3
  881. package/docs/uk/intlayer_with_create_react_app.md +13 -13
  882. package/docs/uk/intlayer_with_express.md +2 -2
  883. package/docs/uk/intlayer_with_fastify.md +3 -3
  884. package/docs/uk/intlayer_with_hono.md +2 -2
  885. package/docs/uk/intlayer_with_lynx+react.md +3 -3
  886. package/docs/uk/intlayer_with_nestjs.md +4 -4
  887. package/docs/uk/intlayer_with_next-i18next.md +5 -5
  888. package/docs/uk/intlayer_with_next-intl.md +1 -1
  889. package/docs/uk/intlayer_with_nextjs_14.md +10 -10
  890. package/docs/uk/intlayer_with_nextjs_15.md +21 -21
  891. package/docs/uk/intlayer_with_nextjs_16.md +5 -3
  892. package/docs/uk/intlayer_with_nextjs_compiler.md +498 -0
  893. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +13 -13
  894. package/docs/uk/intlayer_with_nextjs_page_router.md +9 -9
  895. package/docs/uk/intlayer_with_nuxt.md +6 -6
  896. package/docs/uk/intlayer_with_react_native+expo.md +11 -9
  897. package/docs/uk/intlayer_with_react_router_v7.md +10 -8
  898. package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +10 -8
  899. package/docs/uk/intlayer_with_svelte_kit.md +2 -2
  900. package/docs/uk/intlayer_with_tanstack.md +9 -9
  901. package/docs/uk/intlayer_with_vite+preact.md +13 -11
  902. package/docs/uk/intlayer_with_vite+react.md +14 -12
  903. package/docs/uk/intlayer_with_vite+react_compiler.md +385 -0
  904. package/docs/uk/intlayer_with_vite+solid.md +2 -2
  905. package/docs/uk/intlayer_with_vite+svelte.md +4 -2
  906. package/docs/uk/intlayer_with_vite+vue.md +9 -7
  907. package/docs/uk/introduction.md +3 -3
  908. package/docs/uk/locale_mapper.md +1 -1
  909. package/docs/uk/packages/adonis-intlayer/t.md +1 -1
  910. package/docs/uk/packages/angular-intlayer/exports.md +1 -1
  911. package/docs/uk/packages/express-intlayer/t.md +3 -3
  912. package/docs/uk/packages/hono-intlayer/t.md +2 -2
  913. package/docs/uk/packages/intlayer/exports.md +1 -1
  914. package/docs/uk/packages/intlayer/getEnumeration.md +1 -1
  915. package/docs/uk/packages/intlayer/getMultilingualUrls.md +2 -2
  916. package/docs/uk/packages/intlayer/getTranslation.md +2 -2
  917. package/docs/uk/packages/intlayer/getTranslationContent.md +3 -3
  918. package/docs/uk/packages/next-intlayer/intlayerMiddleware.md +29 -6
  919. package/docs/uk/packages/next-intlayer/t.md +2 -2
  920. package/docs/uk/packages/next-intlayer/useLocale.md +3 -3
  921. package/docs/uk/packages/next-intlayer/useRewriteURL.md +1 -1
  922. package/docs/uk/packages/nuxt-intlayer/exports.md +3 -3
  923. package/docs/uk/packages/react-intlayer/t.md +3 -3
  924. package/docs/uk/packages/react-intlayer/useDictionary.md +1 -1
  925. package/docs/uk/packages/react-intlayer/useLocale.md +2 -2
  926. package/docs/uk/packages/react-native-intlayer/exports.md +1 -1
  927. package/docs/uk/per_locale_file.md +2 -2
  928. package/docs/uk/plugins/sync-json.md +10 -10
  929. package/docs/uk/readme.md +135 -111
  930. package/docs/uk/releases/v6.md +2 -2
  931. package/docs/uk/releases/v7.md +2 -2
  932. package/docs/uk/releases/v8.md +1 -1
  933. package/docs/uk/roadmap.md +4 -4
  934. package/docs/uk/testing.md +1 -1
  935. package/docs/uk/vs_code_extension.md +2 -2
  936. package/docs/vi/agent_skills.md +2 -0
  937. package/docs/vi/compiler.md +80 -2
  938. package/docs/vi/component_i18n.md +2 -2
  939. package/docs/vi/configuration.md +61 -1
  940. package/docs/vi/dictionary/content_file.md +1 -1
  941. package/docs/vi/index.md +2 -2
  942. package/docs/vi/intlayer_CMS.md +1 -1
  943. package/docs/vi/intlayer_with_adonisjs.md +1 -1
  944. package/docs/vi/intlayer_with_analog.md +1 -1
  945. package/docs/vi/intlayer_with_angular.md +1 -1
  946. package/docs/vi/intlayer_with_astro.md +1 -1
  947. package/docs/vi/intlayer_with_create_react_app.md +1 -1
  948. package/docs/vi/intlayer_with_express.md +1 -1
  949. package/docs/vi/intlayer_with_fastify.md +1 -1
  950. package/docs/vi/intlayer_with_hono.md +1 -1
  951. package/docs/vi/intlayer_with_lynx+react.md +1 -1
  952. package/docs/vi/intlayer_with_nestjs.md +1 -1
  953. package/docs/vi/intlayer_with_next-i18next.md +2 -2
  954. package/docs/vi/intlayer_with_next-intl.md +1 -1
  955. package/docs/vi/intlayer_with_nextjs_14.md +1 -1
  956. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  957. package/docs/vi/intlayer_with_nextjs_16.md +3 -1
  958. package/docs/vi/intlayer_with_nextjs_compiler.md +498 -0
  959. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +2 -2
  960. package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
  961. package/docs/vi/intlayer_with_nuxt.md +1 -1
  962. package/docs/vi/intlayer_with_react_native+expo.md +5 -3
  963. package/docs/vi/intlayer_with_react_router_v7.md +4 -2
  964. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +4 -2
  965. package/docs/vi/intlayer_with_svelte_kit.md +1 -1
  966. package/docs/vi/intlayer_with_tanstack.md +1 -1
  967. package/docs/vi/intlayer_with_vite+preact.md +3 -1
  968. package/docs/vi/intlayer_with_vite+react.md +3 -1
  969. package/docs/vi/intlayer_with_vite+react_compiler.md +385 -0
  970. package/docs/vi/intlayer_with_vite+solid.md +1 -1
  971. package/docs/vi/intlayer_with_vite+svelte.md +3 -1
  972. package/docs/vi/intlayer_with_vite+vue.md +3 -1
  973. package/docs/vi/introduction.md +2 -2
  974. package/docs/vi/packages/intlayer/getCanonicalPath.md +1 -1
  975. package/docs/vi/packages/next-intlayer/intlayerMiddleware.md +29 -6
  976. package/docs/vi/readme.md +138 -110
  977. package/docs/vi/releases/v8.md +2 -2
  978. package/docs/zh/agent_skills.md +2 -0
  979. package/docs/zh/compiler.md +79 -1
  980. package/docs/zh/component_i18n.md +2 -2
  981. package/docs/zh/configuration.md +68 -1
  982. package/docs/zh/dictionary/content_file.md +1 -1
  983. package/docs/zh/index.md +3 -3
  984. package/docs/zh/intlayer_CMS.md +1 -1
  985. package/docs/zh/intlayer_with_adonisjs.md +1 -1
  986. package/docs/zh/intlayer_with_analog.md +1 -1
  987. package/docs/zh/intlayer_with_angular.md +1 -1
  988. package/docs/zh/intlayer_with_astro.md +1 -1
  989. package/docs/zh/intlayer_with_create_react_app.md +1 -1
  990. package/docs/zh/intlayer_with_express.md +1 -1
  991. package/docs/zh/intlayer_with_fastify.md +1 -1
  992. package/docs/zh/intlayer_with_hono.md +1 -1
  993. package/docs/zh/intlayer_with_lynx+react.md +1 -1
  994. package/docs/zh/intlayer_with_nestjs.md +1 -1
  995. package/docs/zh/intlayer_with_next-i18next.md +2 -2
  996. package/docs/zh/intlayer_with_next-intl.md +1 -1
  997. package/docs/zh/intlayer_with_nextjs_14.md +1 -1
  998. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  999. package/docs/zh/intlayer_with_nextjs_16.md +3 -1
  1000. package/docs/zh/intlayer_with_nextjs_compiler.md +498 -0
  1001. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +3 -3
  1002. package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
  1003. package/docs/zh/intlayer_with_nuxt.md +1 -1
  1004. package/docs/zh/intlayer_with_react_native+expo.md +4 -2
  1005. package/docs/zh/intlayer_with_react_router_v7.md +4 -2
  1006. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +4 -2
  1007. package/docs/zh/intlayer_with_svelte_kit.md +1 -1
  1008. package/docs/zh/intlayer_with_tanstack.md +1 -1
  1009. package/docs/zh/intlayer_with_vite+preact.md +3 -1
  1010. package/docs/zh/intlayer_with_vite+react.md +3 -1
  1011. package/docs/zh/intlayer_with_vite+react_compiler.md +388 -0
  1012. package/docs/zh/intlayer_with_vite+solid.md +1 -1
  1013. package/docs/zh/intlayer_with_vite+svelte.md +3 -1
  1014. package/docs/zh/intlayer_with_vite+vue.md +3 -1
  1015. package/docs/zh/introduction.md +2 -2
  1016. package/docs/zh/packages/next-intlayer/intlayerMiddleware.md +30 -7
  1017. package/docs/zh/readme.md +148 -120
  1018. package/frequent_questions/ar/error-vite-env-only.md +2 -2
  1019. package/frequent_questions/de/error-vite-env-only.md +2 -2
  1020. package/frequent_questions/en/error-vite-env-only.md +2 -2
  1021. package/frequent_questions/en-GB/error-vite-env-only.md +2 -2
  1022. package/frequent_questions/es/error-vite-env-only.md +2 -2
  1023. package/frequent_questions/fr/error-vite-env-only.md +2 -2
  1024. package/frequent_questions/hi/error-vite-env-only.md +2 -2
  1025. package/frequent_questions/id/domain_routing.md +1 -1
  1026. package/frequent_questions/id/error-vite-env-only.md +2 -2
  1027. package/frequent_questions/it/error-vite-env-only.md +2 -2
  1028. package/frequent_questions/ja/error-vite-env-only.md +2 -2
  1029. package/frequent_questions/ko/error-vite-env-only.md +2 -2
  1030. package/frequent_questions/pl/domain_routing.md +1 -1
  1031. package/frequent_questions/pl/error-vite-env-only.md +2 -2
  1032. package/frequent_questions/pt/error-vite-env-only.md +2 -2
  1033. package/frequent_questions/ru/error-vite-env-only.md +2 -2
  1034. package/frequent_questions/tr/error-vite-env-only.md +2 -2
  1035. package/frequent_questions/uk/SSR_Next_no_[locale].md +1 -1
  1036. package/frequent_questions/uk/array_as_content_declaration.md +1 -1
  1037. package/frequent_questions/uk/customized_locale_list.md +1 -1
  1038. package/frequent_questions/uk/domain_routing.md +1 -1
  1039. package/frequent_questions/uk/error-vite-env-only.md +3 -3
  1040. package/frequent_questions/uk/get_locale_cookie.md +4 -4
  1041. package/frequent_questions/uk/static_rendering.md +1 -1
  1042. package/frequent_questions/vi/domain_routing.md +1 -1
  1043. package/frequent_questions/vi/error-vite-env-only.md +2 -2
  1044. package/frequent_questions/zh/error-vite-env-only.md +3 -3
  1045. package/legal/de/terms_of_service.md +1 -1
  1046. package/legal/fr/terms_of_service.md +2 -2
  1047. package/legal/ja/terms_of_service.md +1 -1
  1048. package/legal/pl/terms_of_service.md +2 -2
  1049. package/legal/ru/terms_of_service.md +1 -1
  1050. package/legal/uk/privacy_notice.md +1 -1
  1051. package/legal/uk/terms_of_service.md +1 -1
  1052. package/package.json +7 -8
  1053. package/src/generated/blog.entry.ts +20 -0
  1054. package/src/generated/docs.entry.ts +40 -0
@@ -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.
@@ -50,7 +50,29 @@ Việc dịch một ứng dụng Angular đặt ra nhiều thách thức:
50
50
 
51
51
  Angular cung cấp một framework i18n tích hợp sẵn, và cũng có một số thư viện bên thứ ba được thiết kế để đơn giản hóa việc thiết lập đa ngôn ngữ của bạn. Dưới đây là một số giải pháp phổ biến nhất.
52
52
 
53
- ### 1. i18n Tích hợp sẵn của Angular
53
+ ### 1. Intlayer
54
+
55
+ > Trang web: [https://intlayer.org/](https://intlayer.org/)
56
+
57
+ **Tổng quan**
58
+ **Intlayer** là một thư viện quốc tế hóa (i18n) mã nguồn mở sáng tạo được thiết kế để đơn giản hóa việc hỗ trợ đa ngôn ngữ trong các ứng dụng web Angular (và các ứng dụng khác) hiện đại. Nó cung cấp một phương pháp khai báo cho phép bạn xác định các từ điển dịch trực tiếp trong các thành phần của mình.
59
+
60
+ **Các tính năng chính**
61
+
62
+ - **Khai báo bản dịch**: Cho phép tất cả các bản dịch được khai báo trong một tệp duy nhất, được giữ ở cấp độ thành phần, giúp dễ dàng bảo trì và mở rộng.
63
+ - **TypeScript và Autocomplete**: Cung cấp các định nghĩa kiểu được tạo tự động cho các khóa dịch, đảm bảo tự động hoàn thành mạnh mẽ và phát hiện lỗi.
64
+ - **Thành phần máy chủ và SSR**: Được xây dựng với sự hỗ trợ cho hiển thị phía máy chủ (SSR) và các thành phần máy chủ, đảm bảo nội dung được bản địa hóa được hiển thị hiệu quả trên cả máy khách và máy chủ.
65
+ - **Siêu dữ liệu và URL được bản địa hóa cho SEO**: Dễ dàng quản lý các tuyến dựa trên ngôn ngữ động, sơ đồ trang web và các mục nhập robots.txt để cải thiện khả năng khám phá và SEO.
66
+ - **Tích hợp liền mạch**: Tương thích với Angular CLI và các công cụ khác, giúp việc thiết lập trở nên đơn giản.
67
+ - **Tải không đồng bộ**: Tải các từ điển dịch một cách linh hoạt, giảm kích thước gói ban đầu và cải thiện hiệu suất.
68
+
69
+ **Những điều cần lưu ý**
70
+
71
+ - **Cộng đồng và Hệ sinh thái**: Mặc dù đang phát triển, hệ sinh thái vẫn còn mới, vì vậy các plugin và công cụ do cộng đồng thúc đẩy có thể hạn chế hơn so với các giải pháp lâu đời hơn.
72
+
73
+ ---
74
+
75
+ ### 2. i18n Tích hợp sẵn của Angular
54
76
 
55
77
  **Tổng quan**
56
78
  Angular đi kèm với một hệ thống **i18n tích hợp sẵn** bao gồm các công cụ để trích xuất chuỗi dịch, xử lý số nhiều và nội suy, và tích hợp bản dịch tại thời điểm biên dịch. Giải pháp chính thức này rất mạnh mẽ cho các dự án nhỏ hơn hoặc những dự án có thể tuân theo cấu trúc được Angular khuyến nghị.
@@ -70,7 +92,7 @@ Angular đi kèm với một hệ thống **i18n tích hợp sẵn** bao gồm c
70
92
 
71
93
  ---
72
94
 
73
- ### 2. ngx-translate
95
+ ### 3. ngx-translate
74
96
 
75
97
  Website: [https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
76
98
 
@@ -92,7 +114,7 @@ Website: [https://github.com/ngx-translate/core](https://github.com/ngx-translat
92
114
 
93
115
  ---
94
116
 
95
- ### 3. Transloco
117
+ ### 4. Transloco
96
118
 
97
119
  Website: [https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
98
120
 
@@ -50,7 +50,29 @@ Việc dịch một ứng dụng Svelte có thể gặp phải một số khó k
50
50
 
51
51
  Svelte không cung cấp giải pháp i18n tích hợp sẵn (như Angular), nhưng cộng đồng đã tạo ra nhiều thư viện và mẫu thiết kế mạnh mẽ. Dưới đây là một số cách tiếp cận phổ biến.
52
52
 
53
- ### 1. svelte-i18n
53
+ ### 1. Intlayer
54
+
55
+ > Trang web: [https://intlayer.org/](https://intlayer.org/)
56
+
57
+ **Tổng quan**
58
+ **Intlayer** là một thư viện quốc tế hóa (i18n) mã nguồn mở sáng tạo được thiết kế để đơn giản hóa việc hỗ trợ đa ngôn ngữ trong các ứng dụng web Svelte (và các ứng dụng khác) hiện đại. Nó cung cấp một phương pháp khai báo cho phép bạn xác định các từ điển dịch trực tiếp trong các thành phần của mình.
59
+
60
+ **Các tính năng chính**
61
+
62
+ - **Khai báo bản dịch**: Cho phép tất cả các bản dịch được khai báo trong một tệp duy nhất, được giữ ở cấp độ thành phần, giúp dễ dàng bảo trì và mở rộng.
63
+ - **TypeScript và Autocomplete**: Cung cấp các định nghĩa kiểu được tạo tự động cho các khóa dịch, đảm bảo tự động hoàn thành mạnh mẽ và phát hiện lỗi.
64
+ - **Thành phần máy chủ và SSR**: Được xây dựng với sự hỗ trợ cho hiển thị phía máy chủ (SSR) and các thành phần máy chủ, đảm bảo nội dung được bản địa hóa được hiển thị hiệu quả trên cả máy khách và máy chủ.
65
+ - **Siêu dữ liệu và URL được bản địa hóa cho SEO**: Dễ dàng quản lý các tuyến dựa trên ngôn ngữ động, sơ đồ trang web và các mục nhập robots.txt để cải thiện khả năng khám phá và SEO.
66
+ - **Tích hợp liền mạch**: Tương thích với SvelteKit và các công cụ khác, giúp việc thiết lập trở nên đơn giản.
67
+ - **Tải không đồng bộ**: Tải các từ điển dịch một cách linh hoạt, giảm kích thước gói ban đầu và cải thiện hiệu suất.
68
+
69
+ **Những điều cần lưu ý**
70
+
71
+ - **Cộng đồng và Hệ sinh thái**: Mặc dù đang phát triển, hệ sinh thái vẫn còn mới, vì vậy các plugin và công cụ do cộng đồng thúc đẩy có thể hạn chế hơn so với các giải pháp lâu đời hơn.
72
+
73
+ ---
74
+
75
+ ### 2. svelte-i18n
54
76
 
55
77
  Kho lưu trữ: [https://github.com/kaisermann/svelte-i18n](https://github.com/kaisermann/svelte-i18n)
56
78
 
@@ -72,7 +94,7 @@ Kho lưu trữ: [https://github.com/kaisermann/svelte-i18n](https://github.com/k
72
94
 
73
95
  ---
74
96
 
75
- ### 2. svelte-intl-precompile
97
+ ### 3. svelte-intl-precompile
76
98
 
77
99
  Kho lưu trữ: [https://github.com/cibernox/svelte-intl-precompile](https://github.com/cibernox/svelte-intl-precompile)
78
100
 
@@ -96,7 +118,7 @@ Kho lưu trữ: [https://github.com/cibernox/svelte-intl-precompile](https://git
96
118
 
97
119
  ---
98
120
 
99
- ### 3. i18next với Svelte / SvelteKit
121
+ ### 4. i18next với Svelte / SvelteKit
100
122
 
101
123
  Website: [https://www.i18next.com/](https://www.i18next.com/)
102
124
 
@@ -52,7 +52,21 @@ Dưới đây là một số thư viện và phương pháp phổ biến mà b
52
52
 
53
53
  ---
54
54
 
55
- ### 1. Vue I18n
55
+ ### 1. Intlayer
56
+
57
+ > Trang web: [https://intlayer.org/](https://intlayer.org/)
58
+
59
+ **Tổng quan**
60
+ **Intlayer** là một giải pháp i18n mã nguồn mở nhằm đơn giản hóa việc hỗ trợ đa ngôn ngữ trên nhiều framework, bao gồm cả **Vue**. Nó nhấn mạnh vào cách tiếp cận khai báo, định kiểu mạnh mẽ và hỗ trợ SSR trong các hệ sinh thái khác, mặc dù SSR không phải là điển hình trong Vue tiêu chuẩn.
61
+
62
+ **Các tính năng chính**
63
+
64
+ - **Dịch thuật khai báo**: Định nghĩa các từ điển dịch thuật ở cấp độ widget hoặc trong một tệp tập trung để có kiến trúc sạch hơn.
65
+ - **TypeScript & Tự động hoàn thành (Web)**: Mặc dù tính năng này chủ yếu mang lại lợi ích cho các framework web, nhưng cách tiếp cận dịch thuật có kiểu vẫn có thể định hướng mã có cấu trúc trong Vue.
66
+ - **Tải không đồng bộ**: Tải các tài sản dịch thuật một cách động, tiềm năng giảm kích thước bundle ban đầu cho các ứng dụng đa ngôn ngữ.
67
+ - **Tích hợp với Vue**: Một tích hợp cơ bản có thể được thiết lập để tận dụng cách tiếp cận của Intlayer cho các bản dịch có cấu trúc.
68
+
69
+ ### 2. Vue I18n
56
70
 
57
71
  > Trang web: [https://vue-i18n.intlify.dev/](https://vue-i18n.intlify.dev/)
58
72
 
@@ -83,7 +97,7 @@ Dưới đây là một số thư viện và phương pháp phổ biến mà b
83
97
 
84
98
  ---
85
99
 
86
- ### 2. LinguiJS (Tích hợp Vue)
100
+ ### 3. LinguiJS (Tích hợp Vue)
87
101
 
88
102
  > Trang web: [https://lingui.js.org/](https://lingui.js.org/)
89
103
 
@@ -54,7 +54,7 @@ Dưới đây là danh sách kiểm tra mà mọi ứng dụng đa ngôn ngữ n
54
54
  - **Sử dụng các liên kết địa phương hóa**
55
55
  Ví dụ: `<a href="/fr/about">À propos</a>` thay vì liên kết đến trang mặc định `/about`.
56
56
 
57
- Đây là những bước đơn giản nhưng bỏ qua chúng có thể khiến bạn mất đi khả năng hiển thị.
57
+ Đây là những bước đơn giản, nhưng bỏ qua chúng có thể khiến bạn mất đi khả năng hiển thị.
58
58
 
59
59
  ---
60
60
 
@@ -96,7 +96,7 @@ Nhưng từ tất cả các giải pháp đó, rõ ràng rằng cách tiếp c
96
96
  Hãy để tôi nói lý do điều đó có thể gây vấn đề cho ứng dụng của bạn:
97
97
 
98
98
  - **Dữ liệu không sử dụng:**
99
- Khi một trang được tải, bạn thường tải luôn nội dung từ tất cả các trang khác. (Trong một ứng dụng 10 trang, đó là 90% nội dung bị tải nhưng không dùng). Bạn lazy-load một modal? Thư viện i18n cũng mặc kệ nó vẫn tải các chuỗi lên trước.
99
+ Khi một trang được tải, bạn thường tải luôn nội dung từ tất cả các trang khác. (Trong một ứng dụng 10 trang, đó là 90% nội dung bị tải nhưng không dùng). Bạn lazy-load một modal? Thư viện i18n cũng mặc kệ, nó vẫn tải các chuỗi lên trước.
100
100
  - **Hiệu năng:**
101
101
  Mỗi lần re-render, từng component của bạn đều được hydrated với một payload JSON lớn, điều này ảnh hưởng đến tính phản ứng (reactivity) của app khi nó phát triển.
102
102
  - **Bảo trì:**
@@ -99,7 +99,7 @@ Sự đánh đổi này (kích thước đoạn so với phần chồng lấn) l
99
99
 
100
100
  ## Bước 3: Tạo Embeddings
101
101
 
102
- Khi tài liệu đã được chia nhỏ, chúng ta tạo ra **embeddings** các vector đa chiều đại diện cho mỗi đoạn.
102
+ Khi tài liệu đã được chia nhỏ, chúng ta tạo ra **embeddings**, các vector đa chiều đại diện cho mỗi đoạn.
103
103
 
104
104
  Tôi đã sử dụng mô hình text-embedding-3-large của OpenAI, nhưng bạn có thể dùng bất kỳ mô hình embedding hiện đại nào.
105
105
 
@@ -20,7 +20,7 @@ slugs:
20
20
 
21
21
  # 支持与反对编译器驱动国际化的观点
22
22
 
23
- 如果你从事网页应用开发超过十年,你会知道国际化(i18n)一直是一个难点。它通常是没人愿意做的任务——提取字符串、管理 JSON 文件,以及处理复数规则。
23
+ 如果你从事网页应用开发超过十年,你会知道国际化(i18n)一直是一个难点。它通常是没人愿意做的任务, 提取字符串、管理 JSON 文件,以及处理复数规则。
24
24
 
25
25
  最近,一波新的**“基于编译器”的国际化(i18n)工具**涌现,承诺让这份痛苦消失。它们的宣传非常诱人:**只需在组件中编写文本,构建工具会处理剩下的一切。**无需键名,无需导入,纯粹是魔法。
26
26
 
@@ -205,7 +205,7 @@ Intlayer 提供了一种混合方法,让你能够同时享受两种方法的
205
205
  基于编译器的方法是一个有效的选择。它允许你非常快速地开发。你不需要担心文件结构或键值。你只需构建即可。技术债务是“未来的你”需要解决的问题。
206
206
 
207
207
  **如果你是初级开发者,或者不在意优化:**
208
- 如果你想减少手动管理,基于编译器的方法可能是最好的。你不需要自己处理键或翻译文件——只需编写文本,编译器会自动完成剩下的工作。这减少了设置工作量和与手动步骤相关的常见国际化错误。
208
+ 如果你想减少手动管理,基于编译器的方法可能是最好的。你不需要自己处理键或翻译文件, 只需编写文本,编译器会自动完成剩下的工作。这减少了设置工作量和与手动步骤相关的常见国际化错误。
209
209
 
210
210
  **如果你正在对一个已有数千个组件需要重构的现有项目进行国际化:**
211
211
  基于编译器的方法在这里可以是一个务实的选择。初始的提取阶段可以节省数周甚至数月的手动工作。然而,建议考虑使用像 Intlayer 的 `transform` 命令这样的工具,它可以提取字符串并将其转换为显式的声明式内容声明。这让你既能享受自动化的速度,又能保持声明式方法的安全性和可移植性。你可以两者兼得:快速的初始迁移而不会带来长期的架构债务。
@@ -0,0 +1,124 @@
1
+ ---
2
+ createdAt: 2026-02-26
3
+ updatedAt: 2026-02-26
4
+ title: "i18n 的含义:什么是国际化,为什么它很重要?"
5
+ description: "探索软件开发中 i18n 的真正含义。了解什么是国际化,为什么它被缩写为 i18n,以及它如何影响全球覆盖。"
6
+ keywords:
7
+ - i18n 的含义
8
+ - i18n 代表什么
9
+ - i18n
10
+ - 国际化
11
+ - 本地化
12
+ - 博客
13
+ - Web 开发
14
+ slugs:
15
+ - blog
16
+ - i18n-meaning
17
+ ---
18
+
19
+ # i18n 的含义:什么是国际化,为什么它很重要?
20
+
21
+ ![i18n 插图](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
22
+
23
+ ## 理解 \"i18n 的含义\"
24
+
25
+ 如果你从事软件开发、网页设计或数字营销,你可能遇到过 **i18n** 这个术语。**i18n 的真正含义**其实是 **国际化** (internationalization) 的一个数字略写。
26
+
27
+ 但为什么是 \"i18n\"?这个缩写是由单词 \"internationalization\" 的第一个字母 (**i**)、最后一个字母 (**n**) 以及它们之间的字母数量 (**18**) 组成的。这种惯例在科技行业经常被用来缩短冗长、繁琐的术语(另一个常见的例子是本地化 **l10n**)。
28
+
29
+ 在技术层面,**i18n 的含义**是指设计和准备软件应用程序、网站或产品的过程,使其能够轻松支持多种语言、地区规范和文化习俗,而无需对底层源代码进行重大工程更改。
30
+
31
+ ## i18n 在实践中的核心含义
32
+
33
+ 理解 i18n 的含义不仅仅是知道这个缩写代表什么。更重要的是识别其背后的架构原则。当一个项目被正确地 \"国际化\" 时,意味着开发人员已经将内容与代码解耦。
34
+
35
+ 与其将文本硬编码到应用程序中,如下所示:
36
+
37
+ ```javascript
38
+ <button>提交</button>
39
+ ```
40
+
41
+ 支持 i18n 的应用程序使用翻译键或变量:
42
+
43
+ ```javascript
44
+ <button>{t("submit_button")}</button>
45
+ ```
46
+
47
+ 这确保了应用程序可以根据用户的偏好动态加载正确的语言字典(例如英语、西班牙语、日语),而无需重写组件。
48
+
49
+ ## 为什么 i18n 的含义对你的业务至关重要
50
+
51
+ 掌握 **i18n 的含义** 只是第一步。了解为什么它对现代数字产品如此重要,是成功的全球化应用程序与本地化应用程序的区别所在。
52
+
53
+ ### 打破语言障碍
54
+
55
+ i18n 含义最显而易见的应用是翻译。通过从第一天就开始对你的应用程序进行国际化,你就建立了一个基础,可以无缝地将你的界面翻译成几十种语言。这对于开拓新的全球市场至关重要。
56
+
57
+ ### 文化和地区适应
58
+
59
+ i18n 的含义不仅限于语言。真正的国际化支持:
60
+
61
+ - **日期和时间格式:** 为美国用户显示 `MM/DD/YYYY`,为中国用户显示 `YYYY/MM/DD`。
62
+ - **数字格式:** 识别美国使用的 `1,000.50` 在欧洲部分地区通常写成 `1.000,50`。
63
+ - **货币:** 在 `$99.00` 与 `¥99.00` 之间进行调整。
64
+ - **文本方向:** 支持从右向左 (RTL) 书写的语言,如阿拉伯语和希伯来语。
65
+
66
+ ### 提升 SEO 表现
67
+
68
+ 搜索引擎优先考虑与用户的语言和地区相关的内容。应用 i18n 含义背后的原则,可以让你通过构建网站(例如使用 `hreflang` 标签、本地化 URL)在多个国家获得更高的排名,从而推动有机的全球流量。
69
+
70
+ ## 国际化 (i18n) 与 本地化 (l10n)
71
+
72
+ 要完全掌握 **i18n 的含义**,你必须将其与 **l10n** (本地化) 区分开来。
73
+
74
+ - **i18n (国际化):** 使适应成为可能的 _技术准备_ 和结构设计框架。例如:支持 UTF-8 编码、抽象文本字符串,以及使 UI 布局能够灵活应对更长的词语。
75
+ - **l10n (本地化):** 产品针对特定地区的 _实际适应_ 过程。例如:将英文文本翻译成中文、调整图像以符合文化规范,以及设置本地货币。
76
+
77
+ 把 **i18n** 想象成制造一辆方向盘可以安装在左侧或右侧的汽车。**l10n** 则是为了在英国销售而将方向盘实际安装在右侧的行为。
78
+
79
+ ## 关于 i18n 含义的常见误区
80
+
81
+ 1. **\"i18n 仅仅意味着翻译。\"**
82
+ 虽然翻译是最终结果的重要组成部分,但 i18n 的真正含义涵盖了格式化、复数规则、文本方向和架构就绪性。
83
+ 2. **\"我们可以以后再添加 i18n。\"**
84
+ 事后为应用程序进行国际化改造是极其困难的。硬编码的字符串、死板的 UI 组件和不兼容的日期格式可能会导致巨大的技术债务。从一开始就规划 i18n 是一项基本的最佳实践。
85
+
86
+ ## 如何有效地实施 i18n
87
+
88
+ ![i18n 难受插图](https://github.com/aymericzip/intlayer/blob/main/docs/assets/pain_i18n.webp)
89
+
90
+ 既然我们已经确定了 **i18n 的真正含义**,那么你该如何应用它呢?
91
+
92
+ - **使用成熟的 i18n 框架:** 不要重新发明轮子。无论你使用的是 React、Vue、Next.js 还是纯 JavaScript,都有专门设计的 i18n 库来处理繁重的工作(如复数化和插值)。
93
+ - **抽象所有面向用户的文本:** 确保你的 UI 组件中不存在硬编码文本。
94
+ - **采用强大的翻译管理系统:** 像 **Intlayer** 这样的工具弥合了开发人员和翻译人员之间的鸿沟。Intlayer 作为一个与你的代码库紧密集成的 Headless CMS,允许内容管理人员在视觉上更新翻译,而无需开发人员触发新的构建。
95
+
96
+ ---
97
+
98
+ ### 查看按技术分类的 i18n 库和工具列表
99
+
100
+ 如果你正在寻找按技术分类的 i18n 库和工具列表,请查看以下资源:
101
+
102
+ ### 针对内容管理系统 (CMS)
103
+
104
+ - WordPress:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/CMS/wordpress.md)
105
+ - Wix:[查看 i18n 库 and 工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/CMS/wix.md)
106
+ - Drupal:[查看 i18n 库 and 工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/CMS/drupal.md)
107
+
108
+ ### 针对 JavaScript 应用程序 (前端)
109
+
110
+ - React:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/frameworks/react.md)
111
+ - Angular:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/frameworks/angular.md)
112
+ - Vue:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/frameworks/vue.md)
113
+ - Svelte:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/frameworks/svelte.md)
114
+ - React Native:[查看 i18n 库和工具列表](https://github.com/aymericzip/intlayer/blob/main/docs/blog/zh/list_i18n_technologies/frameworks/react-native.md)
115
+
116
+ ---
117
+
118
+ ## 结论
119
+
120
+ **i18n 的含义** 是任何旨在产生全球影响的现代数字业务的基础概念。i18n 绝不仅仅是一个关于 \"国际化\" 的独特技术缩写,它代表了无缝地使你的软件适应多种语言、文化和地区标准所需的技术架构。
121
+
122
+ 通过理解 i18n 的含义并在开发周期的早期采用其原则,你可以节省大量的工程时间,防止未来的技术债务,并确保你的应用程序为全球用户提供原生的、热情的体验。
123
+
124
+ 无论你是在构建移动应用程序、SaaS 平台还是企业工具,拥抱 i18n 的真正含义可以确保你的产品能够适应并吸引来自世界各地的用户,而无需不断地重写代码。通过利用最佳实践、强大的框架以及使用 Intlayer 等平台进行本地化内容声明,产品团队可以提供真正的全球化软件体验。
@@ -18,7 +18,7 @@ slugs:
18
18
 
19
19
  # SEO & I18n: 为您的网站提供多语言支持的终极指南
20
20
 
21
- 想要在全球范围内吸引更多用户吗?让您的网站支持多语言是扩展您受众和改善 SEO(搜索引擎优化)的最佳方法之一。在这篇博客文章中,我们将以清晰易懂的术语分解国际 SEO 的基础知识, , 通常称为 **i18n**(国际化的缩写)。您将了解需要做出的关键决策,如何使用 `hreflang` 等技术元素,以及像 **Intlayer** 这样的工具如何简化您的多语言 Next.js 项目。
21
+ 想要在全球范围内吸引更多用户吗?让您的网站支持多语言是扩展您受众和改善 SEO(搜索引擎优化)的最佳方法之一。在这篇博客文章中,我们将以清晰易懂的术语分解国际 SEO 的基础知识, 通常称为 **i18n**(国际化的缩写)。您将了解需要做出的关键决策,如何使用 `hreflang` 等技术元素,以及像 **Intlayer** 这样的工具如何简化您的多语言 Next.js 项目。
22
22
 
23
23
  ---
24
24
 
@@ -26,7 +26,7 @@ slugs:
26
26
 
27
27
  一个多语言网站以多种语言提供内容。例如,您可以拥有一个英文版(`example.com/en/`),一个法文版(`example.com/fr/`)和一个西班牙版(`example.com/es/`)。这种方法使搜索引擎能够根据用户的偏好或地理位置显示正确的语言版本。
28
28
 
29
- 当您做到这一点时,您将为非英语用户创造一个更加友好的体验, , 这将导致更好的参与度、更高的转化率,以及不同地区的 SEO 改善。
29
+ 当您做到这一点时,您将为非英语用户创造一个更加友好的体验, 这将导致更好的参与度、更高的转化率,以及不同地区的 SEO 改善。
30
30
 
31
31
  ---
32
32
 
@@ -170,7 +170,7 @@ slugs:
170
170
  ### 7.1. 自动重定向还是语言选择器?
171
171
 
172
172
  - **自动重定向**(基于 IP 或浏览器设置)可能方便,但可能会将旅行者或 VPN 用户发送到错误的版本。
173
- - **语言选择器** 通常更为透明, , 用户可以选择自己的语言,如果自动检测的语言不正确。
173
+ - **语言选择器** 通常更为透明, 用户可以选择自己的语言,如果自动检测的语言不正确。
174
174
 
175
175
  以下是一个简化的 Next.js + Intlayer 示例:
176
176
 
@@ -287,8 +287,8 @@ const LocaleSwitcher: FC = () => {
287
287
 
288
288
  ## 总结
289
289
 
290
- 让您的网站支持多语言不仅仅涉及翻译文本。它还关乎有效地构建 URL,使用 `hreflang` 标签帮助搜索引擎提供正确的版本,并提供卓越的用户体验, , 包括本地化视觉内容、语言选择器和一致的导航。遵循这些最佳实践将使您在全球市场取得成功,提升用户满意度,并最终在各个地区改善 SEO 结果。
290
+ 让您的网站支持多语言不仅仅涉及翻译文本。它还关乎有效地构建 URL,使用 `hreflang` 标签帮助搜索引擎提供正确的版本,并提供卓越的用户体验, 包括本地化视觉内容、语言选择器和一致的导航。遵循这些最佳实践将使您在全球市场取得成功,提升用户满意度,并最终在各个地区改善 SEO 结果。
291
291
 
292
- 如果您使用 Next.js(特别是 Next.js 13+ 中的 App Router),像 **Intlayer** 这样的工具可以简化整个过程。它可以处理从生成本地化站点地图到自动处理 `hreflang` 链接、语言检测等所有工作, , 这样您就可以专注于创建高质量的多语言内容。
292
+ 如果您使用 Next.js(特别是 Next.js 13+ 中的 App Router),像 **Intlayer** 这样的工具可以简化整个过程。它可以处理从生成本地化站点地图到自动处理 `hreflang` 链接、语言检测等所有工作, 这样您就可以专注于创建高质量的多语言内容。
293
293
 
294
294
  **准备好走向全球吗?** 立即开始实施这些 SEO 和 i18n 策略,看看来自世界各地的新访客如何发现并与您的网站互动!