@intlayer/docs 7.5.8 → 7.5.10

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 (529) hide show
  1. package/README.md +9 -2
  2. package/dist/cjs/generated/docs.entry.cjs +38 -0
  3. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  4. package/dist/esm/generated/docs.entry.mjs +38 -0
  5. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  6. package/dist/types/generated/docs.entry.d.ts +2 -0
  7. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  8. package/docs/ar/cli/index.md +6 -1
  9. package/docs/ar/cli/init.md +84 -0
  10. package/docs/ar/cli/push.md +1 -1
  11. package/docs/ar/configuration.md +3 -3
  12. package/docs/ar/interest_of_intlayer.md +1 -1
  13. package/docs/ar/intlayer_CMS.md +5 -5
  14. package/docs/ar/intlayer_with_angular.md +5 -2
  15. package/docs/ar/intlayer_with_astro.md +5 -2
  16. package/docs/ar/intlayer_with_create_react_app.md +5 -2
  17. package/docs/ar/intlayer_with_express.md +6 -2
  18. package/docs/ar/intlayer_with_fastify.md +516 -0
  19. package/docs/ar/intlayer_with_lynx+react.md +5 -2
  20. package/docs/ar/intlayer_with_nestjs.md +5 -2
  21. package/docs/ar/intlayer_with_next-i18next.md +1 -1
  22. package/docs/ar/intlayer_with_next-intl.md +1 -1
  23. package/docs/ar/intlayer_with_nextjs_14.md +1 -1
  24. package/docs/ar/intlayer_with_nextjs_15.md +5 -2
  25. package/docs/ar/intlayer_with_nextjs_16.md +5 -2
  26. package/docs/ar/intlayer_with_nextjs_page_router.md +5 -2
  27. package/docs/ar/intlayer_with_nuxt.md +1 -1
  28. package/docs/ar/intlayer_with_react_native+expo.md +5 -2
  29. package/docs/ar/intlayer_with_react_router_v7.md +5 -2
  30. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +5 -2
  31. package/docs/ar/intlayer_with_svelte_kit.md +5 -2
  32. package/docs/ar/intlayer_with_tanstack.md +5 -2
  33. package/docs/ar/intlayer_with_vite+preact.md +5 -2
  34. package/docs/ar/intlayer_with_vite+react.md +5 -2
  35. package/docs/ar/intlayer_with_vite+solid.md +5 -2
  36. package/docs/ar/intlayer_with_vite+svelte.md +5 -2
  37. package/docs/ar/intlayer_with_vite+vue.md +5 -2
  38. package/docs/ar/readme.md +1 -1
  39. package/docs/de/cli/index.md +6 -1
  40. package/docs/de/cli/init.md +92 -0
  41. package/docs/de/cli/push.md +1 -1
  42. package/docs/de/configuration.md +3 -3
  43. package/docs/de/interest_of_intlayer.md +1 -1
  44. package/docs/de/intlayer_CMS.md +5 -5
  45. package/docs/de/intlayer_with_angular.md +5 -2
  46. package/docs/de/intlayer_with_astro.md +5 -2
  47. package/docs/de/intlayer_with_create_react_app.md +1 -1
  48. package/docs/de/intlayer_with_express.md +6 -2
  49. package/docs/de/intlayer_with_fastify.md +449 -0
  50. package/docs/de/intlayer_with_lynx+react.md +5 -2
  51. package/docs/de/intlayer_with_nestjs.md +5 -2
  52. package/docs/de/intlayer_with_next-i18next.md +1 -1
  53. package/docs/de/intlayer_with_next-intl.md +1 -1
  54. package/docs/de/intlayer_with_nextjs_14.md +1 -1
  55. package/docs/de/intlayer_with_nextjs_15.md +5 -2
  56. package/docs/de/intlayer_with_nextjs_16.md +5 -2
  57. package/docs/de/intlayer_with_nextjs_page_router.md +5 -2
  58. package/docs/de/intlayer_with_nuxt.md +1 -1
  59. package/docs/de/intlayer_with_react_native+expo.md +5 -2
  60. package/docs/de/intlayer_with_react_router_v7.md +5 -2
  61. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +5 -2
  62. package/docs/de/intlayer_with_svelte_kit.md +5 -2
  63. package/docs/de/intlayer_with_tanstack.md +5 -2
  64. package/docs/de/intlayer_with_vite+preact.md +5 -2
  65. package/docs/de/intlayer_with_vite+react.md +5 -2
  66. package/docs/de/intlayer_with_vite+solid.md +5 -2
  67. package/docs/de/intlayer_with_vite+svelte.md +5 -2
  68. package/docs/de/intlayer_with_vite+vue.md +5 -2
  69. package/docs/de/readme.md +1 -1
  70. package/docs/en/cli/index.md +6 -1
  71. package/docs/en/cli/init.md +84 -0
  72. package/docs/en/cli/push.md +1 -1
  73. package/docs/en/configuration.md +3 -3
  74. package/docs/en/interest_of_intlayer.md +1 -1
  75. package/docs/en/intlayer_CMS.md +5 -5
  76. package/docs/en/intlayer_with_angular.md +5 -2
  77. package/docs/en/intlayer_with_astro.md +5 -2
  78. package/docs/en/intlayer_with_create_react_app.md +5 -2
  79. package/docs/en/intlayer_with_express.md +6 -2
  80. package/docs/en/intlayer_with_fastify.md +439 -0
  81. package/docs/en/intlayer_with_lynx+react.md +5 -2
  82. package/docs/en/intlayer_with_nestjs.md +5 -2
  83. package/docs/en/intlayer_with_next-i18next.md +1 -1
  84. package/docs/en/intlayer_with_next-intl.md +1 -1
  85. package/docs/en/intlayer_with_nextjs_14.md +5 -2
  86. package/docs/en/intlayer_with_nextjs_15.md +5 -2
  87. package/docs/en/intlayer_with_nextjs_16.md +5 -2
  88. package/docs/en/intlayer_with_nextjs_page_router.md +5 -2
  89. package/docs/en/intlayer_with_nuxt.md +5 -2
  90. package/docs/en/intlayer_with_react_native+expo.md +5 -2
  91. package/docs/en/intlayer_with_react_router_v7.md +5 -2
  92. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +5 -2
  93. package/docs/en/intlayer_with_svelte_kit.md +5 -2
  94. package/docs/en/intlayer_with_tanstack.md +5 -2
  95. package/docs/en/intlayer_with_vite+preact.md +5 -2
  96. package/docs/en/intlayer_with_vite+react.md +5 -2
  97. package/docs/en/intlayer_with_vite+solid.md +5 -2
  98. package/docs/en/intlayer_with_vite+svelte.md +5 -2
  99. package/docs/en/intlayer_with_vite+vue.md +5 -2
  100. package/docs/en/readme.md +3 -1
  101. package/docs/en-GB/cli/index.md +6 -1
  102. package/docs/en-GB/cli/init.md +89 -0
  103. package/docs/en-GB/cli/push.md +1 -1
  104. package/docs/en-GB/configuration.md +3 -3
  105. package/docs/en-GB/interest_of_intlayer.md +1 -1
  106. package/docs/en-GB/intlayer_CMS.md +5 -5
  107. package/docs/en-GB/intlayer_with_angular.md +5 -2
  108. package/docs/en-GB/intlayer_with_astro.md +5 -2
  109. package/docs/en-GB/intlayer_with_create_react_app.md +5 -2
  110. package/docs/en-GB/intlayer_with_express.md +6 -2
  111. package/docs/en-GB/intlayer_with_fastify.md +445 -0
  112. package/docs/en-GB/intlayer_with_lynx+react.md +5 -2
  113. package/docs/en-GB/intlayer_with_nestjs.md +5 -2
  114. package/docs/en-GB/intlayer_with_next-i18next.md +1 -1
  115. package/docs/en-GB/intlayer_with_next-intl.md +1 -1
  116. package/docs/en-GB/intlayer_with_nextjs_14.md +5 -2
  117. package/docs/en-GB/intlayer_with_nextjs_15.md +5 -2
  118. package/docs/en-GB/intlayer_with_nextjs_16.md +5 -2
  119. package/docs/en-GB/intlayer_with_nextjs_page_router.md +5 -2
  120. package/docs/en-GB/intlayer_with_nuxt.md +1 -1
  121. package/docs/en-GB/intlayer_with_react_native+expo.md +5 -2
  122. package/docs/en-GB/intlayer_with_react_router_v7.md +5 -2
  123. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +5 -2
  124. package/docs/en-GB/intlayer_with_svelte_kit.md +5 -2
  125. package/docs/en-GB/intlayer_with_tanstack.md +5 -2
  126. package/docs/en-GB/intlayer_with_vite+preact.md +5 -2
  127. package/docs/en-GB/intlayer_with_vite+react.md +5 -2
  128. package/docs/en-GB/intlayer_with_vite+solid.md +5 -2
  129. package/docs/en-GB/intlayer_with_vite+svelte.md +5 -2
  130. package/docs/en-GB/intlayer_with_vite+vue.md +5 -2
  131. package/docs/en-GB/readme.md +3 -1
  132. package/docs/es/cli/index.md +6 -1
  133. package/docs/es/cli/init.md +84 -0
  134. package/docs/es/cli/push.md +1 -1
  135. package/docs/es/configuration.md +3 -3
  136. package/docs/es/interest_of_intlayer.md +1 -1
  137. package/docs/es/intlayer_CMS.md +5 -5
  138. package/docs/es/intlayer_with_angular.md +5 -2
  139. package/docs/es/intlayer_with_astro.md +5 -2
  140. package/docs/es/intlayer_with_create_react_app.md +5 -2
  141. package/docs/es/intlayer_with_express.md +6 -2
  142. package/docs/es/intlayer_with_fastify.md +480 -0
  143. package/docs/es/intlayer_with_lynx+react.md +5 -2
  144. package/docs/es/intlayer_with_nestjs.md +5 -2
  145. package/docs/es/intlayer_with_next-i18next.md +1 -1
  146. package/docs/es/intlayer_with_next-intl.md +1 -1
  147. package/docs/es/intlayer_with_nextjs_14.md +5 -2
  148. package/docs/es/intlayer_with_nextjs_15.md +5 -2
  149. package/docs/es/intlayer_with_nextjs_16.md +5 -2
  150. package/docs/es/intlayer_with_nextjs_page_router.md +5 -2
  151. package/docs/es/intlayer_with_nuxt.md +1 -1
  152. package/docs/es/intlayer_with_react_native+expo.md +5 -2
  153. package/docs/es/intlayer_with_react_router_v7.md +5 -2
  154. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +5 -2
  155. package/docs/es/intlayer_with_svelte_kit.md +5 -2
  156. package/docs/es/intlayer_with_tanstack.md +5 -2
  157. package/docs/es/intlayer_with_vite+preact.md +5 -2
  158. package/docs/es/intlayer_with_vite+react.md +5 -2
  159. package/docs/es/intlayer_with_vite+solid.md +5 -2
  160. package/docs/es/intlayer_with_vite+svelte.md +5 -2
  161. package/docs/es/intlayer_with_vite+vue.md +5 -2
  162. package/docs/es/readme.md +1 -1
  163. package/docs/fr/cli/index.md +6 -1
  164. package/docs/fr/cli/init.md +84 -0
  165. package/docs/fr/cli/push.md +1 -1
  166. package/docs/fr/configuration.md +3 -3
  167. package/docs/fr/interest_of_intlayer.md +1 -1
  168. package/docs/fr/intlayer_CMS.md +5 -5
  169. package/docs/fr/intlayer_with_angular.md +5 -2
  170. package/docs/fr/intlayer_with_astro.md +5 -2
  171. package/docs/fr/intlayer_with_create_react_app.md +5 -2
  172. package/docs/fr/intlayer_with_express.md +6 -2
  173. package/docs/fr/intlayer_with_fastify.md +439 -0
  174. package/docs/fr/intlayer_with_lynx+react.md +5 -2
  175. package/docs/fr/intlayer_with_nestjs.md +5 -2
  176. package/docs/fr/intlayer_with_next-i18next.md +1 -1
  177. package/docs/fr/intlayer_with_next-intl.md +1 -1
  178. package/docs/fr/intlayer_with_nextjs_14.md +1 -1
  179. package/docs/fr/intlayer_with_nextjs_15.md +5 -2
  180. package/docs/fr/intlayer_with_nextjs_16.md +5 -2
  181. package/docs/fr/intlayer_with_nextjs_page_router.md +5 -2
  182. package/docs/fr/intlayer_with_nuxt.md +1 -1
  183. package/docs/fr/intlayer_with_react_native+expo.md +5 -2
  184. package/docs/fr/intlayer_with_react_router_v7.md +5 -2
  185. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +5 -2
  186. package/docs/fr/intlayer_with_svelte_kit.md +5 -2
  187. package/docs/fr/intlayer_with_tanstack.md +5 -2
  188. package/docs/fr/intlayer_with_vite+preact.md +5 -2
  189. package/docs/fr/intlayer_with_vite+react.md +5 -2
  190. package/docs/fr/intlayer_with_vite+solid.md +5 -2
  191. package/docs/fr/intlayer_with_vite+svelte.md +5 -2
  192. package/docs/fr/intlayer_with_vite+vue.md +5 -2
  193. package/docs/fr/readme.md +1 -1
  194. package/docs/hi/cli/index.md +6 -1
  195. package/docs/hi/cli/init.md +92 -0
  196. package/docs/hi/cli/push.md +1 -1
  197. package/docs/hi/configuration.md +3 -3
  198. package/docs/hi/interest_of_intlayer.md +1 -1
  199. package/docs/hi/intlayer_CMS.md +5 -5
  200. package/docs/hi/intlayer_with_angular.md +5 -2
  201. package/docs/hi/intlayer_with_astro.md +5 -2
  202. package/docs/hi/intlayer_with_create_react_app.md +1 -1
  203. package/docs/hi/intlayer_with_express.md +6 -2
  204. package/docs/hi/intlayer_with_fastify.md +540 -0
  205. package/docs/hi/intlayer_with_lynx+react.md +5 -2
  206. package/docs/hi/intlayer_with_nestjs.md +5 -2
  207. package/docs/hi/intlayer_with_next-i18next.md +1 -1
  208. package/docs/hi/intlayer_with_next-intl.md +1 -1
  209. package/docs/hi/intlayer_with_nextjs_14.md +1 -1
  210. package/docs/hi/intlayer_with_nextjs_15.md +5 -2
  211. package/docs/hi/intlayer_with_nextjs_16.md +5 -2
  212. package/docs/hi/intlayer_with_nextjs_page_router.md +5 -2
  213. package/docs/hi/intlayer_with_nuxt.md +1 -1
  214. package/docs/hi/intlayer_with_react_native+expo.md +5 -2
  215. package/docs/hi/intlayer_with_react_router_v7.md +5 -2
  216. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +5 -2
  217. package/docs/hi/intlayer_with_svelte_kit.md +5 -2
  218. package/docs/hi/intlayer_with_tanstack.md +5 -2
  219. package/docs/hi/intlayer_with_vite+preact.md +5 -2
  220. package/docs/hi/intlayer_with_vite+react.md +5 -2
  221. package/docs/hi/intlayer_with_vite+solid.md +5 -2
  222. package/docs/hi/intlayer_with_vite+svelte.md +5 -2
  223. package/docs/hi/intlayer_with_vite+vue.md +5 -2
  224. package/docs/hi/readme.md +1 -1
  225. package/docs/id/cli/index.md +6 -1
  226. package/docs/id/cli/init.md +89 -0
  227. package/docs/id/cli/push.md +1 -1
  228. package/docs/id/configuration.md +3 -3
  229. package/docs/id/interest_of_intlayer.md +1 -1
  230. package/docs/id/intlayer_CMS.md +5 -5
  231. package/docs/id/intlayer_with_angular.md +5 -2
  232. package/docs/id/intlayer_with_astro.md +5 -2
  233. package/docs/id/intlayer_with_create_react_app.md +5 -2
  234. package/docs/id/intlayer_with_express.md +6 -2
  235. package/docs/id/intlayer_with_fastify.md +470 -0
  236. package/docs/id/intlayer_with_lynx+react.md +5 -2
  237. package/docs/id/intlayer_with_nestjs.md +5 -2
  238. package/docs/id/intlayer_with_next-i18next.md +1 -1
  239. package/docs/id/intlayer_with_next-intl.md +1 -1
  240. package/docs/id/intlayer_with_nextjs_14.md +5 -2
  241. package/docs/id/intlayer_with_nextjs_15.md +5 -2
  242. package/docs/id/intlayer_with_nextjs_16.md +5 -2
  243. package/docs/id/intlayer_with_nextjs_page_router.md +5 -2
  244. package/docs/id/intlayer_with_nuxt.md +1 -1
  245. package/docs/id/intlayer_with_react_native+expo.md +5 -2
  246. package/docs/id/intlayer_with_react_router_v7.md +5 -2
  247. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +5 -2
  248. package/docs/id/intlayer_with_svelte_kit.md +5 -2
  249. package/docs/id/intlayer_with_tanstack.md +5 -2
  250. package/docs/id/intlayer_with_vite+preact.md +5 -2
  251. package/docs/id/intlayer_with_vite+react.md +5 -2
  252. package/docs/id/intlayer_with_vite+solid.md +5 -2
  253. package/docs/id/intlayer_with_vite+svelte.md +5 -2
  254. package/docs/id/intlayer_with_vite+vue.md +5 -2
  255. package/docs/id/readme.md +1 -1
  256. package/docs/it/cli/index.md +6 -1
  257. package/docs/it/cli/init.md +97 -0
  258. package/docs/it/cli/push.md +1 -1
  259. package/docs/it/configuration.md +3 -3
  260. package/docs/it/interest_of_intlayer.md +1 -1
  261. package/docs/it/intlayer_CMS.md +5 -5
  262. package/docs/it/intlayer_with_angular.md +5 -2
  263. package/docs/it/intlayer_with_astro.md +5 -2
  264. package/docs/it/intlayer_with_create_react_app.md +5 -2
  265. package/docs/it/intlayer_with_express.md +6 -2
  266. package/docs/it/intlayer_with_fastify.md +445 -0
  267. package/docs/it/intlayer_with_lynx+react.md +5 -2
  268. package/docs/it/intlayer_with_nestjs.md +5 -2
  269. package/docs/it/intlayer_with_next-i18next.md +1 -1
  270. package/docs/it/intlayer_with_next-intl.md +1 -1
  271. package/docs/it/intlayer_with_nextjs_14.md +1 -1
  272. package/docs/it/intlayer_with_nextjs_15.md +5 -2
  273. package/docs/it/intlayer_with_nextjs_16.md +5 -2
  274. package/docs/it/intlayer_with_nextjs_page_router.md +5 -2
  275. package/docs/it/intlayer_with_nuxt.md +1 -1
  276. package/docs/it/intlayer_with_react_native+expo.md +5 -2
  277. package/docs/it/intlayer_with_react_router_v7.md +5 -2
  278. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +5 -2
  279. package/docs/it/intlayer_with_svelte_kit.md +5 -2
  280. package/docs/it/intlayer_with_tanstack.md +5 -2
  281. package/docs/it/intlayer_with_vite+preact.md +5 -2
  282. package/docs/it/intlayer_with_vite+react.md +5 -2
  283. package/docs/it/intlayer_with_vite+solid.md +5 -2
  284. package/docs/it/intlayer_with_vite+svelte.md +5 -2
  285. package/docs/it/intlayer_with_vite+vue.md +5 -2
  286. package/docs/it/readme.md +1 -1
  287. package/docs/ja/cli/index.md +6 -1
  288. package/docs/ja/cli/init.md +84 -0
  289. package/docs/ja/cli/push.md +1 -1
  290. package/docs/ja/configuration.md +3 -3
  291. package/docs/ja/interest_of_intlayer.md +1 -1
  292. package/docs/ja/intlayer_CMS.md +5 -5
  293. package/docs/ja/intlayer_with_angular.md +5 -2
  294. package/docs/ja/intlayer_with_astro.md +5 -2
  295. package/docs/ja/intlayer_with_create_react_app.md +5 -2
  296. package/docs/ja/intlayer_with_express.md +6 -2
  297. package/docs/ja/intlayer_with_fastify.md +516 -0
  298. package/docs/ja/intlayer_with_lynx+react.md +5 -2
  299. package/docs/ja/intlayer_with_nestjs.md +5 -2
  300. package/docs/ja/intlayer_with_nextjs_14.md +5 -2
  301. package/docs/ja/intlayer_with_nextjs_15.md +5 -2
  302. package/docs/ja/intlayer_with_nextjs_16.md +4 -1
  303. package/docs/ja/intlayer_with_nextjs_page_router.md +5 -2
  304. package/docs/ja/intlayer_with_nuxt.md +1 -1
  305. package/docs/ja/intlayer_with_react_native+expo.md +5 -2
  306. package/docs/ja/intlayer_with_react_router_v7.md +5 -2
  307. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +5 -2
  308. package/docs/ja/intlayer_with_svelte_kit.md +5 -2
  309. package/docs/ja/intlayer_with_tanstack.md +5 -2
  310. package/docs/ja/intlayer_with_vite+preact.md +5 -2
  311. package/docs/ja/intlayer_with_vite+react.md +5 -2
  312. package/docs/ja/intlayer_with_vite+solid.md +5 -2
  313. package/docs/ja/intlayer_with_vite+svelte.md +5 -2
  314. package/docs/ja/intlayer_with_vite+vue.md +5 -2
  315. package/docs/ja/readme.md +1 -1
  316. package/docs/ko/cli/index.md +6 -1
  317. package/docs/ko/cli/init.md +92 -0
  318. package/docs/ko/cli/push.md +1 -1
  319. package/docs/ko/configuration.md +3 -3
  320. package/docs/ko/interest_of_intlayer.md +1 -1
  321. package/docs/ko/intlayer_CMS.md +5 -5
  322. package/docs/ko/intlayer_with_angular.md +5 -2
  323. package/docs/ko/intlayer_with_astro.md +5 -2
  324. package/docs/ko/intlayer_with_create_react_app.md +5 -2
  325. package/docs/ko/intlayer_with_express.md +6 -2
  326. package/docs/ko/intlayer_with_fastify.md +463 -0
  327. package/docs/ko/intlayer_with_lynx+react.md +5 -2
  328. package/docs/ko/intlayer_with_nestjs.md +5 -2
  329. package/docs/ko/intlayer_with_nextjs_14.md +5 -2
  330. package/docs/ko/intlayer_with_nextjs_15.md +5 -2
  331. package/docs/ko/intlayer_with_nextjs_16.md +4 -1
  332. package/docs/ko/intlayer_with_nextjs_page_router.md +5 -2
  333. package/docs/ko/intlayer_with_nuxt.md +1 -1
  334. package/docs/ko/intlayer_with_react_native+expo.md +5 -2
  335. package/docs/ko/intlayer_with_react_router_v7.md +5 -2
  336. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +5 -2
  337. package/docs/ko/intlayer_with_svelte_kit.md +5 -2
  338. package/docs/ko/intlayer_with_tanstack.md +5 -2
  339. package/docs/ko/intlayer_with_vite+preact.md +5 -2
  340. package/docs/ko/intlayer_with_vite+react.md +5 -2
  341. package/docs/ko/intlayer_with_vite+solid.md +5 -2
  342. package/docs/ko/intlayer_with_vite+svelte.md +4 -1
  343. package/docs/ko/intlayer_with_vite+vue.md +5 -2
  344. package/docs/ko/readme.md +1 -1
  345. package/docs/pl/cli/index.md +6 -1
  346. package/docs/pl/cli/init.md +92 -0
  347. package/docs/pl/cli/push.md +1 -1
  348. package/docs/pl/configuration.md +3 -3
  349. package/docs/pl/interest_of_intlayer.md +1 -1
  350. package/docs/pl/intlayer_CMS.md +5 -5
  351. package/docs/pl/intlayer_with_angular.md +5 -2
  352. package/docs/pl/intlayer_with_astro.md +6 -3
  353. package/docs/pl/intlayer_with_create_react_app.md +5 -2
  354. package/docs/pl/intlayer_with_express.md +6 -2
  355. package/docs/pl/intlayer_with_fastify.md +457 -0
  356. package/docs/pl/intlayer_with_lynx+react.md +5 -2
  357. package/docs/pl/intlayer_with_nestjs.md +5 -2
  358. package/docs/pl/intlayer_with_next-i18next.md +1 -1
  359. package/docs/pl/intlayer_with_next-intl.md +1 -1
  360. package/docs/pl/intlayer_with_nextjs_14.md +5 -2
  361. package/docs/pl/intlayer_with_nextjs_15.md +5 -2
  362. package/docs/pl/intlayer_with_nextjs_16.md +5 -2
  363. package/docs/pl/intlayer_with_nextjs_page_router.md +5 -2
  364. package/docs/pl/intlayer_with_nuxt.md +1 -1
  365. package/docs/pl/intlayer_with_react_native+expo.md +5 -2
  366. package/docs/pl/intlayer_with_react_router_v7.md +5 -2
  367. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +5 -2
  368. package/docs/pl/intlayer_with_svelte_kit.md +5 -2
  369. package/docs/pl/intlayer_with_tanstack.md +5 -2
  370. package/docs/pl/intlayer_with_vite+preact.md +5 -2
  371. package/docs/pl/intlayer_with_vite+react.md +5 -2
  372. package/docs/pl/intlayer_with_vite+solid.md +5 -2
  373. package/docs/pl/intlayer_with_vite+svelte.md +5 -2
  374. package/docs/pl/intlayer_with_vite+vue.md +5 -2
  375. package/docs/pl/readme.md +1 -1
  376. package/docs/pt/cli/index.md +6 -1
  377. package/docs/pt/cli/init.md +92 -0
  378. package/docs/pt/cli/push.md +1 -1
  379. package/docs/pt/configuration.md +3 -3
  380. package/docs/pt/interest_of_intlayer.md +1 -1
  381. package/docs/pt/intlayer_CMS.md +5 -5
  382. package/docs/pt/intlayer_with_angular.md +5 -2
  383. package/docs/pt/intlayer_with_astro.md +5 -2
  384. package/docs/pt/intlayer_with_create_react_app.md +5 -2
  385. package/docs/pt/intlayer_with_express.md +6 -2
  386. package/docs/pt/intlayer_with_fastify.md +502 -0
  387. package/docs/pt/intlayer_with_lynx+react.md +5 -2
  388. package/docs/pt/intlayer_with_nestjs.md +5 -2
  389. package/docs/pt/intlayer_with_next-i18next.md +1 -1
  390. package/docs/pt/intlayer_with_next-intl.md +1 -1
  391. package/docs/pt/intlayer_with_nextjs_14.md +1 -1
  392. package/docs/pt/intlayer_with_nextjs_15.md +5 -2
  393. package/docs/pt/intlayer_with_nextjs_16.md +5 -2
  394. package/docs/pt/intlayer_with_nextjs_page_router.md +5 -2
  395. package/docs/pt/intlayer_with_nuxt.md +1 -1
  396. package/docs/pt/intlayer_with_react_native+expo.md +5 -2
  397. package/docs/pt/intlayer_with_react_router_v7.md +5 -2
  398. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +5 -2
  399. package/docs/pt/intlayer_with_svelte_kit.md +5 -2
  400. package/docs/pt/intlayer_with_tanstack.md +5 -2
  401. package/docs/pt/intlayer_with_vite+preact.md +5 -2
  402. package/docs/pt/intlayer_with_vite+react.md +5 -2
  403. package/docs/pt/intlayer_with_vite+solid.md +5 -2
  404. package/docs/pt/intlayer_with_vite+svelte.md +5 -2
  405. package/docs/pt/intlayer_with_vite+vue.md +5 -2
  406. package/docs/pt/readme.md +1 -1
  407. package/docs/ru/cli/index.md +6 -1
  408. package/docs/ru/cli/init.md +92 -0
  409. package/docs/ru/cli/push.md +1 -1
  410. package/docs/ru/configuration.md +3 -3
  411. package/docs/ru/interest_of_intlayer.md +1 -1
  412. package/docs/ru/intlayer_CMS.md +5 -5
  413. package/docs/ru/intlayer_with_angular.md +5 -2
  414. package/docs/ru/intlayer_with_astro.md +5 -2
  415. package/docs/ru/intlayer_with_create_react_app.md +5 -2
  416. package/docs/ru/intlayer_with_express.md +6 -2
  417. package/docs/ru/intlayer_with_fastify.md +468 -0
  418. package/docs/ru/intlayer_with_lynx+react.md +5 -2
  419. package/docs/ru/intlayer_with_nestjs.md +5 -2
  420. package/docs/ru/intlayer_with_next-i18next.md +1 -1
  421. package/docs/ru/intlayer_with_next-intl.md +1 -1
  422. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  423. package/docs/ru/intlayer_with_nextjs_15.md +5 -2
  424. package/docs/ru/intlayer_with_nextjs_16.md +5 -2
  425. package/docs/ru/intlayer_with_nextjs_page_router.md +5 -2
  426. package/docs/ru/intlayer_with_nuxt.md +1 -1
  427. package/docs/ru/intlayer_with_react_native+expo.md +5 -2
  428. package/docs/ru/intlayer_with_react_router_v7.md +5 -2
  429. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +5 -2
  430. package/docs/ru/intlayer_with_svelte_kit.md +5 -2
  431. package/docs/ru/intlayer_with_tanstack.md +5 -2
  432. package/docs/ru/intlayer_with_vite+preact.md +5 -2
  433. package/docs/ru/intlayer_with_vite+react.md +5 -2
  434. package/docs/ru/intlayer_with_vite+solid.md +5 -2
  435. package/docs/ru/intlayer_with_vite+svelte.md +5 -2
  436. package/docs/ru/intlayer_with_vite+vue.md +5 -2
  437. package/docs/ru/readme.md +1 -1
  438. package/docs/tr/cli/index.md +6 -1
  439. package/docs/tr/cli/init.md +89 -0
  440. package/docs/tr/cli/push.md +1 -1
  441. package/docs/tr/configuration.md +3 -3
  442. package/docs/tr/interest_of_intlayer.md +1 -1
  443. package/docs/tr/intlayer_CMS.md +5 -5
  444. package/docs/tr/intlayer_with_angular.md +5 -2
  445. package/docs/tr/intlayer_with_astro.md +5 -2
  446. package/docs/tr/intlayer_with_create_react_app.md +5 -2
  447. package/docs/tr/intlayer_with_express.md +6 -2
  448. package/docs/tr/intlayer_with_fastify.md +471 -0
  449. package/docs/tr/intlayer_with_lynx+react.md +5 -2
  450. package/docs/tr/intlayer_with_nestjs.md +5 -2
  451. package/docs/tr/intlayer_with_next-i18next.md +1 -1
  452. package/docs/tr/intlayer_with_next-intl.md +1 -1
  453. package/docs/tr/intlayer_with_nextjs_14.md +5 -2
  454. package/docs/tr/intlayer_with_nextjs_15.md +5 -2
  455. package/docs/tr/intlayer_with_nextjs_16.md +5 -2
  456. package/docs/tr/intlayer_with_nextjs_page_router.md +5 -2
  457. package/docs/tr/intlayer_with_nuxt.md +1 -1
  458. package/docs/tr/intlayer_with_react_native+expo.md +5 -2
  459. package/docs/tr/intlayer_with_react_router_v7.md +5 -2
  460. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +5 -2
  461. package/docs/tr/intlayer_with_svelte_kit.md +5 -2
  462. package/docs/tr/intlayer_with_tanstack.md +5 -2
  463. package/docs/tr/intlayer_with_vite+preact.md +5 -2
  464. package/docs/tr/intlayer_with_vite+react.md +5 -2
  465. package/docs/tr/intlayer_with_vite+solid.md +5 -2
  466. package/docs/tr/intlayer_with_vite+svelte.md +5 -2
  467. package/docs/tr/intlayer_with_vite+vue.md +5 -2
  468. package/docs/tr/readme.md +1 -1
  469. package/docs/vi/cli/index.md +6 -1
  470. package/docs/vi/cli/init.md +84 -0
  471. package/docs/vi/cli/push.md +1 -1
  472. package/docs/vi/configuration.md +3 -3
  473. package/docs/vi/interest_of_intlayer.md +1 -1
  474. package/docs/vi/intlayer_CMS.md +5 -5
  475. package/docs/vi/intlayer_with_angular.md +5 -2
  476. package/docs/vi/intlayer_with_astro.md +5 -2
  477. package/docs/vi/intlayer_with_create_react_app.md +5 -2
  478. package/docs/vi/intlayer_with_express.md +6 -2
  479. package/docs/vi/intlayer_with_fastify.md +490 -0
  480. package/docs/vi/intlayer_with_lynx+react.md +5 -2
  481. package/docs/vi/intlayer_with_nestjs.md +5 -2
  482. package/docs/vi/intlayer_with_next-i18next.md +1 -1
  483. package/docs/vi/intlayer_with_next-intl.md +1 -1
  484. package/docs/vi/intlayer_with_nextjs_14.md +5 -2
  485. package/docs/vi/intlayer_with_nextjs_15.md +5 -2
  486. package/docs/vi/intlayer_with_nextjs_16.md +5 -2
  487. package/docs/vi/intlayer_with_nextjs_page_router.md +5 -2
  488. package/docs/vi/intlayer_with_nuxt.md +1 -1
  489. package/docs/vi/intlayer_with_react_native+expo.md +5 -2
  490. package/docs/vi/intlayer_with_react_router_v7.md +5 -2
  491. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +5 -2
  492. package/docs/vi/intlayer_with_svelte_kit.md +5 -2
  493. package/docs/vi/intlayer_with_tanstack.md +5 -2
  494. package/docs/vi/intlayer_with_vite+preact.md +5 -2
  495. package/docs/vi/intlayer_with_vite+react.md +5 -2
  496. package/docs/vi/intlayer_with_vite+solid.md +5 -2
  497. package/docs/vi/intlayer_with_vite+svelte.md +5 -2
  498. package/docs/vi/intlayer_with_vite+vue.md +5 -2
  499. package/docs/vi/readme.md +1 -1
  500. package/docs/zh/cli/index.md +6 -1
  501. package/docs/zh/cli/init.md +84 -0
  502. package/docs/zh/cli/push.md +1 -1
  503. package/docs/zh/configuration.md +3 -3
  504. package/docs/zh/interest_of_intlayer.md +1 -1
  505. package/docs/zh/intlayer_CMS.md +5 -5
  506. package/docs/zh/intlayer_with_angular.md +5 -2
  507. package/docs/zh/intlayer_with_astro.md +5 -2
  508. package/docs/zh/intlayer_with_create_react_app.md +5 -2
  509. package/docs/zh/intlayer_with_express.md +6 -2
  510. package/docs/zh/intlayer_with_fastify.md +451 -0
  511. package/docs/zh/intlayer_with_lynx+react.md +5 -2
  512. package/docs/zh/intlayer_with_nestjs.md +5 -2
  513. package/docs/zh/intlayer_with_nextjs_14.md +5 -2
  514. package/docs/zh/intlayer_with_nextjs_15.md +5 -2
  515. package/docs/zh/intlayer_with_nextjs_16.md +4 -1
  516. package/docs/zh/intlayer_with_nextjs_page_router.md +5 -2
  517. package/docs/zh/intlayer_with_react_native+expo.md +5 -2
  518. package/docs/zh/intlayer_with_react_router_v7.md +5 -2
  519. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +5 -2
  520. package/docs/zh/intlayer_with_svelte_kit.md +4 -1
  521. package/docs/zh/intlayer_with_tanstack.md +5 -2
  522. package/docs/zh/intlayer_with_vite+preact.md +5 -2
  523. package/docs/zh/intlayer_with_vite+react.md +4 -1
  524. package/docs/zh/intlayer_with_vite+solid.md +5 -2
  525. package/docs/zh/intlayer_with_vite+svelte.md +4 -1
  526. package/docs/zh/intlayer_with_vite+vue.md +5 -2
  527. package/docs/zh/readme.md +1 -1
  528. package/package.json +6 -6
  529. package/src/generated/docs.entry.ts +38 -0
