@intlayer/docs 9.0.0-canary.4 → 9.0.0-canary.6
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.
- package/blog/ar/intlayer_with_i18next.md +4 -0
- package/blog/ar/intlayer_with_next-i18next.md +0 -11
- package/blog/ar/intlayer_with_next-intl.md +4 -0
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +35 -28
- package/blog/ar/rag_powered_documentation_assistant.md +13 -0
- package/blog/ar/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ar/vue-i18n_vs_intlayer.md +8 -0
- package/blog/de/intlayer_with_i18next.md +4 -0
- package/blog/de/intlayer_with_next-i18next.md +0 -11
- package/blog/de/intlayer_with_next-intl.md +4 -0
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/de/rag_powered_documentation_assistant.md +0 -193
- package/blog/de/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/de/vue-i18n_vs_intlayer.md +8 -0
- package/blog/en-GB/intlayer_with_i18next.md +4 -0
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -11
- package/blog/en-GB/intlayer_with_next-intl.md +4 -0
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +14 -0
- package/blog/en-GB/vue-i18n_vs_intlayer.md +16 -0
- package/blog/es/intlayer_with_i18next.md +4 -0
- package/blog/es/intlayer_with_next-i18next.md +0 -11
- package/blog/es/intlayer_with_next-intl.md +4 -0
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/es/rag_powered_documentation_assistant.md +13 -0
- package/blog/es/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/es/vue-i18n_vs_intlayer.md +8 -0
- package/blog/fr/i18n_meaning.md +95 -0
- package/blog/fr/intlayer_with_next-i18next.md +0 -11
- package/blog/fr/intlayer_with_next-intl.md +4 -0
- package/blog/fr/intlayer_with_react-i18next.md +0 -8
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +0 -2
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/fr/rag_powered_documentation_assistant.md +0 -62
- package/blog/fr/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/fr/vue-i18n_vs_intlayer.md +8 -0
- package/blog/hi/intlayer_with_i18next.md +4 -0
- package/blog/hi/intlayer_with_next-i18next.md +0 -11
- package/blog/hi/intlayer_with_next-intl.md +4 -0
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +1256 -0
- package/blog/hi/rag_powered_documentation_assistant.md +13 -0
- package/blog/hi/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/hi/vue-i18n_vs_intlayer.md +8 -0
- package/blog/id/internationalization_and_SEO.md +0 -91
- package/blog/id/intlayer_with_i18next.md +4 -0
- package/blog/id/intlayer_with_next-i18next.md +0 -11
- package/blog/id/intlayer_with_next-intl.md +4 -0
- package/blog/id/rag_powered_documentation_assistant.md +13 -0
- package/blog/it/intlayer_with_i18next.md +4 -0
- package/blog/it/intlayer_with_next-i18next.md +0 -11
- package/blog/it/intlayer_with_next-intl.md +4 -0
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/it/rag_powered_documentation_assistant.md +0 -195
- package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/it/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ja/intlayer_with_i18next.md +4 -0
- package/blog/ja/intlayer_with_next-i18next.md +0 -11
- package/blog/ja/intlayer_with_next-intl.md +4 -0
- package/blog/ja/l10n_platform_alternative/Lokalise.md +10 -0
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
- package/blog/ja/rag_powered_documentation_assistant.md +13 -0
- package/blog/ja/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ja/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ko/intlayer_with_i18next.md +4 -0
- package/blog/ko/intlayer_with_next-i18next.md +0 -11
- package/blog/ko/intlayer_with_next-intl.md +4 -0
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +121 -18
- package/blog/ko/rag_powered_documentation_assistant.md +0 -194
- package/blog/ko/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/ko/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ko/what_is_internationalization.md +0 -4
- package/blog/pl/___per-component_vs_centralized_i18n.md +100 -0
- package/blog/pl/internationalization_and_SEO.md +0 -91
- package/blog/pl/intlayer_with_i18next.md +4 -0
- package/blog/pl/intlayer_with_next-i18next.md +0 -11
- package/blog/pl/intlayer_with_next-intl.md +4 -0
- package/blog/pl/l10n_platform_alternative/Lokalise.md +6 -0
- package/blog/pl/rag_powered_documentation_assistant.md +13 -0
- package/blog/pt/internationalization_and_SEO.md +1 -1
- package/blog/pt/intlayer_with_i18next.md +4 -0
- package/blog/pt/intlayer_with_next-i18next.md +0 -11
- package/blog/pt/intlayer_with_next-intl.md +4 -0
- package/blog/pt/intlayer_with_react-intl.md +0 -4
- package/blog/pt/l10n_platform_alternative/crowdin.md +0 -6
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +121 -28
- package/blog/pt/rag_powered_documentation_assistant.md +0 -195
- package/blog/pt/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/pt/vue-i18n_vs_intlayer.md +8 -0
- package/blog/ru/intlayer_with_i18next.md +4 -0
- package/blog/ru/intlayer_with_next-i18next.md +0 -11
- package/blog/ru/intlayer_with_next-intl.md +4 -0
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +121 -36
- package/blog/ru/rag_powered_documentation_assistant.md +13 -0
- package/blog/ru/react-i18next_vs_react-intl_vs_intlayer.md +8 -0
- package/blog/ru/vue-i18n_vs_intlayer.md +8 -0
- package/blog/tr/intlayer_with_i18next.md +4 -0
- package/blog/tr/intlayer_with_next-i18next.md +0 -11
- package/blog/tr/intlayer_with_next-intl.md +4 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1189 -0
- package/blog/tr/rag_powered_documentation_assistant.md +0 -38
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +9 -0
- package/blog/uk/rag_powered_documentation_assistant.md +13 -0
- package/blog/vi/internationalization_and_SEO.md +0 -91
- package/blog/vi/intlayer_with_i18next.md +4 -0
- package/blog/vi/intlayer_with_next-i18next.md +0 -11
- package/blog/vi/intlayer_with_next-intl.md +4 -0
- package/blog/vi/rag_powered_documentation_assistant.md +13 -0
- package/blog/zh/intlayer_with_i18next.md +4 -47
- package/blog/zh/intlayer_with_next-i18next.md +0 -58
- package/blog/zh/intlayer_with_next-intl.md +4 -47
- package/blog/zh/intlayer_with_react-i18next.md +0 -47
- package/blog/zh/intlayer_with_react-intl.md +0 -47
- package/blog/zh/intlayer_with_vue-i18n.md +0 -47
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +121 -26
- package/blog/zh/nextjs-multilingual-seo-comparison.md +0 -30
- package/blog/zh/rag_powered_documentation_assistant.md +0 -191
- package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +6 -0
- package/blog/zh/vue-i18n_vs_intlayer.md +8 -0
- package/docs/ar/CI_CD.md +4 -0
- package/docs/ar/autoFill.md +81 -0
- package/docs/ar/benchmark/solid.md +22 -0
- package/docs/ar/benchmark/svelte.md +22 -0
- package/docs/ar/benchmark/tanstack.md +22 -0
- package/docs/ar/cli/ci.md +22 -0
- package/docs/ar/cli/fill.md +8 -0
- package/docs/ar/compat/i18n-js.md +44 -0
- package/docs/ar/compat/i18next.md +59 -0
- package/docs/ar/compat/index.md +51 -0
- package/docs/ar/compat/lingui.md +44 -0
- package/docs/ar/compat/next-i18next.md +57 -0
- package/docs/ar/compat/next-intl.md +59 -0
- package/docs/ar/compat/next-translate.md +45 -0
- package/docs/ar/compat/ngx-translate.md +45 -0
- package/docs/ar/compat/nuxtjs-i18n.md +46 -0
- package/docs/ar/compat/polyglot.md +45 -0
- package/docs/ar/compat/react-i18next.md +58 -0
- package/docs/ar/compat/react-intl.md +55 -0
- package/docs/ar/compat/svelte-i18n.md +47 -0
- package/docs/ar/compat/transloco.md +45 -0
- package/docs/ar/compat/vue-i18n.md +58 -0
- package/docs/ar/compiler.md +3 -1
- package/docs/ar/configuration.md +19 -17
- package/docs/ar/custom_domains.md +1 -1
- package/docs/ar/custom_url_rewrites.md +1 -1
- package/docs/ar/dictionary/content_file.md +4 -7
- package/docs/ar/dictionary/enumeration.md +0 -187
- package/docs/ar/dictionary/file.md +8 -0
- package/docs/ar/dictionary/nesting.md +39 -0
- package/docs/ar/dictionary/translation.md +0 -61
- package/docs/ar/formatters.md +59 -0
- package/docs/ar/how_works_intlayer.md +4 -0
- package/docs/ar/interest_of_intlayer.md +193 -0
- package/docs/ar/intlayer_CMS.md +6 -0
- package/docs/ar/intlayer_with_astro.md +129 -2
- package/docs/ar/intlayer_with_astro_lit.md +1 -1
- package/docs/ar/intlayer_with_astro_preact.md +1 -1
- package/docs/ar/intlayer_with_astro_react.md +1 -1
- package/docs/ar/intlayer_with_astro_solid.md +1 -1
- package/docs/ar/intlayer_with_astro_svelte.md +1 -1
- package/docs/ar/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ar/intlayer_with_astro_vue.md +1 -1
- package/docs/ar/intlayer_with_create_react_app.md +0 -14
- package/docs/ar/intlayer_with_express.md +0 -21
- package/docs/ar/intlayer_with_nestjs.md +0 -18
- package/docs/ar/intlayer_with_nextjs_14.md +30 -7
- package/docs/ar/intlayer_with_nextjs_15.md +21 -1
- package/docs/ar/intlayer_with_nextjs_16.md +124 -2
- package/docs/ar/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ar/intlayer_with_react_native+expo.md +91 -78
- package/docs/ar/intlayer_with_react_router_v7.md +1 -95
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/ar/intlayer_with_svelte_kit.md +1 -207
- package/docs/ar/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ar/intlayer_with_tanstack.md +1 -1
- package/docs/ar/intlayer_with_vite+lit.md +1 -1
- package/docs/ar/intlayer_with_vite+preact.md +40 -40
- package/docs/ar/intlayer_with_vite+react.md +1 -1
- package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ar/intlayer_with_vite+solid.md +25 -25
- package/docs/ar/intlayer_with_vite+svelte.md +12 -12
- package/docs/ar/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ar/intlayer_with_vite+vue.md +44 -114
- package/docs/ar/mcp_server.md +22 -0
- package/docs/ar/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/ar/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/ar/packages/intlayer/getPathWithoutLocale.md +0 -4
- package/docs/ar/packages/react-intlayer/t.md +0 -13
- package/docs/ar/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/ar/packages/react-intlayer/useI18n.md +0 -4
- package/docs/ar/packages/react-intlayer/useIntlayer.md +0 -55
- package/docs/ar/packages/react-native-intlayer/exports.md +48 -14
- package/docs/ar/releases/v6.md +28 -0
- package/docs/ar/releases/v7.md +128 -0
- package/docs/ar/releases/v9.md +37 -1
- package/docs/ar/roadmap.md +6 -0
- package/docs/de/CI_CD.md +4 -0
- package/docs/de/autoFill.md +81 -0
- package/docs/de/benchmark/solid.md +22 -0
- package/docs/de/benchmark/svelte.md +22 -0
- package/docs/de/benchmark/tanstack.md +22 -0
- package/docs/de/cli/ci.md +22 -0
- package/docs/de/cli/fill.md +8 -0
- package/docs/de/cli/init.md +20 -0
- package/docs/de/compat/i18n-js.md +44 -0
- package/docs/de/compat/i18next.md +59 -0
- package/docs/de/compat/index.md +51 -0
- package/docs/de/compat/lingui.md +44 -0
- package/docs/de/compat/next-i18next.md +57 -0
- package/docs/de/compat/next-intl.md +59 -0
- package/docs/de/compat/next-translate.md +45 -0
- package/docs/de/compat/ngx-translate.md +45 -0
- package/docs/de/compat/nuxtjs-i18n.md +46 -0
- package/docs/de/compat/polyglot.md +45 -0
- package/docs/de/compat/react-i18next.md +58 -0
- package/docs/de/compat/react-intl.md +55 -0
- package/docs/de/compat/svelte-i18n.md +47 -0
- package/docs/de/compat/transloco.md +45 -0
- package/docs/de/compat/vue-i18n.md +58 -0
- package/docs/de/compiler.md +3 -1
- package/docs/de/configuration.md +19 -17
- package/docs/de/custom_domains.md +1 -1
- package/docs/de/custom_url_rewrites.md +1 -1
- package/docs/de/dictionary/content_file.md +4 -0
- package/docs/de/dictionary/enumeration.md +0 -199
- package/docs/de/dictionary/file.md +8 -0
- package/docs/de/dictionary/insertion.md +0 -4
- package/docs/de/dictionary/nesting.md +39 -0
- package/docs/de/dictionary/translation.md +0 -61
- package/docs/de/dynamic_dictionaries/index.md +6 -0
- package/docs/de/formatters.md +130 -0
- package/docs/de/how_works_intlayer.md +4 -0
- package/docs/de/intlayer_CMS.md +6 -0
- package/docs/de/intlayer_with_astro.md +129 -2
- package/docs/de/intlayer_with_astro_lit.md +1 -1
- package/docs/de/intlayer_with_astro_preact.md +1 -1
- package/docs/de/intlayer_with_astro_react.md +1 -1
- package/docs/de/intlayer_with_astro_solid.md +1 -1
- package/docs/de/intlayer_with_astro_svelte.md +1 -1
- package/docs/de/intlayer_with_astro_vanilla.md +1 -1
- package/docs/de/intlayer_with_astro_vue.md +1 -1
- package/docs/de/intlayer_with_create_react_app.md +15 -0
- package/docs/de/intlayer_with_express.md +0 -23
- package/docs/de/intlayer_with_lynx+react.md +4 -2
- package/docs/de/intlayer_with_nestjs.md +0 -8
- package/docs/de/intlayer_with_nextjs_14.md +28 -7
- package/docs/de/intlayer_with_nextjs_15.md +21 -1
- package/docs/de/intlayer_with_nextjs_16.md +1 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +49 -1
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/de/intlayer_with_react_native+expo.md +85 -67
- package/docs/de/intlayer_with_react_router_v7.md +1 -95
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -91
- package/docs/de/intlayer_with_svelte_kit.md +1 -207
- package/docs/de/intlayer_with_tanstack+solid.md +3 -1
- package/docs/de/intlayer_with_tanstack.md +1 -1
- package/docs/de/intlayer_with_vite+lit.md +1 -1
- package/docs/de/intlayer_with_vite+preact.md +61 -57
- package/docs/de/intlayer_with_vite+react.md +1 -1
- package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/de/intlayer_with_vite+solid.md +33 -42
- package/docs/de/intlayer_with_vite+svelte.md +27 -29
- package/docs/de/intlayer_with_vite+vanilla.md +1 -1
- package/docs/de/intlayer_with_vite+vue.md +54 -102
- package/docs/de/mcp_server.md +22 -0
- package/docs/de/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/de/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/de/packages/react-intlayer/useDictionary.md +0 -116
- package/docs/de/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/de/packages/react-native-intlayer/exports.md +47 -13
- package/docs/de/releases/v6.md +10 -6
- package/docs/de/releases/v7.md +128 -0
- package/docs/de/releases/v9.md +37 -1
- package/docs/de/roadmap.md +6 -16
- package/docs/en/bundle_optimization.md +8 -3
- package/docs/en/compiler.md +12 -6
- package/docs/en/configuration.md +22 -8
- package/docs/en/custom_domains.md +2 -0
- package/docs/en/custom_url_rewrites.md +2 -0
- package/docs/en/intlayer_with_astro.md +2 -0
- package/docs/en/intlayer_with_astro_lit.md +2 -0
- package/docs/en/intlayer_with_astro_preact.md +2 -0
- package/docs/en/intlayer_with_astro_react.md +2 -0
- package/docs/en/intlayer_with_astro_solid.md +2 -0
- package/docs/en/intlayer_with_astro_svelte.md +2 -0
- package/docs/en/intlayer_with_astro_vanilla.md +2 -0
- package/docs/en/intlayer_with_astro_vue.md +2 -0
- package/docs/en/intlayer_with_nextjs_14.md +2 -0
- package/docs/en/intlayer_with_nextjs_15.md +2 -0
- package/docs/en/intlayer_with_nextjs_16.md +2 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -0
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +2 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +2 -0
- package/docs/en/intlayer_with_react_native+expo.md +22 -18
- package/docs/en/intlayer_with_react_router_v7.md +2 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -0
- package/docs/en/intlayer_with_svelte_kit.md +4 -0
- package/docs/en/intlayer_with_tanstack+solid.md +2 -0
- package/docs/en/intlayer_with_tanstack.md +2 -0
- package/docs/en/intlayer_with_vite+lit.md +2 -0
- package/docs/en/intlayer_with_vite+preact.md +2 -0
- package/docs/en/intlayer_with_vite+react.md +2 -0
- package/docs/en/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/en/intlayer_with_vite+solid.md +2 -0
- package/docs/en/intlayer_with_vite+svelte.md +2 -0
- package/docs/en/intlayer_with_vite+vanilla.md +4 -0
- package/docs/en/intlayer_with_vite+vue.md +2 -0
- package/docs/en/packages/react-native-intlayer/exports.md +47 -13
- package/docs/en/releases/v9.md +38 -1
- package/docs/en-GB/CI_CD.md +4 -0
- package/docs/en-GB/autoFill.md +81 -0
- package/docs/en-GB/benchmark/solid.md +22 -0
- package/docs/en-GB/benchmark/svelte.md +22 -0
- package/docs/en-GB/benchmark/tanstack.md +22 -0
- package/docs/en-GB/cli/ci.md +22 -0
- package/docs/en-GB/cli/fill.md +8 -0
- package/docs/en-GB/cli/login.md +0 -36
- package/docs/en-GB/cli/test.md +0 -36
- package/docs/en-GB/compat/i18n-js.md +44 -0
- package/docs/en-GB/compat/i18next.md +59 -0
- package/docs/en-GB/compat/index.md +51 -0
- package/docs/en-GB/compat/lingui.md +44 -0
- package/docs/en-GB/compat/next-i18next.md +57 -0
- package/docs/en-GB/compat/next-intl.md +59 -0
- package/docs/en-GB/compat/next-translate.md +45 -0
- package/docs/en-GB/compat/ngx-translate.md +45 -0
- package/docs/en-GB/compat/nuxtjs-i18n.md +46 -0
- package/docs/en-GB/compat/polyglot.md +45 -0
- package/docs/en-GB/compat/react-i18next.md +58 -0
- package/docs/en-GB/compat/react-intl.md +55 -0
- package/docs/en-GB/compat/svelte-i18n.md +47 -0
- package/docs/en-GB/compat/transloco.md +45 -0
- package/docs/en-GB/compat/vue-i18n.md +58 -0
- package/docs/en-GB/compiler.md +3 -1
- package/docs/en-GB/configuration.md +4 -1
- package/docs/en-GB/custom_domains.md +1 -1
- package/docs/en-GB/custom_url_rewrites.md +1 -1
- package/docs/en-GB/dictionary/content_file.md +4 -7
- package/docs/en-GB/dictionary/file.md +8 -0
- package/docs/en-GB/dictionary/function_fetching.md +0 -4
- package/docs/en-GB/dictionary/nesting.md +8 -0
- package/docs/en-GB/dictionary/translation.md +0 -61
- package/docs/en-GB/formatters.md +59 -0
- package/docs/en-GB/how_works_intlayer.md +4 -16
- package/docs/en-GB/intlayer_CMS.md +6 -0
- package/docs/en-GB/intlayer_with_astro.md +129 -2
- package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
- package/docs/en-GB/intlayer_with_astro_preact.md +1 -1
- package/docs/en-GB/intlayer_with_astro_react.md +1 -1
- package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
- package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
- package/docs/en-GB/intlayer_with_create_react_app.md +0 -46
- package/docs/en-GB/intlayer_with_express.md +0 -23
- package/docs/en-GB/intlayer_with_nestjs.md +0 -8
- package/docs/en-GB/intlayer_with_nextjs_14.md +13 -5
- package/docs/en-GB/intlayer_with_nextjs_15.md +23 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +3 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +74 -92
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +20 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +1 -207
- package/docs/en-GB/intlayer_with_tanstack+solid.md +3 -1
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vite+lit.md +1 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +5 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -180
- package/docs/en-GB/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/en-GB/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/en-GB/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/en-GB/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/en-GB/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/en-GB/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +44 -0
- package/docs/en-GB/packages/intlayer/getTranslation.md +0 -16
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +0 -123
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/en-GB/packages/react-native-intlayer/exports.md +51 -18
- package/docs/en-GB/plugins/sync-json.md +0 -59
- package/docs/en-GB/releases/v6.md +10 -6
- package/docs/en-GB/releases/v7.md +128 -0
- package/docs/en-GB/releases/v8.md +190 -0
- package/docs/en-GB/releases/v9.md +37 -1
- package/docs/en-GB/roadmap.md +6 -0
- package/docs/es/CI_CD.md +4 -0
- package/docs/es/autoFill.md +81 -0
- package/docs/es/benchmark/solid.md +22 -0
- package/docs/es/benchmark/svelte.md +22 -0
- package/docs/es/benchmark/tanstack.md +22 -0
- package/docs/es/cli/ci.md +22 -0
- package/docs/es/cli/fill.md +8 -0
- package/docs/es/cli/login.md +0 -36
- package/docs/es/compat/i18n-js.md +44 -0
- package/docs/es/compat/i18next.md +59 -0
- package/docs/es/compat/index.md +51 -0
- package/docs/es/compat/lingui.md +44 -0
- package/docs/es/compat/next-i18next.md +57 -0
- package/docs/es/compat/next-intl.md +61 -0
- package/docs/es/compat/next-translate.md +45 -0
- package/docs/es/compat/ngx-translate.md +45 -0
- package/docs/es/compat/nuxtjs-i18n.md +46 -0
- package/docs/es/compat/polyglot.md +45 -0
- package/docs/es/compat/react-i18next.md +58 -0
- package/docs/es/compat/react-intl.md +55 -0
- package/docs/es/compat/svelte-i18n.md +47 -0
- package/docs/es/compat/transloco.md +45 -0
- package/docs/es/compat/vue-i18n.md +58 -0
- package/docs/es/compiler.md +3 -1
- package/docs/es/configuration.md +19 -17
- package/docs/es/custom_domains.md +1 -1
- package/docs/es/custom_url_rewrites.md +1 -1
- package/docs/es/dictionary/content_file.md +4 -0
- package/docs/es/dictionary/file.md +8 -0
- package/docs/es/dictionary/nesting.md +39 -0
- package/docs/es/dictionary/translation.md +0 -61
- package/docs/es/formatters.md +82 -0
- package/docs/es/how_works_intlayer.md +4 -4
- package/docs/es/intlayer_CMS.md +21 -0
- package/docs/es/intlayer_visual_editor.md +0 -23
- package/docs/es/intlayer_with_astro.md +129 -2
- package/docs/es/intlayer_with_astro_lit.md +1 -1
- package/docs/es/intlayer_with_astro_preact.md +1 -1
- package/docs/es/intlayer_with_astro_react.md +1 -1
- package/docs/es/intlayer_with_astro_solid.md +1 -1
- package/docs/es/intlayer_with_astro_svelte.md +1 -1
- package/docs/es/intlayer_with_astro_vanilla.md +1 -1
- package/docs/es/intlayer_with_astro_vue.md +1 -1
- package/docs/es/intlayer_with_express.md +0 -4
- package/docs/es/intlayer_with_nestjs.md +0 -18
- package/docs/es/intlayer_with_nextjs_14.md +10 -4
- package/docs/es/intlayer_with_nextjs_15.md +21 -1
- package/docs/es/intlayer_with_nextjs_16.md +1 -1
- package/docs/es/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/es/intlayer_with_react_native+expo.md +78 -79
- package/docs/es/intlayer_with_react_router_v7.md +1 -95
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_svelte_kit.md +1 -207
- package/docs/es/intlayer_with_tanstack+solid.md +3 -1
- package/docs/es/intlayer_with_tanstack.md +1 -1
- package/docs/es/intlayer_with_vite+lit.md +1 -1
- package/docs/es/intlayer_with_vite+preact.md +5 -1
- package/docs/es/intlayer_with_vite+react.md +1 -1
- package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/es/intlayer_with_vite+solid.md +1 -1
- package/docs/es/intlayer_with_vite+svelte.md +1 -1
- package/docs/es/intlayer_with_vite+vanilla.md +1 -1
- package/docs/es/intlayer_with_vite+vue.md +18 -86
- package/docs/es/packages/express-intlayer/t.md +0 -9
- package/docs/es/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/es/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/es/packages/react-intlayer/useDictionary.md +0 -119
- package/docs/es/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/es/packages/react-native-intlayer/exports.md +47 -13
- package/docs/es/releases/v6.md +28 -0
- package/docs/es/releases/v7.md +128 -0
- package/docs/es/releases/v9.md +37 -1
- package/docs/es/roadmap.md +6 -0
- package/docs/fr/CI_CD.md +4 -0
- package/docs/fr/autoFill.md +81 -0
- package/docs/fr/benchmark/solid.md +22 -0
- package/docs/fr/benchmark/svelte.md +22 -0
- package/docs/fr/benchmark/tanstack.md +22 -0
- package/docs/fr/cli/ci.md +22 -0
- package/docs/fr/cli/fill.md +8 -0
- package/docs/fr/cli/login.md +0 -36
- package/docs/fr/compat/i18n-js.md +44 -0
- package/docs/fr/compat/i18next.md +59 -0
- package/docs/fr/compat/index.md +51 -0
- package/docs/fr/compat/lingui.md +44 -0
- package/docs/fr/compat/next-i18next.md +57 -0
- package/docs/fr/compat/next-intl.md +59 -0
- package/docs/fr/compat/next-translate.md +45 -0
- package/docs/fr/compat/ngx-translate.md +45 -0
- package/docs/fr/compat/nuxtjs-i18n.md +46 -0
- package/docs/fr/compat/polyglot.md +45 -0
- package/docs/fr/compat/react-i18next.md +58 -0
- package/docs/fr/compat/react-intl.md +55 -0
- package/docs/fr/compat/svelte-i18n.md +47 -0
- package/docs/fr/compat/transloco.md +45 -0
- package/docs/fr/compat/vue-i18n.md +58 -0
- package/docs/fr/compiler.md +3 -1
- package/docs/fr/configuration.md +20 -17
- package/docs/fr/custom_domains.md +1 -1
- package/docs/fr/custom_url_rewrites.md +14 -14
- package/docs/fr/dictionary/content_file.md +4 -0
- package/docs/fr/dictionary/enumeration.md +0 -187
- package/docs/fr/dictionary/file.md +8 -0
- package/docs/fr/dictionary/nesting.md +39 -0
- package/docs/fr/dictionary/translation.md +0 -61
- package/docs/fr/formatters.md +171 -77
- package/docs/fr/how_works_intlayer.md +4 -0
- package/docs/fr/intlayer_CMS.md +6 -0
- package/docs/fr/intlayer_with_astro.md +129 -2
- package/docs/fr/intlayer_with_astro_lit.md +1 -1
- package/docs/fr/intlayer_with_astro_preact.md +1 -1
- package/docs/fr/intlayer_with_astro_react.md +1 -1
- package/docs/fr/intlayer_with_astro_solid.md +1 -1
- package/docs/fr/intlayer_with_astro_svelte.md +1 -1
- package/docs/fr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/fr/intlayer_with_astro_vue.md +1 -1
- package/docs/fr/intlayer_with_create_react_app.md +0 -14
- package/docs/fr/intlayer_with_express.md +0 -4
- package/docs/fr/intlayer_with_nestjs.md +0 -18
- package/docs/fr/intlayer_with_nextjs_14.md +26 -5
- package/docs/fr/intlayer_with_nextjs_15.md +21 -1
- package/docs/fr/intlayer_with_nextjs_16.md +1 -1
- package/docs/fr/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/fr/intlayer_with_nuxt.md +0 -27
- package/docs/fr/intlayer_with_react_native+expo.md +89 -67
- package/docs/fr/intlayer_with_react_router_v7.md +1 -95
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -100
- package/docs/fr/intlayer_with_svelte_kit.md +1 -239
- package/docs/fr/intlayer_with_tanstack+solid.md +3 -1
- package/docs/fr/intlayer_with_tanstack.md +1 -1
- package/docs/fr/intlayer_with_vite+lit.md +1 -1
- package/docs/fr/intlayer_with_vite+preact.md +5 -1
- package/docs/fr/intlayer_with_vite+react.md +1 -1
- package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/fr/intlayer_with_vite+solid.md +1 -1
- package/docs/fr/intlayer_with_vite+svelte.md +1 -1
- package/docs/fr/intlayer_with_vite+vanilla.md +1 -1
- package/docs/fr/intlayer_with_vite+vue.md +13 -83
- package/docs/fr/packages/express-intlayer/t.md +0 -9
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +99 -0
- package/docs/fr/packages/next-intlayer/t.md +1 -1
- package/docs/fr/packages/next-intlayer/useRewriteURL.md +0 -8
- package/docs/fr/packages/react-intlayer/useDictionary.md +33 -149
- package/docs/fr/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/fr/packages/react-native-intlayer/exports.md +47 -13
- package/docs/fr/plugins/sync-json.md +0 -59
- package/docs/fr/releases/v6.md +28 -0
- package/docs/fr/releases/v7.md +128 -0
- package/docs/fr/releases/v9.md +37 -1
- package/docs/fr/roadmap.md +6 -0
- package/docs/hi/CI_CD.md +4 -0
- package/docs/hi/autoFill.md +81 -0
- package/docs/hi/benchmark/solid.md +22 -0
- package/docs/hi/benchmark/svelte.md +22 -0
- package/docs/hi/benchmark/tanstack.md +22 -0
- package/docs/hi/cli/ci.md +22 -0
- package/docs/hi/cli/fill.md +8 -0
- package/docs/hi/cli/login.md +0 -36
- package/docs/hi/compat/i18n-js.md +44 -0
- package/docs/hi/compat/i18next.md +59 -0
- package/docs/hi/compat/index.md +51 -0
- package/docs/hi/compat/lingui.md +44 -0
- package/docs/hi/compat/next-i18next.md +57 -0
- package/docs/hi/compat/next-intl.md +59 -0
- package/docs/hi/compat/next-translate.md +45 -0
- package/docs/hi/compat/ngx-translate.md +45 -0
- package/docs/hi/compat/nuxtjs-i18n.md +46 -0
- package/docs/hi/compat/polyglot.md +45 -0
- package/docs/hi/compat/react-i18next.md +58 -0
- package/docs/hi/compat/react-intl.md +55 -0
- package/docs/hi/compat/svelte-i18n.md +47 -0
- package/docs/hi/compat/transloco.md +45 -0
- package/docs/hi/compat/vue-i18n.md +58 -0
- package/docs/hi/compiler.md +3 -1
- package/docs/hi/configuration.md +19 -17
- package/docs/hi/custom_domains.md +1 -1
- package/docs/hi/custom_url_rewrites.md +1 -1
- package/docs/hi/dictionary/enumeration.md +0 -187
- package/docs/hi/dictionary/file.md +8 -0
- package/docs/hi/dictionary/nesting.md +39 -0
- package/docs/hi/dictionary/translation.md +0 -61
- package/docs/hi/formatters.md +85 -0
- package/docs/hi/how_works_intlayer.md +2 -0
- package/docs/hi/interest_of_intlayer.md +194 -0
- package/docs/hi/intlayer_CMS.md +6 -0
- package/docs/hi/intlayer_with_astro.md +130 -3
- package/docs/hi/intlayer_with_astro_lit.md +1 -1
- package/docs/hi/intlayer_with_astro_preact.md +1 -1
- package/docs/hi/intlayer_with_astro_react.md +1 -1
- package/docs/hi/intlayer_with_astro_solid.md +1 -1
- package/docs/hi/intlayer_with_astro_svelte.md +1 -1
- package/docs/hi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/hi/intlayer_with_astro_vue.md +1 -1
- package/docs/hi/intlayer_with_create_react_app.md +15 -0
- package/docs/hi/intlayer_with_express.md +0 -23
- package/docs/hi/intlayer_with_nestjs.md +0 -8
- package/docs/hi/intlayer_with_nextjs_14.md +31 -8
- package/docs/hi/intlayer_with_nextjs_15.md +21 -1
- package/docs/hi/intlayer_with_nextjs_16.md +176 -54
- package/docs/hi/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/hi/intlayer_with_nuxt.md +0 -27
- package/docs/hi/intlayer_with_react_native+expo.md +125 -86
- package/docs/hi/intlayer_with_react_router_v7.md +1 -95
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/hi/intlayer_with_svelte_kit.md +1 -207
- package/docs/hi/intlayer_with_tanstack+solid.md +3 -1
- package/docs/hi/intlayer_with_tanstack.md +1 -1
- package/docs/hi/intlayer_with_vite+lit.md +1 -1
- package/docs/hi/intlayer_with_vite+preact.md +1 -1
- package/docs/hi/intlayer_with_vite+react.md +1 -1
- package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+svelte.md +32 -48
- package/docs/hi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +23 -71
- package/docs/hi/mcp_server.md +22 -0
- package/docs/hi/migration_from_i18next_to_intlayer.md +331 -0
- package/docs/hi/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/hi/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/hi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/hi/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/hi/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +68 -0
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/hi/packages/next-intlayer/t.md +2 -0
- package/docs/hi/packages/react-intlayer/useDictionary.md +0 -102
- package/docs/hi/packages/react-intlayer/useI18n.md +0 -4
- package/docs/hi/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/hi/packages/react-native-intlayer/exports.md +48 -14
- package/docs/hi/releases/v6.md +28 -0
- package/docs/hi/releases/v7.md +128 -0
- package/docs/hi/releases/v9.md +37 -1
- package/docs/hi/roadmap.md +6 -0
- package/docs/id/autoFill.md +20 -0
- package/docs/id/benchmark/solid.md +22 -0
- package/docs/id/benchmark/svelte.md +22 -0
- package/docs/id/benchmark/tanstack.md +22 -0
- package/docs/id/cli/ci.md +22 -0
- package/docs/id/cli/fill.md +8 -0
- package/docs/id/compat/i18n-js.md +44 -0
- package/docs/id/compat/i18next.md +59 -0
- package/docs/id/compat/index.md +51 -0
- package/docs/id/compat/lingui.md +44 -0
- package/docs/id/compat/next-i18next.md +57 -0
- package/docs/id/compat/next-intl.md +59 -0
- package/docs/id/compat/next-translate.md +45 -0
- package/docs/id/compat/ngx-translate.md +45 -0
- package/docs/id/compat/nuxtjs-i18n.md +46 -0
- package/docs/id/compat/polyglot.md +45 -0
- package/docs/id/compat/react-i18next.md +58 -0
- package/docs/id/compat/react-intl.md +55 -0
- package/docs/id/compat/svelte-i18n.md +47 -0
- package/docs/id/compat/transloco.md +45 -0
- package/docs/id/compat/vue-i18n.md +58 -0
- package/docs/id/compiler.md +3 -1
- package/docs/id/configuration.md +19 -17
- package/docs/id/custom_domains.md +1 -1
- package/docs/id/custom_url_rewrites.md +14 -16
- package/docs/id/dictionary/content_file.md +0 -7
- package/docs/id/dictionary/enumeration.md +0 -187
- package/docs/id/dictionary/nesting.md +39 -0
- package/docs/id/dictionary/translation.md +0 -61
- package/docs/id/formatters.md +120 -0
- package/docs/id/interest_of_intlayer.md +193 -0
- package/docs/id/intlayer_with_astro.md +130 -3
- package/docs/id/intlayer_with_astro_lit.md +1 -1
- package/docs/id/intlayer_with_astro_preact.md +1 -1
- package/docs/id/intlayer_with_astro_react.md +1 -1
- package/docs/id/intlayer_with_astro_solid.md +1 -1
- package/docs/id/intlayer_with_astro_svelte.md +1 -1
- package/docs/id/intlayer_with_astro_vanilla.md +1 -1
- package/docs/id/intlayer_with_astro_vue.md +1 -1
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +176 -54
- package/docs/id/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +31 -72
- package/docs/id/intlayer_with_react_router_v7.md +1 -95
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -103
- package/docs/id/intlayer_with_svelte_kit.md +1 -207
- package/docs/id/intlayer_with_tanstack+solid.md +3 -1
- package/docs/id/intlayer_with_tanstack.md +1 -1
- package/docs/id/intlayer_with_vite+lit.md +1 -1
- package/docs/id/intlayer_with_vite+preact.md +57 -57
- package/docs/id/intlayer_with_vite+react.md +49 -49
- package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/id/intlayer_with_vite+solid.md +33 -42
- package/docs/id/intlayer_with_vite+svelte.md +27 -29
- package/docs/id/intlayer_with_vite+vanilla.md +1 -1
- package/docs/id/intlayer_with_vite+vue.md +49 -101
- package/docs/id/mcp_server.md +22 -0
- package/docs/id/migration_from_i18next_to_intlayer.md +330 -0
- package/docs/id/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/id/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/id/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/id/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/id/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/id/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/id/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/id/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/id/packages/react-native-intlayer/exports.md +47 -13
- package/docs/id/releases/v6.md +4 -0
- package/docs/id/releases/v7.md +128 -0
- package/docs/id/releases/v9.md +37 -1
- package/docs/id/roadmap.md +0 -16
- package/docs/it/CI_CD.md +4 -0
- package/docs/it/autoFill.md +81 -0
- package/docs/it/benchmark/solid.md +22 -0
- package/docs/it/benchmark/svelte.md +22 -0
- package/docs/it/benchmark/tanstack.md +22 -0
- package/docs/it/cli/ci.md +22 -0
- package/docs/it/cli/fill.md +8 -0
- package/docs/it/compat/i18n-js.md +44 -0
- package/docs/it/compat/i18next.md +59 -0
- package/docs/it/compat/index.md +51 -0
- package/docs/it/compat/lingui.md +44 -0
- package/docs/it/compat/next-i18next.md +57 -0
- package/docs/it/compat/next-intl.md +59 -0
- package/docs/it/compat/next-translate.md +45 -0
- package/docs/it/compat/ngx-translate.md +45 -0
- package/docs/it/compat/nuxtjs-i18n.md +46 -0
- package/docs/it/compat/polyglot.md +45 -0
- package/docs/it/compat/react-i18next.md +58 -0
- package/docs/it/compat/react-intl.md +55 -0
- package/docs/it/compat/svelte-i18n.md +47 -0
- package/docs/it/compat/transloco.md +45 -0
- package/docs/it/compat/vue-i18n.md +58 -0
- package/docs/it/compiler.md +3 -1
- package/docs/it/configuration.md +19 -17
- package/docs/it/custom_domains.md +1 -1
- package/docs/it/custom_url_rewrites.md +1 -1
- package/docs/it/dictionary/content_file.md +4 -7
- package/docs/it/dictionary/enumeration.md +0 -197
- package/docs/it/dictionary/file.md +8 -0
- package/docs/it/dictionary/nesting.md +39 -0
- package/docs/it/dictionary/translation.md +0 -61
- package/docs/it/formatters.md +82 -0
- package/docs/it/how_works_intlayer.md +4 -4
- package/docs/it/intlayer_CMS.md +6 -0
- package/docs/it/intlayer_with_astro.md +129 -2
- package/docs/it/intlayer_with_astro_lit.md +1 -1
- package/docs/it/intlayer_with_astro_preact.md +1 -1
- package/docs/it/intlayer_with_astro_react.md +1 -1
- package/docs/it/intlayer_with_astro_solid.md +1 -1
- package/docs/it/intlayer_with_astro_svelte.md +1 -1
- package/docs/it/intlayer_with_astro_vanilla.md +1 -1
- package/docs/it/intlayer_with_astro_vue.md +1 -1
- package/docs/it/intlayer_with_create_react_app.md +0 -14
- package/docs/it/intlayer_with_express.md +0 -4
- package/docs/it/intlayer_with_lynx+react.md +11 -0
- package/docs/it/intlayer_with_nestjs.md +0 -8
- package/docs/it/intlayer_with_nextjs_14.md +30 -9
- package/docs/it/intlayer_with_nextjs_15.md +21 -1
- package/docs/it/intlayer_with_nextjs_16.md +176 -54
- package/docs/it/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/it/intlayer_with_react_native+expo.md +67 -71
- package/docs/it/intlayer_with_react_router_v7.md +1 -95
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/it/intlayer_with_svelte_kit.md +1 -239
- package/docs/it/intlayer_with_tanstack+solid.md +3 -1
- package/docs/it/intlayer_with_tanstack.md +1 -1
- package/docs/it/intlayer_with_vite+lit.md +1 -1
- package/docs/it/intlayer_with_vite+preact.md +61 -57
- package/docs/it/intlayer_with_vite+react.md +49 -1
- package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/it/intlayer_with_vite+solid.md +33 -42
- package/docs/it/intlayer_with_vite+svelte.md +27 -29
- package/docs/it/intlayer_with_vite+vanilla.md +1 -1
- package/docs/it/intlayer_with_vite+vue.md +53 -123
- package/docs/it/mcp_server.md +22 -0
- package/docs/it/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/it/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/it/packages/next-intlayer/t.md +34 -0
- package/docs/it/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/it/packages/react-intlayer/useIntlayer.md +0 -57
- package/docs/it/packages/react-native-intlayer/exports.md +47 -13
- package/docs/it/releases/v6.md +28 -0
- package/docs/it/releases/v7.md +128 -0
- package/docs/it/releases/v9.md +37 -1
- package/docs/it/roadmap.md +6 -0
- package/docs/ja/CI_CD.md +4 -0
- package/docs/ja/autoFill.md +81 -0
- package/docs/ja/benchmark/solid.md +22 -0
- package/docs/ja/benchmark/svelte.md +22 -0
- package/docs/ja/benchmark/tanstack.md +22 -0
- package/docs/ja/cli/ci.md +22 -0
- package/docs/ja/cli/fill.md +8 -0
- package/docs/ja/cli/list_projects.md +0 -18
- package/docs/ja/compat/i18n-js.md +44 -0
- package/docs/ja/compat/i18next.md +59 -0
- package/docs/ja/compat/index.md +51 -0
- package/docs/ja/compat/lingui.md +44 -0
- package/docs/ja/compat/next-i18next.md +57 -0
- package/docs/ja/compat/next-intl.md +59 -0
- package/docs/ja/compat/next-translate.md +45 -0
- package/docs/ja/compat/ngx-translate.md +45 -0
- package/docs/ja/compat/nuxtjs-i18n.md +46 -0
- package/docs/ja/compat/polyglot.md +45 -0
- package/docs/ja/compat/react-i18next.md +58 -0
- package/docs/ja/compat/react-intl.md +55 -0
- package/docs/ja/compat/svelte-i18n.md +47 -0
- package/docs/ja/compat/transloco.md +45 -0
- package/docs/ja/compat/vue-i18n.md +58 -0
- package/docs/ja/compiler.md +3 -1
- package/docs/ja/configuration.md +19 -17
- package/docs/ja/custom_domains.md +1 -1
- package/docs/ja/custom_url_rewrites.md +1 -1
- package/docs/ja/dictionary/content_file.md +4 -0
- package/docs/ja/dictionary/enumeration.md +0 -187
- package/docs/ja/dictionary/function_fetching.md +0 -27
- package/docs/ja/dictionary/markdown.md +1348 -0
- package/docs/ja/dictionary/nesting.md +39 -0
- package/docs/ja/dictionary/translation.md +0 -119
- package/docs/ja/formatters.md +77 -0
- package/docs/ja/how_works_intlayer.md +4 -2
- package/docs/ja/intlayer_CMS.md +6 -0
- package/docs/ja/intlayer_visual_editor.md +0 -4
- package/docs/ja/intlayer_with_analog.md +4 -0
- package/docs/ja/intlayer_with_astro.md +129 -2
- package/docs/ja/intlayer_with_astro_lit.md +1 -1
- package/docs/ja/intlayer_with_astro_preact.md +1 -1
- package/docs/ja/intlayer_with_astro_react.md +1 -1
- package/docs/ja/intlayer_with_astro_solid.md +1 -1
- package/docs/ja/intlayer_with_astro_svelte.md +1 -1
- package/docs/ja/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ja/intlayer_with_astro_vue.md +1 -1
- package/docs/ja/intlayer_with_create_react_app.md +0 -16
- package/docs/ja/intlayer_with_express.md +0 -4
- package/docs/ja/intlayer_with_nestjs.md +0 -8
- package/docs/ja/intlayer_with_nextjs_14.md +26 -20
- package/docs/ja/intlayer_with_nextjs_15.md +21 -1
- package/docs/ja/intlayer_with_nextjs_16.md +176 -54
- package/docs/ja/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ja/intlayer_with_react_native+expo.md +133 -136
- package/docs/ja/intlayer_with_react_router_v7.md +1 -23
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/ja/intlayer_with_svelte_kit.md +12 -1
- package/docs/ja/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ja/intlayer_with_tanstack.md +3 -1
- package/docs/ja/intlayer_with_vite+lit.md +1 -1
- package/docs/ja/intlayer_with_vite+preact.md +704 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ja/intlayer_with_vite+solid.md +33 -42
- package/docs/ja/intlayer_with_vite+svelte.md +29 -29
- package/docs/ja/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ja/intlayer_with_vite+vue.md +70 -114
- package/docs/ja/mcp_server.md +26 -0
- package/docs/ja/packages/express-intlayer/t.md +0 -9
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ja/packages/react-intlayer/useDictionary.md +0 -107
- package/docs/ja/packages/react-intlayer/useIntlayer.md +0 -65
- package/docs/ja/packages/react-native-intlayer/exports.md +47 -14
- package/docs/ja/releases/v6.md +28 -0
- package/docs/ja/releases/v7.md +128 -0
- package/docs/ja/releases/v9.md +37 -1
- package/docs/ja/roadmap.md +6 -0
- package/docs/ko/CI_CD.md +4 -0
- package/docs/ko/autoFill.md +81 -0
- package/docs/ko/benchmark/solid.md +22 -0
- package/docs/ko/benchmark/svelte.md +22 -0
- package/docs/ko/benchmark/tanstack.md +22 -0
- package/docs/ko/cli/ci.md +22 -0
- package/docs/ko/cli/fill.md +8 -0
- package/docs/ko/cli/login.md +0 -36
- package/docs/ko/compat/i18n-js.md +44 -0
- package/docs/ko/compat/i18next.md +59 -0
- package/docs/ko/compat/index.md +51 -0
- package/docs/ko/compat/lingui.md +44 -0
- package/docs/ko/compat/next-i18next.md +55 -0
- package/docs/ko/compat/next-intl.md +59 -0
- package/docs/ko/compat/next-translate.md +45 -0
- package/docs/ko/compat/ngx-translate.md +45 -0
- package/docs/ko/compat/nuxtjs-i18n.md +46 -0
- package/docs/ko/compat/polyglot.md +45 -0
- package/docs/ko/compat/react-i18next.md +58 -0
- package/docs/ko/compat/react-intl.md +55 -0
- package/docs/ko/compat/svelte-i18n.md +47 -0
- package/docs/ko/compat/transloco.md +45 -0
- package/docs/ko/compat/vue-i18n.md +58 -0
- package/docs/ko/compiler.md +3 -1
- package/docs/ko/configuration.md +19 -17
- package/docs/ko/custom_domains.md +1 -1
- package/docs/ko/custom_url_rewrites.md +1 -1
- package/docs/ko/dictionary/content_file.md +4 -27
- package/docs/ko/dictionary/enumeration.md +0 -187
- package/docs/ko/dictionary/insertion.md +0 -6
- package/docs/ko/dictionary/nesting.md +39 -0
- package/docs/ko/dictionary/translation.md +0 -84
- package/docs/ko/formatters.md +71 -0
- package/docs/ko/how_works_intlayer.md +4 -0
- package/docs/ko/intlayer_CMS.md +6 -0
- package/docs/ko/intlayer_visual_editor.md +0 -2
- package/docs/ko/intlayer_with_analog.md +4 -0
- package/docs/ko/intlayer_with_astro.md +129 -2
- package/docs/ko/intlayer_with_astro_lit.md +1 -1
- package/docs/ko/intlayer_with_astro_preact.md +1 -1
- package/docs/ko/intlayer_with_astro_react.md +1 -1
- package/docs/ko/intlayer_with_astro_solid.md +1 -1
- package/docs/ko/intlayer_with_astro_svelte.md +1 -1
- package/docs/ko/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ko/intlayer_with_astro_vue.md +1 -1
- package/docs/ko/intlayer_with_create_react_app.md +0 -14
- package/docs/ko/intlayer_with_express.md +0 -23
- package/docs/ko/intlayer_with_lynx+react.md +0 -124
- package/docs/ko/intlayer_with_nestjs.md +0 -18
- package/docs/ko/intlayer_with_nextjs_14.md +19 -13
- package/docs/ko/intlayer_with_nextjs_15.md +21 -1
- package/docs/ko/intlayer_with_nextjs_16.md +175 -56
- package/docs/ko/intlayer_with_nextjs_compiler.md +1 -308
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ko/intlayer_with_react_native+expo.md +117 -141
- package/docs/ko/intlayer_with_react_router_v7.md +1 -95
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +20 -96
- package/docs/ko/intlayer_with_svelte_kit.md +1 -207
- package/docs/ko/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ko/intlayer_with_tanstack.md +1 -1
- package/docs/ko/intlayer_with_vite+lit.md +1 -1
- package/docs/ko/intlayer_with_vite+preact.md +57 -91
- package/docs/ko/intlayer_with_vite+react.md +93 -18
- package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ko/intlayer_with_vite+solid.md +33 -143
- package/docs/ko/intlayer_with_vite+svelte.md +27 -29
- package/docs/ko/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ko/intlayer_with_vite+vue.md +54 -106
- package/docs/ko/mcp_server.md +22 -0
- package/docs/ko/packages/express-intlayer/t.md +0 -9
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ko/packages/next-intlayer/t.md +34 -0
- package/docs/ko/packages/next-intlayer/useLocale.md +0 -5
- package/docs/ko/packages/react-intlayer/t.md +0 -20
- package/docs/ko/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/ko/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/ko/packages/react-native-intlayer/exports.md +48 -14
- package/docs/ko/releases/v6.md +28 -0
- package/docs/ko/releases/v7.md +128 -0
- package/docs/ko/releases/v9.md +37 -1
- package/docs/ko/roadmap.md +6 -0
- package/docs/pl/autoFill.md +20 -0
- package/docs/pl/benchmark/___NOTE.md +101 -0
- package/docs/pl/benchmark/___nextjs.md +198 -0
- package/docs/pl/benchmark/___solid.md +36 -0
- package/docs/pl/benchmark/___svelte.md +36 -0
- package/docs/pl/benchmark/___tanstack.md +36 -0
- package/docs/pl/benchmark/___vue.md +36 -0
- package/docs/pl/benchmark/solid.md +22 -0
- package/docs/pl/benchmark/svelte.md +22 -0
- package/docs/pl/benchmark/tanstack.md +22 -0
- package/docs/pl/cli/ci.md +22 -0
- package/docs/pl/cli/fill.md +8 -0
- package/docs/pl/cli/login.md +0 -36
- package/docs/pl/compat/i18n-js.md +44 -0
- package/docs/pl/compat/i18next.md +59 -0
- package/docs/pl/compat/index.md +51 -0
- package/docs/pl/compat/lingui.md +44 -0
- package/docs/pl/compat/next-i18next.md +57 -0
- package/docs/pl/compat/next-intl.md +59 -0
- package/docs/pl/compat/next-translate.md +45 -0
- package/docs/pl/compat/ngx-translate.md +45 -0
- package/docs/pl/compat/nuxtjs-i18n.md +46 -0
- package/docs/pl/compat/polyglot.md +45 -0
- package/docs/pl/compat/react-i18next.md +58 -0
- package/docs/pl/compat/react-intl.md +55 -0
- package/docs/pl/compat/svelte-i18n.md +47 -0
- package/docs/pl/compat/transloco.md +45 -0
- package/docs/pl/compat/vue-i18n.md +58 -0
- package/docs/pl/configuration.md +15 -16
- package/docs/pl/dictionary/content_file.md +0 -40
- package/docs/pl/dictionary/enumeration.md +0 -187
- package/docs/pl/dictionary/nesting.md +39 -0
- package/docs/pl/dictionary/translation.md +0 -61
- package/docs/pl/formatters.md +120 -0
- package/docs/pl/intlayer_with_astro.md +179 -0
- package/docs/pl/intlayer_with_react_native+expo.md +58 -82
- package/docs/pl/intlayer_with_react_router_v7.md +0 -94
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +0 -95
- package/docs/pl/intlayer_with_svelte_kit.md +0 -210
- package/docs/pl/intlayer_with_vite+preact.md +56 -56
- package/docs/pl/intlayer_with_vite+react.md +48 -48
- package/docs/pl/intlayer_with_vite+solid.md +32 -41
- package/docs/pl/intlayer_with_vite+svelte.md +28 -28
- package/docs/pl/intlayer_with_vite+vue.md +48 -70
- package/docs/pl/mcp_server.md +22 -0
- package/docs/pl/migration_from_i18next_to_intlayer.md +230 -0
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +351 -0
- package/docs/pl/migration_from_next-intl_to_intlayer.md +360 -0
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +324 -0
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +380 -0
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +232 -0
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +19 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/pl/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/pl/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/pl/packages/react-native-intlayer/exports.md +47 -13
- package/docs/pl/plugins/sync-json.md +0 -59
- package/docs/pl/releases/v6.md +4 -0
- package/docs/pl/releases/v7.md +128 -0
- package/docs/pl/releases/v9.md +36 -0
- package/docs/pl/roadmap.md +0 -16
- package/docs/pt/CI_CD.md +4 -0
- package/docs/pt/autoFill.md +117 -14
- package/docs/pt/benchmark/index.md +5 -5
- package/docs/pt/benchmark/solid.md +22 -0
- package/docs/pt/benchmark/svelte.md +22 -0
- package/docs/pt/benchmark/tanstack.md +22 -0
- package/docs/pt/cli/ci.md +22 -0
- package/docs/pt/cli/fill.md +8 -0
- package/docs/pt/cli/login.md +0 -36
- package/docs/pt/compat/i18n-js.md +44 -0
- package/docs/pt/compat/i18next.md +59 -0
- package/docs/pt/compat/index.md +51 -0
- package/docs/pt/compat/lingui.md +44 -0
- package/docs/pt/compat/next-i18next.md +57 -0
- package/docs/pt/compat/next-intl.md +59 -0
- package/docs/pt/compat/next-translate.md +45 -0
- package/docs/pt/compat/ngx-translate.md +45 -0
- package/docs/pt/compat/nuxtjs-i18n.md +46 -0
- package/docs/pt/compat/polyglot.md +45 -0
- package/docs/pt/compat/react-i18next.md +58 -0
- package/docs/pt/compat/react-intl.md +55 -0
- package/docs/pt/compat/svelte-i18n.md +47 -0
- package/docs/pt/compat/transloco.md +45 -0
- package/docs/pt/compat/vue-i18n.md +58 -0
- package/docs/pt/compiler.md +2 -2
- package/docs/pt/configuration.md +16 -17
- package/docs/pt/custom_domains.md +1 -6
- package/docs/pt/custom_url_rewrites.md +1 -1
- package/docs/pt/dictionary/content_file.md +4 -7
- package/docs/pt/dictionary/enumeration.md +3 -190
- package/docs/pt/dictionary/file.md +8 -0
- package/docs/pt/dictionary/nesting.md +39 -0
- package/docs/pt/dictionary/translation.md +0 -61
- package/docs/pt/formatters.md +86 -0
- package/docs/pt/how_works_intlayer.md +4 -0
- package/docs/pt/intlayer_CMS.md +21 -0
- package/docs/pt/intlayer_with_analog.md +3 -3
- package/docs/pt/intlayer_with_angular_19.md +7 -7
- package/docs/pt/intlayer_with_angular_21.md +3 -3
- package/docs/pt/intlayer_with_astro.md +182 -3
- package/docs/pt/intlayer_with_astro_lit.md +3 -3
- package/docs/pt/intlayer_with_astro_preact.md +3 -3
- package/docs/pt/intlayer_with_astro_react.md +3 -3
- package/docs/pt/intlayer_with_astro_solid.md +3 -3
- package/docs/pt/intlayer_with_astro_svelte.md +3 -3
- package/docs/pt/intlayer_with_astro_vanilla.md +3 -3
- package/docs/pt/intlayer_with_astro_vue.md +3 -3
- package/docs/pt/intlayer_with_create_react_app.md +0 -14
- package/docs/pt/intlayer_with_express.md +0 -23
- package/docs/pt/intlayer_with_lynx+react.md +14 -3
- package/docs/pt/intlayer_with_nestjs.md +0 -18
- package/docs/pt/intlayer_with_nextjs_14.md +26 -7
- package/docs/pt/intlayer_with_nextjs_15.md +27 -7
- package/docs/pt/intlayer_with_nextjs_16.md +6 -6
- package/docs/pt/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +6 -6
- package/docs/pt/intlayer_with_nextjs_page_router.md +10 -6
- package/docs/pt/intlayer_with_nuxt.md +3 -3
- package/docs/pt/intlayer_with_react_native+expo.md +74 -75
- package/docs/pt/intlayer_with_react_router_v7.md +8 -84
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +3 -98
- package/docs/pt/intlayer_with_storybook.md +3 -3
- package/docs/pt/intlayer_with_svelte_kit.md +3 -245
- package/docs/pt/intlayer_with_tanstack+solid.md +3 -3
- package/docs/pt/intlayer_with_tanstack.md +3 -3
- package/docs/pt/intlayer_with_vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+lit.md +3 -3
- package/docs/pt/intlayer_with_vite+preact.md +3 -3
- package/docs/pt/intlayer_with_vite+react.md +10 -10
- package/docs/pt/intlayer_with_vite+react_compiler.md +5 -5
- package/docs/pt/intlayer_with_vite+solid.md +3 -3
- package/docs/pt/intlayer_with_vite+svelte.md +31 -31
- package/docs/pt/intlayer_with_vite+vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+vue.md +7 -3
- package/docs/pt/mcp_server.md +22 -0
- package/docs/pt/packages/hono-intlayer/t.md +1 -1
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/pt/packages/next-intlayer/t.md +34 -0
- package/docs/pt/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/pt/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/pt/packages/react-native-intlayer/exports.md +47 -13
- package/docs/pt/plugins/sync-po.md +1 -1
- package/docs/pt/readme.md +3 -3
- package/docs/pt/releases/v6.md +28 -0
- package/docs/pt/releases/v7.md +128 -0
- package/docs/pt/releases/v9.md +37 -1
- package/docs/pt/roadmap.md +6 -0
- package/docs/ru/CI_CD.md +4 -0
- package/docs/ru/autoFill.md +81 -0
- package/docs/ru/benchmark/solid.md +22 -0
- package/docs/ru/benchmark/svelte.md +22 -0
- package/docs/ru/benchmark/tanstack.md +22 -0
- package/docs/ru/cli/ci.md +22 -0
- package/docs/ru/cli/fill.md +8 -0
- package/docs/ru/cli/login.md +0 -36
- package/docs/ru/compat/i18n-js.md +44 -0
- package/docs/ru/compat/i18next.md +59 -0
- package/docs/ru/compat/index.md +51 -0
- package/docs/ru/compat/lingui.md +44 -0
- package/docs/ru/compat/next-i18next.md +57 -0
- package/docs/ru/compat/next-intl.md +59 -0
- package/docs/ru/compat/next-translate.md +45 -0
- package/docs/ru/compat/ngx-translate.md +45 -0
- package/docs/ru/compat/nuxtjs-i18n.md +46 -0
- package/docs/ru/compat/polyglot.md +45 -0
- package/docs/ru/compat/react-i18next.md +58 -0
- package/docs/ru/compat/react-intl.md +55 -0
- package/docs/ru/compat/svelte-i18n.md +47 -0
- package/docs/ru/compat/transloco.md +45 -0
- package/docs/ru/compat/vue-i18n.md +58 -0
- package/docs/ru/compiler.md +3 -1
- package/docs/ru/configuration.md +19 -17
- package/docs/ru/custom_domains.md +1 -1
- package/docs/ru/custom_url_rewrites.md +1 -1
- package/docs/ru/dictionary/content_file.md +4 -27
- package/docs/ru/dictionary/enumeration.md +0 -199
- package/docs/ru/dictionary/file.md +8 -0
- package/docs/ru/dictionary/markdown.md +510 -0
- package/docs/ru/dictionary/nesting.md +8 -0
- package/docs/ru/dictionary/translation.md +0 -61
- package/docs/ru/formatters.md +136 -0
- package/docs/ru/how_works_intlayer.md +4 -0
- package/docs/ru/intlayer_CMS.md +6 -0
- package/docs/ru/intlayer_with_astro.md +129 -2
- package/docs/ru/intlayer_with_astro_lit.md +1 -1
- package/docs/ru/intlayer_with_astro_preact.md +1 -1
- package/docs/ru/intlayer_with_astro_react.md +1 -1
- package/docs/ru/intlayer_with_astro_solid.md +1 -1
- package/docs/ru/intlayer_with_astro_svelte.md +1 -1
- package/docs/ru/intlayer_with_astro_vanilla.md +1 -1
- package/docs/ru/intlayer_with_astro_vue.md +1 -1
- package/docs/ru/intlayer_with_express.md +0 -23
- package/docs/ru/intlayer_with_nestjs.md +0 -18
- package/docs/ru/intlayer_with_nextjs_14.md +31 -8
- package/docs/ru/intlayer_with_nextjs_15.md +21 -1
- package/docs/ru/intlayer_with_nextjs_16.md +1 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/ru/intlayer_with_react_native+expo.md +78 -80
- package/docs/ru/intlayer_with_react_router_v7.md +1 -95
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/ru/intlayer_with_svelte_kit.md +1 -207
- package/docs/ru/intlayer_with_tanstack+solid.md +3 -1
- package/docs/ru/intlayer_with_tanstack.md +1 -1
- package/docs/ru/intlayer_with_vite+lit.md +1 -1
- package/docs/ru/intlayer_with_vite+preact.md +57 -57
- package/docs/ru/intlayer_with_vite+react.md +3 -1
- package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ru/intlayer_with_vite+solid.md +33 -42
- package/docs/ru/intlayer_with_vite+svelte.md +27 -29
- package/docs/ru/intlayer_with_vite+vanilla.md +1 -1
- package/docs/ru/intlayer_with_vite+vue.md +53 -101
- package/docs/ru/mcp_server.md +22 -0
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/ru/packages/next-intlayer/t.md +34 -0
- package/docs/ru/packages/react-intlayer/useDictionary.md +0 -104
- package/docs/ru/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/ru/packages/react-intlayer/useLocale.md +9 -0
- package/docs/ru/packages/react-native-intlayer/exports.md +49 -16
- package/docs/ru/releases/v6.md +28 -0
- package/docs/ru/releases/v7.md +128 -0
- package/docs/ru/releases/v9.md +37 -1
- package/docs/ru/roadmap.md +6 -0
- package/docs/tr/CI_CD.md +4 -0
- package/docs/tr/autoFill.md +81 -0
- package/docs/tr/benchmark/solid.md +22 -0
- package/docs/tr/benchmark/svelte.md +22 -0
- package/docs/tr/benchmark/tanstack.md +22 -0
- package/docs/tr/cli/ci.md +22 -0
- package/docs/tr/cli/fill.md +8 -0
- package/docs/tr/cli/login.md +0 -10
- package/docs/tr/compat/i18n-js.md +44 -0
- package/docs/tr/compat/i18next.md +59 -0
- package/docs/tr/compat/index.md +51 -0
- package/docs/tr/compat/lingui.md +44 -0
- package/docs/tr/compat/next-i18next.md +57 -0
- package/docs/tr/compat/next-intl.md +59 -0
- package/docs/tr/compat/next-translate.md +45 -0
- package/docs/tr/compat/ngx-translate.md +45 -0
- package/docs/tr/compat/nuxtjs-i18n.md +46 -0
- package/docs/tr/compat/polyglot.md +45 -0
- package/docs/tr/compat/react-i18next.md +58 -0
- package/docs/tr/compat/react-intl.md +55 -0
- package/docs/tr/compat/svelte-i18n.md +47 -0
- package/docs/tr/compat/transloco.md +45 -0
- package/docs/tr/compat/vue-i18n.md +58 -0
- package/docs/tr/compiler.md +3 -1
- package/docs/tr/configuration.md +19 -17
- package/docs/tr/custom_domains.md +1 -1
- package/docs/tr/custom_url_rewrites.md +1 -1
- package/docs/tr/dictionary/content_file.md +4 -27
- package/docs/tr/dictionary/enumeration.md +0 -187
- package/docs/tr/dictionary/file.md +8 -0
- package/docs/tr/dictionary/nesting.md +39 -0
- package/docs/tr/dictionary/translation.md +0 -88
- package/docs/tr/formatters.md +59 -0
- package/docs/tr/how_works_intlayer.md +4 -0
- package/docs/tr/intlayer_CMS.md +6 -0
- package/docs/tr/intlayer_with_analog.md +4 -0
- package/docs/tr/intlayer_with_astro.md +134 -77
- package/docs/tr/intlayer_with_astro_lit.md +1 -1
- package/docs/tr/intlayer_with_astro_preact.md +1 -1
- package/docs/tr/intlayer_with_astro_react.md +1 -1
- package/docs/tr/intlayer_with_astro_solid.md +1 -1
- package/docs/tr/intlayer_with_astro_svelte.md +1 -1
- package/docs/tr/intlayer_with_astro_vanilla.md +1 -1
- package/docs/tr/intlayer_with_astro_vue.md +1 -1
- package/docs/tr/intlayer_with_express.md +0 -4
- package/docs/tr/intlayer_with_nestjs.md +0 -8
- package/docs/tr/intlayer_with_nextjs_14.md +95 -8
- package/docs/tr/intlayer_with_nextjs_15.md +21 -1
- package/docs/tr/intlayer_with_nextjs_16.md +1 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +5 -1
- package/docs/tr/intlayer_with_react_native+expo.md +65 -101
- package/docs/tr/intlayer_with_react_router_v7.md +1 -95
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/tr/intlayer_with_svelte_kit.md +1 -207
- package/docs/tr/intlayer_with_tanstack+solid.md +3 -1
- package/docs/tr/intlayer_with_tanstack.md +1 -1
- package/docs/tr/intlayer_with_vite+lit.md +1 -1
- package/docs/tr/intlayer_with_vite+preact.md +57 -57
- package/docs/tr/intlayer_with_vite+react.md +49 -49
- package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/tr/intlayer_with_vite+solid.md +33 -42
- package/docs/tr/intlayer_with_vite+svelte.md +27 -29
- package/docs/tr/intlayer_with_vite+vanilla.md +1 -1
- package/docs/tr/intlayer_with_vite+vue.md +54 -102
- package/docs/tr/mcp_server.md +22 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +0 -119
- package/docs/tr/packages/react-intlayer/useI18n.md +0 -125
- package/docs/tr/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/tr/packages/react-native-intlayer/exports.md +48 -15
- package/docs/tr/releases/v6.md +28 -0
- package/docs/tr/releases/v7.md +128 -0
- package/docs/tr/releases/v9.md +37 -1
- package/docs/tr/roadmap.md +6 -0
- package/docs/uk/benchmark/solid.md +22 -0
- package/docs/uk/benchmark/svelte.md +22 -0
- package/docs/uk/benchmark/tanstack.md +22 -0
- package/docs/uk/cli/ci.md +22 -0
- package/docs/uk/cli/fill.md +8 -0
- package/docs/uk/compat/i18n-js.md +44 -0
- package/docs/uk/compat/i18next.md +59 -0
- package/docs/uk/compat/index.md +51 -0
- package/docs/uk/compat/lingui.md +44 -0
- package/docs/uk/compat/next-i18next.md +57 -0
- package/docs/uk/compat/next-intl.md +59 -0
- package/docs/uk/compat/next-translate.md +45 -0
- package/docs/uk/compat/ngx-translate.md +45 -0
- package/docs/uk/compat/nuxtjs-i18n.md +46 -0
- package/docs/uk/compat/polyglot.md +45 -0
- package/docs/uk/compat/react-i18next.md +58 -0
- package/docs/uk/compat/react-intl.md +55 -0
- package/docs/uk/compat/svelte-i18n.md +47 -0
- package/docs/uk/compat/transloco.md +45 -0
- package/docs/uk/compat/vue-i18n.md +58 -0
- package/docs/uk/compiler.md +3 -1
- package/docs/uk/configuration.md +19 -17
- package/docs/uk/custom_domains.md +1 -1
- package/docs/uk/custom_url_rewrites.md +1 -1
- package/docs/uk/dictionary/content_file.md +0 -7
- package/docs/uk/dictionary/enumeration.md +0 -187
- package/docs/uk/dictionary/nesting.md +39 -0
- package/docs/uk/dictionary/translation.md +0 -72
- package/docs/uk/formatters.md +142 -58
- package/docs/uk/interest_of_intlayer.md +194 -0
- package/docs/uk/intlayer_with_analog.md +4 -0
- package/docs/uk/intlayer_with_astro.md +130 -3
- package/docs/uk/intlayer_with_astro_lit.md +1 -1
- package/docs/uk/intlayer_with_astro_preact.md +1 -1
- package/docs/uk/intlayer_with_astro_react.md +1 -1
- package/docs/uk/intlayer_with_astro_solid.md +1 -1
- package/docs/uk/intlayer_with_astro_svelte.md +1 -1
- package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
- package/docs/uk/intlayer_with_astro_vue.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_15.md +1 -1
- package/docs/uk/intlayer_with_nextjs_16.md +1 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_nuxt.md +0 -27
- package/docs/uk/intlayer_with_react_native+expo.md +52 -93
- package/docs/uk/intlayer_with_react_router_v7.md +1 -95
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/uk/intlayer_with_svelte_kit.md +1 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +3 -1
- package/docs/uk/intlayer_with_tanstack.md +1 -1
- package/docs/uk/intlayer_with_vite+lit.md +1 -1
- package/docs/uk/intlayer_with_vite+preact.md +57 -57
- package/docs/uk/intlayer_with_vite+react.md +49 -49
- package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/uk/intlayer_with_vite+solid.md +33 -42
- package/docs/uk/intlayer_with_vite+svelte.md +29 -29
- package/docs/uk/intlayer_with_vite+vanilla.md +1 -1
- package/docs/uk/intlayer_with_vite+vue.md +49 -101
- package/docs/uk/mcp_server.md +22 -0
- package/docs/uk/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/uk/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/uk/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/uk/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/uk/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +0 -107
- package/docs/uk/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/uk/packages/react-native-intlayer/exports.md +47 -13
- package/docs/uk/releases/v6.md +4 -0
- package/docs/uk/releases/v7.md +4 -0
- package/docs/uk/releases/v9.md +37 -1
- package/docs/vi/autoFill.md +20 -0
- package/docs/vi/benchmark/solid.md +22 -0
- package/docs/vi/benchmark/svelte.md +22 -0
- package/docs/vi/benchmark/tanstack.md +22 -0
- package/docs/vi/cli/ci.md +22 -0
- package/docs/vi/cli/fill.md +8 -0
- package/docs/vi/cli/login.md +0 -36
- package/docs/vi/compat/i18n-js.md +44 -0
- package/docs/vi/compat/i18next.md +59 -0
- package/docs/vi/compat/index.md +51 -0
- package/docs/vi/compat/lingui.md +44 -0
- package/docs/vi/compat/next-i18next.md +57 -0
- package/docs/vi/compat/next-intl.md +59 -0
- package/docs/vi/compat/next-translate.md +45 -0
- package/docs/vi/compat/ngx-translate.md +45 -0
- package/docs/vi/compat/nuxtjs-i18n.md +46 -0
- package/docs/vi/compat/polyglot.md +45 -0
- package/docs/vi/compat/react-i18next.md +58 -0
- package/docs/vi/compat/react-intl.md +55 -0
- package/docs/vi/compat/svelte-i18n.md +47 -0
- package/docs/vi/compat/transloco.md +45 -0
- package/docs/vi/compat/vue-i18n.md +58 -0
- package/docs/vi/compiler.md +3 -1
- package/docs/vi/configuration.md +19 -17
- package/docs/vi/custom_domains.md +1 -1
- package/docs/vi/custom_url_rewrites.md +1 -1
- package/docs/vi/dictionary/content_file.md +0 -7
- package/docs/vi/dictionary/enumeration.md +0 -199
- package/docs/vi/dictionary/insertion.md +0 -2
- package/docs/vi/dictionary/nesting.md +39 -0
- package/docs/vi/dictionary/translation.md +0 -61
- package/docs/vi/formatters.md +124 -0
- package/docs/vi/interest_of_intlayer.md +193 -0
- package/docs/vi/intlayer_with_analog.md +4 -0
- package/docs/vi/intlayer_with_astro.md +130 -3
- package/docs/vi/intlayer_with_astro_lit.md +1 -1
- package/docs/vi/intlayer_with_astro_preact.md +1 -1
- package/docs/vi/intlayer_with_astro_react.md +1 -1
- package/docs/vi/intlayer_with_astro_solid.md +1 -1
- package/docs/vi/intlayer_with_astro_svelte.md +1 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/vi/intlayer_with_astro_vue.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +469 -1
- package/docs/vi/intlayer_with_nextjs_16.md +1 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +1 -22
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +0 -27
- package/docs/vi/intlayer_with_react_native+expo.md +32 -74
- package/docs/vi/intlayer_with_react_router_v7.md +1 -95
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -103
- package/docs/vi/intlayer_with_svelte_kit.md +1 -207
- package/docs/vi/intlayer_with_tanstack+solid.md +3 -1
- package/docs/vi/intlayer_with_tanstack.md +1 -1
- package/docs/vi/intlayer_with_vite+lit.md +1 -1
- package/docs/vi/intlayer_with_vite+preact.md +57 -57
- package/docs/vi/intlayer_with_vite+react.md +49 -49
- package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/vi/intlayer_with_vite+solid.md +33 -42
- package/docs/vi/intlayer_with_vite+svelte.md +29 -31
- package/docs/vi/intlayer_with_vite+vanilla.md +1 -1
- package/docs/vi/intlayer_with_vite+vue.md +49 -101
- package/docs/vi/mcp_server.md +22 -0
- package/docs/vi/migration_from_i18next_to_intlayer.md +333 -0
- package/docs/vi/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/vi/migration_from_next-intl_to_intlayer.md +364 -0
- package/docs/vi/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/vi/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/vi/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/vi/packages/react-intlayer/useDictionary.md +0 -121
- package/docs/vi/packages/react-intlayer/useI18n.md +0 -28
- package/docs/vi/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/vi/packages/react-native-intlayer/exports.md +47 -13
- package/docs/vi/releases/v6.md +4 -0
- package/docs/vi/releases/v7.md +128 -0
- package/docs/vi/releases/v9.md +37 -1
- package/docs/zh/CI_CD.md +1 -1
- package/docs/zh/autoFill.md +81 -0
- package/docs/zh/benchmark/solid.md +22 -0
- package/docs/zh/benchmark/svelte.md +22 -0
- package/docs/zh/benchmark/tanstack.md +22 -0
- package/docs/zh/cli/ci.md +22 -0
- package/docs/zh/cli/fill.md +8 -0
- package/docs/zh/cli/login.md +0 -36
- package/docs/zh/compat/i18n-js.md +44 -0
- package/docs/zh/compat/i18next.md +59 -0
- package/docs/zh/compat/index.md +51 -0
- package/docs/zh/compat/lingui.md +44 -0
- package/docs/zh/compat/next-i18next.md +57 -0
- package/docs/zh/compat/next-intl.md +59 -0
- package/docs/zh/compat/next-translate.md +45 -0
- package/docs/zh/compat/ngx-translate.md +45 -0
- package/docs/zh/compat/nuxtjs-i18n.md +46 -0
- package/docs/zh/compat/polyglot.md +45 -0
- package/docs/zh/compat/react-i18next.md +58 -0
- package/docs/zh/compat/react-intl.md +55 -0
- package/docs/zh/compat/svelte-i18n.md +47 -0
- package/docs/zh/compat/transloco.md +45 -0
- package/docs/zh/compat/vue-i18n.md +58 -0
- package/docs/zh/compiler.md +3 -1
- package/docs/zh/configuration.md +19 -17
- package/docs/zh/custom_domains.md +1 -1
- package/docs/zh/custom_url_rewrites.md +14 -16
- package/docs/zh/dictionary/content_file.md +16 -20
- package/docs/zh/dictionary/enumeration.md +0 -187
- package/docs/zh/dictionary/function_fetching.md +0 -27
- package/docs/zh/dictionary/insertion.md +0 -64
- package/docs/zh/dictionary/nesting.md +39 -0
- package/docs/zh/dictionary/translation.md +0 -84
- package/docs/zh/formatters.md +77 -0
- package/docs/zh/how_works_intlayer.md +4 -4
- package/docs/zh/intlayer_CMS.md +21 -0
- package/docs/zh/intlayer_with_analog.md +4 -170
- package/docs/zh/intlayer_with_angular_19.md +0 -248
- package/docs/zh/intlayer_with_astro.md +242 -60
- package/docs/zh/intlayer_with_astro_lit.md +108 -74
- package/docs/zh/intlayer_with_astro_preact.md +102 -68
- package/docs/zh/intlayer_with_astro_react.md +104 -70
- package/docs/zh/intlayer_with_astro_solid.md +104 -70
- package/docs/zh/intlayer_with_astro_svelte.md +104 -70
- package/docs/zh/intlayer_with_astro_vanilla.md +101 -69
- package/docs/zh/intlayer_with_astro_vue.md +96 -62
- package/docs/zh/intlayer_with_create_react_app.md +0 -305
- package/docs/zh/intlayer_with_express.md +0 -23
- package/docs/zh/intlayer_with_lynx+react.md +0 -275
- package/docs/zh/intlayer_with_nestjs.md +0 -18
- package/docs/zh/intlayer_with_nextjs_14.md +63 -25
- package/docs/zh/intlayer_with_nextjs_15.md +64 -14
- package/docs/zh/intlayer_with_nextjs_16.md +129 -87
- package/docs/zh/intlayer_with_nextjs_compiler.md +152 -140
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +51 -15
- package/docs/zh/intlayer_with_nuxt.md +0 -162
- package/docs/zh/intlayer_with_react_native+expo.md +134 -151
- package/docs/zh/intlayer_with_react_router_v7.md +1 -342
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -332
- package/docs/zh/intlayer_with_storybook.md +0 -240
- package/docs/zh/intlayer_with_svelte_kit.md +1 -549
- package/docs/zh/intlayer_with_tanstack+solid.md +1 -646
- package/docs/zh/intlayer_with_tanstack.md +1 -644
- package/docs/zh/intlayer_with_vanilla.md +0 -283
- package/docs/zh/intlayer_with_vite+lit.md +1 -411
- package/docs/zh/intlayer_with_vite+preact.md +1 -241
- package/docs/zh/intlayer_with_vite+react.md +2 -2
- package/docs/zh/intlayer_with_vite+react_compiler.md +1 -192
- package/docs/zh/intlayer_with_vite+solid.md +1 -306
- package/docs/zh/intlayer_with_vite+svelte.md +104 -78
- package/docs/zh/intlayer_with_vite+vanilla.md +1 -442
- package/docs/zh/intlayer_with_vite+vue.md +95 -136
- package/docs/zh/mcp_server.md +26 -0
- package/docs/zh/migration_from_i18next_to_intlayer.md +330 -0
- package/docs/zh/migration_from_next-i18next_to_intlayer.md +355 -0
- package/docs/zh/migration_from_next-intl_to_intlayer.md +365 -0
- package/docs/zh/migration_from_nuxtjs_i18n_to_intlayer.md +328 -0
- package/docs/zh/migration_from_react-i18next_to_intlayer.md +384 -0
- package/docs/zh/migration_from_vue-i18n_to_intlayer.md +359 -0
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/zh/packages/react-intlayer/useDictionary.md +0 -129
- package/docs/zh/packages/react-intlayer/useIntlayer.md +0 -51
- package/docs/zh/packages/react-native-intlayer/exports.md +48 -14
- package/docs/zh/releases/v6.md +28 -0
- package/docs/zh/releases/v7.md +128 -0
- package/docs/zh/releases/v8.md +190 -0
- package/docs/zh/releases/v9.md +37 -1
- package/docs/zh/roadmap.md +6 -0
- package/docs/zh/vs_code_extension.md +0 -7
- package/frequent_questions/pt/translated_path_url.md +1 -1
- package/package.json +6 -6
|
@@ -313,3 +313,16 @@ RAG LLMs को व्यावहारिक बनाने के सबस
|
|
|
313
313
|
</Step>
|
|
314
314
|
|
|
315
315
|
</Steps>
|
|
316
|
+
## निष्कर्ष
|
|
317
|
+
|
|
318
|
+
RAG LLMs को व्यावहारिक बनाने के सबसे सरल और शक्तिशाली तरीकों में से एक है। **retrieval + generation** को जोड़कर, आप स्टेटिक docs को एक **smart assistant** में बदल सकते हैं और साथ ही product insights की एक सतत stream प्राप्त कर सकते हैं।
|
|
319
|
+
|
|
320
|
+
मेरे लिए, इस project ने दिखाया कि RAG सिर्फ एक तकनीकी trick नहीं है। यह documentation को इसमें बदलने का एक तरीका है:
|
|
321
|
+
|
|
322
|
+
- एक interactive support system
|
|
323
|
+
- एक feedback channel
|
|
324
|
+
- एक product strategy tool
|
|
325
|
+
|
|
326
|
+
👉 [Demo को यहाँ आजमाएं](https://intlayer.org/doc/why) 👉 [GitHub पर code template देखें](https://github.com/aymericzip/smart_doc_RAG)
|
|
327
|
+
|
|
328
|
+
और अगर आप भी RAG के साथ experiment कर रहे हैं, तो मुझे सुनना अच्छा लगेगा कि आप इसे कैसे use कर रहे हैं।
|
|
@@ -146,6 +146,12 @@ author: aymericzip
|
|
|
146
146
|
|
|
147
147
|
---
|
|
148
148
|
|
|
149
|
+
## GitHub STARs
|
|
150
|
+
|
|
151
|
+
GitHub stars एक प्रोजेक्ट की लोकप्रियता, कम्युनिटी के विश्वास और दीर्घकालीन प्रासंगिकता का एक मजबूत संकेतक हैं। हालांकि तकनीकी गुणवत्ता का सीधा माप नहीं, वे दर्शाते हैं कि कितने developers को प्रोजेक्ट उपयोगी लगता है, इसकी प्रगति का अनुसरण करते हैं, और इसे अपनाने की संभावना रखते हैं। किसी प्रोजेक्ट के मूल्य का अनुमान लगाने के लिए, stars विकल्पों के बीच traction की तुलना करने और ecosystem growth में insights प्रदान करने में मदद करते हैं।
|
|
152
|
+
|
|
153
|
+
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&aymericzip/intlayer)
|
|
154
|
+
|
|
149
155
|
## निष्कर्ष
|
|
150
156
|
|
|
151
157
|
तीनों पुस्तकालय React को प्रभावी ढंग से स्थानीयकृत करते हैं। अंतर यह है कि आपको एक **सुरक्षित, स्केलेबल** सेटअप तक पहुंचने के लिए कितना **इन्फ्रास्ट्रक्चर** बनाना होगा:
|
|
@@ -249,6 +249,14 @@ const { greeting } = useIntlayer("component-example");
|
|
|
249
249
|
|
|
250
250
|
---
|
|
251
251
|
|
|
252
|
+
## vue-i18n के साथ अंतरसंचालनीयता
|
|
253
|
+
|
|
254
|
+
`intlayer` आपके `vue-i18n` namespaces को प्रबंधित करने में भी मदद कर सकता है।
|
|
255
|
+
|
|
256
|
+
`intlayer` का उपयोग करके, आप अपने पसंदीदा i18n library के प्रारूप में अपनी content declare कर सकते हैं, और intlayer आपकी namespaces को अपनी पसंद के स्थान पर generate करेगा (उदाहरण: `/messages/{{locale}}/{{namespace}}.json`)।
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
252
260
|
## व्यावहारिक माइग्रेशन नोट्स (vue-i18n → Intlayer)
|
|
253
261
|
|
|
254
262
|
- **प्रत्येक फीचर से शुरू करें**: एक समय में एक रूट/व्यू/कंपोनेंट को स्थानीय Intlayer शब्दकोशों में स्थानांतरित करें।
|
|
@@ -88,101 +88,10 @@ Dalam HTML Anda, tambahkan sesuatu seperti:
|
|
|
88
88
|
|
|
89
89
|
## 4. Membuat Konten Benar-Benar “Lokal” (Bukan Sekadar Diterjemahkan)
|
|
90
90
|
|
|
91
|
-
### 4.1. Lokalisasi vs. Terjemahan
|
|
92
|
-
|
|
93
|
-
- **Terjemahan** berarti mengubah teks dari satu bahasa ke bahasa lain secara kata per kata.
|
|
94
|
-
- **Lokalisasi** berarti menyesuaikan format konten, mata uang, ukuran, dan referensi budaya untuk audiens lokal. Misalnya, jika Anda menargetkan Prancis, Anda akan menggunakan `€` alih-alih `---
|
|
95
|
-
createdAt: 2024-12-24
|
|
96
|
-
updatedAt: 2025-06-29
|
|
97
|
-
title: SEO dan Internasionalisasi
|
|
98
|
-
description: Temukan cara mengoptimalkan situs web multibahasa Anda untuk mesin pencari dan meningkatkan SEO Anda.
|
|
99
|
-
keywords:
|
|
100
|
-
- SEO
|
|
101
|
-
- Intlayer
|
|
102
|
-
- Internasionalisasi
|
|
103
|
-
- Blog
|
|
104
|
-
- Next.js
|
|
105
|
-
- JavaScript
|
|
106
|
-
- React
|
|
107
|
-
slugs:
|
|
108
|
-
- blog
|
|
109
|
-
- SEO-and-i18n
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
# SEO & I18n: Panduan Utama untuk Membuat Situs Web Anda Multibahasa
|
|
114
|
-
|
|
115
|
-
Ingin menjangkau lebih banyak pengguna di seluruh dunia? Membuat situs web Anda menjadi multibahasa adalah salah satu cara terbaik untuk memperluas audiens Anda dan meningkatkan SEO (Search Engine Optimization) Anda. Dalam posting blog ini, kami akan menguraikan dasar-dasar SEO internasional yang sering disebut sebagai **i18n** (singkatan dari "internasionalisasi"), dengan istilah yang jelas dan mudah dipahami. Anda akan mempelajari keputusan kunci yang perlu Anda buat, cara menggunakan elemen teknis seperti `hreflang`, dan mengapa alat seperti **Intlayer** dapat menyederhanakan proyek Next.js multibahasa Anda.
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 1. Apa Arti Membuat Situs Web Anda Menjadi Multibahasa?
|
|
120
|
-
|
|
121
|
-
Situs web multibahasa menawarkan kontennya dalam lebih dari satu bahasa. Misalnya, Anda mungkin memiliki versi bahasa Inggris (`example.com/en/`), versi bahasa Prancis (`example.com/fr/`), dan versi bahasa Spanyol (`example.com/es/`). Pendekatan ini memungkinkan mesin pencari menampilkan versi bahasa yang tepat kepada pengguna berdasarkan preferensi atau lokasi geografis mereka.
|
|
122
|
-
|
|
123
|
-
Ketika Anda melakukannya dengan benar, Anda akan menciptakan pengalaman yang jauh lebih ramah pengguna bagi penutur non-Inggris yang mengarah pada keterlibatan yang lebih baik, tingkat konversi yang lebih tinggi, dan peningkatan SEO di berbagai wilayah.
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## 2. Memilih Struktur URL yang Tepat
|
|
128
|
-
|
|
129
|
-
Jika Anda memutuskan untuk memiliki beberapa versi bahasa, Anda memerlukan cara yang jelas dan konsisten untuk mengatur URL situs Anda. Setiap bahasa (atau wilayah) harus memiliki “alamat” uniknya sendiri di internet. Berikut adalah tiga cara umum untuk menyusun situs web multibahasa:
|
|
130
|
-
|
|
131
|
-
1. Domain Tingkat Atas Kode Negara (ccTLD)
|
|
132
|
-
- Contoh: `example.fr`, `example.de`
|
|
133
|
-
- **Kelebihan:** Mengirim sinyal kuat ke mesin pencari tentang negara mana konten tersebut ditargetkan (misalnya, `.fr` = Prancis).
|
|
134
|
-
- **Kekurangan:** Mengelola beberapa domain bisa lebih mahal dan rumit.
|
|
135
|
-
|
|
136
|
-
2. **Subdomain**
|
|
137
|
-
- **Contoh:** `fr.example.com`, `de.example.com`
|
|
138
|
-
- **Kelebihan:** Setiap bahasa “tinggal” di subdomainnya sendiri, sehingga relatif mudah untuk menambah atau menghapus bahasa.
|
|
139
|
-
- **Kekurangan:** Mesin pencari terkadang memperlakukan subdomain sebagai situs yang terpisah, sehingga dapat mengurangi otoritas domain utama Anda.
|
|
140
|
-
|
|
141
|
-
3. **Subdirektori (Subfolder)**
|
|
142
|
-
- **Contoh:** `example.com/fr/`, `example.com/de/`
|
|
143
|
-
- **Kelebihan:** Mudah dikelola, dan semua lalu lintas diarahkan ke satu domain utama.
|
|
144
|
-
- **Kekurangan:** Sinyal SEO lokal tidak sekuat ccTLD (meskipun masih sangat efektif jika dilakukan dengan benar).
|
|
145
|
-
|
|
146
|
-
> **Tips:** Jika Anda memiliki merek global dan ingin menjaga semuanya tetap sederhana, subdirektori seringkali menjadi pilihan terbaik. Jika Anda hanya menargetkan satu atau dua negara utama dan ingin benar-benar menekankan masing-masing, ccTLD mungkin menjadi pilihan yang tepat.
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## 3. Menguasai Penargetan Bahasa dengan Hreflang
|
|
151
|
-
|
|
152
91
|
### 3.1. Apa Itu Hreflang?
|
|
153
92
|
|
|
154
93
|
Ketika Anda memiliki konten yang identik atau sangat mirip dalam beberapa bahasa, mesin pencari seperti Google bisa bingung versi mana yang harus ditampilkan kepada pengguna. **Hreflang** adalah atribut HTML yang memberi tahu mesin pencari bahasa (dan wilayah) mana yang ditujukan untuk halaman tertentu, serta halaman alternatif bahasa/ wilayah lainnya.
|
|
155
94
|
|
|
156
|
-
### 3.2. Mengapa Ini Penting?
|
|
157
|
-
|
|
158
|
-
1. Mencegah masalah **konten duplikat** (ketika mesin pencari mengira Anda menerbitkan konten yang sama berkali-kali).
|
|
159
|
-
2. Memastikan **pengguna Prancis melihat versi bahasa Prancis**, **pengguna Spanyol melihat versi bahasa Spanyol**, dan seterusnya.
|
|
160
|
-
3. Meningkatkan pengalaman pengguna secara keseluruhan, yang berarti keterlibatan lebih baik dan peringkat SEO yang lebih tinggi.
|
|
161
|
-
|
|
162
|
-
### 3.3. Cara Menggunakan Hreflang di Tag `<head>`
|
|
163
|
-
|
|
164
|
-
Dalam HTML Anda, tambahkan sesuatu seperti:
|
|
165
|
-
|
|
166
|
-
```html
|
|
167
|
-
<link rel="alternate" hreflang="en" href="https://example.com/en" />
|
|
168
|
-
<link rel="alternate" hreflang="fr" href="https://example.com/fr" />
|
|
169
|
-
<link rel="alternate" hreflang="es" href="https://example.com/es" />
|
|
170
|
-
<link rel="alternate" hreflang="x-default" href="https://example.com/en" />
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
- **`hreflang="en"`**: Menunjukkan versi bahasa Inggris dari halaman tersebut.
|
|
174
|
-
- **`hreflang="fr"`**: Menunjukkan versi bahasa Prancis dari halaman tersebut.
|
|
175
|
-
- **`hreflang="es"`**: Menunjukkan versi bahasa Spanyol dari halaman tersebut.
|
|
176
|
-
- **`hreflang="x-default"`**: Bahasa “fallback” atau URL default ketika tidak ada bahasa lain yang cocok dengan preferensi pengguna.
|
|
177
|
-
|
|
178
|
-
> **Catatan Cepat:** Pastikan URL dalam tag ini langsung mengarah ke halaman akhir, tanpa pengalihan tambahan apapun.
|
|
179
|
-
|
|
180
|
-
---
|
|
181
|
-
|
|
182
|
-
## 4. Membuat Konten Benar-Benar “Lokal” (Bukan Sekadar Diterjemahkan)
|
|
183
|
-
|
|
184
|
-
, dan mungkin menyebutkan hari libur lokal atau detail khusus wilayah.
|
|
185
|
-
|
|
186
95
|
### 4.2. Menghindari Konten Duplikat
|
|
187
96
|
|
|
188
97
|
Meskipun terjemahan sudah baik, mesin pencari dapat menandai situs Anda sebagai konten duplikat jika tampilannya terlalu mirip secara struktur. Hreflang membantu memperjelas bahwa halaman-halaman ini bukan duplikat, melainkan variasi bahasa.
|
|
@@ -34,6 +34,10 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<iframe title="Cara mengotomatisasi terjemahan JSON i18next Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
36
36
|
|
|
37
|
+
## Daftar Isi
|
|
38
|
+
|
|
39
|
+
<TOC/>
|
|
40
|
+
|
|
37
41
|
## Apa itu Intlayer?
|
|
38
42
|
|
|
39
43
|
**Intlayer** adalah perpustakaan internasionalisasi sumber terbuka yang inovatif, dirancang untuk mengatasi kekurangan solusi i18n tradisional. Ini menawarkan pendekatan modern untuk manajemen konten dalam aplikasi JavaScript.
|
|
@@ -34,17 +34,6 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<TOC/>
|
|
36
36
|
|
|
37
|
-
## Apa itu next-i18next?
|
|
38
|
-
|
|
39
|
-
**next-i18next** adalah salah satu kerangka kerja internasionalisasi (i18n) yang paling populer untuk aplikasi Next.js. Dibangun di atas ekosistem **i18next** yang kuat, ia menyediakan solusi komprehensif untuk mengelola terjemahan, lokalisasi, dan pergantian bahasa dalam proyek Next.js.
|
|
40
|
-
|
|
41
|
-
Namun, next-i18next memiliki beberapa tantangan:
|
|
42
|
-
|
|
43
|
-
- **Konfigurasi yang kompleks**: Mengatur next-i18next memerlukan beberapa file konfigurasi dan penyiapan yang cermat untuk instance i18n di sisi server dan klien.
|
|
44
|
-
- **Terjemahan yang tersebar**: File terjemahan biasanya disimpan di direktori yang terpisah dari komponen, sehingga lebih sulit untuk menjaga konsistensi.
|
|
45
|
-
- **Manajemen namespace manual**: Pengembang perlu mengelola namespace secara manual dan memastikan pemuatan sumber daya terjemahan yang tepat.
|
|
46
|
-
- **Keamanan tipe terbatas**: Dukungan TypeScript memerlukan konfigurasi tambahan dan tidak menyediakan pembuatan tipe otomatis untuk terjemahan.
|
|
47
|
-
|
|
48
37
|
## Apa itu Intlayer?
|
|
49
38
|
|
|
50
39
|
**Intlayer** adalah perpustakaan internasionalisasi sumber terbuka yang inovatif, dirancang untuk mengatasi kekurangan solusi i18n tradisional. Ini menawarkan pendekatan modern untuk manajemen konten dalam aplikasi Next.js.
|
|
@@ -29,6 +29,10 @@ author: aymericzip
|
|
|
29
29
|
|
|
30
30
|
<iframe title="Cara mengotomatisasi terjemahan JSON next-intl Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
|
+
# Daftar Isi
|
|
33
|
+
|
|
34
|
+
<TOC/>
|
|
35
|
+
|
|
32
36
|
## Apa itu Intlayer?
|
|
33
37
|
|
|
34
38
|
**Intlayer** adalah perpustakaan internasionalisasi sumber terbuka yang inovatif, dirancang untuk mengatasi kekurangan solusi i18n tradisional. Ini menawarkan pendekatan modern untuk manajemen konten dalam aplikasi Next.js.
|
|
@@ -317,3 +317,16 @@ Dan jika Anda juga bereksperimen dengan RAG, saya ingin sekali mendengar bagaima
|
|
|
317
317
|
</Step>
|
|
318
318
|
|
|
319
319
|
</Steps>
|
|
320
|
+
## Kesimpulan
|
|
321
|
+
|
|
322
|
+
RAG adalah salah satu cara paling sederhana dan paling kuat untuk membuat LLM praktis. Dengan menggabungkan **retrieval + generation**, Anda dapat mengubah docs statis menjadi **smart assistant** dan, pada saat yang sama, mendapatkan aliran wawasan produk yang berkelanjutan.
|
|
323
|
+
|
|
324
|
+
Bagi saya, proyek ini menunjukkan bahwa RAG bukan hanya trik teknis. Ini adalah cara untuk mengubah dokumentasi menjadi:
|
|
325
|
+
|
|
326
|
+
- sistem dukungan interaktif
|
|
327
|
+
- saluran umpan balik
|
|
328
|
+
- alat strategi produk
|
|
329
|
+
|
|
330
|
+
👉 [Coba demo di sini](https://intlayer.org/doc/why) 👉 [Periksa template kode di GitHub](https://github.com/aymericzip/smart_doc_RAG)
|
|
331
|
+
|
|
332
|
+
Dan jika Anda juga bereksperimen dengan RAG, saya ingin mendengar bagaimana Anda menggunakannya.
|
|
@@ -34,6 +34,10 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<iframe title="Come automatizzare le traduzioni JSON di i18next usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
36
36
|
|
|
37
|
+
## Indice
|
|
38
|
+
|
|
39
|
+
<TOC/>
|
|
40
|
+
|
|
37
41
|
## Cos'è Intlayer?
|
|
38
42
|
|
|
39
43
|
**Intlayer** è una libreria di internazionalizzazione innovativa e open-source progettata per superare le limitazioni delle soluzioni i18n tradizionali. Offre un approccio moderno alla gestione dei contenuti nelle applicazioni JavaScript.
|
|
@@ -34,17 +34,6 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<TOC/>
|
|
36
36
|
|
|
37
|
-
## Cos'è next-i18next?
|
|
38
|
-
|
|
39
|
-
**next-i18next** è uno dei framework di internazionalizzazione (i18n) più popolari per le applicazioni Next.js. Costruito sopra il potente ecosistema **i18next**, offre una soluzione completa per la gestione delle traduzioni, della localizzazione e del cambio lingua nei progetti Next.js.
|
|
40
|
-
|
|
41
|
-
Tuttavia, next-i18next presenta alcune sfide:
|
|
42
|
-
|
|
43
|
-
- **Configurazione complessa**: Configurare next-i18next richiede più file di configurazione e un'attenta impostazione delle istanze i18n sia lato server che lato client.
|
|
44
|
-
- **Traduzioni sparse**: I file di traduzione sono tipicamente archiviati in directory separate dai componenti, rendendo più difficile mantenere la coerenza.
|
|
45
|
-
- **Gestione manuale dei namespace**: Gli sviluppatori devono gestire manualmente i namespace e assicurarsi del corretto caricamento delle risorse di traduzione.
|
|
46
|
-
- **Sicurezza dei tipi limitata**: Il supporto a TypeScript richiede una configurazione aggiuntiva e non fornisce una generazione automatica dei tipi per le traduzioni.
|
|
47
|
-
|
|
48
37
|
## Cos'è Intlayer?
|
|
49
38
|
|
|
50
39
|
**Intlayer** è una libreria di internazionalizzazione innovativa e open-source progettata per affrontare le carenze delle soluzioni i18n tradizionali. Offre un approccio moderno alla gestione dei contenuti nelle applicazioni Next.js.
|
|
@@ -29,6 +29,10 @@ author: aymericzip
|
|
|
29
29
|
|
|
30
30
|
<iframe title="Come automatizzare le traduzioni JSON di next-intl usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
31
31
|
|
|
32
|
+
# Indice dei contenuti
|
|
33
|
+
|
|
34
|
+
<TOC/>
|
|
35
|
+
|
|
32
36
|
## Cos'è Intlayer?
|
|
33
37
|
|
|
34
38
|
**Intlayer** è una libreria di internazionalizzazione innovativa e open-source progettata per superare le limitazioni delle soluzioni i18n tradizionali. Offre un approccio moderno alla gestione dei contenuti nelle applicazioni Next.js.
|
|
@@ -61,14 +61,6 @@ Ci concentriamo su **Next.js 13+ App Router** (con **React Server Components**)
|
|
|
61
61
|
|
|
62
62
|
---
|
|
63
63
|
|
|
64
|
-
## Confronto delle funzionalità affiancate (focalizzato su Next.js)
|
|
65
|
-
|
|
66
|
-
| Funzionalità | `next-intlayer` (Intlayer) | `next-intl` | `next-i18next` |
|
|
67
|
-
|
|
68
|
-
> I badge si aggiornano automaticamente. Gli snapshot varieranno nel tempo.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
64
|
## Confronto delle Funzionalità Affiancate (focalizzato su Next.js)
|
|
73
65
|
|
|
74
66
|
| Funzionalità | `next-intlayer` (Intlayer) | `next-intl` | `next-i18next` |
|
|
@@ -288,34 +280,6 @@ Ecco un esempio dell'impatto dell'ottimizzazione della dimensione del bundle uti
|
|
|
288
280
|
|
|
289
281
|
---
|
|
290
282
|
|
|
291
|
-
## DX, strumenti e manutenzione
|
|
292
|
-
|
|
293
|
-
<Columns>
|
|
294
|
-
<Column>
|
|
295
|
-
|
|
296
|
-
**next-intl**
|
|
297
|
-
|
|
298
|
-
- Comunemente abbinato a piattaforme di localizzazione esterne e flussi editoriali.
|
|
299
|
-
|
|
300
|
-
</Column>
|
|
301
|
-
<Column>
|
|
302
|
-
|
|
303
|
-
**next-i18next**
|
|
304
|
-
|
|
305
|
-
- Comunemente abbinato a piattaforme di localizzazione esterne e flussi editoriali.
|
|
306
|
-
|
|
307
|
-
</Column>
|
|
308
|
-
<Column>
|
|
309
|
-
|
|
310
|
-
**intlayer**
|
|
311
|
-
|
|
312
|
-
- Fornisce un **Editor Visivo gratuito** e un **CMS opzionale** (compatibile con Git o esternalizzato), oltre a un’**estensione VSCode** e **traduzioni assistite da AI** utilizzando le tue chiavi provider.
|
|
313
|
-
|
|
314
|
-
</Column>
|
|
315
|
-
</Columns>
|
|
316
|
-
|
|
317
|
-
**Perché è importante:** Riduce i costi operativi e accorcia il ciclo tra sviluppatori e autori dei contenuti.
|
|
318
|
-
|
|
319
283
|
## Integrazione con piattaforme di localizzazione (TMS)
|
|
320
284
|
|
|
321
285
|
Le grandi organizzazioni spesso si affidano a Sistemi di Gestione delle Traduzioni (TMS) come **Crowdin**, **Phrase**, **Lokalise**, **Localizely** o **Localazy**.
|
|
@@ -1182,6 +1146,127 @@ export default robots;
|
|
|
1182
1146
|
|
|
1183
1147
|
---
|
|
1184
1148
|
|
|
1149
|
+
### Middleware per il routing delle lingue
|
|
1150
|
+
|
|
1151
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1152
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1153
|
+
|
|
1154
|
+
Aggiungi un middleware per gestire il rilevamento delle lingue e il routing:
|
|
1155
|
+
|
|
1156
|
+
```ts fileName="src/middleware.ts"
|
|
1157
|
+
import { NextResponse, type NextRequest } from "next/server";
|
|
1158
|
+
import { defaultLocale, locales } from "@/i18n.config";
|
|
1159
|
+
|
|
1160
|
+
const PUBLIC_FILE = /\.[^/]+$/; // esclude i file con estensioni
|
|
1161
|
+
|
|
1162
|
+
export function middleware(request: NextRequest) {
|
|
1163
|
+
const { pathname } = request.nextUrl;
|
|
1164
|
+
|
|
1165
|
+
if (
|
|
1166
|
+
pathname.startsWith("/_next") ||
|
|
1167
|
+
pathname.startsWith("/api") ||
|
|
1168
|
+
pathname.startsWith("/static") ||
|
|
1169
|
+
PUBLIC_FILE.test(pathname)
|
|
1170
|
+
) {
|
|
1171
|
+
return;
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
const hasLocale = locales.some(
|
|
1175
|
+
(l) => pathname === "/" + l || pathname.startsWith("/" + l + "/")
|
|
1176
|
+
);
|
|
1177
|
+
if (!hasLocale) {
|
|
1178
|
+
const locale = defaultLocale;
|
|
1179
|
+
const url = request.nextUrl.clone();
|
|
1180
|
+
url.pathname = "/" + locale + (pathname === "/" ? "" : pathname);
|
|
1181
|
+
return NextResponse.redirect(url);
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
export const config = {
|
|
1186
|
+
matcher: [
|
|
1187
|
+
// Corrisponde a tutti i percorsi tranne quelli che iniziano con questi e i file con un'estensione
|
|
1188
|
+
"/((?!api|_next|static|.*\\..*).*)",
|
|
1189
|
+
],
|
|
1190
|
+
};
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
</Tab>
|
|
1194
|
+
<Tab label="next-intl" value="next-intl">
|
|
1195
|
+
|
|
1196
|
+
Aggiungi un middleware per gestire il rilevamento delle lingue e il routing:
|
|
1197
|
+
|
|
1198
|
+
```ts fileName="src/middleware.ts"
|
|
1199
|
+
import createMiddleware from "next-intl/middleware";
|
|
1200
|
+
import { locales, defaultLocale } from "@/i18n";
|
|
1201
|
+
|
|
1202
|
+
export default createMiddleware({
|
|
1203
|
+
locales: [...locales],
|
|
1204
|
+
defaultLocale,
|
|
1205
|
+
localeDetection: true,
|
|
1206
|
+
});
|
|
1207
|
+
|
|
1208
|
+
export const config = {
|
|
1209
|
+
// Salta API, Next internals e asset statici
|
|
1210
|
+
matcher: ["/((?!api|_next|.*\\..*).*)"],
|
|
1211
|
+
};
|
|
1212
|
+
```
|
|
1213
|
+
|
|
1214
|
+
</Tab>
|
|
1215
|
+
<Tab label="intlayer" value="intlayer">
|
|
1216
|
+
|
|
1217
|
+
Intlayer fornisce la gestione del middleware integrata attraverso la configurazione del package `next-intlayer`.
|
|
1218
|
+
|
|
1219
|
+
```ts fileName="src/middleware.ts"
|
|
1220
|
+
import { intlayerProxy } from "next-intlayer/proxy";
|
|
1221
|
+
|
|
1222
|
+
export const middleware = intlayerProxy();
|
|
1223
|
+
|
|
1224
|
+
// applica questo middleware solo ai file nella directory app
|
|
1225
|
+
export const config = {
|
|
1226
|
+
matcher: "/((?!api|_next|static|.*\\..*).*)",
|
|
1227
|
+
};
|
|
1228
|
+
```
|
|
1229
|
+
|
|
1230
|
+
La configurazione del middleware è centralizzata nel file `intlayer.config.ts`.
|
|
1231
|
+
|
|
1232
|
+
</Tab>
|
|
1233
|
+
</Tabs>
|
|
1234
|
+
|
|
1235
|
+
### Checklist di configurazione e buone pratiche
|
|
1236
|
+
|
|
1237
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1238
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1239
|
+
|
|
1240
|
+
- Assicurati che `lang` e `dir` siano impostati su root `<html>` in `src/app/[locale]/layout.tsx`.
|
|
1241
|
+
- Dividi le traduzioni in namespace (ad esempio `common.json`, `about.json`) sotto `src/locales/<locale>/`.
|
|
1242
|
+
- Carica solo i namespace richiesti nei componenti client utilizzando `useTranslation('<ns>')` e limitando il scope di `I18nProvider` agli stessi namespace.
|
|
1243
|
+
- Mantieni le pagine statiche quando possibile: esporta `export const dynamic = 'force-static'` nelle pagine; imposta `dynamicParams = false` e implementa `generateStaticParams`.
|
|
1244
|
+
- Utilizza componenti server sincronizzati annidati sotto i confini client passando stringhe già calcolate o la funzione `t` e la `locale`.
|
|
1245
|
+
- Per SEO, imposta `alternates.languages` nei metadati, elenca gli URL localizzati in `sitemap.ts` e disabilita le rotte localizzate duplicate in `robots.ts`.
|
|
1246
|
+
- Preferisci i formatter consapevoli della locale (ad esempio `Intl.NumberFormat(locale)`) e memoizzali sul client se usi React < 19.
|
|
1247
|
+
|
|
1248
|
+
</Tab>
|
|
1249
|
+
<Tab label="next-intl" value="next-intl">
|
|
1250
|
+
|
|
1251
|
+
- **Imposta l'`lang` e il `dir` dell'html**: In `src/app/[locale]/layout.tsx`, calcola `dir` tramite `getLocaleDirection(locale)` e imposta `<html lang={locale} dir={dir}>`.
|
|
1252
|
+
- **Dividi i messaggi per namespace**: Organizza il JSON per locale e namespace (ad esempio `common.json`, `about.json`).
|
|
1253
|
+
- **Minimizza il payload client**: Nelle pagine, invia solo i namespace richiesti a `NextIntlClientProvider` (ad esempio `pick(messages, ['common', 'about'])`).
|
|
1254
|
+
- **Preferisci pagine statiche**: Esporta `export const dynamic = 'force-static'` e genera parametri statici per tutte le `locales`.
|
|
1255
|
+
- **Componenti server sincronizzati**: Mantieni i componenti server sincronizzati passando stringhe precalcolate (etichette tradotte, numeri formattati) piuttosto che chiamate asincrone o funzioni non serializzabili.
|
|
1256
|
+
|
|
1257
|
+
</Tab>
|
|
1258
|
+
<Tab label="intlayer" value="intlayer">
|
|
1259
|
+
|
|
1260
|
+
- **Contenuto modulare**: Coloca i dizionari di contenuto insieme ai componenti utilizzando file `.content.{ts|js|json}`.
|
|
1261
|
+
- **Type safety**: Sfrutta l'integrazione TypeScript per la validazione del contenuto in fase di compilazione.
|
|
1262
|
+
- **Ottimizzazione in fase di build**: Utilizza gli strumenti di build di Intlayer per il tree-shaking automatico e l'ottimizzazione del bundle.
|
|
1263
|
+
- **Tooling integrato**: Approfitta del routing integrato, degli helper SEO e del supporto dell'editor visuale.
|
|
1264
|
+
|
|
1265
|
+
</Tab>
|
|
1266
|
+
</Tabs>
|
|
1267
|
+
|
|
1268
|
+
---
|
|
1269
|
+
|
|
1185
1270
|
## E il vincitore è…
|
|
1186
1271
|
|
|
1187
1272
|
Non è semplice. Ogni opzione ha dei compromessi. Ecco come la vedo:
|
|
@@ -57,43 +57,6 @@ Quel ultimo punto è cruciale. Un sistema RAG non si limita a rispondere alle do
|
|
|
57
57
|
|
|
58
58
|
Quindi, RAG non è solo uno strumento di supporto. È anche un **motore di scoperta del prodotto**.
|
|
59
59
|
|
|
60
|
-
## Come funziona la pipeline RAG
|
|
61
|
-
|
|
62
|
-

|
|
63
|
-
|
|
64
|
-
Ad alto livello, ecco la ricetta che ho usato:
|
|
65
|
-
|
|
66
|
-
1. **Suddivisione della documentazione in chunk** Grandi file Markdown vengono divisi in chunk. La suddivisione permette di fornire come contesto solo le parti rilevanti della documentazione.
|
|
67
|
-
2. **Generazione degli embeddings** Ogni chunk viene trasformato in un vettore usando l’API di embedding di OpenAI (text-embedding-3-large) o un database vettoriale (Chroma, Qdrant, Pinecone).
|
|
68
|
-
3. **Indicizzazione e memorizzazione** Gli embeddings vengono memorizzati in un semplice file JSON (per la mia demo), ma in produzione probabilmente useresti un database vettoriale.
|
|
69
|
-
4. **Recupero (R in RAG)** La query dell’utente viene trasformata in embedding, si calcola la similarità coseno e si recuperano i chunk più pertinenti.
|
|
70
|
-
5. **Aumento + Generazione (AG in RAG)** Quei chunk vengono inseriti nel prompt per ChatGPT, così il modello risponde con il contesto reale della documentazione.
|
|
71
|
-
6. **Registrazione delle query per feedback** Ogni query utente viene memorizzata. Questo è prezioso per capire i punti critici, la documentazione mancante o nuove opportunità.
|
|
72
|
-
|
|
73
|
-
## Passo 1: Lettura della Documentazione
|
|
74
|
-
|
|
75
|
-
Il primo passo è stato semplice: avevo bisogno di un modo per scansionare una cartella docs/ per tutti i file .md. Usando Node.js e glob, ho recuperato il contenuto di ogni file Markdown in memoria.
|
|
76
|
-
|
|
77
|
-
Questo mantiene la pipeline flessibile: invece di Markdown, potresti recuperare la documentazione da un database, un CMS o anche un'API.
|
|
78
|
-
|
|
79
|
-
## Passo 2: Suddividere la Documentazione in Chunk
|
|
80
|
-
|
|
81
|
-
Perché suddividere in chunk? Perché i modelli linguistici hanno **limiti di contesto**. Fornire loro un intero libro di documentazione non funzionerà.
|
|
82
|
-
|
|
83
|
-
Quindi l'idea è di spezzare il testo in chunk gestibili (ad esempio 500 token ciascuno) con sovrapposizione (ad esempio 100 token). La sovrapposizione garantisce continuità così da non perdere il significato ai confini dei chunk.
|
|
84
|
-
|
|
85
|
-
**Esempio:**
|
|
86
|
-
|
|
87
|
-
- Chunk 1 → “…la vecchia biblioteca che molti avevano dimenticato. Le sue scaffalature imponenti erano piene di libri…”
|
|
88
|
-
- Chunk 2 → “…le scaffalature erano piene di libri di ogni genere immaginabile, ognuno sussurrando storie…”
|
|
89
|
-
|
|
90
|
-
La sovrapposizione assicura che entrambi i chunk contengano un contesto condiviso, così il recupero rimane coerente.
|
|
91
|
-
|
|
92
|
-
Questo compromesso (dimensione del chunk vs sovrapposizione) è fondamentale per l’efficienza di RAG:
|
|
93
|
-
|
|
94
|
-
- Troppo piccolo → si genera rumore.
|
|
95
|
-
- Troppo grande → si satura la dimensione del contesto.
|
|
96
|
-
|
|
97
60
|
## Passo 3: Generazione degli Embeddings
|
|
98
61
|
|
|
99
62
|
Una volta che i documenti sono stati suddivisi in chunk, generiamo gli **embeddings**, vettori ad alta dimensione che rappresentano ogni chunk.
|
|
@@ -112,164 +75,6 @@ Ho utilizzato il modello text-embedding-3-large di OpenAI, ma potresti usare qua
|
|
|
112
75
|
|
|
113
76
|
Ogni vettore è un’impronta matematica del testo, che permette la ricerca per similarità.
|
|
114
77
|
|
|
115
|
-
## Passo 4: Indicizzazione e Memorizzazione degli Embeddings
|
|
116
|
-
|
|
117
|
-
Per evitare di rigenerare gli embeddings più volte, li ho memorizzati in embeddings.json.
|
|
118
|
-
|
|
119
|
-
In produzione, probabilmente vorresti un database vettoriale come:
|
|
120
|
-
|
|
121
|
-
- Chroma
|
|
122
|
-
- Qdrant
|
|
123
|
-
- Pinecone
|
|
124
|
-
- FAISS, Weaviate, Milvus, ecc.
|
|
125
|
-
|
|
126
|
-
I database vettoriali gestiscono indicizzazione, scalabilità e ricerca veloce. Ma per il mio prototipo, un JSON locale ha funzionato bene.
|
|
127
|
-
|
|
128
|
-
## Passo 5: Recupero con Similarità Coseno
|
|
129
|
-
|
|
130
|
-
Quando un utente fa una domanda:
|
|
131
|
-
|
|
132
|
-
1. Genera un embedding per la query.
|
|
133
|
-
2. Confrontalo con tutti gli embedding dei documenti usando la **similarità coseno**.
|
|
134
|
-
3. Conserva solo i primi N chunk più simili.
|
|
135
|
-
|
|
136
|
-
La similarità coseno misura l'angolo tra due vettori. Una corrispondenza perfetta ottiene un punteggio di **1.0**.
|
|
137
|
-
|
|
138
|
-
In questo modo, il sistema trova i passaggi del documento più vicini alla query.
|
|
139
|
-
|
|
140
|
-
## Passo 6: Aggiunta + Generazione
|
|
141
|
-
|
|
142
|
-
Ora arriva la magia. Prendiamo i chunk migliori e li inseriamo nel **prompt di sistema** per ChatGPT.
|
|
143
|
-
|
|
144
|
-
Ciò significa che il modello risponde come se quei frammenti facessero parte della conversazione.
|
|
145
|
-
|
|
146
|
-
Il risultato: risposte accurate e **basate sulla documentazione**.
|
|
147
|
-
|
|
148
|
-
## Passo 7: Registrazione delle Query degli Utenti
|
|
149
|
-
|
|
150
|
-
Questa è la superpotenza nascosta.
|
|
151
|
-
|
|
152
|
-
Ogni domanda posta viene memorizzata. Nel tempo, si costruisce un dataset di:
|
|
153
|
-
|
|
154
|
-
- Domande più frequenti (ottimo per le FAQ)
|
|
155
|
-
- Domande senza risposta (documentazione mancante o poco chiara)
|
|
156
|
-
- Richieste di funzionalità mascherate da domande (“Si integra con X?”)
|
|
157
|
-
- Casi d’uso emergenti che non avevi previsto
|
|
158
|
-
|
|
159
|
-
Questo trasforma il tuo assistente RAG in uno **strumento continuo di ricerca utenti**.
|
|
160
|
-
|
|
161
|
-
## Quanto Costa?
|
|
162
|
-
|
|
163
|
-
Una comune obiezione al RAG è il costo. In pratica, è sorprendentemente economico:
|
|
164
|
-
|
|
165
|
-
- Generare embedding per circa 200 documenti richiede circa **5 minuti** e costa **1–2 euro**.
|
|
166
|
-
- La funzione di ricerca nei documenti è completamente gratuita.
|
|
167
|
-
- Per le query, utilizziamo gpt-4o-latest senza la modalità “thinking”. Su Intlayer, registriamo circa **300 query chat al mese**, e la fattura dell’API OpenAI raramente supera i **10$**.
|
|
168
|
-
|
|
169
|
-
Oltre a questo, puoi includere il costo dell’hosting.
|
|
170
|
-
|
|
171
|
-
## Dettagli di Implementazione
|
|
172
|
-
|
|
173
|
-
Stack:
|
|
174
|
-
|
|
175
|
-
- Monorepo: workspace pnpm
|
|
176
|
-
- Pacchetto Doc: Node.js / TypeScript / OpenAI API
|
|
177
|
-
- Frontend: Next.js / React / Tailwind CSS
|
|
178
|
-
- Backend: route API Node.js / OpenAI API
|
|
179
|
-
|
|
180
|
-
Il pacchetto `@smart-doc/docs` è un pacchetto TypeScript che gestisce l’elaborazione della documentazione. Quando un file markdown viene aggiunto o modificato, il pacchetto include uno script `build` che ricostruisce la lista della documentazione in ogni lingua, genera gli embeddings e li memorizza in un file `embeddings.json`.
|
|
181
|
-
|
|
182
|
-
Per il frontend, utilizziamo un’applicazione Next.js che fornisce:
|
|
183
|
-
|
|
184
|
-
- Rendering da Markdown a HTML
|
|
185
|
-
- Una barra di ricerca per trovare la documentazione rilevante
|
|
186
|
-
- Un'interfaccia chatbot per porre domande sulla documentazione
|
|
187
|
-
|
|
188
|
-
Per eseguire una ricerca nella documentazione, l'applicazione Next.js include una route API che chiama una funzione nel pacchetto `@smart-doc/docs` per recuperare i frammenti di documentazione corrispondenti alla query. Utilizzando questi frammenti, possiamo restituire una lista di pagine della documentazione rilevanti per la ricerca dell'utente.
|
|
189
|
-
|
|
190
|
-
Per la funzionalità chatbot, seguiamo lo stesso processo di ricerca ma in aggiunta iniettiamo i frammenti di documentazione recuperati nel prompt inviato a ChatGPT.
|
|
191
|
-
|
|
192
|
-
Ecco un esempio di prompt inviato a ChatGPT:
|
|
193
|
-
|
|
194
|
-
Prompt di sistema:
|
|
195
|
-
|
|
196
|
-
```txt
|
|
197
|
-
Sei un assistente utile che può rispondere a domande sulla documentazione di Intlayer.
|
|
198
|
-
|
|
199
|
-
Frammenti correlati:
|
|
200
|
-
|
|
201
|
-
-----
|
|
202
|
-
docName: "getting-started"
|
|
203
|
-
docChunk: "1/3"
|
|
204
|
-
docUrl: "https://example.com/docs/it/getting-started"
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
# Come iniziare
|
|
208
|
-
|
|
209
|
-
...
|
|
210
|
-
|
|
211
|
-
-----
|
|
212
|
-
docName: "another-doc"
|
|
213
|
-
docChunk: "1/5"
|
|
214
|
-
docUrl: "https://example.com/docs/it/another-doc"
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
# Un altro documento
|
|
218
|
-
|
|
219
|
-
...
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Query utente :
|
|
223
|
-
|
|
224
|
-
```txt
|
|
225
|
-
Come iniziare?
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
Usiamo SSE per trasmettere la risposta dalla route API.
|
|
229
|
-
|
|
230
|
-
Come accennato, utilizziamo gpt-4-turbo senza la modalità "thinking". Le risposte sono pertinenti e la latenza è bassa.
|
|
231
|
-
Abbiamo sperimentato con gpt-5, ma la latenza era troppo alta (a volte fino a 15 secondi per una risposta). Tuttavia, lo rivaluteremo in futuro.
|
|
232
|
-
|
|
233
|
-
👉 [Prova la demo qui](https://intlayer.org/doc/why) 👉 [Controlla il modello di codice su GitHub](https://github.com/aymericzip/smart_doc_RAG)
|
|
234
|
-
|
|
235
|
-
## Andare oltre
|
|
236
|
-
|
|
237
|
-
Questo progetto è una implementazione minima. Ma puoi estenderlo in molti modi:
|
|
238
|
-
|
|
239
|
-
- Server MCP → la funzione di ricerca nella documentazione verso un server MCP per connettere la documentazione a qualsiasi assistente AI
|
|
240
|
-
|
|
241
|
-
- Database vettoriali → scalare a milioni di frammenti di documenti
|
|
242
|
-
- LangChain / LlamaIndex → framework pronti all'uso per pipeline RAG
|
|
243
|
-
- Cruscotti di analisi → visualizzare le query degli utenti e i punti critici
|
|
244
|
-
- Recupero multi-sorgente → estrarre non solo documenti, ma anche voci di database, post di blog, ticket, ecc.
|
|
245
|
-
- Prompting migliorato → riordinamento, filtraggio e ricerca ibrida (parola chiave + semantica)
|
|
246
|
-
|
|
247
|
-
## Limitazioni che abbiamo incontrato
|
|
248
|
-
|
|
249
|
-
- La suddivisione in frammenti e la sovrapposizione sono empiriche. Il giusto equilibrio (dimensione del frammento, percentuale di sovrapposizione, numero di frammenti recuperati) richiede iterazione e test.
|
|
250
|
-
- Gli embeddings non vengono rigenerati automaticamente quando i documenti cambiano. Il nostro sistema resetta gli embeddings per un file solo se il numero di frammenti differisce da quello memorizzato.
|
|
251
|
-
- In questo prototipo, gli embeddings sono memorizzati in JSON. Questo funziona per le demo ma inquina Git. In produzione, è meglio utilizzare un database o un archivio vettoriale dedicato.
|
|
252
|
-
|
|
253
|
-
## Perché Questo È Importante Oltre la Documentazione
|
|
254
|
-
|
|
255
|
-
La parte interessante non è solo il chatbot. È il **ciclo di feedback**.
|
|
256
|
-
|
|
257
|
-
Con RAG, non ti limiti a rispondere:
|
|
258
|
-
|
|
259
|
-
- Impari cosa confonde gli utenti.
|
|
260
|
-
- Scopri quali funzionalità si aspettano.
|
|
261
|
-
- Adatti la tua strategia di prodotto basandoti sulle query reali.
|
|
262
|
-
|
|
263
|
-
**Esempio:**
|
|
264
|
-
|
|
265
|
-
Immagina di lanciare una nuova funzionalità e vedere immediatamente:
|
|
266
|
-
|
|
267
|
-
- Il 50% delle domande riguarda lo stesso passaggio di configurazione poco chiaro
|
|
268
|
-
- Gli utenti chiedono ripetutamente un’integrazione che ancora non supporti
|
|
269
|
-
- Le persone cercano termini che rivelano un nuovo caso d’uso
|
|
270
|
-
|
|
271
|
-
Questa è **intelligenza di prodotto** direttamente dai tuoi utenti.
|
|
272
|
-
|
|
273
78
|
## Conclusione
|
|
274
79
|
|
|
275
80
|
RAG è uno dei modi più semplici e potenti per rendere pratici i LLM. Combinando **recupero + generazione**, puoi trasformare documenti statici in un **assistente intelligente** e, allo stesso tempo, ottenere un flusso continuo di approfondimenti sul prodotto.
|
|
@@ -141,6 +141,14 @@ Valutiamo:
|
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
+
## Interoperabilità con `react-intl` e `react-i18next`
|
|
145
|
+
|
|
146
|
+
`intlayer` può aiutarti anche a gestire i tuoi namespace `react-intl` e `react-i18next`.
|
|
147
|
+
|
|
148
|
+
Utilizzando `intlayer`, puoi dichiarare i tuoi contenuti nel formato della tua libreria i18n preferita, e intlayer genererà i tuoi namespace nella posizione di tua scelta (esempio: `/messages/{{locale}}/{{namespace}}.json`).
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
144
152
|
## Note pratiche per la migrazione (react-intl / react-i18next → Intlayer)
|
|
145
153
|
|
|
146
154
|
- **Migra in modo incrementale**: Inizia con una funzionalità o una rotta; mantieni i cataloghi legacy in parallelo durante la transizione.
|