@intlayer/docs 5.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1135) hide show
  1. package/LICENSE +202 -0
  2. package/ar/CI_CD.md +149 -0
  3. package/ar/autoFill.md +157 -0
  4. package/ar/concept/content/file.md +1 -0
  5. package/ar/configuration.md +492 -0
  6. package/ar/dictionary/condition.md +213 -0
  7. package/ar/dictionary/content_extention_customization.md +81 -0
  8. package/ar/dictionary/enumeration.md +221 -0
  9. package/ar/dictionary/file.md +209 -0
  10. package/ar/dictionary/function_fetching.md +190 -0
  11. package/ar/dictionary/get_started.md +490 -0
  12. package/ar/dictionary/insertion.md +161 -0
  13. package/ar/dictionary/markdown.md +343 -0
  14. package/ar/dictionary/nesting.md +249 -0
  15. package/ar/dictionary/translation.md +307 -0
  16. package/ar/header.md +7 -0
  17. package/ar/how_works_intlayer.md +219 -0
  18. package/ar/index.md +125 -0
  19. package/ar/interest_of_intlayer.md +132 -0
  20. package/ar/intlayer_CMS.md +328 -0
  21. package/ar/intlayer_cli.md +258 -0
  22. package/ar/intlayer_visual_editor.md +210 -0
  23. package/ar/intlayer_with_angular.md +3 -0
  24. package/ar/intlayer_with_create_react_app.md +1196 -0
  25. package/ar/intlayer_with_express.md +270 -0
  26. package/ar/intlayer_with_lynx+react.md +482 -0
  27. package/ar/intlayer_with_nextjs_14.md +1260 -0
  28. package/ar/intlayer_with_nextjs_15.md +1311 -0
  29. package/ar/intlayer_with_nextjs_page_router.md +1099 -0
  30. package/ar/intlayer_with_react_native+expo.md +539 -0
  31. package/ar/intlayer_with_vite+preact.md +1679 -0
  32. package/ar/intlayer_with_vite+react.md +1582 -0
  33. package/ar/intlayer_with_vite+solid.md +3 -0
  34. package/ar/intlayer_with_vite+svelte.md +3 -0
  35. package/ar/intlayer_with_vite+vue.md +989 -0
  36. package/ar/introduction.md +190 -0
  37. package/ar/mcp_server.md +150 -0
  38. package/ar/packages/@intlayer/api/index.md +31 -0
  39. package/ar/packages/@intlayer/chokidar/index.md +31 -0
  40. package/ar/packages/@intlayer/cli/index.md +1 -0
  41. package/ar/packages/@intlayer/config/index.md +116 -0
  42. package/ar/packages/@intlayer/core/index.md +25 -0
  43. package/ar/packages/@intlayer/design-system/index.md +21 -0
  44. package/ar/packages/@intlayer/dictionary-entry/index.md +21 -0
  45. package/ar/packages/@intlayer/editor/index.md +21 -0
  46. package/ar/packages/@intlayer/editor-react/index.md +21 -0
  47. package/ar/packages/@intlayer/webpack/index.md +35 -0
  48. package/ar/packages/angular-intlayer/index.md +3 -0
  49. package/ar/packages/express-intlayer/index.md +232 -0
  50. package/ar/packages/express-intlayer/t.md +448 -0
  51. package/ar/packages/intlayer/getConfiguration.md +120 -0
  52. package/ar/packages/intlayer/getEnumeration.md +138 -0
  53. package/ar/packages/intlayer/getHTMLTextDir.md +97 -0
  54. package/ar/packages/intlayer/getLocaleLang.md +61 -0
  55. package/ar/packages/intlayer/getLocaleName.md +93 -0
  56. package/ar/packages/intlayer/getLocalizedUrl.md +221 -0
  57. package/ar/packages/intlayer/getMultilingualUrls.md +198 -0
  58. package/ar/packages/intlayer/getPathWithoutLocale.md +50 -0
  59. package/ar/packages/intlayer/getTranslation.md +175 -0
  60. package/ar/packages/intlayer/getTranslationContent.md +175 -0
  61. package/ar/packages/intlayer/index.md +254 -0
  62. package/ar/packages/intlayer-cli/index.md +41 -0
  63. package/ar/packages/intlayer-editor/index.md +113 -0
  64. package/ar/packages/lynx-intlayer/index.md +58 -0
  65. package/ar/packages/next-intlayer/index.md +267 -0
  66. package/ar/packages/next-intlayer/t.md +341 -0
  67. package/ar/packages/next-intlayer/useDictionary.md +248 -0
  68. package/ar/packages/next-intlayer/useIntlayer.md +237 -0
  69. package/ar/packages/next-intlayer/useIntlayerAsync.md +211 -0
  70. package/ar/packages/next-intlayer/useLocale.md +105 -0
  71. package/ar/packages/preact-intlayer/index.md +3 -0
  72. package/ar/packages/react-intlayer/index.md +261 -0
  73. package/ar/packages/react-intlayer/t.md +283 -0
  74. package/ar/packages/react-intlayer/useDictionary.md +268 -0
  75. package/ar/packages/react-intlayer/useIntlayer.md +225 -0
  76. package/ar/packages/react-intlayer/useIntlayerAsync.md +226 -0
  77. package/ar/packages/react-intlayer/useLocale.md +184 -0
  78. package/ar/packages/react-native-intlayer/index.md +57 -0
  79. package/ar/packages/react-scripts-intlayer/index.md +57 -0
  80. package/ar/packages/solid-intlayer/index.md +3 -0
  81. package/ar/packages/svelte-intlayer/index.md +3 -0
  82. package/ar/packages/vite-intlayer/index.md +53 -0
  83. package/ar/packages/vue-intlayer/index.md +3 -0
  84. package/ar/per_locale_file.md +298 -0
  85. package/ar/privacy_notice.md +61 -0
  86. package/ar/roadmap.md +208 -0
  87. package/ar/terms_of_service.md +33 -0
  88. package/ar/vs_code_extension.md +139 -0
  89. package/de/CI_CD.md +149 -0
  90. package/de/angular-intlayer/index.md +3 -0
  91. package/de/autoFill.md +157 -0
  92. package/de/configuration.md +501 -0
  93. package/de/dictionary/condition.md +213 -0
  94. package/de/dictionary/content_extention_customization.md +81 -0
  95. package/de/dictionary/enumeration.md +221 -0
  96. package/de/dictionary/file.md +207 -0
  97. package/de/dictionary/function_fetching.md +190 -0
  98. package/de/dictionary/get_started.md +466 -0
  99. package/de/dictionary/insertion.md +167 -0
  100. package/de/dictionary/markdown.md +345 -0
  101. package/de/dictionary/nesting.md +252 -0
  102. package/de/dictionary/translation.md +287 -0
  103. package/de/header.md +5 -0
  104. package/de/how_works_intlayer.md +216 -0
  105. package/de/index.md +125 -0
  106. package/de/insertion.md +0 -0
  107. package/de/interest_of_intlayer.md +132 -0
  108. package/de/intlayer_CMS.md +334 -0
  109. package/de/intlayer_cli.md +274 -0
  110. package/de/intlayer_visual_editor.md +210 -0
  111. package/de/intlayer_with_angular.md +3 -0
  112. package/de/intlayer_with_create_react_app.md +1200 -0
  113. package/de/intlayer_with_express.md +268 -0
  114. package/de/intlayer_with_lynx+react.md +482 -0
  115. package/de/intlayer_with_nextjs_14.md +1258 -0
  116. package/de/intlayer_with_nextjs_15.md +1306 -0
  117. package/de/intlayer_with_nextjs_page_router.md +1087 -0
  118. package/de/intlayer_with_react_native+expo.md +539 -0
  119. package/de/intlayer_with_vite+preact.md +1701 -0
  120. package/de/intlayer_with_vite+react.md +1584 -0
  121. package/de/intlayer_with_vite+solid.md +3 -0
  122. package/de/intlayer_with_vite+svelte.md +3 -0
  123. package/de/intlayer_with_vite+vue.md +989 -0
  124. package/de/introduction.md +186 -0
  125. package/de/mcp_server.md +150 -0
  126. package/de/packages/@intlayer/api/index.md +31 -0
  127. package/de/packages/@intlayer/chokidar/index.md +31 -0
  128. package/de/packages/@intlayer/cli/index.md +21 -0
  129. package/de/packages/@intlayer/config/index.md +116 -0
  130. package/de/packages/@intlayer/core/index.md +25 -0
  131. package/de/packages/@intlayer/design-system/index.md +21 -0
  132. package/de/packages/@intlayer/dictionary-entry/index.md +21 -0
  133. package/de/packages/@intlayer/editor/index.md +21 -0
  134. package/de/packages/@intlayer/editor-react/index.md +21 -0
  135. package/de/packages/@intlayer/webpack/index.md +35 -0
  136. package/de/packages/angular-intlayer/index.md +31 -0
  137. package/de/packages/express-intlayer/index.md +229 -0
  138. package/de/packages/express-intlayer/t.md +432 -0
  139. package/de/packages/intlayer/getConfiguration.md +120 -0
  140. package/de/packages/intlayer/getEnumeration.md +140 -0
  141. package/de/packages/intlayer/getHTMLTextDir.md +97 -0
  142. package/de/packages/intlayer/getLocaleLang.md +57 -0
  143. package/de/packages/intlayer/getLocaleName.md +93 -0
  144. package/de/packages/intlayer/getLocalizedUrl.md +221 -0
  145. package/de/packages/intlayer/getMultilingualUrls.md +198 -0
  146. package/de/packages/intlayer/getPathWithoutLocale.md +50 -0
  147. package/de/packages/intlayer/getTranslation.md +166 -0
  148. package/de/packages/intlayer/getTranslationContent.md +166 -0
  149. package/de/packages/intlayer/index.md +478 -0
  150. package/de/packages/intlayer-cli/index.md +41 -0
  151. package/de/packages/intlayer-editor/index.md +113 -0
  152. package/de/packages/lynx-intlayer/index.md +58 -0
  153. package/de/packages/next-intlayer/index.md +263 -0
  154. package/de/packages/next-intlayer/t.md +325 -0
  155. package/de/packages/next-intlayer/useDictionary.md +242 -0
  156. package/de/packages/next-intlayer/useIntlayer.md +237 -0
  157. package/de/packages/next-intlayer/useIntlayerAsync.md +211 -0
  158. package/de/packages/next-intlayer/useLocale.md +105 -0
  159. package/de/packages/preact-intlayer/index.md +3 -0
  160. package/de/packages/react-intlayer/index.md +260 -0
  161. package/de/packages/react-intlayer/t.md +277 -0
  162. package/de/packages/react-intlayer/useDictionary.md +260 -0
  163. package/de/packages/react-intlayer/useIntlayer.md +225 -0
  164. package/de/packages/react-intlayer/useIntlayerAsync.md +226 -0
  165. package/de/packages/react-intlayer/useLocale.md +184 -0
  166. package/de/packages/react-native-intlayer/index.md +57 -0
  167. package/de/packages/react-scripts-intlayer/index.md +57 -0
  168. package/de/packages/solid-intlayer/index.md +3 -0
  169. package/de/packages/svelte-intlayer/index.md +3 -0
  170. package/de/packages/vite-intlayer/index.md +53 -0
  171. package/de/packages/vue-intlayer/index.md +3 -0
  172. package/de/per_locale_file.md +298 -0
  173. package/de/privacy_notice.md +61 -0
  174. package/de/roadmap.md +206 -0
  175. package/de/terms_of_service.md +33 -0
  176. package/de/vs_code_extension.md +139 -0
  177. package/en/CI_CD.md +149 -0
  178. package/en/autoFill.md +157 -0
  179. package/en/configuration.md +506 -0
  180. package/en/dictionary/condition.md +213 -0
  181. package/en/dictionary/content_extention_customization.md +81 -0
  182. package/en/dictionary/enumeration.md +221 -0
  183. package/en/dictionary/file.md +198 -0
  184. package/en/dictionary/function_fetching.md +190 -0
  185. package/en/dictionary/get_started.md +504 -0
  186. package/en/dictionary/insertion.md +167 -0
  187. package/en/dictionary/markdown.md +355 -0
  188. package/en/dictionary/nesting.md +249 -0
  189. package/en/dictionary/translation.md +285 -0
  190. package/en/frequent_questions/build_dictionaries.md +37 -0
  191. package/en/frequent_questions/domain_routing.md +92 -0
  192. package/en/frequent_questions/esbuild_error.md +9 -0
  193. package/en/frequent_questions/get_locale_cookie.md +121 -0
  194. package/en/frequent_questions/intlayer_command_undefined.md +135 -0
  195. package/en/frequent_questions/locale_incorect_in_url.md +52 -0
  196. package/en/frequent_questions/static_rendering.md +24 -0
  197. package/en/frequent_questions/unknown_command.md +76 -0
  198. package/en/header.md +5 -0
  199. package/en/how_works_intlayer.md +219 -0
  200. package/en/index.md +139 -0
  201. package/en/interest_of_intlayer.md +133 -0
  202. package/en/intlayer_CMS.md +334 -0
  203. package/en/intlayer_cli.md +309 -0
  204. package/en/intlayer_visual_editor.md +244 -0
  205. package/en/intlayer_with_angular.md +139 -0
  206. package/en/intlayer_with_create_react_app.md +1209 -0
  207. package/en/intlayer_with_express.md +391 -0
  208. package/en/intlayer_with_lynx+react.md +483 -0
  209. package/en/intlayer_with_nextjs_14.md +1298 -0
  210. package/en/intlayer_with_nextjs_15.md +1347 -0
  211. package/en/intlayer_with_nextjs_page_router.md +1126 -0
  212. package/en/intlayer_with_react_native+expo.md +630 -0
  213. package/en/intlayer_with_vite+preact.md +1659 -0
  214. package/en/intlayer_with_vite+react.md +1605 -0
  215. package/en/intlayer_with_vite+solid.md +254 -0
  216. package/en/intlayer_with_vite+svelte.md +254 -0
  217. package/en/intlayer_with_vite+vue.md +1000 -0
  218. package/en/introduction.md +185 -0
  219. package/en/mcp_server.md +150 -0
  220. package/en/packages/@intlayer/api/index.md +31 -0
  221. package/en/packages/@intlayer/chokidar/index.md +31 -0
  222. package/en/packages/@intlayer/cli/index.md +21 -0
  223. package/en/packages/@intlayer/config/index.md +116 -0
  224. package/en/packages/@intlayer/core/index.md +25 -0
  225. package/en/packages/@intlayer/design-system/index.md +21 -0
  226. package/en/packages/@intlayer/dictionary-entry/index.md +21 -0
  227. package/en/packages/@intlayer/editor/index.md +21 -0
  228. package/en/packages/@intlayer/editor-react/index.md +21 -0
  229. package/en/packages/@intlayer/webpack/index.md +35 -0
  230. package/en/packages/angular-intlayer/index.md +31 -0
  231. package/en/packages/express-intlayer/index.md +229 -0
  232. package/en/packages/express-intlayer/t.md +432 -0
  233. package/en/packages/intlayer/getConfiguration.md +120 -0
  234. package/en/packages/intlayer/getEnumeration.md +138 -0
  235. package/en/packages/intlayer/getHTMLTextDir.md +97 -0
  236. package/en/packages/intlayer/getLocaleLang.md +57 -0
  237. package/en/packages/intlayer/getLocaleName.md +93 -0
  238. package/en/packages/intlayer/getLocalizedUrl.md +221 -0
  239. package/en/packages/intlayer/getMultilingualUrls.md +198 -0
  240. package/en/packages/intlayer/getPathWithoutLocale.md +50 -0
  241. package/en/packages/intlayer/getTranslation.md +166 -0
  242. package/en/packages/intlayer/getTranslationContent.md +166 -0
  243. package/en/packages/intlayer/index.md +476 -0
  244. package/en/packages/intlayer-cli/index.md +41 -0
  245. package/en/packages/intlayer-editor/index.md +113 -0
  246. package/en/packages/lynx-intlayer/index.md +60 -0
  247. package/en/packages/next-intlayer/index.md +263 -0
  248. package/en/packages/next-intlayer/t.md +326 -0
  249. package/en/packages/next-intlayer/useDictionary.md +242 -0
  250. package/en/packages/next-intlayer/useIntlayer.md +237 -0
  251. package/en/packages/next-intlayer/useIntlayerAsync.md +211 -0
  252. package/en/packages/next-intlayer/useLocale.md +105 -0
  253. package/en/packages/preact-intlayer/index.md +31 -0
  254. package/en/packages/react-intlayer/index.md +257 -0
  255. package/en/packages/react-intlayer/t.md +277 -0
  256. package/en/packages/react-intlayer/useDictionary.md +260 -0
  257. package/en/packages/react-intlayer/useIntlayer.md +225 -0
  258. package/en/packages/react-intlayer/useIntlayerAsync.md +226 -0
  259. package/en/packages/react-intlayer/useLocale.md +184 -0
  260. package/en/packages/react-native-intlayer/index.md +59 -0
  261. package/en/packages/react-scripts-intlayer/index.md +57 -0
  262. package/en/packages/solid-intlayer/index.md +31 -0
  263. package/en/packages/svelte-intlayer/index.md +31 -0
  264. package/en/packages/vite-intlayer/index.md +53 -0
  265. package/en/packages/vue-intlayer/index.md +31 -0
  266. package/en/per_locale_file.md +297 -0
  267. package/en/privacy_notice.md +61 -0
  268. package/en/roadmap.md +270 -0
  269. package/en/t.md +163 -0
  270. package/en/terms_of_service.md +33 -0
  271. package/en/vs_code_extension.md +129 -0
  272. package/en-GB/CI_CD.md +149 -0
  273. package/en-GB/autoFill.md +0 -0
  274. package/en-GB/configuration.md +490 -0
  275. package/en-GB/dictionary/condition.md +213 -0
  276. package/en-GB/dictionary/content_extention_customization.md +83 -0
  277. package/en-GB/dictionary/enumeration.md +221 -0
  278. package/en-GB/dictionary/file.md +201 -0
  279. package/en-GB/dictionary/function_fetching.md +190 -0
  280. package/en-GB/dictionary/get_started.md +466 -0
  281. package/en-GB/dictionary/insertion.md +167 -0
  282. package/en-GB/dictionary/markdown.md +343 -0
  283. package/en-GB/dictionary/nesting.md +249 -0
  284. package/en-GB/dictionary/translation.md +285 -0
  285. package/en-GB/header.md +1 -0
  286. package/en-GB/how_works_intlayer.md +217 -0
  287. package/en-GB/index.md +142 -0
  288. package/en-GB/interest_of_intlayer.md +123 -0
  289. package/en-GB/intlayer_CMS.md +334 -0
  290. package/en-GB/intlayer_cli.md +239 -0
  291. package/en-GB/intlayer_visual_editor.md +210 -0
  292. package/en-GB/intlayer_with_angular.md +3 -0
  293. package/en-GB/intlayer_with_create_react_app.md +1192 -0
  294. package/en-GB/intlayer_with_express.md +267 -0
  295. package/en-GB/intlayer_with_lynx+react.md +484 -0
  296. package/en-GB/intlayer_with_nextjs_14.md +1267 -0
  297. package/en-GB/intlayer_with_nextjs_15.md +1308 -0
  298. package/en-GB/intlayer_with_nextjs_page_router.md +1087 -0
  299. package/en-GB/intlayer_with_react_native+expo.md +539 -0
  300. package/en-GB/intlayer_with_vite+preact.md +1648 -0
  301. package/en-GB/intlayer_with_vite+react.md +1430 -0
  302. package/en-GB/intlayer_with_vite+solid.md +3 -0
  303. package/en-GB/intlayer_with_vite+svelte.md +3 -0
  304. package/en-GB/intlayer_with_vite+vue.md +993 -0
  305. package/en-GB/introduction.md +201 -0
  306. package/en-GB/mcp_server.md +150 -0
  307. package/en-GB/packages/@intlayer/api/index.md +31 -0
  308. package/en-GB/packages/@intlayer/chokidar/index.md +31 -0
  309. package/en-GB/packages/@intlayer/cli/index.md +21 -0
  310. package/en-GB/packages/@intlayer/config/index.md +116 -0
  311. package/en-GB/packages/@intlayer/core/index.md +25 -0
  312. package/en-GB/packages/@intlayer/design-system/index.md +21 -0
  313. package/en-GB/packages/@intlayer/dictionary-entry/index.md +21 -0
  314. package/en-GB/packages/@intlayer/editor/index.md +21 -0
  315. package/en-GB/packages/@intlayer/editor-react/index.md +21 -0
  316. package/en-GB/packages/@intlayer/webpack/index.md +35 -0
  317. package/en-GB/packages/angular-intlayer/index.md +3 -0
  318. package/en-GB/packages/express-intlayer/index.md +229 -0
  319. package/en-GB/packages/express-intlayer/t.md +432 -0
  320. package/en-GB/packages/intlayer/getConfiguration.md +120 -0
  321. package/en-GB/packages/intlayer/getEnumeration.md +140 -0
  322. package/en-GB/packages/intlayer/getHTMLTextDir.md +97 -0
  323. package/en-GB/packages/intlayer/getLocaleLang.md +57 -0
  324. package/en-GB/packages/intlayer/getLocaleName.md +93 -0
  325. package/en-GB/packages/intlayer/getLocalizedUrl.md +221 -0
  326. package/en-GB/packages/intlayer/getMultilingualUrls.md +198 -0
  327. package/en-GB/packages/intlayer/getPathWithoutLocale.md +50 -0
  328. package/en-GB/packages/intlayer/getTranslation.md +166 -0
  329. package/en-GB/packages/intlayer/getTranslationContent.md +166 -0
  330. package/en-GB/packages/intlayer/index.md +476 -0
  331. package/en-GB/packages/intlayer-cli/index.md +41 -0
  332. package/en-GB/packages/intlayer-editor/index.md +113 -0
  333. package/en-GB/packages/lynx-intlayer/index.md +58 -0
  334. package/en-GB/packages/next-intlayer/index.md +263 -0
  335. package/en-GB/packages/next-intlayer/t.md +326 -0
  336. package/en-GB/packages/next-intlayer/useDictionary.md +242 -0
  337. package/en-GB/packages/next-intlayer/useIntlayer.md +237 -0
  338. package/en-GB/packages/next-intlayer/useIntlayerAsync.md +211 -0
  339. package/en-GB/packages/next-intlayer/useLocale.md +105 -0
  340. package/en-GB/packages/preact-intlayer/index.md +3 -0
  341. package/en-GB/packages/react-intlayer/index.md +257 -0
  342. package/en-GB/packages/react-intlayer/t.md +277 -0
  343. package/en-GB/packages/react-intlayer/useDictionary.md +260 -0
  344. package/en-GB/packages/react-intlayer/useIntlayer.md +225 -0
  345. package/en-GB/packages/react-intlayer/useIntlayerAsync.md +226 -0
  346. package/en-GB/packages/react-intlayer/useLocale.md +184 -0
  347. package/en-GB/packages/react-native-intlayer/index.md +57 -0
  348. package/en-GB/packages/react-scripts-intlayer/index.md +57 -0
  349. package/en-GB/packages/solid-intlayer/index.md +3 -0
  350. package/en-GB/packages/svelte-intlayer/index.md +3 -0
  351. package/en-GB/packages/vite-intlayer/index.md +53 -0
  352. package/en-GB/packages/vue-intlayer/index.md +3 -0
  353. package/en-GB/per_locale_file.md +298 -0
  354. package/en-GB/privacy_notice.md +57 -0
  355. package/en-GB/roadmap.md +206 -0
  356. package/en-GB/terms_of_service.md +33 -0
  357. package/en-GB/vs_code_extension.md +139 -0
  358. package/es/CI_CD.md +149 -0
  359. package/es/autoFill.md +157 -0
  360. package/es/configuration.md +503 -0
  361. package/es/dictionary/condition.md +213 -0
  362. package/es/dictionary/content_extention_customization.md +81 -0
  363. package/es/dictionary/enumeration.md +221 -0
  364. package/es/dictionary/file.md +206 -0
  365. package/es/dictionary/function_fetching.md +190 -0
  366. package/es/dictionary/get_started.md +466 -0
  367. package/es/dictionary/insertion.md +161 -0
  368. package/es/dictionary/markdown.md +338 -0
  369. package/es/dictionary/nesting.md +249 -0
  370. package/es/dictionary/translation.md +287 -0
  371. package/es/header.md +5 -0
  372. package/es/how_works_intlayer.md +217 -0
  373. package/es/index.md +122 -0
  374. package/es/interest_of_intlayer.md +132 -0
  375. package/es/intlayer_CMS.md +334 -0
  376. package/es/intlayer_cli.md +274 -0
  377. package/es/intlayer_visual_editor.md +210 -0
  378. package/es/intlayer_with_angular.md +3 -0
  379. package/es/intlayer_with_create_react_app.md +1192 -0
  380. package/es/intlayer_with_express.md +276 -0
  381. package/es/intlayer_with_lynx+react.md +475 -0
  382. package/es/intlayer_with_nextjs_14.md +1258 -0
  383. package/es/intlayer_with_nextjs_15.md +1308 -0
  384. package/es/intlayer_with_nextjs_page_router.md +1088 -0
  385. package/es/intlayer_with_react_native+expo.md +180 -0
  386. package/es/intlayer_with_vite+preact.md +1637 -0
  387. package/es/intlayer_with_vite+react.md +1592 -0
  388. package/es/intlayer_with_vite+solid.md +3 -0
  389. package/es/intlayer_with_vite+svelte.md +3 -0
  390. package/es/intlayer_with_vite+vue.md +947 -0
  391. package/es/introduction.md +184 -0
  392. package/es/mcp_server.md +150 -0
  393. package/es/packages/@intlayer/api/index.md +31 -0
  394. package/es/packages/@intlayer/chokidar/index.md +31 -0
  395. package/es/packages/@intlayer/cli/index.md +21 -0
  396. package/es/packages/@intlayer/config/index.md +116 -0
  397. package/es/packages/@intlayer/core/index.md +25 -0
  398. package/es/packages/@intlayer/design-system/index.md +21 -0
  399. package/es/packages/@intlayer/dictionary-entry/index.md +21 -0
  400. package/es/packages/@intlayer/editor/index.md +21 -0
  401. package/es/packages/@intlayer/editor-react/index.md +21 -0
  402. package/es/packages/@intlayer/webpack/index.md +35 -0
  403. package/es/packages/angular-intlayer/index.md +3 -0
  404. package/es/packages/express-intlayer/index.md +229 -0
  405. package/es/packages/express-intlayer/t.md +432 -0
  406. package/es/packages/intlayer/getConfiguration.md +120 -0
  407. package/es/packages/intlayer/getEnumeration.md +138 -0
  408. package/es/packages/intlayer/getHTMLTextDir.md +97 -0
  409. package/es/packages/intlayer/getLocaleLang.md +57 -0
  410. package/es/packages/intlayer/getLocaleName.md +93 -0
  411. package/es/packages/intlayer/getLocalizedUrl.md +221 -0
  412. package/es/packages/intlayer/getMultilingualUrls.md +198 -0
  413. package/es/packages/intlayer/getPathWithoutLocale.md +50 -0
  414. package/es/packages/intlayer/getTranslation.md +166 -0
  415. package/es/packages/intlayer/getTranslationContent.md +166 -0
  416. package/es/packages/intlayer/index.md +478 -0
  417. package/es/packages/intlayer-cli/index.md +41 -0
  418. package/es/packages/intlayer-editor/index.md +115 -0
  419. package/es/packages/lynx-intlayer/index.md +58 -0
  420. package/es/packages/next-intlayer/index.md +263 -0
  421. package/es/packages/next-intlayer/t.md +325 -0
  422. package/es/packages/next-intlayer/useDictionary.md +242 -0
  423. package/es/packages/next-intlayer/useIntlayer.md +237 -0
  424. package/es/packages/next-intlayer/useIntlayerAsync.md +211 -0
  425. package/es/packages/next-intlayer/useLocale.md +105 -0
  426. package/es/packages/preact-intlayer/index.md +3 -0
  427. package/es/packages/react-intlayer/index.md +263 -0
  428. package/es/packages/react-intlayer/t.md +277 -0
  429. package/es/packages/react-intlayer/useDictionary.md +270 -0
  430. package/es/packages/react-intlayer/useIntlayer.md +225 -0
  431. package/es/packages/react-intlayer/useIntlayerAsync.md +226 -0
  432. package/es/packages/react-intlayer/useLocale.md +184 -0
  433. package/es/packages/react-native-intlayer/index.md +57 -0
  434. package/es/packages/react-scripts-intlayer/index.md +57 -0
  435. package/es/packages/solid-intlayer/index.md +3 -0
  436. package/es/packages/svelte-intlayer/index.md +5 -0
  437. package/es/packages/vite-intlayer/index.md +53 -0
  438. package/es/packages/vue-intlayer/index.md +3 -0
  439. package/es/per_locale_file.md +293 -0
  440. package/es/privacy_notice.md +61 -0
  441. package/es/roadmap.md +157 -0
  442. package/es/terms_of_service.md +33 -0
  443. package/es/vs_code_extension.md +139 -0
  444. package/fr/CI_CD.md +149 -0
  445. package/fr/autoFill.md +157 -0
  446. package/fr/configuration.md +481 -0
  447. package/fr/dictionary/condition.md +213 -0
  448. package/fr/dictionary/content_extention_customization.md +81 -0
  449. package/fr/dictionary/enumeration.md +221 -0
  450. package/fr/dictionary/file.md +206 -0
  451. package/fr/dictionary/function_fetching.md +190 -0
  452. package/fr/dictionary/get_started.md +466 -0
  453. package/fr/dictionary/insertion.md +161 -0
  454. package/fr/dictionary/markdown.md +335 -0
  455. package/fr/dictionary/nesting.md +249 -0
  456. package/fr/dictionary/translation.md +287 -0
  457. package/fr/header.md +5 -0
  458. package/fr/how_works_intlayer.md +217 -0
  459. package/fr/index.md +122 -0
  460. package/fr/interest_of_intlayer.md +132 -0
  461. package/fr/intlayer_CMS.md +334 -0
  462. package/fr/intlayer_cli.md +274 -0
  463. package/fr/intlayer_visual_editor.md +210 -0
  464. package/fr/intlayer_with_angular.md +3 -0
  465. package/fr/intlayer_with_create_react_app.md +1192 -0
  466. package/fr/intlayer_with_express.md +270 -0
  467. package/fr/intlayer_with_lynx+react.md +466 -0
  468. package/fr/intlayer_with_nextjs_14.md +1258 -0
  469. package/fr/intlayer_with_nextjs_15.md +1308 -0
  470. package/fr/intlayer_with_nextjs_page_router.md +1085 -0
  471. package/fr/intlayer_with_react_native+expo.md +535 -0
  472. package/fr/intlayer_with_vite+preact.md +1621 -0
  473. package/fr/intlayer_with_vite+react.md +1589 -0
  474. package/fr/intlayer_with_vite+solid.md +3 -0
  475. package/fr/intlayer_with_vite+svelte.md +3 -0
  476. package/fr/intlayer_with_vite+vue.md +947 -0
  477. package/fr/introduction.md +190 -0
  478. package/fr/mcp_server.md +152 -0
  479. package/fr/packages/@intlayer/api/index.md +31 -0
  480. package/fr/packages/@intlayer/chokidar/index.md +31 -0
  481. package/fr/packages/@intlayer/cli/index.md +21 -0
  482. package/fr/packages/@intlayer/config/index.md +116 -0
  483. package/fr/packages/@intlayer/core/index.md +25 -0
  484. package/fr/packages/@intlayer/design-system/index.md +21 -0
  485. package/fr/packages/@intlayer/dictionary-entry/index.md +21 -0
  486. package/fr/packages/@intlayer/editor/index.md +21 -0
  487. package/fr/packages/@intlayer/editor-react/index.md +21 -0
  488. package/fr/packages/@intlayer/webpack/index.md +35 -0
  489. package/fr/packages/angular-intlayer/index.md +3 -0
  490. package/fr/packages/express-intlayer/index.md +238 -0
  491. package/fr/packages/express-intlayer/t.md +432 -0
  492. package/fr/packages/intlayer/getConfiguration.md +120 -0
  493. package/fr/packages/intlayer/getEnumeration.md +138 -0
  494. package/fr/packages/intlayer/getHTMLTextDir.md +97 -0
  495. package/fr/packages/intlayer/getLocaleLang.md +57 -0
  496. package/fr/packages/intlayer/getLocaleName.md +93 -0
  497. package/fr/packages/intlayer/getLocalizedUrl.md +221 -0
  498. package/fr/packages/intlayer/getMultilingualUrls.md +198 -0
  499. package/fr/packages/intlayer/getPathWithoutLocale.md +50 -0
  500. package/fr/packages/intlayer/getTranslation.md +166 -0
  501. package/fr/packages/intlayer/getTranslationContent.md +166 -0
  502. package/fr/packages/intlayer/index.md +476 -0
  503. package/fr/packages/intlayer-cli/index.md +41 -0
  504. package/fr/packages/intlayer-editor/index.md +115 -0
  505. package/fr/packages/lynx-intlayer/index.md +58 -0
  506. package/fr/packages/next-intlayer/index.md +266 -0
  507. package/fr/packages/next-intlayer/t.md +325 -0
  508. package/fr/packages/next-intlayer/useDictionary.md +242 -0
  509. package/fr/packages/next-intlayer/useIntlayer.md +237 -0
  510. package/fr/packages/next-intlayer/useIntlayerAsync.md +211 -0
  511. package/fr/packages/next-intlayer/useLocale.md +105 -0
  512. package/fr/packages/preact-intlayer/index.md +3 -0
  513. package/fr/packages/react-intlayer/index.md +257 -0
  514. package/fr/packages/react-intlayer/t.md +277 -0
  515. package/fr/packages/react-intlayer/useDictionary.md +269 -0
  516. package/fr/packages/react-intlayer/useIntlayer.md +234 -0
  517. package/fr/packages/react-intlayer/useIntlayerAsync.md +226 -0
  518. package/fr/packages/react-intlayer/useLocale.md +184 -0
  519. package/fr/packages/react-native-intlayer/index.md +57 -0
  520. package/fr/packages/react-scripts-intlayer/index.md +57 -0
  521. package/fr/packages/solid-intlayer/index.md +3 -0
  522. package/fr/packages/svelte-intlayer/index.md +3 -0
  523. package/fr/packages/vite-intlayer/index.md +53 -0
  524. package/fr/packages/vue-intlayer/index.md +3 -0
  525. package/fr/per_locale_file.md +297 -0
  526. package/fr/privacy_notice.md +57 -0
  527. package/fr/roadmap.md +206 -0
  528. package/fr/terms_of_service.md +33 -0
  529. package/fr/vs_code_extension.md +139 -0
  530. package/hi/CI_CD.md +149 -0
  531. package/hi/autoFill.md +157 -0
  532. package/hi/configuration.md +509 -0
  533. package/hi/dictionary/condition.md +213 -0
  534. package/hi/dictionary/content_extention_customization.md +81 -0
  535. package/hi/dictionary/enumeration.md +221 -0
  536. package/hi/dictionary/file.md +209 -0
  537. package/hi/dictionary/function_fetching.md +188 -0
  538. package/hi/dictionary/get_started.md +490 -0
  539. package/hi/dictionary/insertion.md +167 -0
  540. package/hi/dictionary/markdown.md +344 -0
  541. package/hi/dictionary/nesting.md +249 -0
  542. package/hi/dictionary/translation.md +307 -0
  543. package/hi/header.md +7 -0
  544. package/hi/how_works_intlayer.md +217 -0
  545. package/hi/index.md +125 -0
  546. package/hi/interest_of_intlayer.md +132 -0
  547. package/hi/intlayer_CMS.md +334 -0
  548. package/hi/intlayer_cli.md +274 -0
  549. package/hi/intlayer_visual_editor.md +210 -0
  550. package/hi/intlayer_with_angular.md +3 -0
  551. package/hi/intlayer_with_create_react_app.md +1395 -0
  552. package/hi/intlayer_with_express.md +273 -0
  553. package/hi/intlayer_with_lynx+react.md +456 -0
  554. package/hi/intlayer_with_nextjs_14.md +1283 -0
  555. package/hi/intlayer_with_nextjs_15.md +1319 -0
  556. package/hi/intlayer_with_nextjs_page_router.md +1097 -0
  557. package/hi/intlayer_with_react_native+expo.md +554 -0
  558. package/hi/intlayer_with_vite+preact.md +1538 -0
  559. package/hi/intlayer_with_vite+react.md +1540 -0
  560. package/hi/intlayer_with_vite+solid.md +3 -0
  561. package/hi/intlayer_with_vite+svelte.md +3 -0
  562. package/hi/intlayer_with_vite+vue.md +840 -0
  563. package/hi/introduction.md +190 -0
  564. package/hi/mcp_server.md +150 -0
  565. package/hi/packages/@intlayer/api/index.md +31 -0
  566. package/hi/packages/@intlayer/chokidar/index.md +31 -0
  567. package/hi/packages/@intlayer/cli/index.md +21 -0
  568. package/hi/packages/@intlayer/config/index.md +116 -0
  569. package/hi/packages/@intlayer/core/index.md +25 -0
  570. package/hi/packages/@intlayer/design-system/index.md +21 -0
  571. package/hi/packages/@intlayer/dictionary-entry/index.md +21 -0
  572. package/hi/packages/@intlayer/editor/index.md +21 -0
  573. package/hi/packages/@intlayer/editor-react/index.md +21 -0
  574. package/hi/packages/@intlayer/webpack/index.md +35 -0
  575. package/hi/packages/angular-intlayer/index.md +3 -0
  576. package/hi/packages/express-intlayer/index.md +232 -0
  577. package/hi/packages/express-intlayer/t.md +445 -0
  578. package/hi/packages/intlayer/getConfiguration.md +120 -0
  579. package/hi/packages/intlayer/getEnumeration.md +138 -0
  580. package/hi/packages/intlayer/getHTMLTextDir.md +97 -0
  581. package/hi/packages/intlayer/getLocaleLang.md +57 -0
  582. package/hi/packages/intlayer/getLocaleName.md +93 -0
  583. package/hi/packages/intlayer/getLocalizedUrl.md +221 -0
  584. package/hi/packages/intlayer/getMultilingualUrls.md +198 -0
  585. package/hi/packages/intlayer/getPathWithoutLocale.md +50 -0
  586. package/hi/packages/intlayer/getTranslation.md +175 -0
  587. package/hi/packages/intlayer/getTranslationContent.md +175 -0
  588. package/hi/packages/intlayer/index.md +314 -0
  589. package/hi/packages/intlayer-cli/index.md +41 -0
  590. package/hi/packages/intlayer-editor/index.md +113 -0
  591. package/hi/packages/lynx-intlayer/index.md +58 -0
  592. package/hi/packages/next-intlayer/index.md +270 -0
  593. package/hi/packages/next-intlayer/t.md +337 -0
  594. package/hi/packages/next-intlayer/useDictionary.md +248 -0
  595. package/hi/packages/next-intlayer/useIntlayer.md +237 -0
  596. package/hi/packages/next-intlayer/useIntlayerAsync.md +211 -0
  597. package/hi/packages/next-intlayer/useLocale.md +105 -0
  598. package/hi/packages/preact-intlayer/index.md +3 -0
  599. package/hi/packages/react-intlayer/index.md +261 -0
  600. package/hi/packages/react-intlayer/t.md +283 -0
  601. package/hi/packages/react-intlayer/useDictionary.md +268 -0
  602. package/hi/packages/react-intlayer/useIntlayer.md +225 -0
  603. package/hi/packages/react-intlayer/useIntlayerAsync.md +226 -0
  604. package/hi/packages/react-intlayer/useLocale.md +184 -0
  605. package/hi/packages/react-native-intlayer/index.md +57 -0
  606. package/hi/packages/react-scripts-intlayer/index.md +57 -0
  607. package/hi/packages/solid-intlayer/index.md +3 -0
  608. package/hi/packages/svelte-intlayer/index.md +3 -0
  609. package/hi/packages/vite-intlayer/index.md +53 -0
  610. package/hi/packages/vue-intlayer/index.md +3 -0
  611. package/hi/per_locale_file.md +298 -0
  612. package/hi/privacy_notice.md +61 -0
  613. package/hi/roadmap.md +206 -0
  614. package/hi/terms_of_service.md +33 -0
  615. package/hi/vs_code_extension.md +139 -0
  616. package/index.cjs +1265 -0
  617. package/index.d.ts +100 -0
  618. package/it/CI_CD.md +149 -0
  619. package/it/autoFill.md +157 -0
  620. package/it/configuration.md +503 -0
  621. package/it/dictionary/condition.md +213 -0
  622. package/it/dictionary/content_extention_customization.md +81 -0
  623. package/it/dictionary/enumeration.md +221 -0
  624. package/it/dictionary/file.md +207 -0
  625. package/it/dictionary/function_fetching.md +190 -0
  626. package/it/dictionary/get_started.md +466 -0
  627. package/it/dictionary/insertion.md +161 -0
  628. package/it/dictionary/markdown.md +343 -0
  629. package/it/dictionary/nesting.md +249 -0
  630. package/it/dictionary/translation.md +287 -0
  631. package/it/header.md +7 -0
  632. package/it/how_works_intlayer.md +217 -0
  633. package/it/index.md +125 -0
  634. package/it/interest_of_intlayer.md +132 -0
  635. package/it/intlayer_CMS.md +334 -0
  636. package/it/intlayer_cli.md +274 -0
  637. package/it/intlayer_visual_editor.md +210 -0
  638. package/it/intlayer_with_angular.md +3 -0
  639. package/it/intlayer_with_create_react_app.md +413 -0
  640. package/it/intlayer_with_express.md +267 -0
  641. package/it/intlayer_with_lynx+react.md +482 -0
  642. package/it/intlayer_with_nextjs_14.md +1269 -0
  643. package/it/intlayer_with_nextjs_15.md +1319 -0
  644. package/it/intlayer_with_nextjs_page_router.md +1095 -0
  645. package/it/intlayer_with_react_native+expo.md +261 -0
  646. package/it/intlayer_with_vite+preact.md +1681 -0
  647. package/it/intlayer_with_vite+react.md +1580 -0
  648. package/it/intlayer_with_vite+solid.md +3 -0
  649. package/it/intlayer_with_vite+svelte.md +3 -0
  650. package/it/intlayer_with_vite+vue.md +989 -0
  651. package/it/introduction.md +192 -0
  652. package/it/mcp_server.md +152 -0
  653. package/it/packages/@intlayer/api/index.md +31 -0
  654. package/it/packages/@intlayer/chokidar/index.md +31 -0
  655. package/it/packages/@intlayer/cli/index.md +21 -0
  656. package/it/packages/@intlayer/config/index.md +116 -0
  657. package/it/packages/@intlayer/core/index.md +25 -0
  658. package/it/packages/@intlayer/design-system/index.md +21 -0
  659. package/it/packages/@intlayer/dictionary-entry/index.md +21 -0
  660. package/it/packages/@intlayer/editor/index.md +21 -0
  661. package/it/packages/@intlayer/editor-react/index.md +21 -0
  662. package/it/packages/@intlayer/webpack/index.md +35 -0
  663. package/it/packages/angular-intlayer/index.md +3 -0
  664. package/it/packages/express-intlayer/index.md +229 -0
  665. package/it/packages/express-intlayer/t.md +432 -0
  666. package/it/packages/intlayer/getConfiguration.md +120 -0
  667. package/it/packages/intlayer/getEnumeration.md +138 -0
  668. package/it/packages/intlayer/getHTMLTextDir.md +97 -0
  669. package/it/packages/intlayer/getLocaleLang.md +57 -0
  670. package/it/packages/intlayer/getLocaleName.md +93 -0
  671. package/it/packages/intlayer/getLocalizedUrl.md +221 -0
  672. package/it/packages/intlayer/getMultilingualUrls.md +200 -0
  673. package/it/packages/intlayer/getPathWithoutLocale.md +50 -0
  674. package/it/packages/intlayer/getTranslation.md +166 -0
  675. package/it/packages/intlayer/getTranslationContent.md +166 -0
  676. package/it/packages/intlayer/index.md +479 -0
  677. package/it/packages/intlayer-cli/index.md +41 -0
  678. package/it/packages/intlayer-editor/index.md +113 -0
  679. package/it/packages/lynx-intlayer/index.md +58 -0
  680. package/it/packages/next-intlayer/index.md +267 -0
  681. package/it/packages/next-intlayer/t.md +326 -0
  682. package/it/packages/next-intlayer/useDictionary.md +242 -0
  683. package/it/packages/next-intlayer/useIntlayer.md +237 -0
  684. package/it/packages/next-intlayer/useIntlayerAsync.md +211 -0
  685. package/it/packages/next-intlayer/useLocale.md +105 -0
  686. package/it/packages/preact-intlayer/index.md +3 -0
  687. package/it/packages/react-intlayer/index.md +260 -0
  688. package/it/packages/react-intlayer/t.md +277 -0
  689. package/it/packages/react-intlayer/useDictionary.md +260 -0
  690. package/it/packages/react-intlayer/useIntlayer.md +225 -0
  691. package/it/packages/react-intlayer/useIntlayerAsync.md +226 -0
  692. package/it/packages/react-intlayer/useLocale.md +184 -0
  693. package/it/packages/react-native-intlayer/index.md +57 -0
  694. package/it/packages/react-scripts-intlayer/index.md +57 -0
  695. package/it/packages/solid-intlayer/index.md +5 -0
  696. package/it/packages/svelte-intlayer/index.md +3 -0
  697. package/it/packages/vite-intlayer/index.md +53 -0
  698. package/it/packages/vue-intlayer/index.md +5 -0
  699. package/it/per_locale_file.md +298 -0
  700. package/it/privacy_notice.md +61 -0
  701. package/it/roadmap.md +206 -0
  702. package/it/terms_of_service.md +33 -0
  703. package/it/vs_code_extension.md +139 -0
  704. package/ja/CI_CD.md +149 -0
  705. package/ja/autoFill.md +157 -0
  706. package/ja/configuration.md +507 -0
  707. package/ja/dictionary/condition.md +213 -0
  708. package/ja/dictionary/content_extention_customization.md +81 -0
  709. package/ja/dictionary/enumeration.md +221 -0
  710. package/ja/dictionary/file.md +209 -0
  711. package/ja/dictionary/function_fetching.md +190 -0
  712. package/ja/dictionary/get_started.md +466 -0
  713. package/ja/dictionary/insertion.md +161 -0
  714. package/ja/dictionary/markdown.md +343 -0
  715. package/ja/dictionary/nesting.md +249 -0
  716. package/ja/dictionary/translation.md +287 -0
  717. package/ja/header.md +7 -0
  718. package/ja/how_works_intlayer.md +217 -0
  719. package/ja/index.md +125 -0
  720. package/ja/interest_of_intlayer.md +132 -0
  721. package/ja/intlayer_CMS.md +334 -0
  722. package/ja/intlayer_cli.md +274 -0
  723. package/ja/intlayer_visual_editor.md +213 -0
  724. package/ja/intlayer_with_angular.md +3 -0
  725. package/ja/intlayer_with_create_react_app.md +1186 -0
  726. package/ja/intlayer_with_express.md +267 -0
  727. package/ja/intlayer_with_lynx+react.md +482 -0
  728. package/ja/intlayer_with_nextjs_14.md +1256 -0
  729. package/ja/intlayer_with_nextjs_15.md +1308 -0
  730. package/ja/intlayer_with_nextjs_page_router.md +1085 -0
  731. package/ja/intlayer_with_react_native+expo.md +537 -0
  732. package/ja/intlayer_with_vite+preact.md +1601 -0
  733. package/ja/intlayer_with_vite+react.md +1555 -0
  734. package/ja/intlayer_with_vite+solid.md +3 -0
  735. package/ja/intlayer_with_vite+svelte.md +3 -0
  736. package/ja/intlayer_with_vite+vue.md +990 -0
  737. package/ja/introduction.md +186 -0
  738. package/ja/mcp_server.md +150 -0
  739. package/ja/packages/@intlayer/api/index.md +31 -0
  740. package/ja/packages/@intlayer/chokidar/index.md +31 -0
  741. package/ja/packages/@intlayer/cli/index.md +21 -0
  742. package/ja/packages/@intlayer/config/index.md +116 -0
  743. package/ja/packages/@intlayer/core/index.md +25 -0
  744. package/ja/packages/@intlayer/design-system/index.md +21 -0
  745. package/ja/packages/@intlayer/dictionary-entry/index.md +21 -0
  746. package/ja/packages/@intlayer/editor/index.md +21 -0
  747. package/ja/packages/@intlayer/editor-react/index.md +21 -0
  748. package/ja/packages/@intlayer/webpack/index.md +35 -0
  749. package/ja/packages/angular-intlayer/index.md +3 -0
  750. package/ja/packages/express-intlayer/index.md +229 -0
  751. package/ja/packages/express-intlayer/t.md +432 -0
  752. package/ja/packages/intlayer/getConfiguration.md +120 -0
  753. package/ja/packages/intlayer/getEnumeration.md +140 -0
  754. package/ja/packages/intlayer/getHTMLTextDir.md +97 -0
  755. package/ja/packages/intlayer/getLocaleLang.md +59 -0
  756. package/ja/packages/intlayer/getLocaleName.md +93 -0
  757. package/ja/packages/intlayer/getLocalizedUrl.md +221 -0
  758. package/ja/packages/intlayer/getMultilingualUrls.md +198 -0
  759. package/ja/packages/intlayer/getPathWithoutLocale.md +50 -0
  760. package/ja/packages/intlayer/getTranslation.md +166 -0
  761. package/ja/packages/intlayer/getTranslationContent.md +166 -0
  762. package/ja/packages/intlayer/index.md +479 -0
  763. package/ja/packages/intlayer-cli/index.md +41 -0
  764. package/ja/packages/intlayer-editor/index.md +115 -0
  765. package/ja/packages/lynx-intlayer/index.md +58 -0
  766. package/ja/packages/next-intlayer/index.md +263 -0
  767. package/ja/packages/next-intlayer/t.md +326 -0
  768. package/ja/packages/next-intlayer/useDictionary.md +242 -0
  769. package/ja/packages/next-intlayer/useIntlayer.md +237 -0
  770. package/ja/packages/next-intlayer/useIntlayerAsync.md +211 -0
  771. package/ja/packages/next-intlayer/useLocale.md +105 -0
  772. package/ja/packages/preact-intlayer/index.md +3 -0
  773. package/ja/packages/react-intlayer/index.md +257 -0
  774. package/ja/packages/react-intlayer/t.md +277 -0
  775. package/ja/packages/react-intlayer/useDictionary.md +260 -0
  776. package/ja/packages/react-intlayer/useIntlayer.md +225 -0
  777. package/ja/packages/react-intlayer/useIntlayerAsync.md +226 -0
  778. package/ja/packages/react-intlayer/useLocale.md +184 -0
  779. package/ja/packages/react-native-intlayer/index.md +57 -0
  780. package/ja/packages/react-scripts-intlayer/index.md +57 -0
  781. package/ja/packages/solid-intlayer/index.md +3 -0
  782. package/ja/packages/svelte-intlayer/index.md +3 -0
  783. package/ja/packages/vite-intlayer/index.md +53 -0
  784. package/ja/packages/vue-intlayer/index.md +3 -0
  785. package/ja/per_locale_file.md +298 -0
  786. package/ja/privacy_notice.md +57 -0
  787. package/ja/roadmap.md +206 -0
  788. package/ja/terms_of_service.md +33 -0
  789. package/ja/vs_code_extension.md +139 -0
  790. package/ko/CI_CD.md +149 -0
  791. package/ko/autoFill.md +157 -0
  792. package/ko/configuration.md +507 -0
  793. package/ko/dictionary/condition.md +213 -0
  794. package/ko/dictionary/content_extention_customization.md +81 -0
  795. package/ko/dictionary/enumeration.md +221 -0
  796. package/ko/dictionary/file.md +207 -0
  797. package/ko/dictionary/function_fetching.md +190 -0
  798. package/ko/dictionary/get_started.md +466 -0
  799. package/ko/dictionary/insertion.md +167 -0
  800. package/ko/dictionary/markdown.md +343 -0
  801. package/ko/dictionary/nesting.md +249 -0
  802. package/ko/dictionary/translation.md +287 -0
  803. package/ko/header.md +7 -0
  804. package/ko/how_works_intlayer.md +216 -0
  805. package/ko/index.md +125 -0
  806. package/ko/interest_of_intlayer.md +132 -0
  807. package/ko/intlayer_CMS.md +334 -0
  808. package/ko/intlayer_cli.md +274 -0
  809. package/ko/intlayer_visual_editor.md +210 -0
  810. package/ko/intlayer_with_angular.md +3 -0
  811. package/ko/intlayer_with_create_react_app.md +1186 -0
  812. package/ko/intlayer_with_express.md +267 -0
  813. package/ko/intlayer_with_lynx+react.md +482 -0
  814. package/ko/intlayer_with_nextjs_14.md +1267 -0
  815. package/ko/intlayer_with_nextjs_15.md +1319 -0
  816. package/ko/intlayer_with_nextjs_page_router.md +1097 -0
  817. package/ko/intlayer_with_react_native+expo.md +537 -0
  818. package/ko/intlayer_with_vite+preact.md +1682 -0
  819. package/ko/intlayer_with_vite+react.md +1582 -0
  820. package/ko/intlayer_with_vite+solid.md +3 -0
  821. package/ko/intlayer_with_vite+svelte.md +3 -0
  822. package/ko/intlayer_with_vite+vue.md +988 -0
  823. package/ko/introduction.md +186 -0
  824. package/ko/mcp_server.md +150 -0
  825. package/ko/packages/@intlayer/api/index.md +31 -0
  826. package/ko/packages/@intlayer/chokidar/index.md +31 -0
  827. package/ko/packages/@intlayer/cli/index.md +21 -0
  828. package/ko/packages/@intlayer/config/index.md +116 -0
  829. package/ko/packages/@intlayer/core/index.md +25 -0
  830. package/ko/packages/@intlayer/design-system/index.md +21 -0
  831. package/ko/packages/@intlayer/dictionary-entry/index.md +21 -0
  832. package/ko/packages/@intlayer/editor/index.md +21 -0
  833. package/ko/packages/@intlayer/editor-react/index.md +21 -0
  834. package/ko/packages/@intlayer/webpack/index.md +35 -0
  835. package/ko/packages/angular-intlayer/index.md +5 -0
  836. package/ko/packages/express-intlayer/index.md +229 -0
  837. package/ko/packages/express-intlayer/t.md +432 -0
  838. package/ko/packages/intlayer/getConfiguration.md +120 -0
  839. package/ko/packages/intlayer/getEnumeration.md +138 -0
  840. package/ko/packages/intlayer/getHTMLTextDir.md +97 -0
  841. package/ko/packages/intlayer/getLocaleLang.md +57 -0
  842. package/ko/packages/intlayer/getLocaleName.md +93 -0
  843. package/ko/packages/intlayer/getLocalizedUrl.md +221 -0
  844. package/ko/packages/intlayer/getMultilingualUrls.md +198 -0
  845. package/ko/packages/intlayer/getPathWithoutLocale.md +50 -0
  846. package/ko/packages/intlayer/getTranslation.md +166 -0
  847. package/ko/packages/intlayer/getTranslationContent.md +166 -0
  848. package/ko/packages/intlayer/index.md +480 -0
  849. package/ko/packages/intlayer-cli/index.md +41 -0
  850. package/ko/packages/intlayer-editor/index.md +113 -0
  851. package/ko/packages/lynx-intlayer/index.md +58 -0
  852. package/ko/packages/next-intlayer/index.md +267 -0
  853. package/ko/packages/next-intlayer/t.md +337 -0
  854. package/ko/packages/next-intlayer/useDictionary.md +242 -0
  855. package/ko/packages/next-intlayer/useIntlayer.md +237 -0
  856. package/ko/packages/next-intlayer/useIntlayerAsync.md +211 -0
  857. package/ko/packages/next-intlayer/useLocale.md +105 -0
  858. package/ko/packages/preact-intlayer/index.md +3 -0
  859. package/ko/packages/react-intlayer/index.md +260 -0
  860. package/ko/packages/react-intlayer/t.md +277 -0
  861. package/ko/packages/react-intlayer/useDictionary.md +268 -0
  862. package/ko/packages/react-intlayer/useIntlayer.md +225 -0
  863. package/ko/packages/react-intlayer/useIntlayerAsync.md +226 -0
  864. package/ko/packages/react-intlayer/useLocale.md +184 -0
  865. package/ko/packages/react-native-intlayer/index.md +57 -0
  866. package/ko/packages/react-scripts-intlayer/index.md +57 -0
  867. package/ko/packages/solid-intlayer/index.md +3 -0
  868. package/ko/packages/svelte-intlayer/index.md +3 -0
  869. package/ko/packages/vite-intlayer/index.md +53 -0
  870. package/ko/packages/vue-intlayer/index.md +3 -0
  871. package/ko/per_locale_file.md +300 -0
  872. package/ko/privacy_notice.md +61 -0
  873. package/ko/roadmap.md +206 -0
  874. package/ko/terms_of_service.md +33 -0
  875. package/ko/vs_code_extension.md +139 -0
  876. package/package.json +96 -0
  877. package/pt/CI_CD.md +149 -0
  878. package/pt/autoFill.md +157 -0
  879. package/pt/configuration.md +503 -0
  880. package/pt/dictionary/condition.md +213 -0
  881. package/pt/dictionary/content_extention_customization.md +81 -0
  882. package/pt/dictionary/enumeration.md +221 -0
  883. package/pt/dictionary/file.md +210 -0
  884. package/pt/dictionary/function_fetching.md +190 -0
  885. package/pt/dictionary/get_started.md +490 -0
  886. package/pt/dictionary/insertion.md +161 -0
  887. package/pt/dictionary/markdown.md +339 -0
  888. package/pt/dictionary/nesting.md +249 -0
  889. package/pt/dictionary/translation.md +322 -0
  890. package/pt/header.md +7 -0
  891. package/pt/how_works_intlayer.md +216 -0
  892. package/pt/index.md +125 -0
  893. package/pt/interest_of_intlayer.md +132 -0
  894. package/pt/intlayer_CMS.md +334 -0
  895. package/pt/intlayer_cli.md +274 -0
  896. package/pt/intlayer_visual_editor.md +210 -0
  897. package/pt/intlayer_with_angular.md +3 -0
  898. package/pt/intlayer_with_create_react_app.md +1204 -0
  899. package/pt/intlayer_with_express.md +270 -0
  900. package/pt/intlayer_with_lynx+react.md +467 -0
  901. package/pt/intlayer_with_nextjs_14.md +1269 -0
  902. package/pt/intlayer_with_nextjs_15.md +1319 -0
  903. package/pt/intlayer_with_nextjs_page_router.md +1109 -0
  904. package/pt/intlayer_with_react_native+expo.md +259 -0
  905. package/pt/intlayer_with_vite+preact.md +1663 -0
  906. package/pt/intlayer_with_vite+react.md +1621 -0
  907. package/pt/intlayer_with_vite+solid.md +3 -0
  908. package/pt/intlayer_with_vite+svelte.md +3 -0
  909. package/pt/intlayer_with_vite+vue.md +989 -0
  910. package/pt/introduction.md +193 -0
  911. package/pt/mcp_server.md +150 -0
  912. package/pt/packages/@intlayer/api/index.md +31 -0
  913. package/pt/packages/@intlayer/chokidar/index.md +31 -0
  914. package/pt/packages/@intlayer/cli/index.md +21 -0
  915. package/pt/packages/@intlayer/config/index.md +116 -0
  916. package/pt/packages/@intlayer/core/index.md +25 -0
  917. package/pt/packages/@intlayer/design-system/index.md +21 -0
  918. package/pt/packages/@intlayer/dictionary-entry/index.md +21 -0
  919. package/pt/packages/@intlayer/editor/index.md +21 -0
  920. package/pt/packages/@intlayer/editor-react/index.md +21 -0
  921. package/pt/packages/@intlayer/webpack/index.md +35 -0
  922. package/pt/packages/angular-intlayer/index.md +3 -0
  923. package/pt/packages/express-intlayer/index.md +232 -0
  924. package/pt/packages/express-intlayer/t.md +267 -0
  925. package/pt/packages/intlayer/getConfiguration.md +120 -0
  926. package/pt/packages/intlayer/getEnumeration.md +138 -0
  927. package/pt/packages/intlayer/getHTMLTextDir.md +97 -0
  928. package/pt/packages/intlayer/getLocaleLang.md +57 -0
  929. package/pt/packages/intlayer/getLocaleName.md +93 -0
  930. package/pt/packages/intlayer/getLocalizedUrl.md +221 -0
  931. package/pt/packages/intlayer/getMultilingualUrls.md +198 -0
  932. package/pt/packages/intlayer/getPathWithoutLocale.md +50 -0
  933. package/pt/packages/intlayer/getTranslation.md +175 -0
  934. package/pt/packages/intlayer/getTranslationContent.md +177 -0
  935. package/pt/packages/intlayer/index.md +484 -0
  936. package/pt/packages/intlayer-cli/index.md +41 -0
  937. package/pt/packages/intlayer-editor/index.md +113 -0
  938. package/pt/packages/lynx-intlayer/index.md +58 -0
  939. package/pt/packages/next-intlayer/index.md +270 -0
  940. package/pt/packages/next-intlayer/t.md +341 -0
  941. package/pt/packages/next-intlayer/useDictionary.md +248 -0
  942. package/pt/packages/next-intlayer/useIntlayer.md +237 -0
  943. package/pt/packages/next-intlayer/useIntlayerAsync.md +211 -0
  944. package/pt/packages/next-intlayer/useLocale.md +105 -0
  945. package/pt/packages/preact-intlayer/index.md +3 -0
  946. package/pt/packages/react-intlayer/index.md +261 -0
  947. package/pt/packages/react-intlayer/t.md +289 -0
  948. package/pt/packages/react-intlayer/useDictionary.md +268 -0
  949. package/pt/packages/react-intlayer/useIntlayer.md +225 -0
  950. package/pt/packages/react-intlayer/useIntlayerAsync.md +226 -0
  951. package/pt/packages/react-intlayer/useLocale.md +184 -0
  952. package/pt/packages/react-native-intlayer/index.md +57 -0
  953. package/pt/packages/react-scripts-intlayer/index.md +57 -0
  954. package/pt/packages/solid-intlayer/index.md +3 -0
  955. package/pt/packages/svelte-intlayer/index.md +3 -0
  956. package/pt/packages/vite-intlayer/index.md +53 -0
  957. package/pt/packages/vue-intlayer/index.md +3 -0
  958. package/pt/per_locale_file.md +298 -0
  959. package/pt/privacy_notice.md +61 -0
  960. package/pt/roadmap.md +206 -0
  961. package/pt/terms_of_service.md +33 -0
  962. package/pt/vs_code_extension.md +139 -0
  963. package/ru/CI_CD.md +149 -0
  964. package/ru/autoFill.md +157 -0
  965. package/ru/configuration.md +507 -0
  966. package/ru/dictionary/condition.md +213 -0
  967. package/ru/dictionary/content_extention_customization.md +81 -0
  968. package/ru/dictionary/enumeration.md +221 -0
  969. package/ru/dictionary/file.md +209 -0
  970. package/ru/dictionary/function_fetching.md +188 -0
  971. package/ru/dictionary/get_started.md +311 -0
  972. package/ru/dictionary/insertion.md +161 -0
  973. package/ru/dictionary/markdown.md +339 -0
  974. package/ru/dictionary/nesting.md +249 -0
  975. package/ru/dictionary/translation.md +322 -0
  976. package/ru/environment/angular.md +3 -0
  977. package/ru/header.md +7 -0
  978. package/ru/how_works_intlayer.md +217 -0
  979. package/ru/index.md +125 -0
  980. package/ru/interest_of_intlayer.md +132 -0
  981. package/ru/intlayer_CMS.md +334 -0
  982. package/ru/intlayer_cli.md +274 -0
  983. package/ru/intlayer_visual_editor.md +210 -0
  984. package/ru/intlayer_with_angular.md +3 -0
  985. package/ru/intlayer_with_create_react_app.md +1196 -0
  986. package/ru/intlayer_with_express.md +273 -0
  987. package/ru/intlayer_with_lynx+react.md +482 -0
  988. package/ru/intlayer_with_nextjs_14.md +1274 -0
  989. package/ru/intlayer_with_nextjs_15.md +1318 -0
  990. package/ru/intlayer_with_nextjs_page_router.md +1100 -0
  991. package/ru/intlayer_with_react_native+expo.md +537 -0
  992. package/ru/intlayer_with_vite+preact.md +1663 -0
  993. package/ru/intlayer_with_vite+react.md +1546 -0
  994. package/ru/intlayer_with_vite+solid.md +3 -0
  995. package/ru/intlayer_with_vite+svelte.md +3 -0
  996. package/ru/intlayer_with_vite+vue.md +987 -0
  997. package/ru/introduction.md +190 -0
  998. package/ru/mcp_server.md +152 -0
  999. package/ru/packages/@intlayer/api/index.md +31 -0
  1000. package/ru/packages/@intlayer/chokidar/index.md +31 -0
  1001. package/ru/packages/@intlayer/cli/index.md +23 -0
  1002. package/ru/packages/@intlayer/config/index.md +116 -0
  1003. package/ru/packages/@intlayer/core/index.md +25 -0
  1004. package/ru/packages/@intlayer/design-system/index.md +21 -0
  1005. package/ru/packages/@intlayer/dictionary-entry/index.md +21 -0
  1006. package/ru/packages/@intlayer/editor/index.md +21 -0
  1007. package/ru/packages/@intlayer/editor-react/index.md +21 -0
  1008. package/ru/packages/@intlayer/webpack/index.md +35 -0
  1009. package/ru/packages/angular-intlayer/index.md +3 -0
  1010. package/ru/packages/express-intlayer/index.md +235 -0
  1011. package/ru/packages/express-intlayer/t.md +445 -0
  1012. package/ru/packages/intlayer/getConfiguration.md +120 -0
  1013. package/ru/packages/intlayer/getEnumeration.md +140 -0
  1014. package/ru/packages/intlayer/getHTMLTextDir.md +97 -0
  1015. package/ru/packages/intlayer/getLocaleLang.md +59 -0
  1016. package/ru/packages/intlayer/getLocaleName.md +93 -0
  1017. package/ru/packages/intlayer/getLocalizedUrl.md +221 -0
  1018. package/ru/packages/intlayer/getMultilingualUrls.md +198 -0
  1019. package/ru/packages/intlayer/getPathWithoutLocale.md +50 -0
  1020. package/ru/packages/intlayer/getTranslation.md +177 -0
  1021. package/ru/packages/intlayer/getTranslationContent.md +175 -0
  1022. package/ru/packages/intlayer/index.md +275 -0
  1023. package/ru/packages/intlayer-cli/index.md +41 -0
  1024. package/ru/packages/intlayer-editor/index.md +115 -0
  1025. package/ru/packages/lynx-intlayer/index.md +58 -0
  1026. package/ru/packages/next-intlayer/index.md +267 -0
  1027. package/ru/packages/next-intlayer/t.md +340 -0
  1028. package/ru/packages/next-intlayer/useDictionary.md +248 -0
  1029. package/ru/packages/next-intlayer/useIntlayer.md +237 -0
  1030. package/ru/packages/next-intlayer/useIntlayerAsync.md +211 -0
  1031. package/ru/packages/next-intlayer/useLocale.md +105 -0
  1032. package/ru/packages/preact-intlayer/index.md +3 -0
  1033. package/ru/packages/react-intlayer/index.md +261 -0
  1034. package/ru/packages/react-intlayer/t.md +289 -0
  1035. package/ru/packages/react-intlayer/useDictionary.md +268 -0
  1036. package/ru/packages/react-intlayer/useIntlayer.md +225 -0
  1037. package/ru/packages/react-intlayer/useIntlayerAsync.md +226 -0
  1038. package/ru/packages/react-intlayer/useLocale.md +184 -0
  1039. package/ru/packages/react-native-intlayer/index.md +57 -0
  1040. package/ru/packages/react-scripts-intlayer/index.md +57 -0
  1041. package/ru/packages/solid-intlayer/index.md +3 -0
  1042. package/ru/packages/svelte-intlayer/index.md +3 -0
  1043. package/ru/packages/vite-intlayer/index.md +53 -0
  1044. package/ru/packages/vue-intlayer/index.md +3 -0
  1045. package/ru/per_locale_file.md +298 -0
  1046. package/ru/privacy_notice.md +61 -0
  1047. package/ru/roadmap.md +206 -0
  1048. package/ru/terms_of_service.md +33 -0
  1049. package/ru/vs_code_extension.md +139 -0
  1050. package/zh/CI_CD.md +149 -0
  1051. package/zh/autoFill.md +157 -0
  1052. package/zh/configuration.md +484 -0
  1053. package/zh/dictionary/condition.md +213 -0
  1054. package/zh/dictionary/content_extention_customization.md +81 -0
  1055. package/zh/dictionary/enumeration.md +221 -0
  1056. package/zh/dictionary/file.md +209 -0
  1057. package/zh/dictionary/function_fetching.md +188 -0
  1058. package/zh/dictionary/get_started.md +490 -0
  1059. package/zh/dictionary/insertion.md +161 -0
  1060. package/zh/dictionary/markdown.md +342 -0
  1061. package/zh/dictionary/nesting.md +249 -0
  1062. package/zh/dictionary/translation.md +287 -0
  1063. package/zh/header.md +7 -0
  1064. package/zh/how_works_intlayer.md +217 -0
  1065. package/zh/index.md +125 -0
  1066. package/zh/interest_of_intlayer.md +132 -0
  1067. package/zh/intlayer_CMS.md +334 -0
  1068. package/zh/intlayer_cli.md +274 -0
  1069. package/zh/intlayer_visual_editor.md +210 -0
  1070. package/zh/intlayer_with_angular.md +3 -0
  1071. package/zh/intlayer_with_create_react_app.md +1196 -0
  1072. package/zh/intlayer_with_express.md +267 -0
  1073. package/zh/intlayer_with_lynx+react.md +484 -0
  1074. package/zh/intlayer_with_nextjs_14.md +1286 -0
  1075. package/zh/intlayer_with_nextjs_15.md +1322 -0
  1076. package/zh/intlayer_with_nextjs_page_router.md +1097 -0
  1077. package/zh/intlayer_with_react_native+expo.md +539 -0
  1078. package/zh/intlayer_with_vite+preact.md +1681 -0
  1079. package/zh/intlayer_with_vite+react.md +1577 -0
  1080. package/zh/intlayer_with_vite+solid.md +3 -0
  1081. package/zh/intlayer_with_vite+svelte.md +3 -0
  1082. package/zh/intlayer_with_vite+vue.md +988 -0
  1083. package/zh/introduction.md +186 -0
  1084. package/zh/mcp_server.md +152 -0
  1085. package/zh/packages/@intlayer/api/index.md +31 -0
  1086. package/zh/packages/@intlayer/chokidar/index.md +31 -0
  1087. package/zh/packages/@intlayer/cli/index.md +21 -0
  1088. package/zh/packages/@intlayer/config/index.md +116 -0
  1089. package/zh/packages/@intlayer/core/index.md +25 -0
  1090. package/zh/packages/@intlayer/design-system/index.md +21 -0
  1091. package/zh/packages/@intlayer/dictionary-entry/index.md +21 -0
  1092. package/zh/packages/@intlayer/editor/index.md +21 -0
  1093. package/zh/packages/@intlayer/editor-react/index.md +21 -0
  1094. package/zh/packages/@intlayer/webpack/index.md +35 -0
  1095. package/zh/packages/angular-intlayer/index.md +3 -0
  1096. package/zh/packages/express-intlayer/index.md +229 -0
  1097. package/zh/packages/express-intlayer/t.md +432 -0
  1098. package/zh/packages/intlayer/getConfiguration.md +120 -0
  1099. package/zh/packages/intlayer/getEnumeration.md +140 -0
  1100. package/zh/packages/intlayer/getHTMLTextDir.md +97 -0
  1101. package/zh/packages/intlayer/getLocaleLang.md +57 -0
  1102. package/zh/packages/intlayer/getLocaleName.md +93 -0
  1103. package/zh/packages/intlayer/getLocalizedUrl.md +221 -0
  1104. package/zh/packages/intlayer/getMultilingualUrls.md +198 -0
  1105. package/zh/packages/intlayer/getPathWithoutLocale.md +50 -0
  1106. package/zh/packages/intlayer/getTranslation.md +166 -0
  1107. package/zh/packages/intlayer/getTranslationContent.md +166 -0
  1108. package/zh/packages/intlayer/index.md +360 -0
  1109. package/zh/packages/intlayer-cli/index.md +41 -0
  1110. package/zh/packages/intlayer-editor/index.md +113 -0
  1111. package/zh/packages/lynx-intlayer/index.md +60 -0
  1112. package/zh/packages/next-intlayer/index.md +267 -0
  1113. package/zh/packages/next-intlayer/t.md +338 -0
  1114. package/zh/packages/next-intlayer/useDictionary.md +242 -0
  1115. package/zh/packages/next-intlayer/useIntlayer.md +237 -0
  1116. package/zh/packages/next-intlayer/useIntlayerAsync.md +211 -0
  1117. package/zh/packages/next-intlayer/useLocale.md +105 -0
  1118. package/zh/packages/preact-intlayer/index.md +3 -0
  1119. package/zh/packages/react-intlayer/index.md +257 -0
  1120. package/zh/packages/react-intlayer/t.md +271 -0
  1121. package/zh/packages/react-intlayer/useDictionary.md +260 -0
  1122. package/zh/packages/react-intlayer/useIntlayer.md +225 -0
  1123. package/zh/packages/react-intlayer/useIntlayerAsync.md +226 -0
  1124. package/zh/packages/react-intlayer/useLocale.md +184 -0
  1125. package/zh/packages/react-native-intlayer/index.md +57 -0
  1126. package/zh/packages/react-scripts-intlayer/index.md +57 -0
  1127. package/zh/packages/solid-intlayer/index.md +3 -0
  1128. package/zh/packages/svelte-intlayer/index.md +3 -0
  1129. package/zh/packages/vite-intlayer/index.md +53 -0
  1130. package/zh/packages/vue-intlayer/index.md +3 -0
  1131. package/zh/per_locale_file.md +298 -0
  1132. package/zh/privacy_notice.md +61 -0
  1133. package/zh/roadmap.md +206 -0
  1134. package/zh/terms_of_service.md +33 -0
  1135. package/zh/vs_code_extension.md +139 -0