@@ -0,0 +1,451 @@
1
+ ---
2
+ createdAt: 2025-12-30
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译你的 Fastify 后端 — 国际化 (i18n) 指南 2026
5
+ description: 了解如何使你的 Fastify 后端实现多语言。按照文档对其进行国际化 (i18n) 并翻译。
6
+ keywords:
7
+ - 国际化
8
+ - 文档
9
+ - Intlayer
10
+ - Fastify
11
+ - JavaScript
12
+ - 后端
13
+ slugs:
14
+ - doc
15
+ - environment
16
+ - fastify
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-fastify-template
18
+ history:
19
+ - version: 7.6.0
20
+ date: 2025-12-31
21
+ changes: 添加 init 命令
22
+ - version: 7.6.0
23
+ date: 2025-12-31
24
+ changes: 初始化历史
25
+ ---
26
+
27
+ # 使用 Intlayer 翻译你的 Fastify 后端网站 | 国际化 (i18n)
28
+
29
+ `fastify-intlayer` 是一个功能强大的 Fastify 应用国际化 (i18n) 插件,旨在通过根据客户端偏好提供本地化响应,使你的后端服务可在全球范围内访问。
30
+
31
+ ### 实用用例
32
+
33
+ - **以用户语言显示后端错误**:当发生错误时,以用户的母语显示消息能提高理解并减少挫败感。这对于可能在前端组件(如 toast 或模态窗口)中显示的动态错误消息尤其有用。
34
+
35
+ `fastify-intlayer` 是一个强大的 Fastify 应用国际化 (i18n) 插件,旨在根据客户端的偏好提供本地化响应,使你的后端服务在全球范围内可访问。
36
+
37
+ ### 实用场景
38
+
39
+ - **以用户语言显示后端错误**:当发生错误时,以用户的母语显示消息可以提高理解并减少挫折感。这对那些可能在前端组件(例如 toasts 或 modals)中显示的动态错误消息尤其有用。
40
+ - **检索多语言内容**:对于从数据库拉取内容的应用,国际化可确保你以多种语言提供这些内容。这对于需要以用户首选语言显示产品描述、文章和其他内容的平台(如电子商务网站或内容管理系统)至关重要。
41
+ - **发送多语言电子邮件**:无论是事务性邮件、营销活动还是通知,以收件人语言发送邮件都能显著提高参与度和效果。
42
+ - **多语言推送通知**:对于移动应用,在用户偏好的语言中发送推送通知可以提升互动和用户留存。这样的个性化处理会让通知显得更相关且更容易促使用户采取行动。
43
+ - **其他通讯**:来自后端的任何形式的通信,例如短信、系统告警或用户界面更新,在用户语言中呈现都能提升清晰度并增强整体用户体验。
44
+
45
+ 通过对后端进行国际化,您的应用不仅尊重文化差异,而且更符合全球市场需求,这是一项将服务扩展到全球的重要步骤。
46
+
47
+ ## 入门
48
+
49
+ ### 安装
50
+
51
+ 要开始使用 `fastify-intlayer`,请使用 npm 安装该包:
52
+
53
+ ```bash packageManager="npm"
54
+ npm install intlayer fastify-intlayer
55
+ npx intlayer init
56
+
57
+ ```
58
+
59
+ ```bash packageManager="pnpm"
60
+ pnpm add intlayer fastify-intlayer
61
+ pnpm intlayer init
62
+
63
+ ```
64
+
65
+ ```bash packageManager="yarn"
66
+ yarn add intlayer fastify-intlayer
67
+ yarn intlayer init
68
+
69
+ ```
70
+
71
+ ```bash packageManager="bun"
72
+ bun add intlayer fastify-intlayer
73
+ bunx intlayer init
74
+
75
+ ```
76
+
77
+ ### 设置
78
+
79
+ 通过在项目根目录创建一个 `intlayer.config.ts` 来配置国际化设置:
80
+
81
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
82
+ import { Locales, type IntlayerConfig } from "intlayer";
83
+
84
+ const config: IntlayerConfig = {
85
+ internationalization: {
86
+ locales: [
87
+ Locales.ENGLISH,
88
+ Locales.FRENCH,
89
+ Locales.SPANISH_MEXICO,
90
+ Locales.SPANISH_SPAIN,
91
+ ],
92
+ defaultLocale: Locales.ENGLISH,
93
+ },
94
+ };
95
+
96
+ export default config;
97
+ ```
98
+
99
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
100
+ import { Locales } from "intlayer";
101
+
102
+ /** @type {import('intlayer').IntlayerConfig} */ // 类型注释:Intlayer 配置
103
+ const config = {
104
+ internationalization: {
105
+ locales: [
106
+ Locales.ENGLISH,
107
+ Locales.FRENCH,
108
+ Locales.SPANISH_MEXICO,
109
+ Locales.SPANISH_SPAIN,
110
+ ],
111
+ defaultLocale: Locales.ENGLISH,
112
+ },
113
+ };
114
+
115
+ export default config;
116
+ ```
117
+
118
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
119
+ const { Locales } = require("intlayer");
120
+
121
+ /** @type {import('intlayer').IntlayerConfig} */ // 类型注释:Intlayer 配置
122
+ const config = {
123
+ internationalization: {
124
+ locales: [
125
+ Locales.ENGLISH,
126
+ Locales.FRENCH,
127
+ Locales.SPANISH_MEXICO,
128
+ Locales.SPANISH_SPAIN,
129
+ ],
130
+ defaultLocale: Locales.ENGLISH,
131
+ },
132
+ };
133
+
134
+ module.exports = config;
135
+ ```
136
+
137
+ ### 声明您的内容
138
+
139
+ 创建并管理您的内容声明以存储翻译:
140
+
141
+ ```typescript fileName="src/index.content.ts" contentDeclarationFormat="typescript"
142
+ import { t, type Dictionary } from "intlayer";
143
+
144
+ const indexContent = {
145
+ key: "index",
146
+ content: {
147
+ exampleOfContent: t({
148
+ zh: "返回内容示例(英语)",
149
+ en: "Example of returned content in English",
150
+ fr: "Exemple de contenu renvoyé en français",
151
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
152
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
153
+ }),
154
+ },
155
+ } satisfies Dictionary;
156
+
157
+ export default indexContent;
158
+ ```
159
+
160
+ ```javascript fileName="src/index.content.mjs" contentDeclarationFormat="esm"
161
+ import { t } from "intlayer";
162
+
163
+ /** @type {import('intlayer').Dictionary} */ // 类型注解:import('intlayer').Dictionary
164
+ const indexContent = {
165
+ key: "index",
166
+ content: {
167
+ exampleOfContent: t({
168
+ zh: "示例:返回的内容(中文)",
169
+ en: "Example of returned content in English",
170
+ fr: "Exemple de contenu renvoyé en français",
171
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
172
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
173
+ }),
174
+ },
175
+ };
176
+
177
+ export default indexContent;
178
+ ```
179
+
180
+ ```javascript fileName="src/index.content.cjs" contentDeclarationFormat="commonjs"
181
+ const { t } = require("intlayer");
182
+
183
+ /** @type {import('intlayer').Dictionary} */ // 类型注解:import('intlayer').Dictionary
184
+ const indexContent = {
185
+ key: "index",
186
+ content: {
187
+ exampleOfContent: t({
188
+ zh: "示例:返回的内容(中文)",
189
+ en: "Example of returned content in English",
190
+ fr: "Exemple de contenu renvoyé en français",
191
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
192
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
193
+ }),
194
+ },
195
+ };
196
+
197
+ module.exports = indexContent;
198
+ ```
199
+
200
+ ```json fileName="src/index.content.json" contentDeclarationFormat="json"
201
+ {
202
+ "$schema": "https://intlayer.org/schema.json",
203
+ "key": "index",
204
+ "content": {
205
+ "exampleOfContent": {
206
+ "nodeType": "translation",
207
+ "translation": {
208
+ "zh": "返回内容示例(英语)",
209
+ "en": "Example of returned content in English",
210
+ "fr": "Exemple de contenu renvoyé en français",
211
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
212
+ "es-MX": "Ejemplo de contenido devuelto en español (México)"
213
+ }
214
+ }
215
+ }
216
+ }
217
+ ```
218
+
219
+ > 一旦内容声明文件被包含到 `contentDir` 目录(默认 `./src`)中,你可以在应用的任何位置定义它们。并且文件扩展名应匹配内容声明文件扩展名(默认 `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)。
220
+
221
+ > 更多详情,请参阅 [内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。
222
+
223
+ ### Fastify 应用设置
224
+
225
+ 配置你的 Fastify 应用以使用 `fastify-intlayer`:
226
+
227
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
228
+ import Fastify from "fastify";
229
+ import { intlayer, t, getDictionary, getIntlayer } from "fastify-intlayer";
230
+ import dictionaryExample from "./index.content";
231
+
232
+ const fastify = Fastify({ logger: true });
233
+
234
+ // 加载国际化插件
235
+ await fastify.register(intlayer);
236
+
237
+ // 路由
238
+ fastify.get("/t_example", async (_req, reply) => {
239
+ return t({
240
+ zh: "返回的内容示例(中文)",
241
+ en: "Example of returned content in English",
242
+ fr: "Exemple de contenu renvoyé en français",
243
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
244
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
245
+ });
246
+ });
247
+
248
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
249
+ return getIntlayer("index").exampleOfContent;
250
+ });
251
+
252
+ fastify.get("/getDictionary_example", async (_req, reply) => {
253
+ return getDictionary(dictionaryExample).exampleOfContent;
254
+ });
255
+
256
+ // 启动服务器
257
+ const start = async () => {
258
+ try {
259
+ await fastify.listen({ port: 3000 });
260
+ } catch (err) {
261
+ fastify.log.error(err);
262
+ process.exit(1);
263
+ }
264
+ };
265
+
266
+ start();
267
+ ```
268
+
269
+ ```javascript fileName="src/index.mjs" codeFormat="esm"
270
+ import Fastify from "fastify";
271
+ import { intlayer, t, getDictionary, getIntlayer } from "fastify-intlayer";
272
+ import dictionaryExample from "./index.content";
273
+
274
+ const fastify = Fastify({ logger: true });
275
+
276
+ // 加载国际化插件
277
+ await fastify.register(intlayer);
278
+
279
+ // 路由
280
+ fastify.get("/t_example", async (_req, reply) => {
281
+ return t({
282
+ zh: "示例:以中文返回的内容",
283
+ en: "Example of returned content in English",
284
+ fr: "Exemple de contenu renvoyé en français",
285
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
286
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
287
+ });
288
+ });
289
+
290
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
291
+ return getIntlayer("index").exampleOfContent;
292
+ });
293
+
294
+ fastify.get("/getDictionary_example", async (_req, reply) => {
295
+ return getDictionary(dictionaryExample).exampleOfContent;
296
+ });
297
+
298
+ // 启动服务器
299
+ const start = async () => {
300
+ try {
301
+ await fastify.listen({ port: 3000 });
302
+ } catch (err) {
303
+ fastify.log.error(err);
304
+ process.exit(1);
305
+ }
306
+ };
307
+
308
+ start();
309
+ ```
310
+
311
+ ```javascript fileName="src/index.cjs" codeFormat="commonjs"
312
+ const Fastify = require("fastify");
313
+ const { intlayer, t, getDictionary, getIntlayer } = require("fastify-intlayer");
314
+ const dictionaryExample = require("./index.content");
315
+
316
+ const fastify = Fastify({ logger: true });
317
+
318
+ // 启动服务器的 async/await 包装器
319
+ const start = async () => {
320
+ try {
321
+ // 加载国际化插件
322
+ await fastify.register(intlayer);
323
+
324
+ // 路由
325
+ fastify.get("/t_example", async (_req, reply) => {
326
+ return t({
327
+ zh: "示例:以英文/法文/西班牙文返回的内容(参见各语言对应条目)",
328
+ en: "Example of returned content in English",
329
+ fr: "Exemple de contenu renvoyé en français",
330
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
331
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
332
+ });
333
+ });
334
+
335
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
336
+ return getIntlayer("index").exampleOfContent;
337
+ });
338
+
339
+ fastify.get("/getDictionary_example", async (_req, reply) => {
340
+ return getDictionary(dictionaryExample).exampleOfContent;
341
+ });
342
+
343
+ await fastify.listen({ port: 3000 });
344
+ } catch (err) {
345
+ fastify.log.error(err);
346
+ process.exit(1);
347
+ }
348
+ };
349
+
350
+ start();
351
+ ```
352
+
353
+ ### 兼容性
354
+
355
+ `fastify-intlayer` 完全兼容:
356
+
357
+ - [`react-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/react-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/react-intlayer/index.md)>) 用于 React 应用
358
+ - [`next-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/next-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/next-intlayer/index.md)>) 用于 Next.js 应用
359
+ - [`vite-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/vite-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/packages/vite-intlayer/index.md)>) 适用于 Vite 应用程序
360
+
361
+ 它还可与各种环境中的任何国际化解决方案无缝配合,包括浏览器和 API 请求。您可以自定义中间件,通过请求头或 Cookie 检测 locale:
362
+
363
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
364
+ import { Locales, type IntlayerConfig } from "intlayer";
365
+
366
+ const config: IntlayerConfig = {
367
+ // ... 其他配置选项
368
+ middleware: {
369
+ headerName: "my-locale-header",
370
+ cookieName: "my-locale-cookie",
371
+ },
372
+ };
373
+
374
+ export default config;
375
+ ```
376
+
377
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
378
+ import { Locales } from "intlayer";
379
+
380
+ /** @type {import('intlayer').IntlayerConfig} */
381
+ const config = {
382
+ // ... 其他配置选项
383
+ middleware: {
384
+ headerName: "my-locale-header",
385
+ cookieName: "my-locale-cookie",
386
+ },
387
+ };
388
+
389
+ export default config;
390
+ ```
391
+
392
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
393
+ const { Locales } = require("intlayer");
394
+
395
+ /** @type {import('intlayer').IntlayerConfig} */
396
+ const config = {
397
+ // ... 其他配置选项
398
+ middleware: {
399
+ headerName: "my-locale-header",
400
+ cookieName: "my-locale-cookie",
401
+ },
402
+ };
403
+
404
+ module.exports = config;
405
+ ```
406
+
407
+ 默认情况下,`fastify-intlayer` 会解析 `Accept-Language` 头以确定客户端的首选语言。
408
+
409
+ > 欲了解有关配置和高级主题的更多信息,请访问我们的[文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
410
+
411
+ ### 配置 TypeScript
412
+
413
+ `fastify-intlayer` 利用 TypeScript 强大的能力来增强国际化流程。TypeScript 的静态类型确保每个翻译键都被涵盖,降低遗漏翻译的风险并提高可维护性。
414
+
415
+ 确保自动生成的类型(默认位于 ./types/intlayer.d.ts)已包含在你的 tsconfig.json 文件中。
416
+
417
+ ```json5 fileName="tsconfig.json"
418
+ {
419
+ // ... 你现有的 TypeScript 配置
420
+ "include": [
421
+ // ... 你现有的 TypeScript 配置
422
+ ".intlayer/**/*.ts", // 包含自动生成的类型
423
+ ],
424
+ }
425
+ ```
426
+
427
+ ### VS Code 扩展
428
+
429
+ 为提升您使用 Intlayer 的开发体验,您可以安装官方的 **Intlayer VS Code Extension**。
430
+
431
+ [从 VS Code Marketplace 安装](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
432
+
433
+ 该扩展提供:
434
+
435
+ - **自动完成(Autocompletion)** 翻译键。
436
+ - **实时错误检测**,用于发现缺失的翻译。
437
+ - **内联预览** 已翻译的内容。
438
+ - **快速操作**,便于快速创建和更新翻译。
439
+
440
+ 有关如何使用该扩展的更多详细信息,请参阅 [Intlayer VS Code Extension 文档](https://intlayer.org/doc/vs-code-extension)。
441
+
442
+ ### Git 配置
443
+
444
+ 建议忽略 Intlayer 生成的文件,这样可以避免将它们提交到 Git 仓库。
445
+
446
+ 为此,您可以将以下指令添加到 `.gitignore` 文件:
447
+
448
+ ```plaintext fileName=".gitignore"
449
+ # 忽略 Intlayer 生成的文件
450
+ .intlayer
451
+ ```
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-03-09
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的Lynx and React mobile app应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Lynx and React mobile app应用 – i18n指南 2026
5
5
  description: 了解如何使您的使用 Lynx 和 React 的移动应用实现多语言。请遵循文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -17,6 +17,9 @@ slugs:
17
17
  - lynx-and-react
18
18
  applicationTemplate: https://github.com/aymericzip/intlayer-lynx-template
19
19
  history:
20
+ - version: 7.5.9
21
+ date: 2025-12-30
22
+ changes: 添加 init 命令
20
23
  - version: 5.5.10
21
24
  date: 2025-06-29
22
25
  changes: 初始化历史
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2025-09-09
4
- title: 如何翻译您的Nest backend应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Nest backend应用 – i18n指南 2026
5
5
  description: 了解如何使你的 NestJS 后端支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -17,6 +17,9 @@ slugs:
17
17
  applicationTemplate: https://github.com/AydinTheFirst/nestjs-intlayer
18
18
  author: AydinTheFirst
19
19
  history:
20
+ - version: 7.5.9
21
+ date: 2025-12-30
22
+ changes: 添加 init 命令
20
23
  - version: 5.8.0
21
24
  date: 2025-09-09
22
25
  changes: 初始文档
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2024-12-06
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的Next.js 14 and App Router应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Next.js 14 and App Router应用 – i18n指南 2026
5
5
  description: 了解如何使你的 Next.js 14 App Router 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -17,6 +17,9 @@ slugs:
17
17
  - 14
18
18
  applicationTemplate: https://github.com/aymericzip/intlayer-next-14-template
19
19
  history:
20
+ - version: 7.5.9
21
+ date: 2025-12-30
22
+ changes: 添加 init 命令
20
23
  - version: 5.5.10
21
24
  date: 2025-06-29
22
25
  changes: 初始化历史
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2024-12-06
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的Next.js 15应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Next.js 15应用 – i18n指南 2026
5
5
  description: 了解如何使您的 Next.js 15 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -18,6 +18,9 @@ slugs:
18
18
  applicationTemplate: https://github.com/aymericzip/intlayer-next-15-template
19
19
  youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
20
20
  history:
21
+ - version: 7.5.9
22
+ date: 2025-12-30
23
+ changes: 添加 init 命令
21
24
  - version: 5.5.10
22
25
  date: 2025-06-29
23
26
  changes: 初始化历史
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-10-25
3
- updatedAt: 2025-10-26
3
+ updatedAt: 2025-12-30
4
4
  title: 如何翻译您的 Next.js 16 应用 – 2025 年国际化 (i18n) 指南
5
5
  description: 了解如何让您的 Next.js 16 网站支持多语言。按照文档进行国际化 (i18n) 和翻译。
6
6
  keywords:
@@ -17,6 +17,9 @@ slugs:
17
17
  applicationTemplate: https://github.com/aymericzip/intlayer-next-16-template
18
18
  youtubeVideo: https://www.youtube.com/watch?v=e_PPG7PTqGU
19
19
  history:
20
+ - version: 7.5.9
21
+ date: 2025-12-30
22
+ changes: 添加 init 命令
20
23
  - version: 7.0.0
21
24
  date: 2025-06-29
22
25
  changes: 初始化历史记录
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2024-12-07
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的Next.js and Page Router应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Next.js and Page Router应用 – i18n指南 2026
5
5
  description: 了解如何使使用 Page Router 的 Next.js 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -17,6 +17,9 @@ slugs:
17
17
  - nextjs
18
18
  - next-with-page-router
19
19
  history:
20
+ - version: 7.5.9
21
+ date: 2025-12-30
22
+ changes: 添加 init 命令
20
23
  - version: 5.5.10
21
24
  date: 2025-06-29
22
25
  changes: 初始化历史
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-06-18
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的React Native and Expo应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的React Native and Expo应用 – i18n指南 2026
5
5
  description: 了解如何使你的 React Native 和 Expo 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -16,6 +16,9 @@ slugs:
16
16
  - react-native-and-expo
17
17
  applicationTemplate: https://github.com/aymericzip/intlayer-react-native-template
18
18
  history:
19
+ - version: 7.5.9
20
+ date: 2025-12-30
21
+ changes: 添加 init 命令
19
22
  - version: 5.5.10
20
23
  date: 2025-06-29
21
24
  changes: 初始化历史
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-09-04
3
- updatedAt: 2025-12-27
4
- title: 如何翻译您的React Router v7应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的React Router v7应用 – i18n指南 2026
5
5
  description: 学习如何使用 Intlayer 为您的 React Router v7 应用添加国际化(i18n)。按照本综合指南,使您的应用支持多语言和基于区域的路由。
6
6
  keywords:
7
7
  - 国际化
@@ -20,6 +20,9 @@ slugs:
20
20
  applicationTemplate: https://github.com/aymericzip/intlayer-react-router-v7-template
21
21
  youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
22
22
  history:
23
+ - version: 7.5.9
24
+ date: 2025-12-30
25
+ changes: 添加 init 命令
23
26
  - version: 7.5.6
24
27
  date: 2025-12-27
25
28
  changes: 更新布局和处理404
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-09-04
3
- updatedAt: 2025-10-03
4
- title: 如何翻译您的React Router v7应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的React Router v7应用 – i18n指南 2026
5
5
  description: 学习如何使用 Intlayer 为您的 React Router v7 应用添加国际化(i18n)。按照本综合指南,使您的应用支持多语言和基于区域的路由。
6
6
  keywords:
7
7
  - 国际化
@@ -20,6 +20,9 @@ slugs:
20
20
  applicationTemplate: https://github.com/aymericzip/intlayer-react-router-v7-template
21
21
  youtubeVideo: https://www.youtube.com/watch?v=dS9L7uJeak4
22
22
  history:
23
+ - version: 7.5.9
24
+ date: 2025-12-30
25
+ changes: 添加 init 命令
23
26
  - version: 6.1.5
24
27
  date: 2025-10-03
25
28
  changes: 更新文档
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-11-20
3
- updatedAt: 2025-11-20
3
+ updatedAt: 2025-12-30
4
4
  title: 如何翻译您的 SvelteKit 应用 – 2025 年国际化 (i18n) 指南
5
5
  description: 了解如何使您的 SvelteKit 网站支持多语言。按照文档使用服务器端渲染 (SSR) 进行国际化 (i18n) 和翻译。
6
6
  keywords:
@@ -16,6 +16,9 @@ slugs:
16
16
  - sveltekit
17
17
  applicationTemplate: https://github.com/aymericzip/intlayer-sveltekit-template
18
18
  history:
19
+ - version: 7.5.9
20
+ date: 2025-12-30
21
+ changes: 添加 init 命令
19
22
  - version: 7.1.10
20
23
  date: 2025-11-20
21
24
  changes: 初始化历史记录
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-09-09
3
- updatedAt: 2025-12-11
4
- title: 如何翻译您的Tanstack Start应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Tanstack Start应用 – i18n指南 2026
5
5
  description: 学习如何使用 Intlayer 为您的 Tanstack Start 应用添加国际化 (i18n)。按照本综合指南,使您的应用支持多语言并具备基于区域设置的路由功能。
6
6
  keywords:
7
7
  - 国际化
@@ -19,6 +19,9 @@ slugs:
19
19
  applicationTemplate: https://github.com/aymericzip/intlayer-tanstack-start-template
20
20
  youtubeVideo: https://www.youtube.com/watch?v=_XTdKVWaeqg
21
21
  history:
22
+ - version: 7.5.9
23
+ date: 2025-12-30
24
+ changes: 添加 init 命令
22
25
  - version: 7.4.0
23
26
  date: 2025-12-11
24
27
  changes: 引入 validatePrefix 并添加步骤 14: 处理带有本地化路由的 404 页面。
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-06-29
4
- title: 如何翻译您的Vite and Preact应用 – i18n指南 2025
3
+ updatedAt: 2025-12-30
4
+ title: 如何翻译您的Vite and Preact应用 – i18n指南 2026
5
5
  description: 了解如何使您的 Vite 和 Preact 网站支持多语言。按照文档进行国际化(i18n)和翻译。
6
6
  keywords:
7
7
  - 国际化
@@ -16,6 +16,9 @@ slugs:
16
16
  - vite-and-preact
17
17
  applicationTemplate: https://github.com/aymericzip/intlayer-vite-preact-template
18
18
  history:
19
+ - version: 7.5.9
20
+ date: 2025-12-30
21
+ changes: 添加 init 命令
19
22
  - version: 5.5.10
20
23
  date: 2025-06-29
21
24
  changes: 初始化历史