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