@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,468 @@
1
+ ---
2
+ createdAt: 2025-12-30
3
+ updatedAt: 2025-12-30
4
+ title: Как перевести ваш Fastify backend — руководство по i18n 2026
5
+ description: Узнайте, как сделать ваш Fastify backend мультиязычным. Следуйте документации, чтобы интернационализировать (i18n) и перевести его.
6
+ keywords:
7
+ - Интернационализация
8
+ - Документация
9
+ - Intlayer
10
+ - Fastify
11
+ - JavaScript
12
+ - Backend
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
+ # Перевод вашего Fastify-бэкенда с помощью Intlayer | Интернационализация (i18n)
28
+
29
+ `fastify-intlayer` — это мощный плагин для интернационализации (i18n) для приложений на Fastify, разработанный, чтобы сделать ваши бэкенд-сервисы доступными глобально, предоставляя локализованные ответы в соответствии с предпочтениями клиента.
30
+
31
+ ### Практические сценарии использования
32
+
33
+ - **Отображение ошибок бэкенда на языке пользователя**: Когда возникает ошибка, отображение сообщений на родном языке пользователя повышает понимание и снижает фрустрацию. Это особенно полезно для динамических сообщений об ошибках, которые могут отображаться во фронтенд-компонентах, таких как toast-уведомления или модальные окна.
34
+ - **Получение многоязычного контента**: Для приложений, которые извлекают контент из базы данных, интернационализация гарантирует, что вы сможете выдавать этот контент на нескольких языках. Это критично для платформ, таких как e-commerce-сайты или системы управления контентом (CMS), которым необходимо отображать описания товаров, статьи и другой контент на языке, предпочитаемом пользователем.
35
+ - **Отправка многоязычных писем**: Будь то транзакционные письма, маркетинговые кампании или уведомления, отправка писем на языке получателя может значительно повысить вовлечённость и эффективность.
36
+ - **Многоязычные push-уведомления**: Для мобильных приложений отправка push-уведомлений на предпочитаемом пользователем языке может повысить вовлеченность и удержание. Этот персонализированный подход делает уведомления более релевантными и побуждающими к действию.
37
+ - **Другие виды коммуникаций**: Любая форма коммуникации с backend, такая как SMS-сообщения, системные оповещения или обновления интерфейса, выигрывает от использования языка пользователя, обеспечивая ясность и улучшая общий пользовательский опыт.
38
+
39
+ Интернационализируя backend, ваше приложение не только уважает культурные различия, но и лучше соответствует потребностям глобального рынка, что делает это ключевым шагом при масштабировании ваших сервисов по всему миру.
40
+
41
+ ## Начало работы
42
+
43
+ ### Установка
44
+
45
+ Чтобы начать использовать `fastify-intlayer`, установите пакет с помощью npm:
46
+
47
+ ```bash packageManager="npm"
48
+ npm install intlayer fastify-intlayer
49
+ npx intlayer init
50
+
51
+ ```
52
+
53
+ ```bash packageManager="pnpm"
54
+ pnpm add intlayer fastify-intlayer
55
+ pnpm intlayer init
56
+
57
+ ```
58
+
59
+ ```bash packageManager="yarn"
60
+ yarn add intlayer fastify-intlayer
61
+ yarn intlayer init
62
+
63
+ ```
64
+
65
+ ```bash packageManager="bun"
66
+ bun add intlayer fastify-intlayer
67
+ bunx intlayer init
68
+
69
+ ```
70
+
71
+ ### Настройка
72
+
73
+ Настройте параметры интернационализации, создав файл `intlayer.config.ts` в корне вашего проекта:
74
+
75
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
76
+ import { Locales, type IntlayerConfig } from "intlayer";
77
+
78
+ const config: IntlayerConfig = {
79
+ internationalization: {
80
+ locales: [
81
+ Locales.ENGLISH,
82
+ Locales.FRENCH,
83
+ Locales.SPANISH_MEXICO,
84
+ Locales.SPANISH_SPAIN,
85
+ ],
86
+ defaultLocale: Locales.ENGLISH,
87
+ },
88
+ };
89
+
90
+ export default config;
91
+ ```
92
+
93
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
94
+ import { Locales } from "intlayer";
95
+
96
+ /** @type {import('intlayer').IntlayerConfig} */ // Тип конфигурации Intlayer
97
+ const config = {
98
+ internationalization: {
99
+ locales: [
100
+ Locales.ENGLISH,
101
+ Locales.FRENCH,
102
+ Locales.SPANISH_MEXICO,
103
+ Locales.SPANISH_SPAIN,
104
+ ],
105
+ defaultLocale: Locales.ENGLISH,
106
+ },
107
+ };
108
+
109
+ export default config;
110
+ ```
111
+
112
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
113
+ const { Locales } = require("intlayer");
114
+
115
+ /** @type {import('intlayer').IntlayerConfig} */ // Тип конфигурации Intlayer
116
+ const config = {
117
+ internationalization: {
118
+ locales: [
119
+ Locales.ENGLISH,
120
+ Locales.FRENCH,
121
+ Locales.SPANISH_MEXICO,
122
+ Locales.SPANISH_SPAIN,
123
+ ],
124
+ defaultLocale: Locales.ENGLISH,
125
+ },
126
+ };
127
+
128
+ module.exports = config;
129
+ ```
130
+
131
+ ### Объявление содержимого
132
+
133
+ Создавайте и управляйте объявлениями содержимого для хранения переводов:
134
+
135
+ ```typescript fileName="src/index.content.ts" contentDeclarationFormat="typescript"
136
+ import { t, type Dictionary } from "intlayer";
137
+
138
+ const indexContent = {
139
+ key: "index",
140
+ content: {
141
+ exampleOfContent: t({
142
+ ru: "Пример возвращаемого содержимого на русском",
143
+ en: "Example of returned content in English",
144
+ fr: "Exemple de contenu renvoyé en français",
145
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
146
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
147
+ }),
148
+ },
149
+ } satisfies Dictionary;
150
+
151
+ export default indexContent;
152
+ ```
153
+
154
+ ```javascript fileName="src/index.content.mjs" contentDeclarationFormat="esm"
155
+ import { t } from "intlayer";
156
+
157
+ javascript fileName="src/index.content.mjs" contentDeclarationFormat="esm"
158
+ import { t } from "intlayer";
159
+
160
+ /** @type {import('intlayer').Dictionary} */
161
+ const indexContent = {
162
+ key: "index",
163
+ content: {
164
+ exampleOfContent: t({
165
+ ru: "Пример возвращаемого содержимого на русском",
166
+ en: "Example of returned content in English",
167
+ fr: "Exemple de contenu renvoyé en français",
168
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
169
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
170
+ }),
171
+ },
172
+ };
173
+
174
+ export default indexContent;
175
+ ```
176
+
177
+ ```javascript fileName="src/index.content.cjs" contentDeclarationFormat="commonjs"
178
+ const { t } = require("intlayer");
179
+
180
+ /** @type {import('intlayer').Dictionary} */
181
+ const indexContent = {
182
+ key: "index",
183
+ content: {
184
+ exampleOfContent: t({
185
+ ru: "Пример возвращаемого содержимого на русском",
186
+ en: "Example of returned content in English",
187
+ fr: "Exemple de contenu renvoyé en français",
188
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
189
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
190
+ }),
191
+ },
192
+ };
193
+
194
+ module.exports = indexContent;
195
+ javascript fileName="src/index.content.cjs" contentDeclarationFormat="commonjs"
196
+ const { t } = require("intlayer");
197
+
198
+ /** @type {import('intlayer').Dictionary} */
199
+ const indexContent = {
200
+ key: "index",
201
+ content: {
202
+ exampleOfContent: t({
203
+ ru: "Пример возвращаемого содержимого на русском",
204
+ en: "Example of returned content in English",
205
+ fr: "Exemple de contenu renvoyé en français",
206
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
207
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
208
+ }),
209
+ },
210
+ };
211
+
212
+ module.exports = indexContent;
213
+ ```
214
+
215
+ ```json fileName="src/index.content.json" contentDeclarationFormat="json"
216
+ {
217
+ "$schema": "https://intlayer.org/schema.json",
218
+ "key": "index",
219
+ "content": {
220
+ "exampleOfContent": {
221
+ "nodeType": "translation",
222
+ "translation": {
223
+ "ru": "Пример возвращаемого содержимого на русском",
224
+ "en": "Example of returned content in English",
225
+ "fr": "Exemple de contenu renvoyé en français",
226
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
227
+ "es-MX": "Ejemplo de contenido devuelto en español (México)"
228
+ }
229
+ }
230
+ }
231
+ }
232
+ ```
233
+
234
+ > Ваши декларации содержимого могут быть определены в любом месте вашего приложения, при условии, что они находятся в директории `contentDir` (по умолчанию `./src`). И соответствуют расширению файла декларации содержимого (по умолчанию, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
235
+
236
+ > Для подробностей смотрите [документацию по декларации содержимого](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md).
237
+
238
+ ### Настройка приложения Fastify
239
+
240
+ Настройте ваше приложение Fastify для использования `fastify-intlayer`:
241
+
242
+ ```typescript fileName="src/index.ts" codeFormat="typescript"
243
+ import Fastify from "fastify";
244
+ import { intlayer, t, getDictionary, getIntlayer } from "fastify-intlayer";
245
+ import dictionaryExample from "./index.content";
246
+
247
+ const fastify = Fastify({ logger: true }); // Инициализация Fastify с логированием
248
+
249
+ // Подключение плагина интернационализации
250
+ await fastify.register(intlayer);
251
+
252
+ // Маршруты
253
+ fastify.get("/t_example", async (_req, reply) => {
254
+ return t({
255
+ ru: "Пример возвращаемого контента на английском языке",
256
+ en: "Example of returned content in English",
257
+ fr: "Exemple de contenu renvoyé en français",
258
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
259
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
260
+ });
261
+ });
262
+
263
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
264
+ return getIntlayer("index").exampleOfContent;
265
+ });
266
+
267
+ fastify.get("/getDictionary_example", async (_req, reply) => {
268
+ return getDictionary(dictionaryExample).exampleOfContent;
269
+ });
270
+
271
+ // Запуск сервера
272
+ const start = async () => {
273
+ try {
274
+ await fastify.listen({ port: 3000 });
275
+ } catch (err) {
276
+ fastify.log.error(err);
277
+ process.exit(1);
278
+ }
279
+ };
280
+
281
+ start();
282
+ ```
283
+
284
+ ```javascript fileName="src/index.mjs" codeFormat="esm"
285
+ import Fastify from "fastify";
286
+ import { intlayer, t, getDictionary, getIntlayer } from "fastify-intlayer";
287
+ import dictionaryExample from "./index.content";
288
+
289
+ const fastify = Fastify({ logger: true });
290
+
291
+ // Загрузка плагина интернационализации
292
+ await fastify.register(intlayer);
293
+
294
+ // Маршруты
295
+ fastify.get("/t_example", async (_req, reply) => {
296
+ return t({
297
+ en: "Example of returned content in English",
298
+ fr: "Exemple de contenu renvoyé en français",
299
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
300
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
301
+ });
302
+ });
303
+
304
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
305
+ return getIntlayer("index").exampleOfContent;
306
+ });
307
+
308
+ fastify.get("/getDictionary_example", async (_req, reply) => {
309
+ return getDictionary(dictionaryExample).exampleOfContent;
310
+ });
311
+
312
+ // Запуск сервера
313
+ const start = async () => {
314
+ try {
315
+ await fastify.listen({ port: 3000 });
316
+ } catch (err) {
317
+ fastify.log.error(err);
318
+ process.exit(1);
319
+ }
320
+ };
321
+
322
+ start();
323
+ ```
324
+
325
+ ```javascript fileName="src/index.cjs" codeFormat="commonjs"
326
+ const Fastify = require("fastify");
327
+ const { intlayer, t, getDictionary, getIntlayer } = require("fastify-intlayer");
328
+ const dictionaryExample = require("./index.content");
329
+
330
+ const fastify = Fastify({ logger: true });
331
+
332
+ // Обёртка для запуска сервера с async/await
333
+ const start = async () => {
334
+ try {
335
+ // Загрузка плагина интернационализации
336
+ await fastify.register(intlayer);
337
+
338
+ // Маршруты
339
+ fastify.get("/t_example", async (_req, reply) => {
340
+ return t({
341
+ ru: "Пример возвращаемого содержимого на русском языке",
342
+ en: "Example of returned content in English",
343
+ fr: "Exemple de contenu renvoyé en français",
344
+ "es-ES": "Ejemplo de contenido devuelto en español (España)",
345
+ "es-MX": "Ejemplo de contenido devuelto en español (México)",
346
+ });
347
+ });
348
+
349
+ fastify.get("/getIntlayer_example", async (_req, reply) => {
350
+ return getIntlayer("index").exampleOfContent;
351
+ });
352
+
353
+ fastify.get("/getDictionary_example", async (_req, reply) => {
354
+ return getDictionary(dictionaryExample).exampleOfContent;
355
+ });
356
+
357
+ await fastify.listen({ port: 3000 });
358
+ } catch (err) {
359
+ fastify.log.error(err);
360
+ process.exit(1);
361
+ }
362
+ };
363
+
364
+ start();
365
+ ```
366
+
367
+ ### Совместимость
368
+
369
+ `fastify-intlayer` полностью совместим с:
370
+
371
+ - [`react-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/react-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/react-intlayer/index.md)>) для React-приложений
372
+ - [`next-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/next-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/next-intlayer/index.md)>) для приложений Next.js
373
+
374
+ - [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/react-intlayer/index.md) для приложений React
375
+ - [`next-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/next-intlayer/index.md) для приложений Next.js
376
+ - [`vite-intlayer`](<https://www.google.com/search?q=%5Bhttps://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/vite-intlayer/index.md%5D(https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/packages/vite-intlayer/index.md)>) для приложений на Vite
377
+
378
+ Он также бесшовно работает с любым решением для интернационализации в различных средах, включая браузеры и API-запросы. Вы можете настроить middleware для определения локали через заголовки или cookies:
379
+
380
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
381
+ import { Locales, type IntlayerConfig } from "intlayer";
382
+
383
+ const config: IntlayerConfig = {
384
+ // ... Другие параметры конфигурации
385
+ middleware: {
386
+ headerName: "my-locale-header",
387
+ cookieName: "my-locale-cookie",
388
+ },
389
+ };
390
+
391
+ export default config;
392
+ ```
393
+
394
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
395
+ import { Locales } from "intlayer";
396
+
397
+ /** @type {import('intlayer').IntlayerConfig} */
398
+ const config = {
399
+ // ... Другие параметры конфигурации
400
+ middleware: {
401
+ headerName: "my-locale-header",
402
+ cookieName: "my-locale-cookie",
403
+ },
404
+ };
405
+
406
+ export default config;
407
+ ```
408
+
409
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
410
+ const { Locales } = require("intlayer");
411
+
412
+ /** @type {import('intlayer').IntlayerConfig} */
413
+ const config = {
414
+ // ... Другие параметры конфигурации
415
+ middleware: {
416
+ headerName: "my-locale-header",
417
+ cookieName: "my-locale-cookie",
418
+ },
419
+ };
420
+
421
+ module.exports = config;
422
+ ```
423
+
424
+ По умолчанию `fastify-intlayer` будет интерпретировать заголовок `Accept-Language`, чтобы определить предпочитаемый язык клиента.
425
+
426
+ > Для получения дополнительной информации о конфигурации и продвинутых темах посетите нашу [документацию](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md).
427
+
428
+ ### Настройка TypeScript
429
+
430
+ `fastify-intlayer` использует мощные возможности TypeScript для улучшения процесса интернационализации. Статическая типизация TypeScript обеспечивает учёт каждого ключа перевода, снижая риск отсутствующих переводов и упрощая поддержку.
431
+
432
+ Убедитесь, что автогенерируемые типы (по умолчанию в ./types/intlayer.d.ts) включены в ваш файл tsconfig.json.
433
+
434
+ ```json5 fileName="tsconfig.json"
435
+ {
436
+ // ... Ваши существующие конфигурации TypeScript
437
+ "include": [
438
+ // ... Ваши существующие конфигурации TypeScript
439
+ ".intlayer/**/*.ts", // Включить автогенерируемые типы
440
+ ],
441
+ }
442
+ ```
443
+
444
+ ### Расширение для VS Code
445
+
446
+ Чтобы улучшить опыт разработки с Intlayer, вы можете установить официальное расширение **Intlayer VS Code Extension**.
447
+
448
+ [Установить из VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
449
+
450
+ Это расширение предоставляет:
451
+
452
+ - **Автодополнение** для ключей переводов.
453
+ - **Обнаружение ошибок в реальном времени** для отсутствующих переводов.
454
+ - **Встроенные превью** переведённого содержимого.
455
+ - **Быстрые действия** для простого создания и обновления переводов.
456
+
457
+ Для получения дополнительных сведений о том, как использовать расширение, обратитесь к [документации Intlayer VS Code Extension](https://intlayer.org/doc/vs-code-extension).
458
+
459
+ ### Настройка Git
460
+
461
+ Рекомендуется игнорировать файлы, сгенерированные Intlayer. Это позволит избежать их коммита в ваш Git-репозиторий.
462
+
463
+ Для этого вы можете добавить следующие строки в файл `.gitignore`:
464
+
465
+ ```plaintext fileName=".gitignore"
466
+ # Игнорировать файлы, сгенерированные Intlayer
467
+ .intlayer
468
+ ```
@@ -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: 2025-10-05
3
3
  updatedAt: 2025-10-05
4
- title: Как перевести ваше приложение Next.js 15 с помощью next-i18next – руководство по i18n 2025
4
+ title: Как перевести ваше приложение Next.js 15 с помощью next-i18next – руководство по i18n 2026
5
5
  description: Практическое руководство, готовое к использованию в продакшене, по интернационализации приложения Next.js 15 с App Router с использованием i18next/next-i18next и улучшению с помощью Intlayer.
6
6
  keywords:
7
7
  - Интернационализация
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-10-05
3
3
  updatedAt: 2025-10-05
4
- title: Как перевести ваше приложение Next.js 15 с помощью next-intl – руководство по i18n 2025
4
+ title: Как перевести ваше приложение Next.js 15 с помощью next-intl – руководство по i18n 2026
5
5
  description: Узнайте, как сделать ваш сайт на Next.js 15 App Router многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
6
6
  keywords:
7
7
  - Интернационализация
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2024-12-06
3
3
  updatedAt: 2025-06-29
4
- title: Как перевести ваше Next.js 14 and App Router – руководство i18n 2025
4
+ title: Как перевести ваше Next.js 14 and App Router – руководство i18n 2026
5
5
  description: Узнайте, как сделать ваш сайт на Next.js 14 App Router многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
6
6
  keywords:
7
7
  - Интернационализация
@@ -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,7 +1,7 @@
1
1
  ---
2
2
  createdAt: 2025-10-25
3
- updatedAt: 2025-10-26
4
- title: Как перевести ваше приложение Next.js 16 – руководство по i18n 2025
3
+ updatedAt: 2025-12-30
4
+ title: Как перевести ваше приложение Next.js 16 – руководство по i18n 2026
5
5
  description: Узнайте, как сделать ваш сайт на Next.js 16 многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
6
6
  keywords:
7
7
  - Интернационализация
@@ -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: Узнайте, как сделать ваш сайт на Next.js с использованием Page Router многоязычным. Следуйте документации для интернационализации (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
3
  updatedAt: 2025-12-07
4
- title: Как перевести ваше приложение Nuxt и Vue – руководство по i18n 2025
4
+ title: Как перевести ваше приложение Nuxt и Vue – руководство по i18n 2026
5
5
  description: Узнайте, как сделать ваш сайт на Nuxt и Vue многоязычным. Следуйте документации для интернационализации (i18n) и перевода.
6
6
  keywords:
7
7
  - Интернационализация
@@ -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: Узнайте, как добавить интернационализацию (i18n) в ваше приложение на React Router v7 с помощью Intlayer. Следуйте этому подробному руководству, чтобы сделать ваше приложение многоязычным с маршрутизацией, учитывающей локаль.
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: Обновить Layout и обработать 404