@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
|
@@ -284,34 +284,6 @@ Aqui está um exemplo do impacto da otimização do tamanho do bundle usando `in
|
|
|
284
284
|
|
|
285
285
|
---
|
|
286
286
|
|
|
287
|
-
## DX, ferramentas e manutenção
|
|
288
|
-
|
|
289
|
-
<Columns>
|
|
290
|
-
<Column>
|
|
291
|
-
|
|
292
|
-
**next-intl**
|
|
293
|
-
|
|
294
|
-
- Comumente emparelhado com plataformas externas de localização e fluxos editoriais.
|
|
295
|
-
|
|
296
|
-
</Column>
|
|
297
|
-
<Column>
|
|
298
|
-
|
|
299
|
-
**next-i18next**
|
|
300
|
-
|
|
301
|
-
- Comumente emparelhado com plataformas externas de localização e fluxos editoriais.
|
|
302
|
-
|
|
303
|
-
</Column>
|
|
304
|
-
<Column>
|
|
305
|
-
|
|
306
|
-
**intlayer**
|
|
307
|
-
|
|
308
|
-
- Fornece um **Editor Visual gratuito** e um **CMS opcional** (compatível com Git ou externalizado), além de uma **extensão para VSCode** e **traduções assistidas por IA** usando suas próprias chaves de provedor.
|
|
309
|
-
|
|
310
|
-
</Column>
|
|
311
|
-
</Columns>
|
|
312
|
-
|
|
313
|
-
**Por que isso importa:** Reduz o custo operacional e encurta o ciclo entre desenvolvedores e autores de conteúdo.
|
|
314
|
-
|
|
315
287
|
## Integração com plataformas de localização (TMS)
|
|
316
288
|
|
|
317
289
|
Grandes organizações frequentemente dependem de Sistemas de Gerenciamento de Tradução (TMS) como **Crowdin**, **Phrase**, **Lokalise**, **Localizely** ou **Localazy**.
|
|
@@ -1178,6 +1150,127 @@ export default robots;
|
|
|
1178
1150
|
|
|
1179
1151
|
---
|
|
1180
1152
|
|
|
1153
|
+
### Middleware para roteamento de locale
|
|
1154
|
+
|
|
1155
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1156
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1157
|
+
|
|
1158
|
+
Adicione um middleware para lidar com detecção de locale e roteamento:
|
|
1159
|
+
|
|
1160
|
+
```ts fileName="src/middleware.ts"
|
|
1161
|
+
import { NextResponse, type NextRequest } from "next/server";
|
|
1162
|
+
import { defaultLocale, locales } from "@/i18n.config";
|
|
1163
|
+
|
|
1164
|
+
const PUBLIC_FILE = /\.[^/]+$/; // excluir arquivos com extensões
|
|
1165
|
+
|
|
1166
|
+
export function middleware(request: NextRequest) {
|
|
1167
|
+
const { pathname } = request.nextUrl;
|
|
1168
|
+
|
|
1169
|
+
if (
|
|
1170
|
+
pathname.startsWith("/_next") ||
|
|
1171
|
+
pathname.startsWith("/api") ||
|
|
1172
|
+
pathname.startsWith("/static") ||
|
|
1173
|
+
PUBLIC_FILE.test(pathname)
|
|
1174
|
+
) {
|
|
1175
|
+
return;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
const hasLocale = locales.some(
|
|
1179
|
+
(l) => pathname === "/" + l || pathname.startsWith("/" + l + "/")
|
|
1180
|
+
);
|
|
1181
|
+
if (!hasLocale) {
|
|
1182
|
+
const locale = defaultLocale;
|
|
1183
|
+
const url = request.nextUrl.clone();
|
|
1184
|
+
url.pathname = "/" + locale + (pathname === "/" ? "" : pathname);
|
|
1185
|
+
return NextResponse.redirect(url);
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
export const config = {
|
|
1190
|
+
matcher: [
|
|
1191
|
+
// Corresponder todos os caminhos exceto os que começam com estes e arquivos com extensão
|
|
1192
|
+
"/((?!api|_next|static|.*\\..*).*)",
|
|
1193
|
+
],
|
|
1194
|
+
};
|
|
1195
|
+
```
|
|
1196
|
+
|
|
1197
|
+
</Tab>
|
|
1198
|
+
<Tab label="next-intl" value="next-intl">
|
|
1199
|
+
|
|
1200
|
+
Adicione um middleware para lidar com detecção de locale e roteamento:
|
|
1201
|
+
|
|
1202
|
+
```ts fileName="src/middleware.ts"
|
|
1203
|
+
import createMiddleware from "next-intl/middleware";
|
|
1204
|
+
import { locales, defaultLocale } from "@/i18n";
|
|
1205
|
+
|
|
1206
|
+
export default createMiddleware({
|
|
1207
|
+
locales: [...locales],
|
|
1208
|
+
defaultLocale,
|
|
1209
|
+
localeDetection: true,
|
|
1210
|
+
});
|
|
1211
|
+
|
|
1212
|
+
export const config = {
|
|
1213
|
+
// Pular API, Next internals e assets estáticos
|
|
1214
|
+
matcher: ["/((?!api|_next|.*\\..*).*)"],
|
|
1215
|
+
};
|
|
1216
|
+
```
|
|
1217
|
+
|
|
1218
|
+
</Tab>
|
|
1219
|
+
<Tab label="intlayer" value="intlayer">
|
|
1220
|
+
|
|
1221
|
+
O Intlayer fornece manipulação de middleware integrada através da configuração do pacote `next-intlayer`.
|
|
1222
|
+
|
|
1223
|
+
```ts fileName="src/middleware.ts"
|
|
1224
|
+
import { intlayerProxy } from "next-intlayer/proxy";
|
|
1225
|
+
|
|
1226
|
+
export const middleware = intlayerProxy();
|
|
1227
|
+
|
|
1228
|
+
// aplica este middleware apenas a arquivos no diretório app
|
|
1229
|
+
export const config = {
|
|
1230
|
+
matcher: "/((?!api|_next|static|.*\\..*).*)",
|
|
1231
|
+
};
|
|
1232
|
+
```
|
|
1233
|
+
|
|
1234
|
+
A configuração do middleware está centralizada no arquivo `intlayer.config.ts`.
|
|
1235
|
+
|
|
1236
|
+
</Tab>
|
|
1237
|
+
</Tabs>
|
|
1238
|
+
|
|
1239
|
+
### Lista de verificação de configuração e boas práticas
|
|
1240
|
+
|
|
1241
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1242
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1243
|
+
|
|
1244
|
+
- Certifique-se de que `lang` e `dir` estão definidos no `<html>` raiz em `src/app/[locale]/layout.tsx`.
|
|
1245
|
+
- Divida as traduções em namespaces (por exemplo `common.json`, `about.json`) em `src/locales/<locale>/`.
|
|
1246
|
+
- Carregue apenas os namespaces necessários em componentes cliente usando `useTranslation('<ns>')` e escopo de `I18nProvider` com os mesmos namespaces.
|
|
1247
|
+
- Mantenha as páginas estáticas sempre que possível: exporte `export const dynamic = 'force-static'` nas páginas; defina `dynamicParams = false` e implemente `generateStaticParams`.
|
|
1248
|
+
- Use componentes servidor síncronos aninhados sob limites de cliente passando strings pré-computadas ou a função `t` e a `locale`.
|
|
1249
|
+
- Para SEO, defina `alternates.languages` nos metadados, liste URLs localizadas em `sitemap.ts` e desabilite rotas localizadas duplicadas em `robots.ts`.
|
|
1250
|
+
- Prefira formatadores com reconhecimento de locale (por exemplo, `Intl.NumberFormat(locale)`) e memorize-os no cliente se estiver usando React < 19.
|
|
1251
|
+
|
|
1252
|
+
</Tab>
|
|
1253
|
+
<Tab label="next-intl" value="next-intl">
|
|
1254
|
+
|
|
1255
|
+
- **Defina `lang` e `dir` do html**: Em `src/app/[locale]/layout.tsx`, compute `dir` via `getLocaleDirection(locale)` e defina `<html lang={locale} dir={dir}>`.
|
|
1256
|
+
- **Divida mensagens por namespace**: Organize JSON por locale e namespace (por exemplo, `common.json`, `about.json`).
|
|
1257
|
+
- **Minimize o payload do cliente**: Nas páginas, envie apenas os namespaces necessários para `NextIntlClientProvider` (por exemplo, `pick(messages, ['common', 'about'])`).
|
|
1258
|
+
- **Prefira páginas estáticas**: Exporte `export const dynamic = 'force-static'` e gere parâmetros estáticos para todos os `locales`.
|
|
1259
|
+
- **Componentes servidor síncronos**: Mantenha componentes servidor síncronos passando strings pré-computadas (rótulos traduzidos, números formatados) em vez de chamadas assíncronas ou funções não-serializáveis.
|
|
1260
|
+
|
|
1261
|
+
</Tab>
|
|
1262
|
+
<Tab label="intlayer" value="intlayer">
|
|
1263
|
+
|
|
1264
|
+
- **Conteúdo modular**: Co-localize dicionários de conteúdo com componentes usando arquivos `.content.{ts|js|json}`.
|
|
1265
|
+
- **Segurança de tipo**: Aproveite a integração do TypeScript para validação de conteúdo em tempo de compilação.
|
|
1266
|
+
- **Otimização em tempo de compilação**: Use as ferramentas de compilação do Intlayer para tree-shaking automático e otimização de bundle.
|
|
1267
|
+
- **Ferramentas integradas**: Aproveite o suporte integrado de roteamento, auxiliares de SEO e editor visual.
|
|
1268
|
+
|
|
1269
|
+
</Tab>
|
|
1270
|
+
</Tabs>
|
|
1271
|
+
|
|
1272
|
+
---
|
|
1273
|
+
|
|
1181
1274
|
## E o vencedor é…
|
|
1182
1275
|
|
|
1183
1276
|
Não é simples. Cada opção tem seus prós e contras. Aqui está como eu vejo:
|
|
@@ -57,43 +57,6 @@ Esse último ponto é crucial. Um sistema RAG não apenas responde perguntas, el
|
|
|
57
57
|
|
|
58
58
|
Portanto, RAG não é apenas uma ferramenta de suporte. É também um **motor de descoberta de produto**.
|
|
59
59
|
|
|
60
|
-
## Como funciona o pipeline RAG
|
|
61
|
-
|
|
62
|
-

|
|
63
|
-
|
|
64
|
-
Em um nível geral, aqui está a receita que usei:
|
|
65
|
-
|
|
66
|
-
1. **Dividir a documentação em partes** Grandes arquivos Markdown são divididos em partes. Dividir permite fornecer como contexto apenas as partes relevantes da documentação.
|
|
67
|
-
2. **Gerar embeddings** Cada parte é transformada em um vetor usando a API de embedding da OpenAI (text-embedding-3-large) ou um banco de dados vetorial (Chroma, Qdrant, Pinecone).
|
|
68
|
-
3. **Indexação e armazenamento** Os embeddings são armazenados em um arquivo JSON simples (para minha demonstração), mas em produção, provavelmente você usaria um banco de dados vetorial.
|
|
69
|
-
4. **Recuperação (R em RAG)** A consulta do usuário é transformada em embedding, a similaridade cosseno é calculada, e os chunks mais relevantes são recuperados.
|
|
70
|
-
5. **Aumento + Geração (AG em RAG)** Esses chunks são injetados no prompt para o ChatGPT, para que o modelo responda com o contexto real da documentação.
|
|
71
|
-
6. **Registro de consultas para feedback** Cada consulta do usuário é armazenada. Isso é ouro para entender pontos problemáticos, documentação faltante ou novas oportunidades.
|
|
72
|
-
|
|
73
|
-
## Passo 1: Lendo a Documentação
|
|
74
|
-
|
|
75
|
-
O primeiro passo foi simples: eu precisava de uma forma de escanear uma pasta docs/ para todos os arquivos .md. Usando Node.js e glob, eu busquei o conteúdo de cada arquivo Markdown para a memória.
|
|
76
|
-
|
|
77
|
-
Isso mantém o pipeline flexível: em vez de Markdown, você poderia buscar documentos de um banco de dados, um CMS ou até mesmo uma API.
|
|
78
|
-
|
|
79
|
-
## Passo 2: Dividindo a Documentação em Partes
|
|
80
|
-
|
|
81
|
-
Por que dividir em partes? Porque os modelos de linguagem têm **limites de contexto**. Alimentá-los com um livro inteiro de documentação não funciona.
|
|
82
|
-
|
|
83
|
-
Então, a ideia é quebrar o texto em partes gerenciáveis (por exemplo, 500 tokens cada) com sobreposição (por exemplo, 100 tokens). A sobreposição garante continuidade para que você não perca o significado nas fronteiras das partes.
|
|
84
|
-
|
|
85
|
-
**Exemplo:**
|
|
86
|
-
|
|
87
|
-
- Parte 1 → “…a velha biblioteca que muitos haviam esquecido. Suas prateleiras imponentes estavam cheias de livros…”
|
|
88
|
-
- Parte 2 → “…as prateleiras estavam cheias de livros de todos os gêneros imagináveis, cada um sussurrando histórias…”
|
|
89
|
-
|
|
90
|
-
A sobreposição garante que ambas as partes contenham contexto compartilhado, para que a recuperação permaneça coerente.
|
|
91
|
-
|
|
92
|
-
Esse equilíbrio (tamanho do chunk vs sobreposição) é fundamental para a eficiência do RAG:
|
|
93
|
-
|
|
94
|
-
- Muito pequeno → você obtém ruído.
|
|
95
|
-
- Muito grande → você estoura o tamanho do contexto.
|
|
96
|
-
|
|
97
60
|
## Passo 3: Gerando Embeddings
|
|
98
61
|
|
|
99
62
|
Uma vez que os documentos são divididos em chunks, geramos **embeddings**, vetores de alta dimensão que representam cada chunk.
|
|
@@ -112,164 +75,6 @@ Usei o modelo text-embedding-3-large da OpenAI, mas você pode usar qualquer mod
|
|
|
112
75
|
|
|
113
76
|
Cada vetor é uma impressão digital matemática do texto, permitindo a busca por similaridade.
|
|
114
77
|
|
|
115
|
-
## Passo 4: Indexando e Armazenando Embeddings
|
|
116
|
-
|
|
117
|
-
Para evitar regenerar embeddings várias vezes, eu os armazenei em embeddings.json.
|
|
118
|
-
|
|
119
|
-
Em produção, você provavelmente vai querer um banco de dados vetorial como:
|
|
120
|
-
|
|
121
|
-
- Chroma
|
|
122
|
-
- Qdrant
|
|
123
|
-
- Pinecone
|
|
124
|
-
- FAISS, Weaviate, Milvus, etc.
|
|
125
|
-
|
|
126
|
-
Bancos de dados vetoriais lidam com indexação, escalabilidade e busca rápida. Mas para meu protótipo, um JSON local funcionou bem.
|
|
127
|
-
|
|
128
|
-
## Passo 5: Recuperação com Similaridade Cosseno
|
|
129
|
-
|
|
130
|
-
Quando um usuário faz uma pergunta:
|
|
131
|
-
|
|
132
|
-
1. Gere um embedding para a consulta.
|
|
133
|
-
2. Compare-o com todos os embeddings dos documentos usando **similaridade cosseno**.
|
|
134
|
-
3. Mantenha apenas os N chunks mais similares.
|
|
135
|
-
|
|
136
|
-
A similaridade cosseno mede o ângulo entre dois vetores. Uma correspondência perfeita tem pontuação **1.0**.
|
|
137
|
-
|
|
138
|
-
Dessa forma, o sistema encontra as passagens do documento mais próximas da consulta.
|
|
139
|
-
|
|
140
|
-
## Passo 6: Aumento + Geração
|
|
141
|
-
|
|
142
|
-
Agora vem a mágica. Pegamos os chunks principais e os injetamos no **prompt do sistema** para o ChatGPT.
|
|
143
|
-
|
|
144
|
-
Isso significa que o modelo responde como se esses trechos fizessem parte da conversa.
|
|
145
|
-
|
|
146
|
-
O resultado: respostas precisas e **baseadas na documentação**.
|
|
147
|
-
|
|
148
|
-
## Passo 7: Registro das Consultas dos Usuários
|
|
149
|
-
|
|
150
|
-
Este é o superpoder oculto.
|
|
151
|
-
|
|
152
|
-
Cada pergunta feita é armazenada. Com o tempo, você constrói um conjunto de dados de:
|
|
153
|
-
|
|
154
|
-
- Perguntas mais frequentes (ótimo para FAQs)
|
|
155
|
-
- Perguntas sem resposta (documentação ausente ou pouco clara)
|
|
156
|
-
- Solicitações de funcionalidades disfarçadas de perguntas (“Integra com X?”)
|
|
157
|
-
- Casos de uso emergentes que você não havia planejado
|
|
158
|
-
|
|
159
|
-
Isso transforma seu assistente RAG em uma **ferramenta contínua de pesquisa com usuários**.
|
|
160
|
-
|
|
161
|
-
## Quanto Custa?
|
|
162
|
-
|
|
163
|
-
Uma objeção comum ao RAG é o custo. Na prática, é surpreendentemente barato:
|
|
164
|
-
|
|
165
|
-
- Gerar embeddings para cerca de 200 documentos leva cerca de **5 minutos** e custa **1–2 euros**.
|
|
166
|
-
- O recurso de busca na documentação é 100% gratuito.
|
|
167
|
-
- Para consultas, usamos o gpt-4o-latest sem o modo “thinking”. No Intlayer, vemos cerca de **300 consultas de chat por mês**, e a fatura da API OpenAI raramente ultrapassa **10 dólares**.
|
|
168
|
-
|
|
169
|
-
Além disso, você pode incluir o custo de hospedagem.
|
|
170
|
-
|
|
171
|
-
## Detalhes da Implementação
|
|
172
|
-
|
|
173
|
-
Stack:
|
|
174
|
-
|
|
175
|
-
- Monorepo: workspace pnpm
|
|
176
|
-
- Pacote de documentação: Node.js / TypeScript / API OpenAI
|
|
177
|
-
- Frontend: Next.js / React / Tailwind CSS
|
|
178
|
-
- Backend: rota API Node.js / API OpenAI
|
|
179
|
-
|
|
180
|
-
O pacote `@smart-doc/docs` é um pacote TypeScript que lida com o processamento da documentação. Quando um arquivo markdown é adicionado ou modificado, o pacote inclui um script `build` que reconstrói a lista de documentação em cada idioma, gera embeddings e os armazena em um arquivo `embeddings.json`.
|
|
181
|
-
|
|
182
|
-
Para o frontend, usamos uma aplicação Next.js que fornece:
|
|
183
|
-
|
|
184
|
-
- Renderização de Markdown para HTML
|
|
185
|
-
- Uma barra de pesquisa para encontrar documentação relevante
|
|
186
|
-
- Uma interface de chatbot para fazer perguntas sobre a documentação
|
|
187
|
-
|
|
188
|
-
Para realizar uma busca na documentação, a aplicação Next.js inclui uma rota de API que chama uma função do pacote `@smart-doc/docs` para recuperar fragmentos de documentação que correspondem à consulta. Usando esses fragmentos, podemos retornar uma lista de páginas de documentação relevantes para a busca do usuário.
|
|
189
|
-
|
|
190
|
-
Para a funcionalidade do chatbot, seguimos o mesmo processo de busca, mas além disso, injetamos os fragmentos de documentação recuperados no prompt enviado ao ChatGPT.
|
|
191
|
-
|
|
192
|
-
Aqui está um exemplo de um prompt enviado ao ChatGPT:
|
|
193
|
-
|
|
194
|
-
Prompt do sistema:
|
|
195
|
-
|
|
196
|
-
```txt
|
|
197
|
-
Você é um assistente prestativo que pode responder perguntas sobre a documentação do Intlayer.
|
|
198
|
-
|
|
199
|
-
Fragmentos relacionados:
|
|
200
|
-
|
|
201
|
-
-----
|
|
202
|
-
docName: "getting-started"
|
|
203
|
-
docChunk: "1/3"
|
|
204
|
-
docUrl: "https://example.com/docs/pt/getting-started"
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
# Como começar
|
|
208
|
-
|
|
209
|
-
...
|
|
210
|
-
|
|
211
|
-
-----
|
|
212
|
-
docName: "another-doc"
|
|
213
|
-
docChunk: "1/5"
|
|
214
|
-
docUrl: "https://example.com/docs/pt/another-doc"
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
# Outro documento
|
|
218
|
-
|
|
219
|
-
...
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Consulta do usuário :
|
|
223
|
-
|
|
224
|
-
```txt
|
|
225
|
-
Como começar?
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
Usamos SSE para transmitir a resposta da rota da API.
|
|
229
|
-
|
|
230
|
-
Como mencionado, usamos gpt-4-turbo sem o modo "thinking". As respostas são relevantes e a latência é baixa.
|
|
231
|
-
Experimentamos com o gpt-5, mas a latência era muito alta (às vezes até 15 segundos para uma resposta). Mas revisaremos isso no futuro.
|
|
232
|
-
|
|
233
|
-
👉 [Experimente a demonstração aqui](https://intlayer.org/doc/why) 👉 [Confira o modelo de código no GitHub](https://github.com/aymericzip/smart_doc_RAG)
|
|
234
|
-
|
|
235
|
-
## Indo Além
|
|
236
|
-
|
|
237
|
-
Este projeto é uma implementação mínima. Mas você pode estendê-lo de várias maneiras:
|
|
238
|
-
|
|
239
|
-
- Servidor MCP → a função de pesquisa de documentação para um servidor MCP para conectar a documentação a qualquer assistente de IA
|
|
240
|
-
|
|
241
|
-
- Bancos de Dados Vetoriais → escalar para milhões de pedaços de documentação
|
|
242
|
-
- LangChain / LlamaIndex → frameworks prontos para pipelines RAG
|
|
243
|
-
- Painéis de análise → visualizar consultas dos usuários e pontos problemáticos
|
|
244
|
-
- Recuperação multi-fonte → buscar não apenas documentos, mas entradas de banco de dados, posts de blog, tickets, etc.
|
|
245
|
-
- Melhoria no prompting → reclassificação, filtragem e busca híbrida (palavra-chave + semântica)
|
|
246
|
-
|
|
247
|
-
## Limitações que Encontramos
|
|
248
|
-
|
|
249
|
-
- A segmentação e sobreposição são empíricas. O equilíbrio correto (tamanho do pedaço, porcentagem de sobreposição, número de pedaços recuperados) requer iteração e testes.
|
|
250
|
-
- Embeddings não são regenerados automaticamente quando os documentos mudam. Nosso sistema redefine os embeddings para um arquivo somente se o número de pedaços for diferente do que está armazenado.
|
|
251
|
-
- Neste protótipo, os embeddings são armazenados em JSON. Isso funciona para demonstrações, mas polui o Git. Em produção, um banco de dados ou um armazenamento vetorial dedicado é melhor.
|
|
252
|
-
|
|
253
|
-
## Por Que Isso Importa Além da Documentação
|
|
254
|
-
|
|
255
|
-
A parte interessante não é apenas o chatbot. É o **ciclo de feedback**.
|
|
256
|
-
|
|
257
|
-
Com RAG, você não apenas responde:
|
|
258
|
-
|
|
259
|
-
- Você aprende o que confunde os usuários.
|
|
260
|
-
- Você descobre quais recursos eles esperam.
|
|
261
|
-
- Você adapta sua estratégia de produto com base em consultas reais.
|
|
262
|
-
|
|
263
|
-
**Exemplo:**
|
|
264
|
-
|
|
265
|
-
Imagine lançar um novo recurso e ver instantaneamente:
|
|
266
|
-
|
|
267
|
-
- 50% das perguntas são sobre o mesmo passo de configuração pouco claro
|
|
268
|
-
- Usuários pedem repetidamente por uma integração que você ainda não suporta
|
|
269
|
-
- Pessoas buscam termos que revelam um novo caso de uso
|
|
270
|
-
|
|
271
|
-
Isso é **inteligência de produto** diretamente dos seus usuários.
|
|
272
|
-
|
|
273
78
|
## Conclusão
|
|
274
79
|
|
|
275
80
|
RAG é uma das formas mais simples e poderosas de tornar os LLMs práticos. Ao combinar **recuperação + geração**, você pode transformar documentos estáticos em um **assistente inteligente** e, ao mesmo tempo, obter um fluxo contínuo de insights sobre o produto.
|
|
@@ -137,6 +137,14 @@ Nós avaliamos:
|
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
140
|
+
## Interoperabilidade com `react-intl` e `react-i18next`
|
|
141
|
+
|
|
142
|
+
`intlayer` também pode ajudar a gerenciar seus namespaces `react-intl` e `react-i18next`.
|
|
143
|
+
|
|
144
|
+
Usando `intlayer`, você pode declarar seu conteúdo no formato de sua biblioteca i18n favorita, e o intlayer gerará seus namespaces no local de sua escolha (exemplo: `/messages/{{locale}}/{{namespace}}.json`).
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
140
148
|
## Notas práticas de migração (react-intl / react-i18next → Intlayer)
|
|
141
149
|
|
|
142
150
|
- **Migre de forma incremental**: Comece com uma funcionalidade ou rota; mantenha os catálogos legados em paralelo durante a transição.
|
|
@@ -249,6 +249,14 @@ Esta abordagem:
|
|
|
249
249
|
|
|
250
250
|
---
|
|
251
251
|
|
|
252
|
+
## Interoperabilidade com vue-i18n
|
|
253
|
+
|
|
254
|
+
`intlayer` também pode ajudar a gerenciar seus namespaces `vue-i18n`.
|
|
255
|
+
|
|
256
|
+
Usando `intlayer`, você pode declarar seu conteúdo no formato de sua biblioteca i18n favorita, e intlayer gerará seus namespaces no local de sua escolha (exemplo: `/messages/{{locale}}/{{namespace}}.json`).
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
252
260
|
## Notas práticas de migração (vue-i18n → Intlayer)
|
|
253
261
|
|
|
254
262
|
- **Comece por funcionalidade**: Mova uma rota/visualização/componente de cada vez para os dicionários locais do Intlayer.
|
|
@@ -34,6 +34,10 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<iframe title="Как автоматизировать ваши JSON-переводы i18next с помощью 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
|
+
## Содержание
|
|
38
|
+
|
|
39
|
+
<TOC/>
|
|
40
|
+
|
|
37
41
|
## Что такое Intlayer?
|
|
38
42
|
|
|
39
43
|
**Intlayer**, это инновационная, открытая библиотека интернационализации, созданная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в JavaScript-приложениях.
|
|
@@ -34,17 +34,6 @@ author: aymericzip
|
|
|
34
34
|
|
|
35
35
|
<TOC/>
|
|
36
36
|
|
|
37
|
-
## Что такое next-i18next?
|
|
38
|
-
|
|
39
|
-
**next-i18next**, это один из самых популярных фреймворков для интернационализации (i18n) в приложениях Next.js. Построенный на мощной экосистеме **i18next**, он предоставляет комплексное решение для управления переводами, локализацией и переключением языков в проектах Next.js.
|
|
40
|
-
|
|
41
|
-
Однако next-i18next имеет некоторые сложности:
|
|
42
|
-
|
|
43
|
-
- **Сложная конфигурация**: Настройка next-i18next требует нескольких конфигурационных файлов и тщательной настройки экземпляров i18n на стороне сервера и клиента.
|
|
44
|
-
- **Разрозненные переводы**: Файлы переводов обычно хранятся в отдельных директориях от компонентов, что затрудняет поддержание согласованности.
|
|
45
|
-
- **Ручное управление пространствами имён**: Разработчикам необходимо вручную управлять пространствами имён и обеспечивать правильную загрузку ресурсов переводов.
|
|
46
|
-
- **Ограниченная типобезопасность**: Поддержка TypeScript требует дополнительной настройки и не обеспечивает автоматическую генерацию типов для переводов.
|
|
47
|
-
|
|
48
37
|
## Что такое Intlayer?
|
|
49
38
|
|
|
50
39
|
**Intlayer**, это инновационная, открытая библиотека интернационализации, разработанная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в приложениях Next.js.
|
|
@@ -29,6 +29,10 @@ author: aymericzip
|
|
|
29
29
|
|
|
30
30
|
<iframe title="Как автоматизировать перевод JSON для next-intl с помощью 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
|
+
# Оглавление
|
|
33
|
+
|
|
34
|
+
<TOC/>
|
|
35
|
+
|
|
32
36
|
## Что такое Intlayer?
|
|
33
37
|
|
|
34
38
|
**Intlayer**, это инновационная, открытая библиотека интернационализации, созданная для устранения недостатков традиционных решений i18n. Она предлагает современный подход к управлению контентом в приложениях Next.js.
|
|
@@ -61,14 +61,6 @@ author: aymericzip
|
|
|
61
61
|
|
|
62
62
|
---
|
|
63
63
|
|
|
64
|
-
## Сравнение функций бок о бок (с фокусом на Next.js)
|
|
65
|
-
|
|
66
|
-
| Функция | `next-intlayer` (Intlayer) | `next-intl` | `next-i18next` |
|
|
67
|
-
|
|
68
|
-
> Значки обновляются автоматически. Снимки будут меняться со временем.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
64
|
## Сравнение функций бок о бок (с акцентом на Next.js)
|
|
73
65
|
|
|
74
66
|
| Функция | `next-intlayer` (Intlayer) | `next-intl` | `next-i18next` |
|
|
@@ -290,34 +282,6 @@ Next.js предоставляет встроенную поддержку ин
|
|
|
290
282
|
|
|
291
283
|
---
|
|
292
284
|
|
|
293
|
-
## DX, инструменты и сопровождение
|
|
294
|
-
|
|
295
|
-
<Columns>
|
|
296
|
-
<Column>
|
|
297
|
-
|
|
298
|
-
**next-intl**
|
|
299
|
-
|
|
300
|
-
- Обычно используется вместе с внешними платформами локализации и редакционными рабочими процессами.
|
|
301
|
-
|
|
302
|
-
</Column>
|
|
303
|
-
<Column>
|
|
304
|
-
|
|
305
|
-
**next-i18next**
|
|
306
|
-
|
|
307
|
-
- Обычно используется вместе с внешними платформами локализации и редакционными рабочими процессами.
|
|
308
|
-
|
|
309
|
-
</Column>
|
|
310
|
-
<Column>
|
|
311
|
-
|
|
312
|
-
**intlayer**
|
|
313
|
-
|
|
314
|
-
- Поставляется с **бесплатным Визуальным Редактором** и **опциональной CMS** (дружелюбной к Git или внешней), а также с **расширением для VSCode** и **переводами с помощью ИИ**, использующими ваши собственные ключи провайдера.
|
|
315
|
-
|
|
316
|
-
</Column>
|
|
317
|
-
</Columns>
|
|
318
|
-
|
|
319
|
-
**Почему это важно:** Снижает операционные затраты и сокращает цикл взаимодействия между разработчиками и авторами контента.
|
|
320
|
-
|
|
321
285
|
## Интеграция с платформами локализации (TMS)
|
|
322
286
|
|
|
323
287
|
Крупные организации часто используют Системы Управления Переводами (TMS), такие как **Crowdin**, **Phrase**, **Lokalise**, **Localizely** или **Localazy**.
|
|
@@ -1187,6 +1151,127 @@ export default robots;
|
|
|
1187
1151
|
|
|
1188
1152
|
---
|
|
1189
1153
|
|
|
1154
|
+
### Middleware для маршрутизации локалей
|
|
1155
|
+
|
|
1156
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1157
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1158
|
+
|
|
1159
|
+
Добавьте middleware для обработки определения локали и маршрутизации:
|
|
1160
|
+
|
|
1161
|
+
```ts fileName="src/middleware.ts"
|
|
1162
|
+
import { NextResponse, type NextRequest } from "next/server";
|
|
1163
|
+
import { defaultLocale, locales } from "@/i18n.config";
|
|
1164
|
+
|
|
1165
|
+
const PUBLIC_FILE = /\.[^/]+$/; // исключить файлы с расширениями
|
|
1166
|
+
|
|
1167
|
+
export function middleware(request: NextRequest) {
|
|
1168
|
+
const { pathname } = request.nextUrl;
|
|
1169
|
+
|
|
1170
|
+
if (
|
|
1171
|
+
pathname.startsWith("/_next") ||
|
|
1172
|
+
pathname.startsWith("/api") ||
|
|
1173
|
+
pathname.startsWith("/static") ||
|
|
1174
|
+
PUBLIC_FILE.test(pathname)
|
|
1175
|
+
) {
|
|
1176
|
+
return;
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
const hasLocale = locales.some(
|
|
1180
|
+
(l) => pathname === "/" + l || pathname.startsWith("/" + l + "/")
|
|
1181
|
+
);
|
|
1182
|
+
if (!hasLocale) {
|
|
1183
|
+
const locale = defaultLocale;
|
|
1184
|
+
const url = request.nextUrl.clone();
|
|
1185
|
+
url.pathname = "/" + locale + (pathname === "/" ? "" : pathname);
|
|
1186
|
+
return NextResponse.redirect(url);
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
export const config = {
|
|
1191
|
+
matcher: [
|
|
1192
|
+
// Совпадение всех путей, кроме начинающихся с этих и файлов с расширениями
|
|
1193
|
+
"/((?!api|_next|static|.*\\..*).*)",
|
|
1194
|
+
],
|
|
1195
|
+
};
|
|
1196
|
+
```
|
|
1197
|
+
|
|
1198
|
+
</Tab>
|
|
1199
|
+
<Tab label="next-intl" value="next-intl">
|
|
1200
|
+
|
|
1201
|
+
Добавьте middleware для обработки определения локали и маршрутизации:
|
|
1202
|
+
|
|
1203
|
+
```ts fileName="src/middleware.ts"
|
|
1204
|
+
import createMiddleware from "next-intl/middleware";
|
|
1205
|
+
import { locales, defaultLocale } from "@/i18n";
|
|
1206
|
+
|
|
1207
|
+
export default createMiddleware({
|
|
1208
|
+
locales: [...locales],
|
|
1209
|
+
defaultLocale,
|
|
1210
|
+
localeDetection: true,
|
|
1211
|
+
});
|
|
1212
|
+
|
|
1213
|
+
export const config = {
|
|
1214
|
+
// Пропустить API, Next внутренние компоненты и статические ассеты
|
|
1215
|
+
matcher: ["/((?!api|_next|.*\\..*).*)"],
|
|
1216
|
+
};
|
|
1217
|
+
```
|
|
1218
|
+
|
|
1219
|
+
</Tab>
|
|
1220
|
+
<Tab label="intlayer" value="intlayer">
|
|
1221
|
+
|
|
1222
|
+
Intlayer предоставляет встроенную обработку middleware через конфигурацию пакета `next-intlayer`.
|
|
1223
|
+
|
|
1224
|
+
```ts fileName="src/middleware.ts"
|
|
1225
|
+
import { intlayerProxy } from "next-intlayer/proxy";
|
|
1226
|
+
|
|
1227
|
+
export const middleware = intlayerProxy();
|
|
1228
|
+
|
|
1229
|
+
// применяет этот middleware только к файлам в директории app
|
|
1230
|
+
export const config = {
|
|
1231
|
+
matcher: "/((?!api|_next|static|.*\\..*).*)",
|
|
1232
|
+
};
|
|
1233
|
+
```
|
|
1234
|
+
|
|
1235
|
+
Конфигурация middleware централизована в файле `intlayer.config.ts`.
|
|
1236
|
+
|
|
1237
|
+
</Tab>
|
|
1238
|
+
</Tabs>
|
|
1239
|
+
|
|
1240
|
+
### Контрольный список настройки и лучшие практики
|
|
1241
|
+
|
|
1242
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1243
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1244
|
+
|
|
1245
|
+
- Убедитесь, что `lang` и `dir` установлены на корневом `<html>` в `src/app/[locale]/layout.tsx`.
|
|
1246
|
+
- Разделите переводы на пространства имен (например `common.json`, `about.json`) в `src/locales/<locale>/`.
|
|
1247
|
+
- Загружайте только требуемые пространства имен в клиентских компонентах с помощью `useTranslation('<ns>')` и обозначив область `I18nProvider` теми же пространствами имен.
|
|
1248
|
+
- Держите страницы статичными когда возможно: экспортируйте `export const dynamic = 'force-static'` на страницах; установите `dynamicParams = false` и реализуйте `generateStaticParams`.
|
|
1249
|
+
- Используйте синхронные серверные компоненты, вложенные под клиентские границы, передавая предварительно вычисленные строки или функцию `t` и `locale`.
|
|
1250
|
+
- Для SEO установите `alternates.languages` в метаданных, укажите локализованные URLs в `sitemap.ts` и запретите дублирующиеся локализованные маршруты в `robots.ts`.
|
|
1251
|
+
- Предпочитайте форматеры, зависящие от локали (например `Intl.NumberFormat(locale)`) и мемоизируйте их на клиенте, если используется React < 19.
|
|
1252
|
+
|
|
1253
|
+
</Tab>
|
|
1254
|
+
<Tab label="next-intl" value="next-intl">
|
|
1255
|
+
|
|
1256
|
+
- **Установите html `lang` и `dir`**: В `src/app/[locale]/layout.tsx` вычислите `dir` через `getLocaleDirection(locale)` и установите `<html lang={locale} dir={dir}>`.
|
|
1257
|
+
- **Разделите сообщения по пространствам имен**: Организуйте JSON по локали и пространству имен (например `common.json`, `about.json`).
|
|
1258
|
+
- **Минимизируйте полезную нагрузку клиента**: На страницах отправляйте только требуемые пространства имен в `NextIntlClientProvider` (например `pick(messages, ['common', 'about'])`).
|
|
1259
|
+
- **Предпочитайте статичные страницы**: Экспортируйте `export const dynamic = 'force-static'` и генерируйте статичные параметры для всех `locales`.
|
|
1260
|
+
- **Синхронные серверные компоненты**: Держите серверные компоненты синхронными, передавая предварительно вычисленные строки (переведенные метки, отформатированные числа) вместо асинхронных вызовов или функций, которые нельзя сериализовать.
|
|
1261
|
+
|
|
1262
|
+
</Tab>
|
|
1263
|
+
<Tab label="intlayer" value="intlayer">
|
|
1264
|
+
|
|
1265
|
+
- **Модульное содержимое**: Разместите словари содержимого рядом с компонентами, используя файлы `.content.{ts|js|json}`.
|
|
1266
|
+
- **Безопасность типов**: Используйте интеграцию TypeScript для проверки содержимого во время компиляции.
|
|
1267
|
+
- **Оптимизация на этапе сборки**: Используйте инструменты сборки Intlayer для автоматического tree-shaking и оптимизации пакета.
|
|
1268
|
+
- **Встроенные инструменты**: Используйте встроенную маршрутизацию, помощники SEO и поддержку визуального редактора.
|
|
1269
|
+
|
|
1270
|
+
</Tab>
|
|
1271
|
+
</Tabs>
|
|
1272
|
+
|
|
1273
|
+
---
|
|
1274
|
+
|
|
1190
1275
|
## И победитель…
|
|
1191
1276
|
|
|
1192
1277
|
Это не просто. У каждого варианта есть свои компромиссы. Вот как я это вижу:
|
|
@@ -313,3 +313,16 @@ RAG, один из самых простых и мощных способов с
|
|
|
313
313
|
</Step>
|
|
314
314
|
|
|
315
315
|
</Steps>
|
|
316
|
+
## Заключение
|
|
317
|
+
|
|
318
|
+
RAG — один из самых простых и мощных способов сделать LLM практичными. Комбинируя **поиск + генерацию**, вы можете превратить статичную документацию в **умного помощника** и одновременно получить постоянный поток информации о продукте.
|
|
319
|
+
|
|
320
|
+
Для меня этот проект показал, что RAG — это не просто технический трюк. Это способ преобразовать документацию в:
|
|
321
|
+
|
|
322
|
+
- интерактивную систему поддержки
|
|
323
|
+
- канал обратной связи
|
|
324
|
+
- инструмент стратегии продукта
|
|
325
|
+
|
|
326
|
+
👉 [Попробуйте демо здесь](https://intlayer.org/doc/why) 👉 [Посмотрите шаблон кода на GitHub](https://github.com/aymericzip/smart_doc_RAG)
|
|
327
|
+
|
|
328
|
+
И если вы тоже экспериментируете с RAG, я бы с удовольствием узнал, как вы его используете.
|
|
@@ -137,6 +137,14 @@ author: aymericzip
|
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
140
|
+
## Взаимодействие с `react-intl` и `react-i18next`
|
|
141
|
+
|
|
142
|
+
`intlayer` также может помочь управлять вашими пространствами имен `react-intl` и `react-i18next`.
|
|
143
|
+
|
|
144
|
+
Используя `intlayer`, вы можете объявлять свой контент в формате вашей любимой библиотеки i18n, и intlayer будет генерировать ваши пространства имен в выбранном вами месте (пример: `/messages/{{locale}}/{{namespace}}.json`).
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
140
148
|
## Практические заметки по миграции (react-intl / react-i18next → Intlayer)
|
|
141
149
|
|
|
142
150
|
- **Мигрируйте постепенно**: начните с одной функции или маршрута; в период перехода сохраняйте старые каталоги параллельно.
|