@@ -0,0 +1,1319 @@
1
+ # Getting Started internationalizing (i18n) with Intlayer and Next.js 15 App Router
2
+
3
+ <iframe title="The best i18n solution for Next.js? Discover Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/e_PPG7PTqGU?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
4
+
5
+ Vedi [Application Template](https://github.com/aymericzip/intlayer-next-15-template) su GitHub.
6
+
7
+ ## Che cos'è Intlayer?
8
+
9
+ **Intlayer** è una libreria open-source innovativa per l'internazionalizzazione (i18n) progettata per semplificare il supporto multilingue nelle applicazioni web moderne. Intlayer si integra perfettamente con l'ultimo framework **Next.js 15**, inclusa la sua potente **App Router**. È ottimizzato per funzionare con i **Server Components** per un rendering efficiente ed è completamente compatibile con [**Turbopack**](https://nextjs.org/docs/architecture/turbopack).
10
+
11
+ Con Intlayer, puoi:
12
+
13
+ - **Gestire facilmente le traduzioni** utilizzando dizionari dichiarativi a livello di componente.
14
+ - **Localizzare dinamicamente metadati**, percorsi e contenuti.
15
+ - **Accedere alle traduzioni sia nei componenti lato client che lato server**.
16
+ - **Garantire il supporto TypeScript** con tipi autogenerati, migliorando l'autocompletamento e il rilevamento degli errori.
17
+ - **Beneficiare di funzionalità avanzate**, come il rilevamento dinamico della lingua e il cambio di lingua.
18
+
19
+ > Intlayer è compatibile con Next.js 12, 13, 14 e 15. Se stai utilizzando Next.js Page Router, puoi fare riferimento a questa [guida](https://github.com/aymericzip/intlayer/blob/main/docs/it/intlayer_with_nextjs_page_router.md). Per Next.js 12, 13, 14 con App Router, fai riferimento a questa [guida](https://github.com/aymericzip/intlayer/blob/main/docs/it/intlayer_with_nextjs_14.md).
20
+
21
+ ---
22
+
23
+ ## Guida passo-passo per configurare Intlayer in un'applicazione Next.js
24
+
25
+ ### Passo 1: Installa le dipendenze
26
+
27
+ Installa i pacchetti necessari utilizzando npm:
28
+
29
+ ```bash packageManager="npm"
30
+ npm install intlayer next-intlayer
31
+ ```
32
+
33
+ ```bash packageManager="pnpm"
34
+ pnpm add intlayer next-intlayer
35
+ ```
36
+
37
+ ```bash packageManager="yarn"
38
+ yarn add intlayer next-intlayer
39
+ ```
40
+
41
+ - **intlayer**
42
+
43
+ Il pacchetto principale che fornisce strumenti di internazionalizzazione per la gestione della configurazione, traduzione, [dichiarazione dei contenuti](https://github.com/aymericzip/intlayer/blob/main/docs/it/dictionary/get_started.md), transpilation e [comandi CLI](https://github.com/aymericzip/intlayer/blob/main/docs/it/intlayer_cli.md).
44
+
45
+ - **next-intlayer**
46
+
47
+ Il pacchetto che integra Intlayer con Next.js. Fornisce provider di contesto e hook per l'internazionalizzazione di Next.js. Inoltre, include il plugin Next.js per integrare Intlayer con [Webpack](https://webpack.js.org/) o [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack), oltre a middleware per rilevare la lingua preferita dell'utente, gestire i cookie e gestire i reindirizzamenti URL.
48
+
49
+ ### Passo 2: Configura il tuo progetto
50
+
51
+ Crea un file di configurazione per configurare le lingue della tua applicazione:
52
+
53
+ ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
54
+ import { Locales, type IntlayerConfig } from "intlayer";
55
+
56
+ const config: IntlayerConfig = {
57
+ internationalization: {
58
+ locales: [
59
+ Locales.ENGLISH,
60
+ Locales.FRENCH,
61
+ Locales.SPANISH,
62
+ // Altre lingue
63
+ ],
64
+ defaultLocale: Locales.ENGLISH,
65
+ },
66
+ };
67
+
68
+ export default config;
69
+ ```
70
+
71
+ ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
72
+ import { Locales } from "intlayer";
73
+
74
+ /** @type {import('intlayer').IntlayerConfig} */
75
+ const config = {
76
+ internationalization: {
77
+ locales: [
78
+ Locales.ENGLISH,
79
+ Locales.FRENCH,
80
+ Locales.SPANISH,
81
+ // Altre lingue
82
+ ],
83
+ defaultLocale: Locales.ENGLISH,
84
+ },
85
+ };
86
+
87
+ export default config;
88
+ ```
89
+
90
+ ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
91
+ const { Locales } = require("intlayer");
92
+
93
+ /** @type {import('intlayer').IntlayerConfig} */
94
+ const config = {
95
+ internationalization: {
96
+ locales: [
97
+ Locales.ENGLISH,
98
+ Locales.FRENCH,
99
+ Locales.SPANISH,
100
+ // Altre lingue
101
+ ],
102
+ defaultLocale: Locales.ENGLISH,
103
+ },
104
+ };
105
+
106
+ module.exports = config;
107
+ ```
108
+
109
+ > Tramite questo file di configurazione, puoi configurare URL localizzati, reindirizzamenti middleware, nomi dei cookie, la posizione e l'estensione delle dichiarazioni dei contenuti, disabilitare i log di Intlayer nella console e altro ancora. Per un elenco completo dei parametri disponibili, fai riferimento alla [documentazione di configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/it/configuration.md).
110
+
111
+ ### Passo 3: Integra Intlayer nella configurazione di Next.js
112
+
113
+ Configura il tuo setup Next.js per utilizzare Intlayer:
114
+
115
+ ```typescript filename="next.config.ts" codeFormat="typescript"
116
+ import type { NextConfig } from "next";
117
+ import { withIntlayer } from "next-intlayer/server";
118
+
119
+ const nextConfig: NextConfig = {
120
+ /* opzioni di configurazione */
121
+ };
122
+
123
+ export default withIntlayer(nextConfig);
124
+ ```
125
+
126
+ ```typescript fileName="next.config.mjs" codeFormat="esm"
127
+ import { withIntlayer } from "next-intlayer/server";
128
+
129
+ /** @type {import('next').NextConfig} */
130
+ const nextConfig = {
131
+ /* opzioni di configurazione */
132
+ };
133
+
134
+ export default withIntlayer(nextConfig);
135
+ ```
136
+
137
+ ```typescript fileName="next.config.cjs" codeFormat="commonjs"
138
+ const { withIntlayer } = require("next-intlayer/server");
139
+
140
+ /** @type {import('next').NextConfig} */
141
+ const nextConfig = {
142
+ /* opzioni di configurazione */
143
+ };
144
+
145
+ module.exports = withIntlayer(nextConfig);
146
+ ```
147
+
148
+ > Il plugin `withIntlayer()` di Next.js viene utilizzato per integrare Intlayer con Next.js. Garantisce la creazione dei file di dichiarazione dei contenuti e li monitora in modalità sviluppo. Definisce le variabili d'ambiente di Intlayer all'interno degli ambienti [Webpack](https://webpack.js.org/) o [Turbopack](https://nextjs.org/docs/app/api-reference/turbopack). Inoltre, fornisce alias per ottimizzare le prestazioni e garantisce la compatibilità con i componenti server.
149
+
150
+ ### Passo 4: Definisci percorsi dinamici per le lingue
151
+
152
+ Rimuovi tutto da `RootLayout` e sostituiscilo con il seguente codice:
153
+
154
+ ```tsx {3} fileName="src/app/layout.tsx" codeFormat="typescript"
155
+ import type { PropsWithChildren, FC } from "react";
156
+ import "./globals.css";
157
+
158
+ const RootLayout: FC<PropsWithChildren> = ({ children }) => children;
159
+
160
+ export default RootLayout;
161
+ ```
162
+
163
+ ```jsx {3} fileName="src/app/layout.mjx" codeFormat="esm"
164
+ import "./globals.css";
165
+
166
+ const RootLayout = ({ children }) => children;
167
+
168
+ export default RootLayout;
169
+ ```
170
+
171
+ ```jsx {1,8} fileName="src/app/layout.csx" codeFormat="commonjs"
172
+ require("./globals.css");
173
+
174
+ const RootLayout = ({ children }) => children;
175
+
176
+ module.exports = {
177
+ default: RootLayout,
178
+ generateStaticParams,
179
+ };
180
+ ```
181
+
182
+ > Mantenere il componente `RootLayout` vuoto consente di impostare gli attributi [`lang`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/lang) e [`dir`](https://developer.mozilla.org/fr/docs/Web/HTML/Global_attributes/dir) sul tag `<html>`.
183
+
184
+ Per implementare il routing dinamico, fornisci il percorso per la lingua aggiungendo un nuovo layout nella tua directory `[locale]`:
185
+
186
+ ```tsx fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
187
+ import type { NextLayoutIntlayer } from "next-intlayer";
188
+ import { Inter } from "next/font/google";
189
+ import { getHTMLTextDir } from "intlayer";
190
+
191
+ const inter = Inter({ subsets: ["latin"] });
192
+
193
+ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
194
+ const { locale } = await params;
195
+ return (
196
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
197
+ <body className={inter.className}>{children}</body>
198
+ </html>
199
+ );
200
+ };
201
+
202
+ export default LocaleLayout;
203
+ ```
204
+
205
+ ```jsx fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
206
+ import { getHTMLTextDir } from "intlayer";
207
+
208
+ const inter = Inter({ subsets: ["latin"] });
209
+
210
+ const LocaleLayout = async ({ children, params: { locale } }) => {
211
+ const { locale } = await params;
212
+ return (
213
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
214
+ <body className={inter.className}>{children}</body>
215
+ </html>
216
+ );
217
+ };
218
+
219
+ export default LocaleLayout;
220
+ ```
221
+
222
+ ```jsx fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
223
+ const { Inter } = require("next/font/google");
224
+ const { getHTMLTextDir } = require("intlayer");
225
+
226
+ const inter = Inter({ subsets: ["latin"] });
227
+
228
+ const LocaleLayout = async ({ children, params: { locale } }) => {
229
+ const { locale } = await params;
230
+ return (
231
+ <html lang={locale} dir={getHTMLTextDir(locale)}>
232
+ <body className={inter.className}>{children}</body>
233
+ </html>
234
+ );
235
+ };
236
+
237
+ module.exports = LocaleLayout;
238
+ ```
239
+
240
+ > Il segmento di percorso `[locale]` viene utilizzato per definire la lingua. Esempio: `/en-US/about` si riferirà a `en-US` e `/fr/about` a `fr`.
241
+
242
+ Poi, implementa la funzione `generateStaticParams` nel layout della tua applicazione.
243
+
244
+ ```tsx {1} fileName="src/app/[locale]/layout.tsx" codeFormat="typescript"
245
+ export { generateStaticParams } from "next-intlayer"; // Riga da inserire
246
+
247
+ const LocaleLayout: NextLayoutIntlayer = async ({ children, params }) => {
248
+ /*... Resto del codice*/
249
+ };
250
+
251
+ export default LocaleLayout;
252
+ ```
253
+
254
+ ```jsx {1} fileName="src/app/[locale]/layout.mjx" codeFormat="esm"
255
+ export { generateStaticParams } from "next-intlayer"; // Riga da inserire
256
+
257
+ const LocaleLayout = async ({ children, params: { locale } }) => {
258
+ /*... Resto del codice*/
259
+ };
260
+
261
+ // ... Resto del codice
262
+ ```
263
+
264
+ ```jsx {1,7} fileName="src/app/[locale]/layout.csx" codeFormat="commonjs"
265
+ const { generateStaticParams } = require("next-intlayer"); // Riga da inserire
266
+
267
+ const LocaleLayout = async ({ children, params: { locale } }) => {
268
+ /*... Resto del codice*/
269
+ };
270
+
271
+ module.exports = { default: LocaleLayout, generateStaticParams };
272
+ ```
273
+
274
+ > `generateStaticParams` garantisce che la tua applicazione pre-costruisca le pagine necessarie per tutte le lingue, riducendo il calcolo a runtime e migliorando l'esperienza utente. Per maggiori dettagli, fai riferimento alla [documentazione di Next.js su generateStaticParams](https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic-rendering#generate-static-params).
275
+
276
+ ### Passo 5: Dichiara i tuoi contenuti
277
+
278
+ Crea e gestisci le dichiarazioni dei tuoi contenuti per memorizzare le traduzioni:
279
+
280
+ ```tsx fileName="src/app/[locale]/page.content.ts" contentDeclarationFormat="typescript"
281
+ import { t, type Dictionary } from "intlayer";
282
+
283
+ const pageContent = {
284
+ key: "page",
285
+ content: {
286
+ getStarted: {
287
+ main: t({
288
+ en: "Get started by editing",
289
+ fr: "Commencez par éditer",
290
+ es: "Comience por editar",
291
+ it: "Inizia modificando",
292
+ }),
293
+ pageLink: "src/app/page.tsx",
294
+ },
295
+ },
296
+ } satisfies Dictionary;
297
+
298
+ export default pageContent;
299
+ ```
300
+
301
+ ```javascript fileName="src/app/[locale]/page.content.mjs" contentDeclarationFormat="esm"
302
+ import { t } from "intlayer";
303
+
304
+ /** @type {import('intlayer').Dictionary} */
305
+ const pageContent = {
306
+ key: "page",
307
+ content: {
308
+ getStarted: {
309
+ main: t({
310
+ en: "Get started by editing",
311
+ fr: "Commencez par éditer",
312
+ es: "Comience por editar",
313
+ it: "Inizia modificando",
314
+ }),
315
+ pageLink: "src/app/page.tsx",
316
+ },
317
+ },
318
+ };
319
+
320
+ export default pageContent;
321
+ ```
322
+
323
+ ```javascript fileName="src/app/[locale]/page.content.cjs" contentDeclarationFormat="commonjs"
324
+ const { t } = require("intlayer");
325
+
326
+ /** @type {import('intlayer').Dictionary} */
327
+ const pageContent = {
328
+ key: "page",
329
+ content: {
330
+ getStarted: {
331
+ main: t({
332
+ en: "Get started by editing",
333
+ fr: "Commencez par éditer",
334
+ es: "Comience por editar",
335
+ it: "Inizia modificando",
336
+ }),
337
+ pageLink: "src/app/page.tsx",
338
+ },
339
+ },
340
+ };
341
+
342
+ module.exports = pageContent;
343
+ ```
344
+
345
+ ```json fileName="src/app/[locale]/page.content.json" contentDeclarationFormat="json"
346
+ {
347
+ "$schema": "https://intlayer.org/schema.json",
348
+ "key": "page",
349
+ "content": {
350
+ "getStarted": {
351
+ "nodeType": "translation",
352
+ "translation": {
353
+ "en": "Get started by editing",
354
+ "fr": "Commencez par éditer",
355
+ "es": "Comience por editar",
356
+ "it": "Inizia modificando"
357
+ }
358
+ },
359
+ "pageLink": {
360
+ "nodeType": "translation",
361
+ "translation": {
362
+ "en": "src/app/page.tsx",
363
+ "fr": "src/app/page.tsx",
364
+ "es": "src/app/page.tsx",
365
+ "it": "src/app/page.tsx"
366
+ }
367
+ }
368
+ }
369
+ }
370
+ ```
371
+
372
+ > Le dichiarazioni dei tuoi contenuti possono essere definite ovunque nella tua applicazione purché siano incluse nella directory `contentDir` (di default, `./src`). E corrispondano all'estensione del file di dichiarazione dei contenuti (di default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
373
+
374
+ > Per maggiori dettagli, fai riferimento alla [documentazione sulla dichiarazione dei contenuti](https://github.com/aymericzip/intlayer/blob/main/docs/it/dictionary/get_started.md).
375
+
376
+ ### Passo 6: Utilizza i contenuti nel tuo codice
377
+
378
+ Accedi ai tuoi dizionari di contenuti in tutta l'applicazione:
379
+
380
+ ```tsx fileName="src/app/[locale]/page.tsx" codeFormat="typescript"
381
+ import type { FC } from "react";
382
+ import { ClientComponentExample } from "@components/ClientComponentExample";
383
+ import { ServerComponentExample } from "@components/ServerComponentExample";
384
+ import { type NextPageIntlayer, IntlayerClientProvider } from "next-intlayer";
385
+ import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
386
+
387
+ const PageContent: FC = () => {
388
+ const content = useIntlayer("page");
389
+
390
+ return (
391
+ <>
392
+ <p>{content.getStarted.main}</p>
393
+ <code>{content.getStarted.pageLink}</code>
394
+ </>
395
+ );
396
+ };
397
+
398
+ const Page: NextPageIntlayer = async ({ params }) => {
399
+ const { locale } = await params;
400
+
401
+ return (
402
+ <IntlayerServerProvider locale={locale}>
403
+ <PageContent />
404
+ <ServerComponentExample />
405
+
406
+ <IntlayerClientProvider locale={locale}>
407
+ <ClientComponentExample />
408
+ </IntlayerClientProvider>
409
+ </IntlayerServerProvider>
410
+ );
411
+ };
412
+
413
+ export default Page;
414
+ ```
415
+
416
+ ```jsx fileName="src/app/[locale]/page.mjx" codeFormat="esm"
417
+ import { ClientComponentExample } from "@components/ClientComponentExample";
418
+ import { ServerComponentExample } from "@components/ServerComponentExample";
419
+ import { IntlayerClientProvider } from "next-intlayer";
420
+ import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
421
+
422
+ const PageContent = () => {
423
+ const content = useIntlayer("page");
424
+
425
+ return (
426
+ <>
427
+ <p>{content.getStarted.main}</p>
428
+ <code>{content.getStarted.pageLink}</code>
429
+ </>
430
+ );
431
+ };
432
+
433
+ const Page = async ({ params }) => {
434
+ const { locale } = await params;
435
+
436
+ return (
437
+ <IntlayerServerProvider locale={locale}>
438
+ <PageContent />
439
+ <ServerComponentExample />
440
+
441
+ <IntlayerClientProvider locale={locale}>
442
+ <ClientComponentExample />
443
+ </IntlayerClientProvider>
444
+ </IntlayerServerProvider>
445
+ );
446
+ };
447
+
448
+ export default Page;
449
+ ```
450
+
451
+ ```jsx fileName="src/app/[locale]/page.csx" codeFormat="commonjs"
452
+ import { ClientComponentExample } from "@components/ClientComponentExample";
453
+ import { ServerComponentExample } from "@components/ServerComponentExample";
454
+ import { IntlayerClientProvider } from "next-intlayer";
455
+ import { IntlayerServerProvider, useIntlayer } from "next-intlayer/server";
456
+
457
+ const PageContent = () => {
458
+ const content = useIntlayer("page");
459
+
460
+ return (
461
+ <>
462
+ <p>{content.getStarted.main}</p>
463
+ <code>{content.getStarted.pageLink}</code>
464
+ </>
465
+ );
466
+ };
467
+
468
+ const Page = async ({ params }) => {
469
+ const { locale } = await params;
470
+
471
+ return (
472
+ <IntlayerServerProvider locale={locale}>
473
+ <PageContent />
474
+ <ServerComponentExample />
475
+
476
+ <IntlayerClientProvider locale={locale}>
477
+ <ClientComponentExample />
478
+ </IntlayerClientProvider>
479
+ </IntlayerServerProvider>
480
+ );
481
+ };
482
+ ```
483
+
484
+ - **`IntlayerClientProvider`** viene utilizzato per fornire la lingua ai componenti lato client. Può essere posizionato in qualsiasi componente genitore, incluso il layout. Tuttavia, è consigliato posizionarlo in un layout perché Next.js condivide il codice del layout tra le pagine, rendendolo più efficiente. Utilizzando `IntlayerClientProvider` nel layout, eviti di inizializzarlo nuovamente per ogni pagina, migliorando le prestazioni e mantenendo un contesto di localizzazione coerente in tutta l'applicazione.
485
+ - **`IntlayerServerProvider`** viene utilizzato per fornire la lingua ai figli lato server. Non può essere impostato nel layout.
486
+
487
+ > Layout e pagina non possono condividere un contesto server comune perché il sistema di contesto server si basa su un archivio dati per richiesta (tramite il meccanismo [React’s cache](https://react.dev/reference/react/cache)), causando la ricreazione di ogni "contesto" per segmenti diversi dell'applicazione. Posizionare il provider in un layout condiviso interromperebbe questo isolamento, impedendo la corretta propagazione dei valori del contesto server ai tuoi componenti server.
488
+
489
+ ```tsx {4,7} fileName="src/components/ClientComponentExample.tsx" codeFormat="typescript"
490
+ "use client";
491
+
492
+ import type { FC } from "react";
493
+ import { useIntlayer } from "next-intlayer";
494
+
495
+ export const ClientComponentExample: FC = () => {
496
+ const content = useIntlayer("client-component-example"); // Crea dichiarazione dei contenuti correlata
497
+
498
+ return (
499
+ <div>
500
+ <h2>{content.title}</h2>
501
+ <p>{content.content}</p>
502
+ </div>
503
+ );
504
+ };
505
+ ```
506
+
507
+ ```jsx {3,6} fileName="src/components/ClientComponentExample.mjx" codeFormat="esm"
508
+ "use client";
509
+
510
+ import { useIntlayer } from "next-intlayer";
511
+
512
+ const ClientComponentExample = () => {
513
+ const content = useIntlayer("client-component-example"); // Crea dichiarazione dei contenuti correlata
514
+
515
+ return (
516
+ <div>
517
+ <h2>{content.title}</h2>
518
+ <p>{content.content}</p>
519
+ </div>
520
+ );
521
+ };
522
+ ```
523
+
524
+ ```jsx {3,6} fileName="src/components/ClientComponentExample.csx" codeFormat="commonjs"
525
+ "use client";
526
+
527
+ const { useIntlayer } = require("next-intlayer");
528
+
529
+ const ClientComponentExample = () => {
530
+ const content = useIntlayer("client-component-example"); // Crea dichiarazione dei contenuti correlata
531
+
532
+ return (
533
+ <div>
534
+ <h2>{content.title}</h2>
535
+ <p>{content.content}</p>
536
+ </div>
537
+ );
538
+ };
539
+ ```
540
+
541
+ ```tsx {2} fileName="src/components/ServerComponentExample.tsx" codeFormat="typescript"
542
+ import type { FC } from "react";
543
+ import { useIntlayer } from "next-intlayer/server";
544
+
545
+ export const ServerComponentExample: FC = () => {
546
+ const content = useIntlayer("server-component-example"); // Crea dichiarazione dei contenuti correlata
547
+
548
+ return (
549
+ <div>
550
+ <h2>{content.title}</h2>
551
+ <p>{content.content}</p>
552
+ </div>
553
+ );
554
+ };
555
+ ```
556
+
557
+ ```jsx {1} fileName="src/components/ServerComponentExample.mjx" codeFormat="esm"
558
+ import { useIntlayer } from "next-intlayer/server";
559
+
560
+ const ServerComponentExample = () => {
561
+ const content = useIntlayer("server-component-example"); // Crea dichiarazione dei contenuti correlata
562
+
563
+ return (
564
+ <div>
565
+ <h2>{content.title}</h2>
566
+ <p>{content.content}</p>
567
+ </div>
568
+ );
569
+ };
570
+ ```
571
+
572
+ ```jsx {1} fileName="src/components/ServerComponentExample.csx" codeFormat="commonjs"
573
+ const { useIntlayer } = require("next-intlayer/server");
574
+
575
+ const ServerComponentExample = () => {
576
+ const content = useIntlayer("server-component-example"); // Crea dichiarazione dei contenuti correlata
577
+
578
+ return (
579
+ <div>
580
+ <h2>{content.title}</h2>
581
+ <p>{content.content}</p>
582
+ </div>
583
+ );
584
+ };
585
+ ```
586
+
587
+ > Se desideri utilizzare i tuoi contenuti in un attributo `string`, come `alt`, `title`, `href`, `aria-label`, ecc., devi chiamare il valore della funzione, come:
588
+
589
+ > ```jsx
590
+ >
591
+ > ```
592
+
593
+ > <img src={content.image.src.value} alt={content.image.value} />
594
+
595
+ > ```
596
+ >
597
+ > ```
598
+
599
+ > Per saperne di più sull'hook `useIntlayer`, fai riferimento alla [documentazione](https://github.com/aymericzip/intlayer/blob/main/docs/it/packages/next-intlayer/useIntlayer.md).
600
+
601
+ ### (Opzionale) Passo 7: Configura Middleware per il rilevamento della lingua
602
+
603
+ Configura il middleware per rilevare la lingua preferita dell'utente:
604
+
605
+ ```typescript fileName="src/middleware.ts" codeFormat="typescript"
606
+ export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
607
+
608
+ export const config = {
609
+ matcher:
610
+ "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
611
+ };
612
+ ```
613
+
614
+ ```javascript fileName="src/middleware.mjs" codeFormat="esm"
615
+ export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
616
+
617
+ export const config = {
618
+ matcher:
619
+ "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
620
+ };
621
+ ```
622
+
623
+ ```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
624
+ const { intlayerMiddleware } = require("next-intlayer/middleware");
625
+
626
+ const config = {
627
+ matcher:
628
+ "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
629
+ };
630
+
631
+ module.exports = { middleware: intlayerMiddleware, config };
632
+ ```
633
+
634
+ > Il `intlayerMiddleware` viene utilizzato per rilevare la lingua preferita dell'utente e reindirizzarlo all'URL appropriato come specificato nella [configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/it/configuration.md). Inoltre, consente di salvare la lingua preferita dell'utente in un cookie.
635
+
636
+ ### (Opzionale) Passo 8: Internazionalizzazione dei tuoi metadati
637
+
638
+ Nel caso in cui desideri internazionalizzare i tuoi metadati, come il titolo della tua pagina, puoi utilizzare la funzione `generateMetadata` fornita da Next.js. All'interno della funzione utilizza la funzione `getTranslation` per tradurre i tuoi metadati.
639
+
640
+ ````typescript fileName="src/app/[locale]/layout.tsx or src/app/[locale]/page.tsx" codeFormat="typescript"
641
+ import {
642
+ type IConfigLocales,
643
+ getTranslation,
644
+ getMultilingualUrls,
645
+ } from "intlayer";
646
+ import type { Metadata } from "next";
647
+ import type { LocalPromiseParams } from "next-intlayer";
648
+
649
+ export const generateMetadata = async ({
650
+ params,
651
+ }: LocalPromiseParams): Promise<Metadata> => {
652
+ const { locale } = await params;
653
+ const t = <T>(content: IConfigLocales<T>) => getTranslation(content, locale);
654
+
655
+ /**
656
+ * Genera un oggetto contenente tutti gli URL per ogni lingua.
657
+ *
658
+ * Esempio:
659
+ * ```ts
660
+ * getMultilingualUrls('/about');
661
+ *
662
+ * // Restituisce
663
+ * // {
664
+ * // en: '/about',
665
+ * // fr: '/fr/about',
666
+ * // es: '/es/about',
667
+ * // }
668
+ * ```
669
+ */
670
+ const multilingualUrls = getMultilingualUrls("/");
671
+
672
+ return {
673
+ title: t<string>({
674
+ en: "My title",
675
+ fr: "Mon titre",
676
+ es: "Mi título",
677
+ it: "Il mio titolo",
678
+ }),
679
+ description: t({
680
+ en: "My description",
681
+ fr: "Ma description",
682
+ es: "Mi descripción",
683
+ it: "La mia descrizione",
684
+ }),
685
+ alternates: {
686
+ canonical: multilingualUrls[locale as keyof typeof multilingualUrls],
687
+ languages: { ...multilingualUrls, "x-default": "/" },
688
+ },
689
+ openGraph: {
690
+ url: multilingualUrls[locale],
691
+ },
692
+ };
693
+ };
694
+
695
+ // ... Resto del codice
696
+ ````
697
+
698
+ ````javascript fileName="src/app/[locale]/layout.mjs or src/app/[locale]/page.mjs" codeFormat="esm"
699
+ import { getTranslation, getMultilingualUrls } from "intlayer";
700
+
701
+ export const generateMetadata = async ({ params }) => {
702
+ const { locale } = await params;
703
+ const t = (content) => getTranslation(content, locale);
704
+
705
+ /**
706
+ * Genera un oggetto contenente tutti gli URL per ogni lingua.
707
+ *
708
+ * Esempio:
709
+ * ```ts
710
+ * getMultilingualUrls('/about');
711
+ *
712
+ * // Restituisce
713
+ * // {
714
+ * // en: '/about',
715
+ * // fr: '/fr/about',
716
+ * // es: '/es/about'
717
+ * // }
718
+ * ```
719
+ */
720
+ const multilingualUrls = getMultilingualUrls("/");
721
+
722
+ return {
723
+ title: t({
724
+ en: "My title",
725
+ fr: "Mon titre",
726
+ es: "Mi título",
727
+ it: "Il mio titolo",
728
+ }),
729
+ description: t({
730
+ en: "My description",
731
+ fr: "Ma description",
732
+ es: "Mi descripción",
733
+ it: "La mia descrizione",
734
+ }),
735
+ alternates: {
736
+ canonical: multilingualUrls[locale],
737
+ languages: { ...multilingualUrls, "x-default": "/" },
738
+ },
739
+ openGraph: {
740
+ url: multilingualUrls[locale],
741
+ },
742
+ };
743
+ };
744
+
745
+ // ... Resto del codice
746
+ ````
747
+
748
+ ````javascript fileName="src/app/[locale]/layout.cjs or src/app/[locale]/page.cjs" codeFormat="commonjs"
749
+ const { getTranslation, getMultilingualUrls } = require("intlayer");
750
+
751
+ const generateMetadata = async ({ params }) => {
752
+ const { locale } = await params;
753
+
754
+ const t = (content) => getTranslation(content, locale);
755
+
756
+ /**
757
+ * Genera un oggetto contenente tutti gli URL per ogni lingua.
758
+ *
759
+ * Esempio:
760
+ * ```ts
761
+ * getMultilingualUrls('/about');
762
+ *
763
+ * // Restituisce
764
+ * // {
765
+ * // en: '/about',
766
+ * // fr: '/fr/about',
767
+ * // es: '/es/about'
768
+ * // }
769
+ * ```
770
+ */
771
+ const multilingualUrls = getMultilingualUrls("/");
772
+
773
+ return {
774
+ title: t({
775
+ en: "My title",
776
+ fr: "Mon titre",
777
+ es: "Mi título",
778
+ it: "Il mio titolo",
779
+ }),
780
+ description: t({
781
+ en: "My description",
782
+ fr: "Ma description",
783
+ es: "Mi descripción",
784
+ it: "La mia descrizione",
785
+ }),
786
+ alternates: {
787
+ canonical: multilingualUrls[locale],
788
+ languages: { ...multilingualUrls, "x-default": "/" },
789
+ },
790
+ openGraph: {
791
+ url: multilingualUrls[locale],
792
+ },
793
+ };
794
+ };
795
+
796
+ module.exports = { generateMetadata };
797
+
798
+ // ... Resto del codice
799
+ ````
800
+
801
+ > Per saperne di più sull'ottimizzazione dei metadati [nella documentazione ufficiale di Next.js](https://nextjs.org/docs/app/building-your-application/optimizing/metadata).
802
+
803
+ ### (Opzionale) Passo 9: Internazionalizzazione del tuo sitemap.xml e robots.txt
804
+
805
+ Per internazionalizzare il tuo `sitemap.xml` e `robots.txt`, puoi utilizzare la funzione `getMultilingualUrls` fornita da Intlayer. Questa funzione ti consente di generare URL multilingue per il tuo sitemap.
806
+
807
+ ```tsx fileName="src/app/sitemap.ts" codeFormat="typescript"
808
+ import { getMultilingualUrls } from "intlayer";
809
+ import type { MetadataRoute } from "next";
810
+
811
+ const sitemap = (): MetadataRoute.Sitemap => [
812
+ {
813
+ url: "https://example.com",
814
+ alternates: {
815
+ languages: { ...getMultilingualUrls("https://example.com") },
816
+ },
817
+ },
818
+ {
819
+ url: "https://example.com/login",
820
+ alternates: {
821
+ languages: { ...getMultilingualUrls("https://example.com/login") },
822
+ },
823
+ },
824
+ {
825
+ url: "https://example.com/register",
826
+ alternates: {
827
+ languages: { ...getMultilingualUrls("https://example.com/register") },
828
+ },
829
+ },
830
+ ];
831
+
832
+ export default sitemap;
833
+ ```
834
+
835
+ ```jsx fileName="src/app/sitemap.mjx" codeFormat="esm"
836
+ import { getMultilingualUrls } from "intlayer";
837
+
838
+ const sitemap = () => [
839
+ {
840
+ url: "https://example.com",
841
+ alternates: {
842
+ languages: { ...getMultilingualUrls("https://example.com") },
843
+ },
844
+ },
845
+ {
846
+ url: "https://example.com/login",
847
+ alternates: {
848
+ languages: { ...getMultilingualUrls("https://example.com/login") },
849
+ },
850
+ },
851
+ {
852
+ url: "https://example.com/register",
853
+ alternates: {
854
+ languages: { ...getMultilingualUrls("https://example.com/register") },
855
+ },
856
+ },
857
+ ];
858
+
859
+ export default sitemap;
860
+ ```
861
+
862
+ ```jsx fileName="src/app/sitemap.csx" codeFormat="commonjs"
863
+ const { getMultilingualUrls } = require("intlayer");
864
+
865
+ const sitemap = () => [
866
+ {
867
+ url: "https://example.com",
868
+ alternates: {
869
+ languages: { ...getMultilingualUrls("https://example.com") },
870
+ },
871
+ },
872
+ {
873
+ url: "https://example.com/login",
874
+ alternates: {
875
+ languages: { ...getMultilingualUrls("https://example.com/login") },
876
+ },
877
+ },
878
+ {
879
+ url: "https://example.com/register",
880
+ alternates: {
881
+ languages: { ...getMultilingualUrls("https://example.com/register") },
882
+ },
883
+ },
884
+ ];
885
+
886
+ module.exports = sitemap;
887
+ ```
888
+
889
+ ```tsx fileName="src/app/robots.ts" codeFormat="typescript"
890
+ import type { MetadataRoute } from "next";
891
+ import { getMultilingualUrls } from "intlayer";
892
+
893
+ const getAllMultilingualUrls = (urls: string[]) =>
894
+ urls.flatMap((url) => Object.values(getMultilingualUrls(url)) as string[]);
895
+
896
+ const robots = (): MetadataRoute.Robots => ({
897
+ rules: {
898
+ userAgent: "*",
899
+ allow: ["/"],
900
+ disallow: getAllMultilingualUrls(["/login", "/register"]),
901
+ },
902
+ host: "https://example.com",
903
+ sitemap: `https://example.com/sitemap.xml`,
904
+ });
905
+
906
+ export default robots;
907
+ ```
908
+
909
+ ```jsx fileName="src/app/robots.mjx" codeFormat="esm"
910
+ import { getMultilingualUrls } from "intlayer";
911
+
912
+ const getAllMultilingualUrls = (urls) =>
913
+ urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
914
+
915
+ const robots = () => ({
916
+ rules: {
917
+ userAgent: "*",
918
+ allow: ["/"],
919
+ disallow: getAllMultilingualUrls(["/login", "/register"]),
920
+ },
921
+ host: "https://example.com",
922
+ sitemap: `https://example.com/sitemap.xml`,
923
+ });
924
+
925
+ export default robots;
926
+ ```
927
+
928
+ ```jsx fileName="src/app/robots.csx" codeFormat="commonjs"
929
+ const { getMultilingualUrls } = require("intlayer");
930
+
931
+ const getAllMultilingualUrls = (urls) =>
932
+ urls.flatMap((url) => Object.values(getMultilingualUrls(url)));
933
+
934
+ const robots = () => ({
935
+ rules: {
936
+ userAgent: "*",
937
+ allow: ["/"],
938
+ disallow: getAllMultilingualUrls(["/login", "/register"]),
939
+ },
940
+ host: "https://example.com",
941
+ sitemap: `https://example.com/sitemap.xml`,
942
+ });
943
+
944
+ module.exports = robots;
945
+ ```
946
+
947
+ > Per saperne di più sull'ottimizzazione del sitemap [nella documentazione ufficiale di Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap). Per saperne di più sull'ottimizzazione del robots.txt [nella documentazione ufficiale di Next.js](https://nextjs.org/docs/app/api-reference/file-conventions/metadata/robots).
948
+
949
+ ### (Opzionale) Passo 10: Cambia la lingua dei tuoi contenuti
950
+
951
+ Per cambiare la lingua dei tuoi contenuti in Next.js, il modo consigliato è utilizzare il componente `Link` per reindirizzare gli utenti alla pagina localizzata appropriata. Il componente `Link` consente il prefetching della pagina, il che aiuta a evitare un ricaricamento completo della pagina.
952
+
953
+ ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
954
+ "use client";
955
+
956
+ import type { FC } from "react";
957
+ import {
958
+ Locales,
959
+ getHTMLTextDir,
960
+ getLocaleName,
961
+ getLocalizedUrl,
962
+ } from "intlayer";
963
+ import { useLocale } from "next-intlayer";
964
+ import Link from "next/link";
965
+
966
+ export const LocaleSwitcher: FC = () => {
967
+ const { locale, pathWithoutLocale, availableLocales } = useLocale();
968
+ const { setLocaleCookie } = useLocaleCookie();
969
+
970
+ return (
971
+ <div>
972
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
973
+ <div id="localePopover" popover="auto">
974
+ {availableLocales.map((localeItem) => (
975
+ <Link
976
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
977
+ hrefLang={localeItem}
978
+ key={localeItem}
979
+ aria-current={locale === localeItem ? "page" : undefined}
980
+ onClick={() => setLocaleCookie(localeItem)}
981
+ >
982
+ <span>
983
+ {/* Locale - es. IT */}
984
+ {localeItem}
985
+ </span>
986
+ <span>
987
+ {/* Lingua nella propria lingua - es. Italiano */}
988
+ {getLocaleName(localeItem, locale)}
989
+ </span>
990
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
991
+ {/* Lingua nella lingua corrente - es. Italian con lingua corrente impostata su Locales.ENGLISH */}
992
+ {getLocaleName(localeItem)}
993
+ </span>
994
+ <span dir="ltr" lang={Locales.ENGLISH}>
995
+ {/* Lingua in Inglese - es. Italian */}
996
+ {getLocaleName(localeItem, Locales.ENGLISH)}
997
+ </span>
998
+ </Link>
999
+ ))}
1000
+ </div>
1001
+ </div>
1002
+ );
1003
+ };
1004
+ ```
1005
+
1006
+ ```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
1007
+ "use client";
1008
+
1009
+ import {
1010
+ Locales,
1011
+ getHTMLTextDir,
1012
+ getLocaleName,
1013
+ getLocalizedUrl,
1014
+ } from "intlayer";
1015
+ import { useLocale } from "next-intlayer";
1016
+ import Link from "next/link";
1017
+
1018
+ export const LocaleSwitcher = () => {
1019
+ const { locale, pathWithoutLocale, availableLocales } = useLocale();
1020
+ const { setLocaleCookie } = useLocaleCookie();
1021
+
1022
+ return (
1023
+ <div>
1024
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
1025
+ <div id="localePopover" popover="auto">
1026
+ {availableLocales.map((localeItem) => (
1027
+ <Link
1028
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1029
+ hrefLang={localeItem}
1030
+ key={localeItem}
1031
+ aria-current={locale === localeItem ? "page" : undefined}
1032
+ onClick={() => setLocaleCookie(localeItem)}
1033
+ >
1034
+ <span>
1035
+ {/* Locale - es. IT */}
1036
+ {localeItem}
1037
+ </span>
1038
+ <span>
1039
+ {/* Lingua nella propria lingua - es. Italiano */}
1040
+ {getLocaleName(localeItem, locale)}
1041
+ </span>
1042
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
1043
+ {/* Lingua nella lingua corrente - es. Italian con lingua corrente impostata su Locales.ENGLISH */}
1044
+ {getLocaleName(localeItem)}
1045
+ </span>
1046
+ <span dir="ltr" lang={Locales.ENGLISH}>
1047
+ {/* Lingua in Inglese - es. Italian */}
1048
+ {getLocaleName(localeItem, Locales.ENGLISH)}
1049
+ </span>
1050
+ </Link>
1051
+ ))}
1052
+ </div>
1053
+ </div>
1054
+ );
1055
+ };
1056
+ ```
1057
+
1058
+ ```jsx fileName="src/components/LocaleSwitcher.csx" codeFormat="commonjs"
1059
+ "use client";
1060
+
1061
+ const {
1062
+ Locales,
1063
+ getHTMLTextDir,
1064
+ getLocaleName,
1065
+ getLocalizedUrl,
1066
+ } = require("intlayer");
1067
+ const { useLocale } = require("next-intlayer");
1068
+ const Link = require("next/link");
1069
+
1070
+ export const LocaleSwitcher = () => {
1071
+ const { locale, pathWithoutLocale, availableLocales } = useLocale();
1072
+ const { setLocaleCookie } = useLocaleCookie();
1073
+
1074
+ return (
1075
+ <div>
1076
+ <button popoverTarget="localePopover">{getLocaleName(locale)}</button>
1077
+ <div id="localePopover" popover="auto">
1078
+ {availableLocales.map((localeItem) => (
1079
+ <Link
1080
+ href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1081
+ hrefLang={localeItem}
1082
+ key={localeItem}
1083
+ aria-current={locale === localeItem ? "page" : undefined}
1084
+ onClick={() => setLocaleCookie(localeItem)}
1085
+ >
1086
+ <span>
1087
+ {/* Locale - es. IT */}
1088
+ {localeItem}
1089
+ </span>
1090
+ <span>
1091
+ {/* Lingua nella propria lingua - es. Italiano */}
1092
+ {getLocaleName(localeItem, locale)}
1093
+ </span>
1094
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
1095
+ {/* Lingua nella lingua corrente - es. Italian con lingua corrente impostata su Locales.ENGLISH */}
1096
+ {getLocaleName(localeItem)}
1097
+ </span>
1098
+ <span dir="ltr" lang={Locales.ENGLISH}>
1099
+ {/* Lingua in Inglese - es. Italian */}
1100
+ {getLocaleName(localeItem, Locales.ENGLISH)}
1101
+ </span>
1102
+ </Link>
1103
+ ))}
1104
+ </div>
1105
+ </div>
1106
+ );
1107
+ };
1108
+ ```
1109
+
1110
+ > Riferimenti alla documentazione:
1111
+
1112
+ > - [Hook `useLocale`](https://github.com/aymericzip/intlayer/blob/main/docs/it/packages/next-intlayer/useLocale.md)
1113
+
1114
+ > - [Hook `getLocaleName`](https://github.com/aymericzip/intlayer/blob/main/docs/it/packages/intlayer/getLocaleName.md)
1115
+
1116
+ > - [Hook `getLocalizedUrl`](https://github.com/aymericzip/intlayer/blob/main/docs/it/packages/intlayer/getLocalizedUrl.md)
1117
+
1118
+ > - [Hook `getHTMLTextDir`](https://github.com/aymericzip/intlayer/blob/main/docs/it/packages/intlayer/getHTMLTextDir.md)
1119
+
1120
+ > - [Attributo `hrefLang`](https://developers.google.com/search/docs/specialty/international/localized-versions?hl=it)
1121
+
1122
+ > - [Attributo `lang`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang)
1123
+
1124
+ > - [Attributo `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir)
1125
+
1126
+ > - [Attributo `aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)
1127
+
1128
+ ### (Opzionale) Passo 11: Creazione di un componente Link localizzato
1129
+
1130
+ Per garantire che la navigazione della tua applicazione rispetti la lingua corrente, puoi creare un componente `Link` personalizzato. Questo componente aggiunge automaticamente il prefisso agli URL interni con la lingua corrente. Ad esempio, quando un utente francofono clicca su un link alla pagina "About", viene reindirizzato a `/fr/about` invece che a `/about`.
1131
+
1132
+ Questo comportamento è utile per diversi motivi:
1133
+
1134
+ - **SEO e User Experience**: Gli URL localizzati aiutano i motori di ricerca a indicizzare correttamente le pagine specifiche per lingua e forniscono agli utenti contenuti nella loro lingua preferita.
1135
+ - **Coerenza**: Utilizzando un link localizzato in tutta l'applicazione, garantisci che la navigazione rimanga all'interno della lingua corrente, evitando cambiamenti di lingua inaspettati.
1136
+ - **Manutenibilità**: Centralizzando la logica di localizzazione in un unico componente, semplifichi la gestione degli URL, rendendo il tuo codice più facile da mantenere ed estendere man mano che l'applicazione cresce.
1137
+
1138
+ Di seguito l'implementazione di un componente `Link` localizzato in TypeScript:
1139
+
1140
+ ```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
1141
+ "use client";
1142
+
1143
+ import { getLocalizedUrl } from "intlayer";
1144
+ import NextLink, { type LinkProps as NextLinkProps } from "next/link";
1145
+ import { useLocale } from "next-intlayer";
1146
+ import type { PropsWithChildren, FC } from "react";
1147
+
1148
+ /**
1149
+ * Funzione di utilità per verificare se un URL è esterno.
1150
+ * Se l'URL inizia con http:// o https://, viene considerato esterno.
1151
+ */
1152
+ export const checkIsExternalLink = (href?: string): boolean =>
1153
+ /^https?:\/\//.test(href ?? "");
1154
+
1155
+ /**
1156
+ * Un componente Link personalizzato che adatta l'attributo href in base alla lingua corrente.
1157
+ * Per i link interni, utilizza `getLocalizedUrl` per aggiungere il prefisso all'URL con la lingua (es. /fr/about).
1158
+ * Questo garantisce che la navigazione rimanga all'interno dello stesso contesto linguistico.
1159
+ */
1160
+ export const Link: FC<PropsWithChildren<NextLinkProps>> = ({
1161
+ href,
1162
+ children,
1163
+ ...props
1164
+ }) => {
1165
+ const { locale } = useLocale();
1166
+ const isExternalLink = checkIsExternalLink(href.toString());
1167
+
1168
+ // Se il link è interno e viene fornito un href valido, ottieni l'URL localizzato.
1169
+ const hrefI18n: NextLinkProps["href"] =
1170
+ href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
1171
+
1172
+ return (
1173
+ <NextLink href={hrefI18n} {...props}>
1174
+ {children}
1175
+ </NextLink>
1176
+ );
1177
+ };
1178
+ ```
1179
+
1180
+ ```jsx fileName="src/components/Link.mjx" codeFormat="esm"
1181
+ "use client";
1182
+
1183
+ import { getLocalizedUrl } from "intlayer";
1184
+ import NextLink from "next/link";
1185
+ import { useLocale } from "next-intlayer";
1186
+
1187
+ /**
1188
+ * Funzione di utilità per verificare se un URL è esterno.
1189
+ * Se l'URL inizia con http:// o https://, viene considerato esterno.
1190
+ */
1191
+ export const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
1192
+
1193
+ /**
1194
+ * Un componente Link personalizzato che adatta l'attributo href in base alla lingua corrente.
1195
+ * Per i link interni, utilizza `getLocalizedUrl` per aggiungere il prefisso all'URL con la lingua (es. /fr/about).
1196
+ * Questo garantisce che la navigazione rimanga all'interno dello stesso contesto linguistico.
1197
+ */
1198
+ export const Link = ({ href, children, ...props }) => {
1199
+ const { locale } = useLocale();
1200
+ const isExternalLink = checkIsExternalLink(href.toString());
1201
+
1202
+ // Se il link è interno e viene fornito un href valido, ottieni l'URL localizzato.
1203
+ const hrefI18n =
1204
+ href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
1205
+
1206
+ return (
1207
+ <NextLink href={hrefI18n} {...props}>
1208
+ {children}
1209
+ </NextLink>
1210
+ );
1211
+ };
1212
+ ```
1213
+
1214
+ ```jsx fileName="src/components/Link.csx" codeFormat="commonjs"
1215
+ "use client";
1216
+
1217
+ const { getLocalizedUrl } = require("intlayer");
1218
+ const NextLink = require("next/link");
1219
+ const { useLocale } = require("next-intlayer");
1220
+
1221
+ /**
1222
+ * Funzione di utilità per verificare se un URL è esterno.
1223
+ * Se l'URL inizia con http:// o https://, viene considerato esterno.
1224
+ */
1225
+ const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
1226
+
1227
+ /**
1228
+ * Un componente Link personalizzato che adatta l'attributo href in base alla lingua corrente.
1229
+ * Per i link interni, utilizza `getLocalizedUrl` per aggiungere il prefisso all'URL con la lingua (es. /fr/about).
1230
+ * Questo garantisce che la navigazione rimanga all'interno dello stesso contesto linguistico.
1231
+ */
1232
+ const Link = ({ href, children, ...props }) => {
1233
+ const { locale } = useLocale();
1234
+ const isExternalLink = checkIsExternalLink(href.toString());
1235
+
1236
+ // Se il link è interno e viene fornito un href valido, ottieni l'URL localizzato.
1237
+ const hrefI18n =
1238
+ href && !isExternalLink ? getLocalizedUrl(href.toString(), locale) : href;
1239
+
1240
+ return (
1241
+ <NextLink href={hrefI18n} {...props}>
1242
+ {children}
1243
+ </NextLink>
1244
+ );
1245
+ };
1246
+ ```
1247
+
1248
+ #### Come funziona
1249
+
1250
+ - **Rilevamento dei link esterni**:
1251
+ La funzione helper `checkIsExternalLink` determina se un URL è esterno. I link esterni vengono lasciati invariati perché non necessitano di localizzazione.
1252
+
1253
+ - **Recupero della lingua corrente**:
1254
+ L'hook `useLocale` fornisce la lingua corrente (es. `fr` per il francese).
1255
+
1256
+ - **Localizzazione dell'URL**:
1257
+ Per i link interni (cioè non esterni), `getLocalizedUrl` viene utilizzato per aggiungere automaticamente il prefisso all'URL con la lingua corrente. Ciò significa che se il tuo utente è in francese, passando `/about` come `href` verrà trasformato in `/fr/about`.
1258
+
1259
+ - **Restituzione del Link**:
1260
+ Il componente restituisce un elemento `<a>` con l'URL localizzato, garantendo che la navigazione sia coerente con la lingua.
1261
+
1262
+ Integrando questo componente `Link` in tutta l'applicazione, mantieni un'esperienza utente coerente e consapevole della lingua, beneficiando anche di un miglior SEO e usabilità.
1263
+
1264
+ ### (Opzionale) Passo 12: Ottimizza la dimensione del tuo bundle
1265
+
1266
+ Quando si utilizza `next-intlayer`, i dizionari sono inclusi nel bundle per ogni pagina per impostazione predefinita. Per ottimizzare la dimensione del bundle, Intlayer fornisce un plugin SWC opzionale che sostituisce in modo intelligente le chiamate a `useIntlayer` utilizzando macro. Questo assicura che i dizionari siano inclusi solo nei bundle delle pagine che li utilizzano effettivamente.
1267
+
1268
+ Per abilitare questa ottimizzazione, installa il pacchetto `@intlayer/swc`. Una volta installato, `next-intlayer` rileverà e utilizzerà automaticamente il plugin:
1269
+
1270
+ ```bash packageManager="npm"
1271
+ npm install @intlayer/swc --save-dev
1272
+ ```
1273
+
1274
+ ```bash packageManager="pnpm"
1275
+ pnpm add @intlayer/swc --save-dev
1276
+ ```
1277
+
1278
+ ```bash packageManager="yarn"
1279
+ yarn add @intlayer/swc --save-dev
1280
+ ```
1281
+
1282
+ > Nota: Questa ottimizzazione è disponibile solo per Next.js 13 e versioni successive.
1283
+
1284
+ > Nota: Questo pacchetto non è installato di default perché i plugin SWC sono ancora sperimentali su Next.js. Potrebbe cambiare in futuro.
1285
+
1286
+ ### Configura TypeScript
1287
+
1288
+ Intlayer utilizza l'augmentazione dei moduli per ottenere i benefici di TypeScript e rendere il tuo codice più robusto.
1289
+
1290
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1291
+
1292
+ ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1293
+
1294
+ Assicurati che la configurazione di TypeScript includa i tipi autogenerati.
1295
+
1296
+ ```json5 fileName="tsconfig.json"
1297
+ {
1298
+ // ... Le tue configurazioni TypeScript esistenti
1299
+ "include": [
1300
+ // ... Le tue configurazioni TypeScript esistenti
1301
+ ".intlayer/**/*.ts", // Includi i tipi autogenerati
1302
+ ],
1303
+ }
1304
+ ```
1305
+
1306
+ ### Configurazione Git
1307
+
1308
+ Si consiglia di ignorare i file generati da Intlayer. Questo ti consente di evitare di commetterli nel tuo repository Git.
1309
+
1310
+ Per farlo, puoi aggiungere le seguenti istruzioni al tuo file `.gitignore`:
1311
+
1312
+ ```plaintext fileName=".gitignore"
1313
+ # Ignora i file generati da Intlayer
1314
+ .intlayer
1315
+ ```
1316
+
1317
+ ### Approfondisci
1318
+
1319
+ Per approfondire, puoi implementare l'[editor visivo](https://github.com/aymericzip/intlayer/blob/main/docs/it/intlayer_visual_editor.md) o esternalizzare i tuoi contenuti utilizzando il [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/it/intlayer_CMS.md).