@intlayer/docs 9.0.0-canary.3 → 9.0.0-canary.5
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 +24 -4
- package/blog/ar/intlayer_with_next-i18next.md +20 -15
- package/blog/ar/intlayer_with_next-intl.md +24 -4
- package/blog/ar/intlayer_with_react-i18next.md +20 -4
- package/blog/ar/intlayer_with_react-intl.md +20 -4
- package/blog/ar/intlayer_with_vue-i18n.md +20 -4
- 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 +34 -6
- package/blog/de/intlayer_with_next-i18next.md +30 -17
- package/blog/de/intlayer_with_next-intl.md +37 -7
- package/blog/de/intlayer_with_react-i18next.md +33 -7
- package/blog/de/intlayer_with_react-intl.md +33 -7
- package/blog/de/intlayer_with_vue-i18n.md +33 -7
- 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/intlayer_with_i18next.md +20 -4
- package/blog/en/intlayer_with_next-i18next.md +20 -4
- package/blog/en/intlayer_with_next-intl.md +20 -4
- package/blog/en/intlayer_with_react-i18next.md +20 -4
- package/blog/en/intlayer_with_react-intl.md +20 -4
- package/blog/en/intlayer_with_vue-i18n.md +20 -4
- package/blog/en-GB/intlayer_with_i18next.md +24 -4
- package/blog/en-GB/intlayer_with_next-i18next.md +20 -15
- package/blog/en-GB/intlayer_with_next-intl.md +24 -4
- package/blog/en-GB/intlayer_with_react-i18next.md +20 -4
- package/blog/en-GB/intlayer_with_react-intl.md +20 -4
- package/blog/en-GB/intlayer_with_vue-i18n.md +20 -4
- 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 +24 -4
- package/blog/es/intlayer_with_next-i18next.md +20 -15
- package/blog/es/intlayer_with_next-intl.md +24 -4
- package/blog/es/intlayer_with_react-i18next.md +20 -4
- package/blog/es/intlayer_with_react-intl.md +20 -4
- package/blog/es/intlayer_with_vue-i18n.md +20 -4
- 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_i18next.md +20 -4
- package/blog/fr/intlayer_with_next-i18next.md +20 -15
- package/blog/fr/intlayer_with_next-intl.md +24 -4
- package/blog/fr/intlayer_with_react-i18next.md +20 -12
- package/blog/fr/intlayer_with_react-intl.md +20 -4
- package/blog/fr/intlayer_with_vue-i18n.md +20 -4
- 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 +24 -4
- package/blog/hi/intlayer_with_next-i18next.md +20 -15
- package/blog/hi/intlayer_with_next-intl.md +24 -4
- package/blog/hi/intlayer_with_react-i18next.md +20 -4
- package/blog/hi/intlayer_with_react-intl.md +20 -4
- package/blog/hi/intlayer_with_vue-i18n.md +20 -4
- 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 +24 -4
- package/blog/id/intlayer_with_next-i18next.md +20 -15
- package/blog/id/intlayer_with_next-intl.md +24 -4
- package/blog/id/intlayer_with_react-i18next.md +20 -4
- package/blog/id/intlayer_with_react-intl.md +20 -4
- package/blog/id/intlayer_with_vue-i18n.md +20 -4
- package/blog/id/rag_powered_documentation_assistant.md +13 -0
- package/blog/it/intlayer_with_i18next.md +37 -7
- package/blog/it/intlayer_with_next-i18next.md +33 -18
- package/blog/it/intlayer_with_next-intl.md +37 -7
- package/blog/it/intlayer_with_react-i18next.md +33 -7
- package/blog/it/intlayer_with_react-intl.md +33 -7
- package/blog/it/intlayer_with_vue-i18n.md +33 -7
- 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 +24 -4
- package/blog/ja/intlayer_with_next-i18next.md +20 -15
- package/blog/ja/intlayer_with_next-intl.md +24 -4
- package/blog/ja/intlayer_with_react-i18next.md +20 -4
- package/blog/ja/intlayer_with_react-intl.md +20 -4
- package/blog/ja/intlayer_with_vue-i18n.md +20 -4
- 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 +37 -7
- package/blog/ko/intlayer_with_next-i18next.md +33 -18
- package/blog/ko/intlayer_with_next-intl.md +37 -7
- package/blog/ko/intlayer_with_react-i18next.md +33 -7
- package/blog/ko/intlayer_with_react-intl.md +33 -7
- package/blog/ko/intlayer_with_vue-i18n.md +33 -7
- 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 +24 -4
- package/blog/pl/intlayer_with_next-i18next.md +20 -15
- package/blog/pl/intlayer_with_next-intl.md +24 -4
- package/blog/pl/intlayer_with_react-i18next.md +20 -4
- package/blog/pl/intlayer_with_react-intl.md +20 -4
- package/blog/pl/intlayer_with_vue-i18n.md +20 -4
- 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 +37 -7
- package/blog/pt/intlayer_with_next-i18next.md +33 -18
- package/blog/pt/intlayer_with_next-intl.md +37 -7
- package/blog/pt/intlayer_with_react-i18next.md +33 -7
- package/blog/pt/intlayer_with_react-intl.md +33 -11
- package/blog/pt/intlayer_with_vue-i18n.md +33 -7
- 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 +24 -4
- package/blog/ru/intlayer_with_next-i18next.md +20 -15
- package/blog/ru/intlayer_with_next-intl.md +24 -4
- package/blog/ru/intlayer_with_react-i18next.md +20 -4
- package/blog/ru/intlayer_with_react-intl.md +20 -4
- package/blog/ru/intlayer_with_vue-i18n.md +20 -4
- 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 +24 -4
- package/blog/tr/intlayer_with_next-i18next.md +20 -15
- package/blog/tr/intlayer_with_next-intl.md +24 -4
- package/blog/tr/intlayer_with_react-i18next.md +20 -4
- package/blog/tr/intlayer_with_react-intl.md +20 -4
- package/blog/tr/intlayer_with_vue-i18n.md +20 -4
- 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/intlayer_with_i18next.md +20 -4
- package/blog/uk/intlayer_with_next-i18next.md +20 -4
- package/blog/uk/intlayer_with_next-intl.md +20 -4
- package/blog/uk/intlayer_with_react-i18next.md +20 -4
- package/blog/uk/intlayer_with_react-intl.md +20 -4
- package/blog/uk/intlayer_with_vue-i18n.md +20 -4
- 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 +24 -4
- package/blog/vi/intlayer_with_next-i18next.md +20 -15
- package/blog/vi/intlayer_with_next-intl.md +24 -4
- package/blog/vi/intlayer_with_react-i18next.md +20 -4
- package/blog/vi/intlayer_with_react-intl.md +20 -4
- package/blog/vi/intlayer_with_vue-i18n.md +20 -4
- package/blog/vi/rag_powered_documentation_assistant.md +13 -0
- package/blog/zh/intlayer_with_i18next.md +4 -31
- package/blog/zh/intlayer_with_next-i18next.md +0 -42
- package/blog/zh/intlayer_with_next-intl.md +4 -31
- package/blog/zh/intlayer_with_react-i18next.md +0 -31
- package/blog/zh/intlayer_with_react-intl.md +0 -31
- package/blog/zh/intlayer_with_vue-i18n.md +0 -31
- 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/dist/cjs/generated/docs.entry.cjs +160 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +160 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +8 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- 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_adonisjs.md +20 -4
- package/docs/ar/intlayer_with_analog.md +20 -4
- package/docs/ar/intlayer_with_angular_19.md +20 -4
- package/docs/ar/intlayer_with_angular_21.md +20 -4
- package/docs/ar/intlayer_with_astro.md +129 -2
- package/docs/ar/intlayer_with_astro_lit.md +21 -9
- package/docs/ar/intlayer_with_astro_preact.md +21 -9
- package/docs/ar/intlayer_with_astro_react.md +21 -9
- package/docs/ar/intlayer_with_astro_solid.md +21 -9
- package/docs/ar/intlayer_with_astro_svelte.md +21 -9
- package/docs/ar/intlayer_with_astro_vanilla.md +21 -9
- package/docs/ar/intlayer_with_astro_vue.md +21 -9
- package/docs/ar/intlayer_with_create_react_app.md +20 -18
- package/docs/ar/intlayer_with_express.md +20 -25
- package/docs/ar/intlayer_with_fastify.md +20 -8
- package/docs/ar/intlayer_with_hono.md +20 -4
- package/docs/ar/intlayer_with_lynx+react.md +20 -4
- package/docs/ar/intlayer_with_nestjs.md +20 -22
- package/docs/ar/intlayer_with_next-i18next.md +20 -4
- package/docs/ar/intlayer_with_nextjs_14.md +50 -11
- package/docs/ar/intlayer_with_nextjs_15.md +41 -5
- package/docs/ar/intlayer_with_nextjs_16.md +144 -6
- package/docs/ar/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/ar/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/ar/intlayer_with_nuxt.md +25 -7
- package/docs/ar/intlayer_with_react_native+expo.md +56 -4
- package/docs/ar/intlayer_with_react_router_v7.md +21 -99
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -100
- package/docs/ar/intlayer_with_svelte_kit.md +7 -181
- package/docs/ar/intlayer_with_tanstack+solid.md +23 -5
- package/docs/ar/intlayer_with_tanstack.md +21 -5
- package/docs/ar/intlayer_with_vite+lit.md +21 -5
- package/docs/ar/intlayer_with_vite+preact.md +60 -44
- package/docs/ar/intlayer_with_vite+react.md +21 -5
- package/docs/ar/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/ar/intlayer_with_vite+solid.md +45 -29
- package/docs/ar/intlayer_with_vite+svelte.md +32 -16
- package/docs/ar/intlayer_with_vite+vanilla.md +21 -5
- package/docs/ar/intlayer_with_vite+vue.md +64 -118
- 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/angular-intlayer/exports.md +14 -10
- package/docs/ar/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/ar/packages/intlayer/comparePaths.md +173 -0
- package/docs/ar/packages/intlayer/exports.md +5 -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/next-intlayer/exports.md +4 -0
- package/docs/ar/packages/next-intlayer/usePathname.md +136 -0
- package/docs/ar/packages/preact-intlayer/exports.md +10 -6
- package/docs/ar/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/ar/packages/react-intlayer/exports.md +4 -0
- 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-intlayer/usePathname.md +87 -0
- package/docs/ar/packages/solid-intlayer/exports.md +4 -0
- package/docs/ar/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/ar/packages/svelte-intlayer/exports.md +4 -0
- package/docs/ar/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/ar/packages/vue-intlayer/exports.md +4 -0
- package/docs/ar/packages/vue-intlayer/usePathname.md +109 -0
- 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/bn/intlayer_with_angular_21.md +20 -4
- package/docs/bn/intlayer_with_fastify.md +20 -8
- package/docs/bn/intlayer_with_hono.md +20 -4
- package/docs/bn/intlayer_with_vite+lit.md +20 -4
- package/docs/bn/intlayer_with_vite+vanilla.md +20 -4
- package/docs/bn/packages/intlayer/comparePaths.md +173 -0
- package/docs/cs/intlayer_with_angular_21.md +20 -4
- package/docs/cs/intlayer_with_fastify.md +20 -8
- package/docs/cs/intlayer_with_hono.md +20 -4
- package/docs/cs/intlayer_with_vite+lit.md +20 -4
- package/docs/cs/intlayer_with_vite+vanilla.md +20 -4
- package/docs/cs/packages/intlayer/comparePaths.md +173 -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_adonisjs.md +20 -4
- package/docs/de/intlayer_with_analog.md +20 -4
- package/docs/de/intlayer_with_angular_19.md +20 -4
- package/docs/de/intlayer_with_angular_21.md +20 -4
- package/docs/de/intlayer_with_astro.md +129 -2
- package/docs/de/intlayer_with_astro_lit.md +21 -9
- package/docs/de/intlayer_with_astro_preact.md +21 -9
- package/docs/de/intlayer_with_astro_react.md +21 -9
- package/docs/de/intlayer_with_astro_solid.md +21 -9
- package/docs/de/intlayer_with_astro_svelte.md +21 -9
- package/docs/de/intlayer_with_astro_vanilla.md +21 -9
- package/docs/de/intlayer_with_astro_vue.md +21 -9
- package/docs/de/intlayer_with_create_react_app.md +35 -4
- package/docs/de/intlayer_with_express.md +20 -27
- package/docs/de/intlayer_with_fastify.md +20 -8
- package/docs/de/intlayer_with_hono.md +20 -4
- package/docs/de/intlayer_with_lynx+react.md +24 -6
- package/docs/de/intlayer_with_nestjs.md +20 -12
- package/docs/de/intlayer_with_next-i18next.md +20 -4
- package/docs/de/intlayer_with_nextjs_14.md +48 -11
- package/docs/de/intlayer_with_nextjs_15.md +41 -5
- package/docs/de/intlayer_with_nextjs_16.md +21 -5
- package/docs/de/intlayer_with_nextjs_compiler.md +49 -1
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/de/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/de/intlayer_with_nuxt.md +25 -7
- package/docs/de/intlayer_with_react_native+expo.md +36 -0
- package/docs/de/intlayer_with_react_router_v7.md +21 -99
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -91
- package/docs/de/intlayer_with_svelte_kit.md +7 -181
- package/docs/de/intlayer_with_tanstack+solid.md +23 -5
- package/docs/de/intlayer_with_tanstack.md +21 -5
- package/docs/de/intlayer_with_vite+lit.md +21 -5
- package/docs/de/intlayer_with_vite+preact.md +81 -61
- package/docs/de/intlayer_with_vite+react.md +21 -5
- package/docs/de/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/de/intlayer_with_vite+solid.md +53 -46
- package/docs/de/intlayer_with_vite+svelte.md +27 -29
- package/docs/de/intlayer_with_vite+vanilla.md +21 -5
- package/docs/de/intlayer_with_vite+vue.md +74 -106
- package/docs/de/mcp_server.md +22 -0
- package/docs/de/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/de/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/de/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/de/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/de/packages/angular-intlayer/exports.md +13 -9
- package/docs/de/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/de/packages/intlayer/comparePaths.md +173 -0
- package/docs/de/packages/intlayer/exports.md +5 -0
- package/docs/de/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/de/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/de/packages/next-intlayer/exports.md +4 -0
- package/docs/de/packages/next-intlayer/usePathname.md +136 -0
- package/docs/de/packages/preact-intlayer/exports.md +10 -6
- package/docs/de/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/de/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/de/packages/solid-intlayer/exports.md +4 -0
- package/docs/de/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/de/packages/svelte-intlayer/exports.md +13 -9
- package/docs/de/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/de/packages/vue-intlayer/exports.md +4 -0
- package/docs/de/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/en/intlayer_with_analog.md +20 -4
- package/docs/en/intlayer_with_angular_19.md +20 -4
- package/docs/en/intlayer_with_angular_21.md +20 -4
- package/docs/en/intlayer_with_astro.md +22 -8
- package/docs/en/intlayer_with_astro_lit.md +22 -8
- package/docs/en/intlayer_with_astro_preact.md +22 -8
- package/docs/en/intlayer_with_astro_react.md +22 -8
- package/docs/en/intlayer_with_astro_solid.md +22 -8
- package/docs/en/intlayer_with_astro_svelte.md +22 -8
- package/docs/en/intlayer_with_astro_vanilla.md +22 -8
- package/docs/en/intlayer_with_astro_vue.md +22 -8
- package/docs/en/intlayer_with_create_react_app.md +20 -4
- package/docs/en/intlayer_with_express.md +20 -4
- package/docs/en/intlayer_with_fastify.md +20 -8
- package/docs/en/intlayer_with_hono.md +20 -4
- package/docs/en/intlayer_with_lynx+react.md +20 -4
- package/docs/en/intlayer_with_nestjs.md +20 -4
- package/docs/en/intlayer_with_next-i18next.md +20 -4
- package/docs/en/intlayer_with_nextjs_14.md +22 -4
- package/docs/en/intlayer_with_nextjs_15.md +22 -4
- package/docs/en/intlayer_with_nextjs_16.md +22 -4
- package/docs/en/intlayer_with_nextjs_compiler.md +22 -4
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +22 -4
- package/docs/en/intlayer_with_nextjs_page_router.md +22 -4
- package/docs/en/intlayer_with_nuxt.md +25 -7
- package/docs/en/intlayer_with_react_native+expo.md +28 -4
- package/docs/en/intlayer_with_react_router_v7.md +22 -4
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -0
- package/docs/en/intlayer_with_svelte_kit.md +24 -4
- package/docs/en/intlayer_with_tanstack+solid.md +22 -4
- package/docs/en/intlayer_with_tanstack.md +22 -4
- package/docs/en/intlayer_with_vite+lit.md +22 -4
- package/docs/en/intlayer_with_vite+preact.md +22 -4
- package/docs/en/intlayer_with_vite+react.md +22 -4
- package/docs/en/intlayer_with_vite+react_compiler.md +22 -4
- package/docs/en/intlayer_with_vite+solid.md +22 -4
- package/docs/en/intlayer_with_vite+svelte.md +22 -4
- package/docs/en/intlayer_with_vite+vanilla.md +24 -4
- package/docs/en/intlayer_with_vite+vue.md +22 -4
- package/docs/en/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/en/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/en/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/en/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/en/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/en/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/en/packages/angular-intlayer/exports.md +13 -9
- package/docs/en/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/en/packages/intlayer/comparePaths.md +173 -0
- package/docs/en/packages/intlayer/exports.md +18 -13
- package/docs/en/packages/next-intlayer/exports.md +4 -0
- package/docs/en/packages/next-intlayer/usePathname.md +136 -0
- package/docs/en/packages/preact-intlayer/exports.md +10 -6
- package/docs/en/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/en/packages/react-intlayer/exports.md +4 -0
- package/docs/en/packages/react-intlayer/usePathname.md +87 -0
- package/docs/en/packages/solid-intlayer/exports.md +4 -0
- package/docs/en/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/en/packages/svelte-intlayer/exports.md +13 -9
- package/docs/en/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/en/packages/vue-intlayer/exports.md +4 -0
- package/docs/en/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/en-GB/intlayer_with_analog.md +20 -4
- package/docs/en-GB/intlayer_with_angular_19.md +20 -4
- package/docs/en-GB/intlayer_with_angular_21.md +20 -4
- package/docs/en-GB/intlayer_with_astro.md +129 -2
- package/docs/en-GB/intlayer_with_astro_lit.md +21 -9
- package/docs/en-GB/intlayer_with_astro_preact.md +21 -9
- package/docs/en-GB/intlayer_with_astro_react.md +21 -9
- package/docs/en-GB/intlayer_with_astro_solid.md +21 -9
- package/docs/en-GB/intlayer_with_astro_svelte.md +21 -9
- package/docs/en-GB/intlayer_with_astro_vanilla.md +21 -9
- package/docs/en-GB/intlayer_with_astro_vue.md +21 -9
- package/docs/en-GB/intlayer_with_create_react_app.md +38 -52
- package/docs/en-GB/intlayer_with_express.md +20 -27
- package/docs/en-GB/intlayer_with_fastify.md +20 -8
- package/docs/en-GB/intlayer_with_hono.md +20 -4
- package/docs/en-GB/intlayer_with_lynx+react.md +40 -8
- package/docs/en-GB/intlayer_with_nestjs.md +20 -12
- package/docs/en-GB/intlayer_with_next-i18next.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_14.md +33 -9
- package/docs/en-GB/intlayer_with_nextjs_15.md +43 -5
- package/docs/en-GB/intlayer_with_nextjs_16.md +23 -5
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +23 -5
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +23 -5
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/en-GB/intlayer_with_nuxt.md +25 -7
- package/docs/en-GB/intlayer_with_react_native+expo.md +76 -8
- package/docs/en-GB/intlayer_with_react_router_v7.md +21 -5
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -5
- package/docs/en-GB/intlayer_with_svelte_kit.md +7 -181
- package/docs/en-GB/intlayer_with_tanstack+solid.md +23 -5
- package/docs/en-GB/intlayer_with_tanstack.md +21 -5
- package/docs/en-GB/intlayer_with_vite+lit.md +21 -5
- package/docs/en-GB/intlayer_with_vite+preact.md +25 -5
- package/docs/en-GB/intlayer_with_vite+react.md +21 -5
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/en-GB/intlayer_with_vite+solid.md +21 -5
- package/docs/en-GB/intlayer_with_vite+svelte.md +21 -5
- package/docs/en-GB/intlayer_with_vite+vanilla.md +21 -5
- package/docs/en-GB/intlayer_with_vite+vue.md +29 -184
- 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/angular-intlayer/exports.md +13 -9
- package/docs/en-GB/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/en-GB/packages/intlayer/comparePaths.md +173 -0
- package/docs/en-GB/packages/intlayer/exports.md +5 -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/next-intlayer/exports.md +4 -0
- package/docs/en-GB/packages/next-intlayer/usePathname.md +136 -0
- package/docs/en-GB/packages/preact-intlayer/exports.md +10 -6
- package/docs/en-GB/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/en-GB/packages/react-intlayer/exports.md +4 -0
- 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-intlayer/usePathname.md +87 -0
- package/docs/en-GB/packages/solid-intlayer/exports.md +15 -11
- package/docs/en-GB/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/en-GB/packages/svelte-intlayer/exports.md +13 -9
- package/docs/en-GB/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/en-GB/packages/vue-intlayer/exports.md +4 -0
- package/docs/en-GB/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/es/intlayer_with_analog.md +20 -4
- package/docs/es/intlayer_with_angular_19.md +20 -4
- package/docs/es/intlayer_with_angular_21.md +20 -4
- package/docs/es/intlayer_with_astro.md +129 -2
- package/docs/es/intlayer_with_astro_lit.md +21 -9
- package/docs/es/intlayer_with_astro_preact.md +21 -9
- package/docs/es/intlayer_with_astro_react.md +21 -9
- package/docs/es/intlayer_with_astro_solid.md +21 -9
- package/docs/es/intlayer_with_astro_svelte.md +21 -9
- package/docs/es/intlayer_with_astro_vanilla.md +21 -9
- package/docs/es/intlayer_with_astro_vue.md +21 -9
- package/docs/es/intlayer_with_create_react_app.md +20 -4
- package/docs/es/intlayer_with_express.md +20 -8
- package/docs/es/intlayer_with_fastify.md +20 -8
- package/docs/es/intlayer_with_hono.md +20 -4
- package/docs/es/intlayer_with_lynx+react.md +20 -4
- package/docs/es/intlayer_with_nestjs.md +20 -22
- package/docs/es/intlayer_with_next-i18next.md +20 -4
- package/docs/es/intlayer_with_nextjs_14.md +30 -8
- package/docs/es/intlayer_with_nextjs_15.md +41 -5
- package/docs/es/intlayer_with_nextjs_16.md +21 -5
- package/docs/es/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/es/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/es/intlayer_with_nuxt.md +25 -7
- package/docs/es/intlayer_with_react_native+expo.md +56 -4
- package/docs/es/intlayer_with_react_router_v7.md +21 -99
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/es/intlayer_with_svelte_kit.md +7 -181
- package/docs/es/intlayer_with_tanstack+solid.md +23 -5
- package/docs/es/intlayer_with_tanstack.md +21 -5
- package/docs/es/intlayer_with_vite+lit.md +21 -5
- package/docs/es/intlayer_with_vite+preact.md +25 -5
- package/docs/es/intlayer_with_vite+react.md +21 -5
- package/docs/es/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/es/intlayer_with_vite+solid.md +21 -5
- package/docs/es/intlayer_with_vite+svelte.md +21 -5
- package/docs/es/intlayer_with_vite+vanilla.md +21 -5
- package/docs/es/intlayer_with_vite+vue.md +38 -90
- package/docs/es/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/es/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/es/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/es/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/es/packages/angular-intlayer/exports.md +13 -9
- package/docs/es/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/es/packages/express-intlayer/t.md +0 -9
- package/docs/es/packages/intlayer/comparePaths.md +173 -0
- package/docs/es/packages/intlayer/exports.md +18 -13
- package/docs/es/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/es/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/es/packages/next-intlayer/exports.md +4 -0
- package/docs/es/packages/next-intlayer/usePathname.md +136 -0
- package/docs/es/packages/preact-intlayer/exports.md +10 -6
- package/docs/es/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/es/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/es/packages/solid-intlayer/exports.md +4 -0
- package/docs/es/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/es/packages/svelte-intlayer/exports.md +4 -0
- package/docs/es/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/es/packages/vue-intlayer/exports.md +4 -0
- package/docs/es/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/fr/intlayer_with_analog.md +20 -4
- package/docs/fr/intlayer_with_angular_19.md +20 -4
- package/docs/fr/intlayer_with_angular_21.md +20 -4
- package/docs/fr/intlayer_with_astro.md +129 -2
- package/docs/fr/intlayer_with_astro_lit.md +21 -9
- package/docs/fr/intlayer_with_astro_preact.md +21 -9
- package/docs/fr/intlayer_with_astro_react.md +21 -9
- package/docs/fr/intlayer_with_astro_solid.md +21 -9
- package/docs/fr/intlayer_with_astro_svelte.md +21 -9
- package/docs/fr/intlayer_with_astro_vanilla.md +21 -9
- package/docs/fr/intlayer_with_astro_vue.md +21 -9
- package/docs/fr/intlayer_with_create_react_app.md +20 -18
- package/docs/fr/intlayer_with_express.md +20 -8
- package/docs/fr/intlayer_with_fastify.md +20 -8
- package/docs/fr/intlayer_with_hono.md +20 -4
- package/docs/fr/intlayer_with_lynx+react.md +20 -4
- package/docs/fr/intlayer_with_nestjs.md +20 -22
- package/docs/fr/intlayer_with_next-i18next.md +20 -4
- package/docs/fr/intlayer_with_nextjs_14.md +46 -9
- package/docs/fr/intlayer_with_nextjs_15.md +41 -5
- package/docs/fr/intlayer_with_nextjs_16.md +21 -5
- package/docs/fr/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/fr/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/fr/intlayer_with_nuxt.md +20 -31
- package/docs/fr/intlayer_with_react_native+expo.md +36 -0
- package/docs/fr/intlayer_with_react_router_v7.md +21 -99
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -100
- package/docs/fr/intlayer_with_svelte_kit.md +7 -213
- package/docs/fr/intlayer_with_tanstack+solid.md +23 -5
- package/docs/fr/intlayer_with_tanstack.md +21 -5
- package/docs/fr/intlayer_with_vite+lit.md +21 -5
- package/docs/fr/intlayer_with_vite+preact.md +25 -5
- package/docs/fr/intlayer_with_vite+react.md +21 -5
- package/docs/fr/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/fr/intlayer_with_vite+solid.md +21 -5
- package/docs/fr/intlayer_with_vite+svelte.md +21 -5
- package/docs/fr/intlayer_with_vite+vanilla.md +21 -5
- package/docs/fr/intlayer_with_vite+vue.md +33 -87
- package/docs/fr/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/fr/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/fr/packages/angular-intlayer/exports.md +13 -9
- package/docs/fr/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/fr/packages/express-intlayer/t.md +0 -9
- package/docs/fr/packages/intlayer/comparePaths.md +173 -0
- package/docs/fr/packages/intlayer/exports.md +18 -13
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +99 -0
- package/docs/fr/packages/next-intlayer/exports.md +4 -0
- package/docs/fr/packages/next-intlayer/t.md +1 -1
- package/docs/fr/packages/next-intlayer/usePathname.md +136 -0
- package/docs/fr/packages/next-intlayer/useRewriteURL.md +0 -8
- package/docs/fr/packages/preact-intlayer/exports.md +10 -6
- package/docs/fr/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/fr/packages/react-intlayer/exports.md +4 -0
- 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-intlayer/usePathname.md +87 -0
- package/docs/fr/packages/solid-intlayer/exports.md +4 -0
- package/docs/fr/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/fr/packages/svelte-intlayer/exports.md +4 -0
- package/docs/fr/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/fr/packages/vue-intlayer/exports.md +14 -10
- package/docs/fr/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/hi/intlayer_with_analog.md +20 -4
- package/docs/hi/intlayer_with_angular_19.md +20 -4
- package/docs/hi/intlayer_with_angular_21.md +20 -4
- 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 +21 -9
- package/docs/hi/intlayer_with_create_react_app.md +35 -4
- package/docs/hi/intlayer_with_express.md +20 -27
- package/docs/hi/intlayer_with_fastify.md +20 -8
- package/docs/hi/intlayer_with_hono.md +20 -4
- package/docs/hi/intlayer_with_lynx+react.md +20 -4
- package/docs/hi/intlayer_with_nestjs.md +20 -12
- package/docs/hi/intlayer_with_next-i18next.md +20 -4
- package/docs/hi/intlayer_with_nextjs_14.md +51 -12
- package/docs/hi/intlayer_with_nextjs_15.md +41 -5
- package/docs/hi/intlayer_with_nextjs_16.md +196 -58
- package/docs/hi/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/hi/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/hi/intlayer_with_nuxt.md +20 -31
- package/docs/hi/intlayer_with_react_native+expo.md +36 -0
- package/docs/hi/intlayer_with_react_router_v7.md +21 -99
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -100
- package/docs/hi/intlayer_with_svelte_kit.md +7 -181
- package/docs/hi/intlayer_with_tanstack+solid.md +23 -5
- package/docs/hi/intlayer_with_tanstack.md +21 -5
- package/docs/hi/intlayer_with_vite+lit.md +21 -5
- package/docs/hi/intlayer_with_vite+preact.md +21 -5
- package/docs/hi/intlayer_with_vite+react.md +21 -5
- package/docs/hi/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/hi/intlayer_with_vite+solid.md +21 -5
- package/docs/hi/intlayer_with_vite+svelte.md +52 -52
- package/docs/hi/intlayer_with_vite+vanilla.md +21 -5
- package/docs/hi/intlayer_with_vite+vue.md +43 -75
- 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/angular-intlayer/exports.md +13 -9
- package/docs/hi/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/hi/packages/intlayer/comparePaths.md +173 -0
- package/docs/hi/packages/intlayer/exports.md +18 -13
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +68 -0
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/hi/packages/intlayer/index.md +20 -4
- package/docs/hi/packages/next-intlayer/exports.md +4 -0
- package/docs/hi/packages/next-intlayer/t.md +2 -0
- package/docs/hi/packages/next-intlayer/usePathname.md +136 -0
- package/docs/hi/packages/preact-intlayer/exports.md +10 -6
- package/docs/hi/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/hi/packages/react-intlayer/exports.md +3 -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-intlayer/usePathname.md +87 -0
- package/docs/hi/packages/solid-intlayer/exports.md +15 -11
- package/docs/hi/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/hi/packages/svelte-intlayer/exports.md +13 -9
- package/docs/hi/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/hi/packages/vue-intlayer/exports.md +14 -10
- package/docs/hi/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/id/intlayer_with_analog.md +20 -4
- package/docs/id/intlayer_with_angular_19.md +20 -4
- package/docs/id/intlayer_with_angular_21.md +20 -4
- package/docs/id/intlayer_with_astro.md +130 -3
- package/docs/id/intlayer_with_astro_lit.md +21 -9
- package/docs/id/intlayer_with_astro_preact.md +21 -9
- package/docs/id/intlayer_with_astro_react.md +21 -9
- package/docs/id/intlayer_with_astro_solid.md +21 -9
- package/docs/id/intlayer_with_astro_svelte.md +21 -9
- package/docs/id/intlayer_with_astro_vanilla.md +21 -9
- package/docs/id/intlayer_with_astro_vue.md +21 -9
- package/docs/id/intlayer_with_create_react_app.md +20 -4
- package/docs/id/intlayer_with_express.md +20 -4
- package/docs/id/intlayer_with_fastify.md +20 -8
- package/docs/id/intlayer_with_hono.md +20 -4
- package/docs/id/intlayer_with_lynx+react.md +20 -4
- package/docs/id/intlayer_with_nestjs.md +20 -4
- package/docs/id/intlayer_with_next-i18next.md +20 -4
- package/docs/id/intlayer_with_nextjs_14.md +21 -5
- package/docs/id/intlayer_with_nextjs_15.md +21 -5
- package/docs/id/intlayer_with_nextjs_16.md +196 -58
- package/docs/id/intlayer_with_nextjs_compiler.md +21 -26
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/id/intlayer_with_nextjs_page_router.md +21 -5
- package/docs/id/intlayer_with_nuxt.md +25 -7
- package/docs/id/intlayer_with_react_native+expo.md +8 -45
- package/docs/id/intlayer_with_react_router_v7.md +21 -99
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -87
- package/docs/id/intlayer_with_svelte_kit.md +7 -181
- package/docs/id/intlayer_with_tanstack+solid.md +23 -5
- package/docs/id/intlayer_with_tanstack.md +21 -5
- package/docs/id/intlayer_with_vite+lit.md +21 -5
- package/docs/id/intlayer_with_vite+preact.md +77 -61
- package/docs/id/intlayer_with_vite+react.md +69 -53
- package/docs/id/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/id/intlayer_with_vite+solid.md +53 -46
- package/docs/id/intlayer_with_vite+svelte.md +47 -33
- package/docs/id/intlayer_with_vite+vanilla.md +21 -5
- package/docs/id/intlayer_with_vite+vue.md +69 -105
- 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/angular-intlayer/exports.md +14 -10
- package/docs/id/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/id/packages/intlayer/comparePaths.md +173 -0
- package/docs/id/packages/intlayer/exports.md +5 -0
- package/docs/id/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/id/packages/next-intlayer/exports.md +4 -0
- package/docs/id/packages/next-intlayer/usePathname.md +136 -0
- package/docs/id/packages/preact-intlayer/exports.md +10 -6
- package/docs/id/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/id/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/id/packages/solid-intlayer/exports.md +4 -0
- package/docs/id/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/id/packages/svelte-intlayer/exports.md +13 -9
- package/docs/id/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/id/packages/vue-intlayer/exports.md +4 -0
- package/docs/id/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/it/intlayer_with_analog.md +20 -4
- package/docs/it/intlayer_with_angular_19.md +20 -4
- package/docs/it/intlayer_with_angular_21.md +20 -4
- package/docs/it/intlayer_with_astro.md +129 -2
- package/docs/it/intlayer_with_astro_lit.md +21 -9
- package/docs/it/intlayer_with_astro_preact.md +21 -9
- package/docs/it/intlayer_with_astro_react.md +21 -9
- package/docs/it/intlayer_with_astro_solid.md +21 -9
- package/docs/it/intlayer_with_astro_svelte.md +21 -9
- package/docs/it/intlayer_with_astro_vanilla.md +21 -9
- package/docs/it/intlayer_with_astro_vue.md +21 -9
- package/docs/it/intlayer_with_create_react_app.md +20 -18
- package/docs/it/intlayer_with_express.md +20 -8
- package/docs/it/intlayer_with_fastify.md +20 -8
- package/docs/it/intlayer_with_hono.md +20 -4
- package/docs/it/intlayer_with_lynx+react.md +31 -4
- package/docs/it/intlayer_with_nestjs.md +20 -12
- package/docs/it/intlayer_with_next-i18next.md +20 -4
- package/docs/it/intlayer_with_nextjs_14.md +50 -13
- package/docs/it/intlayer_with_nextjs_15.md +41 -5
- package/docs/it/intlayer_with_nextjs_16.md +196 -58
- package/docs/it/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/it/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/it/intlayer_with_nuxt.md +25 -7
- package/docs/it/intlayer_with_react_native+expo.md +56 -4
- package/docs/it/intlayer_with_react_router_v7.md +21 -99
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/it/intlayer_with_svelte_kit.md +7 -213
- package/docs/it/intlayer_with_tanstack+solid.md +23 -5
- package/docs/it/intlayer_with_tanstack.md +21 -5
- package/docs/it/intlayer_with_vite+lit.md +21 -5
- package/docs/it/intlayer_with_vite+preact.md +81 -61
- package/docs/it/intlayer_with_vite+react.md +69 -5
- package/docs/it/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/it/intlayer_with_vite+solid.md +53 -46
- package/docs/it/intlayer_with_vite+svelte.md +47 -33
- package/docs/it/intlayer_with_vite+vanilla.md +21 -5
- package/docs/it/intlayer_with_vite+vue.md +73 -127
- package/docs/it/mcp_server.md +22 -0
- package/docs/it/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/it/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/it/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/it/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/it/packages/angular-intlayer/exports.md +13 -9
- package/docs/it/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/it/packages/intlayer/comparePaths.md +173 -0
- package/docs/it/packages/intlayer/exports.md +18 -13
- package/docs/it/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/it/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/it/packages/next-intlayer/exports.md +4 -0
- package/docs/it/packages/next-intlayer/t.md +34 -0
- package/docs/it/packages/next-intlayer/usePathname.md +136 -0
- package/docs/it/packages/preact-intlayer/exports.md +10 -6
- package/docs/it/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/it/packages/react-intlayer/exports.md +20 -16
- 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-intlayer/usePathname.md +87 -0
- package/docs/it/packages/solid-intlayer/exports.md +4 -0
- package/docs/it/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/it/packages/svelte-intlayer/exports.md +4 -0
- package/docs/it/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/it/packages/vue-intlayer/exports.md +4 -0
- package/docs/it/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/ja/intlayer_with_analog.md +24 -4
- package/docs/ja/intlayer_with_angular_19.md +20 -4
- package/docs/ja/intlayer_with_angular_21.md +20 -4
- package/docs/ja/intlayer_with_astro.md +129 -2
- package/docs/ja/intlayer_with_astro_lit.md +21 -9
- package/docs/ja/intlayer_with_astro_preact.md +21 -9
- package/docs/ja/intlayer_with_astro_react.md +21 -9
- package/docs/ja/intlayer_with_astro_solid.md +21 -9
- package/docs/ja/intlayer_with_astro_svelte.md +21 -9
- package/docs/ja/intlayer_with_astro_vanilla.md +21 -9
- package/docs/ja/intlayer_with_astro_vue.md +21 -9
- package/docs/ja/intlayer_with_create_react_app.md +20 -20
- package/docs/ja/intlayer_with_express.md +20 -8
- package/docs/ja/intlayer_with_fastify.md +20 -8
- package/docs/ja/intlayer_with_hono.md +20 -4
- package/docs/ja/intlayer_with_lynx+react.md +20 -4
- package/docs/ja/intlayer_with_nestjs.md +20 -12
- package/docs/ja/intlayer_with_next-i18next.md +20 -4
- package/docs/ja/intlayer_with_nextjs_14.md +46 -24
- package/docs/ja/intlayer_with_nextjs_15.md +41 -5
- package/docs/ja/intlayer_with_nextjs_16.md +196 -58
- package/docs/ja/intlayer_with_nextjs_compiler.md +21 -26
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/ja/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/ja/intlayer_with_nuxt.md +25 -7
- package/docs/ja/intlayer_with_react_native+expo.md +36 -0
- 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 +23 -5
- package/docs/ja/intlayer_with_tanstack.md +23 -5
- package/docs/ja/intlayer_with_vite+lit.md +21 -5
- 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 +21 -5
- package/docs/ja/intlayer_with_vite+solid.md +53 -46
- package/docs/ja/intlayer_with_vite+svelte.md +49 -33
- package/docs/ja/intlayer_with_vite+vanilla.md +21 -5
- package/docs/ja/intlayer_with_vite+vue.md +90 -118
- package/docs/ja/mcp_server.md +26 -0
- package/docs/ja/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/ja/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/ja/packages/angular-intlayer/exports.md +13 -9
- package/docs/ja/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/ja/packages/express-intlayer/t.md +0 -9
- package/docs/ja/packages/intlayer/comparePaths.md +173 -0
- package/docs/ja/packages/intlayer/exports.md +5 -0
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ja/packages/next-intlayer/exports.md +4 -0
- package/docs/ja/packages/next-intlayer/usePathname.md +136 -0
- package/docs/ja/packages/preact-intlayer/exports.md +10 -6
- package/docs/ja/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/ja/packages/react-intlayer/exports.md +21 -16
- 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-intlayer/usePathname.md +87 -0
- package/docs/ja/packages/solid-intlayer/exports.md +4 -0
- package/docs/ja/packages/solid-intlayer/usePathname.md +120 -0
- package/docs/ja/packages/svelte-intlayer/exports.md +13 -9
- package/docs/ja/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/ja/packages/vue-intlayer/exports.md +4 -0
- package/docs/ja/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/ko/intlayer_with_analog.md +46 -10
- package/docs/ko/intlayer_with_angular_19.md +42 -10
- package/docs/ko/intlayer_with_angular_21.md +42 -10
- package/docs/ko/intlayer_with_astro.md +156 -9
- package/docs/ko/intlayer_with_astro_lit.md +32 -10
- package/docs/ko/intlayer_with_astro_preact.md +32 -10
- package/docs/ko/intlayer_with_astro_react.md +32 -10
- package/docs/ko/intlayer_with_astro_solid.md +32 -10
- package/docs/ko/intlayer_with_astro_svelte.md +32 -10
- package/docs/ko/intlayer_with_astro_vanilla.md +29 -9
- package/docs/ko/intlayer_with_astro_vue.md +52 -18
- package/docs/ko/intlayer_with_create_react_app.md +39 -23
- package/docs/ko/intlayer_with_express.md +20 -27
- package/docs/ko/intlayer_with_fastify.md +20 -8
- package/docs/ko/intlayer_with_hono.md +20 -4
- package/docs/ko/intlayer_with_lynx+react.md +0 -108
- package/docs/ko/intlayer_with_nestjs.md +20 -22
- package/docs/ko/intlayer_with_next-i18next.md +20 -4
- package/docs/ko/intlayer_with_nextjs_14.md +59 -25
- package/docs/ko/intlayer_with_nextjs_15.md +84 -18
- package/docs/ko/intlayer_with_nextjs_16.md +228 -67
- package/docs/ko/intlayer_with_nextjs_compiler.md +32 -297
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +51 -15
- package/docs/ko/intlayer_with_nextjs_page_router.md +62 -16
- package/docs/ko/intlayer_with_nuxt.md +54 -14
- package/docs/ko/intlayer_with_react_native+expo.md +56 -266
- package/docs/ko/intlayer_with_react_router_v7.md +58 -104
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +77 -105
- package/docs/ko/intlayer_with_storybook.md +28 -8
- package/docs/ko/intlayer_with_svelte_kit.md +44 -178
- package/docs/ko/intlayer_with_tanstack+solid.md +81 -23
- package/docs/ko/intlayer_with_tanstack.md +79 -23
- package/docs/ko/intlayer_with_vanilla.md +31 -9
- package/docs/ko/intlayer_with_vite+lit.md +61 -17
- package/docs/ko/intlayer_with_vite+preact.md +107 -99
- package/docs/ko/intlayer_with_vite+react.md +99 -16
- package/docs/ko/intlayer_with_vite+react_compiler.md +43 -11
- package/docs/ko/intlayer_with_vite+solid.md +86 -154
- package/docs/ko/intlayer_with_vite+svelte.md +78 -42
- package/docs/ko/intlayer_with_vite+vanilla.md +64 -18
- package/docs/ko/intlayer_with_vite+vue.md +105 -115
- package/docs/ko/mcp_server.md +22 -0
- package/docs/ko/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/ko/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/ko/packages/angular-intlayer/exports.md +14 -10
- package/docs/ko/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/ko/packages/express-intlayer/t.md +0 -9
- package/docs/ko/packages/intlayer/comparePaths.md +173 -0
- package/docs/ko/packages/intlayer/exports.md +5 -0
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/ko/packages/next-intlayer/exports.md +4 -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/next-intlayer/usePathname.md +140 -0
- package/docs/ko/packages/preact-intlayer/exports.md +10 -6
- package/docs/ko/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/ko/packages/react-intlayer/exports.md +4 -0
- 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-intlayer/usePathname.md +87 -0
- package/docs/ko/packages/solid-intlayer/exports.md +4 -0
- package/docs/ko/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/ko/packages/svelte-intlayer/exports.md +4 -0
- package/docs/ko/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/ko/packages/vue-intlayer/exports.md +4 -0
- package/docs/ko/packages/vue-intlayer/usePathname.md +109 -0
- 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/nl/intlayer_with_angular_21.md +20 -4
- package/docs/nl/intlayer_with_fastify.md +20 -8
- package/docs/nl/intlayer_with_hono.md +20 -4
- package/docs/nl/intlayer_with_vite+lit.md +20 -4
- package/docs/nl/intlayer_with_vite+vanilla.md +20 -4
- package/docs/nl/packages/intlayer/comparePaths.md +173 -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_adonisjs.md +20 -4
- package/docs/pl/intlayer_with_analog.md +20 -4
- package/docs/pl/intlayer_with_angular_19.md +20 -4
- package/docs/pl/intlayer_with_angular_21.md +20 -4
- package/docs/pl/intlayer_with_astro.md +179 -0
- package/docs/pl/intlayer_with_astro_lit.md +20 -8
- package/docs/pl/intlayer_with_astro_preact.md +20 -8
- package/docs/pl/intlayer_with_astro_react.md +20 -8
- package/docs/pl/intlayer_with_astro_solid.md +20 -8
- package/docs/pl/intlayer_with_astro_svelte.md +20 -8
- package/docs/pl/intlayer_with_astro_vanilla.md +20 -8
- package/docs/pl/intlayer_with_astro_vue.md +20 -8
- package/docs/pl/intlayer_with_create_react_app.md +20 -4
- package/docs/pl/intlayer_with_express.md +20 -4
- package/docs/pl/intlayer_with_fastify.md +20 -8
- package/docs/pl/intlayer_with_hono.md +20 -4
- package/docs/pl/intlayer_with_lynx+react.md +20 -4
- package/docs/pl/intlayer_with_nestjs.md +20 -4
- package/docs/pl/intlayer_with_next-i18next.md +20 -4
- package/docs/pl/intlayer_with_nextjs_14.md +20 -4
- package/docs/pl/intlayer_with_nextjs_15.md +20 -4
- package/docs/pl/intlayer_with_nextjs_16.md +20 -4
- package/docs/pl/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/pl/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/pl/intlayer_with_nuxt.md +25 -7
- package/docs/pl/intlayer_with_react_native+expo.md +8 -45
- package/docs/pl/intlayer_with_react_router_v7.md +20 -98
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +0 -95
- package/docs/pl/intlayer_with_svelte_kit.md +6 -184
- package/docs/pl/intlayer_with_tanstack+solid.md +20 -4
- package/docs/pl/intlayer_with_tanstack.md +20 -4
- package/docs/pl/intlayer_with_vite+lit.md +20 -4
- package/docs/pl/intlayer_with_vite+preact.md +76 -60
- package/docs/pl/intlayer_with_vite+react.md +68 -52
- package/docs/pl/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/pl/intlayer_with_vite+solid.md +52 -45
- package/docs/pl/intlayer_with_vite+svelte.md +48 -32
- package/docs/pl/intlayer_with_vite+vanilla.md +20 -4
- package/docs/pl/intlayer_with_vite+vue.md +68 -74
- 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/angular-intlayer/exports.md +13 -9
- package/docs/pl/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/pl/packages/intlayer/comparePaths.md +173 -0
- package/docs/pl/packages/intlayer/exports.md +5 -0
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +19 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/pl/packages/next-intlayer/exports.md +4 -0
- package/docs/pl/packages/next-intlayer/usePathname.md +136 -0
- package/docs/pl/packages/preact-intlayer/exports.md +10 -6
- package/docs/pl/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/pl/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/pl/packages/solid-intlayer/exports.md +4 -0
- package/docs/pl/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/pl/packages/svelte-intlayer/exports.md +4 -0
- package/docs/pl/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/pl/packages/vue-intlayer/exports.md +4 -0
- package/docs/pl/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/pt/intlayer_with_analog.md +23 -7
- package/docs/pt/intlayer_with_angular_19.md +27 -11
- package/docs/pt/intlayer_with_angular_21.md +23 -7
- package/docs/pt/intlayer_with_astro.md +182 -3
- package/docs/pt/intlayer_with_astro_lit.md +23 -11
- package/docs/pt/intlayer_with_astro_preact.md +23 -11
- package/docs/pt/intlayer_with_astro_react.md +23 -11
- package/docs/pt/intlayer_with_astro_solid.md +23 -11
- package/docs/pt/intlayer_with_astro_svelte.md +23 -11
- package/docs/pt/intlayer_with_astro_vanilla.md +23 -11
- package/docs/pt/intlayer_with_astro_vue.md +23 -11
- package/docs/pt/intlayer_with_create_react_app.md +20 -18
- package/docs/pt/intlayer_with_express.md +20 -27
- package/docs/pt/intlayer_with_fastify.md +20 -8
- package/docs/pt/intlayer_with_hono.md +20 -4
- package/docs/pt/intlayer_with_lynx+react.md +34 -7
- package/docs/pt/intlayer_with_nestjs.md +20 -22
- package/docs/pt/intlayer_with_next-i18next.md +20 -4
- package/docs/pt/intlayer_with_nextjs_14.md +46 -11
- package/docs/pt/intlayer_with_nextjs_15.md +47 -11
- package/docs/pt/intlayer_with_nextjs_16.md +26 -10
- package/docs/pt/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +26 -10
- package/docs/pt/intlayer_with_nextjs_page_router.md +30 -10
- package/docs/pt/intlayer_with_nuxt.md +28 -10
- package/docs/pt/intlayer_with_react_native+expo.md +59 -7
- package/docs/pt/intlayer_with_react_router_v7.md +28 -88
- 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 +9 -219
- package/docs/pt/intlayer_with_tanstack+solid.md +23 -7
- package/docs/pt/intlayer_with_tanstack.md +23 -7
- package/docs/pt/intlayer_with_vanilla.md +3 -3
- package/docs/pt/intlayer_with_vite+lit.md +23 -7
- package/docs/pt/intlayer_with_vite+preact.md +23 -7
- package/docs/pt/intlayer_with_vite+react.md +30 -14
- package/docs/pt/intlayer_with_vite+react_compiler.md +25 -9
- package/docs/pt/intlayer_with_vite+solid.md +23 -7
- package/docs/pt/intlayer_with_vite+svelte.md +51 -35
- package/docs/pt/intlayer_with_vite+vanilla.md +23 -7
- package/docs/pt/intlayer_with_vite+vue.md +27 -7
- package/docs/pt/mcp_server.md +22 -0
- package/docs/pt/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/pt/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/pt/packages/angular-intlayer/exports.md +14 -10
- package/docs/pt/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/pt/packages/hono-intlayer/t.md +1 -1
- package/docs/pt/packages/intlayer/comparePaths.md +173 -0
- package/docs/pt/packages/intlayer/exports.md +5 -0
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +75 -0
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/pt/packages/next-intlayer/exports.md +4 -0
- package/docs/pt/packages/next-intlayer/t.md +34 -0
- package/docs/pt/packages/next-intlayer/usePathname.md +136 -0
- package/docs/pt/packages/preact-intlayer/exports.md +10 -6
- package/docs/pt/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/pt/packages/react-intlayer/exports.md +21 -17
- 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-intlayer/usePathname.md +87 -0
- package/docs/pt/packages/solid-intlayer/exports.md +4 -0
- package/docs/pt/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/pt/packages/svelte-intlayer/exports.md +4 -0
- package/docs/pt/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/pt/packages/vue-intlayer/exports.md +5 -1
- package/docs/pt/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/ru/intlayer_with_analog.md +20 -4
- package/docs/ru/intlayer_with_angular_19.md +20 -4
- package/docs/ru/intlayer_with_angular_21.md +20 -4
- 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 +21 -9
- package/docs/ru/intlayer_with_create_react_app.md +20 -4
- package/docs/ru/intlayer_with_express.md +20 -27
- package/docs/ru/intlayer_with_fastify.md +20 -8
- package/docs/ru/intlayer_with_hono.md +20 -4
- package/docs/ru/intlayer_with_lynx+react.md +20 -4
- package/docs/ru/intlayer_with_nestjs.md +20 -22
- package/docs/ru/intlayer_with_next-i18next.md +20 -4
- package/docs/ru/intlayer_with_nextjs_14.md +51 -12
- package/docs/ru/intlayer_with_nextjs_15.md +41 -5
- package/docs/ru/intlayer_with_nextjs_16.md +21 -5
- package/docs/ru/intlayer_with_nextjs_compiler.md +21 -5
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/ru/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/ru/intlayer_with_nuxt.md +25 -7
- package/docs/ru/intlayer_with_react_native+expo.md +56 -53
- package/docs/ru/intlayer_with_react_router_v7.md +21 -99
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/ru/intlayer_with_svelte_kit.md +7 -181
- package/docs/ru/intlayer_with_tanstack+solid.md +23 -5
- package/docs/ru/intlayer_with_tanstack.md +21 -5
- package/docs/ru/intlayer_with_vite+lit.md +21 -5
- package/docs/ru/intlayer_with_vite+preact.md +77 -61
- package/docs/ru/intlayer_with_vite+react.md +23 -5
- package/docs/ru/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/ru/intlayer_with_vite+solid.md +53 -46
- package/docs/ru/intlayer_with_vite+svelte.md +47 -33
- package/docs/ru/intlayer_with_vite+vanilla.md +21 -5
- package/docs/ru/intlayer_with_vite+vue.md +73 -105
- package/docs/ru/mcp_server.md +22 -0
- package/docs/ru/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/ru/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/ru/packages/angular-intlayer/exports.md +13 -9
- package/docs/ru/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/ru/packages/intlayer/comparePaths.md +173 -0
- package/docs/ru/packages/intlayer/exports.md +5 -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/exports.md +4 -0
- package/docs/ru/packages/next-intlayer/t.md +34 -0
- package/docs/ru/packages/next-intlayer/usePathname.md +136 -0
- package/docs/ru/packages/preact-intlayer/exports.md +10 -6
- package/docs/ru/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/ru/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/ru/packages/solid-intlayer/exports.md +4 -0
- package/docs/ru/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/ru/packages/svelte-intlayer/exports.md +4 -0
- package/docs/ru/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/ru/packages/vue-intlayer/exports.md +4 -0
- package/docs/ru/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/tr/intlayer_with_analog.md +24 -4
- package/docs/tr/intlayer_with_angular_19.md +20 -4
- package/docs/tr/intlayer_with_angular_21.md +20 -4
- package/docs/tr/intlayer_with_astro.md +134 -77
- package/docs/tr/intlayer_with_astro_lit.md +21 -9
- package/docs/tr/intlayer_with_astro_preact.md +21 -9
- package/docs/tr/intlayer_with_astro_react.md +21 -9
- package/docs/tr/intlayer_with_astro_solid.md +21 -9
- package/docs/tr/intlayer_with_astro_svelte.md +21 -9
- package/docs/tr/intlayer_with_astro_vanilla.md +21 -9
- package/docs/tr/intlayer_with_astro_vue.md +21 -9
- package/docs/tr/intlayer_with_create_react_app.md +20 -4
- package/docs/tr/intlayer_with_express.md +20 -8
- package/docs/tr/intlayer_with_fastify.md +20 -8
- package/docs/tr/intlayer_with_hono.md +20 -4
- package/docs/tr/intlayer_with_lynx+react.md +20 -4
- package/docs/tr/intlayer_with_nestjs.md +20 -12
- package/docs/tr/intlayer_with_next-i18next.md +20 -4
- package/docs/tr/intlayer_with_nextjs_14.md +115 -12
- package/docs/tr/intlayer_with_nextjs_15.md +41 -5
- package/docs/tr/intlayer_with_nextjs_16.md +21 -5
- package/docs/tr/intlayer_with_nextjs_compiler.md +21 -26
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/tr/intlayer_with_nextjs_page_router.md +25 -5
- package/docs/tr/intlayer_with_nuxt.md +25 -7
- package/docs/tr/intlayer_with_react_native+expo.md +56 -34
- package/docs/tr/intlayer_with_react_router_v7.md +21 -99
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/tr/intlayer_with_svelte_kit.md +7 -181
- package/docs/tr/intlayer_with_tanstack+solid.md +23 -5
- package/docs/tr/intlayer_with_tanstack.md +21 -5
- package/docs/tr/intlayer_with_vite+lit.md +21 -5
- package/docs/tr/intlayer_with_vite+preact.md +77 -61
- package/docs/tr/intlayer_with_vite+react.md +69 -53
- package/docs/tr/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/tr/intlayer_with_vite+solid.md +53 -46
- package/docs/tr/intlayer_with_vite+svelte.md +47 -33
- package/docs/tr/intlayer_with_vite+vanilla.md +21 -5
- package/docs/tr/intlayer_with_vite+vue.md +74 -106
- package/docs/tr/mcp_server.md +22 -0
- package/docs/tr/migration_from_i18next_to_intlayer.md +20 -4
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +20 -4
- package/docs/tr/migration_from_next-intl_to_intlayer.md +20 -4
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +20 -4
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +20 -4
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +20 -4
- package/docs/tr/packages/angular-intlayer/exports.md +13 -9
- package/docs/tr/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/tr/packages/intlayer/comparePaths.md +173 -0
- package/docs/tr/packages/intlayer/exports.md +18 -13
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +111 -0
- package/docs/tr/packages/next-intlayer/exports.md +4 -0
- package/docs/tr/packages/next-intlayer/usePathname.md +136 -0
- package/docs/tr/packages/preact-intlayer/exports.md +10 -6
- package/docs/tr/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/tr/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/tr/packages/solid-intlayer/exports.md +4 -0
- package/docs/tr/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/tr/packages/svelte-intlayer/exports.md +13 -9
- package/docs/tr/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/tr/packages/vue-intlayer/exports.md +4 -0
- package/docs/tr/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/uk/intlayer_with_analog.md +24 -4
- package/docs/uk/intlayer_with_angular_19.md +20 -4
- package/docs/uk/intlayer_with_angular_21.md +20 -4
- package/docs/uk/intlayer_with_astro.md +130 -3
- package/docs/uk/intlayer_with_astro_lit.md +21 -9
- package/docs/uk/intlayer_with_astro_preact.md +21 -9
- package/docs/uk/intlayer_with_astro_react.md +21 -9
- package/docs/uk/intlayer_with_astro_solid.md +21 -9
- package/docs/uk/intlayer_with_astro_svelte.md +21 -9
- package/docs/uk/intlayer_with_astro_vanilla.md +21 -9
- package/docs/uk/intlayer_with_astro_vue.md +21 -9
- package/docs/uk/intlayer_with_create_react_app.md +20 -4
- package/docs/uk/intlayer_with_express.md +20 -4
- package/docs/uk/intlayer_with_fastify.md +20 -8
- package/docs/uk/intlayer_with_hono.md +20 -4
- package/docs/uk/intlayer_with_lynx+react.md +20 -4
- package/docs/uk/intlayer_with_nestjs.md +20 -4
- package/docs/uk/intlayer_with_next-i18next.md +20 -4
- package/docs/uk/intlayer_with_nextjs_14.md +21 -5
- package/docs/uk/intlayer_with_nextjs_15.md +21 -5
- package/docs/uk/intlayer_with_nextjs_16.md +21 -5
- package/docs/uk/intlayer_with_nextjs_compiler.md +21 -26
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/uk/intlayer_with_nextjs_page_router.md +21 -5
- package/docs/uk/intlayer_with_nuxt.md +20 -31
- package/docs/uk/intlayer_with_react_native+expo.md +8 -45
- package/docs/uk/intlayer_with_react_router_v7.md +21 -99
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +1 -96
- package/docs/uk/intlayer_with_svelte_kit.md +21 -5
- package/docs/uk/intlayer_with_tanstack+solid.md +23 -5
- package/docs/uk/intlayer_with_tanstack.md +21 -5
- package/docs/uk/intlayer_with_vite+lit.md +21 -5
- package/docs/uk/intlayer_with_vite+preact.md +77 -61
- package/docs/uk/intlayer_with_vite+react.md +69 -53
- package/docs/uk/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/uk/intlayer_with_vite+solid.md +53 -46
- package/docs/uk/intlayer_with_vite+svelte.md +49 -33
- package/docs/uk/intlayer_with_vite+vanilla.md +21 -5
- package/docs/uk/intlayer_with_vite+vue.md +69 -105
- 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/angular-intlayer/exports.md +14 -10
- package/docs/uk/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/uk/packages/intlayer/comparePaths.md +173 -0
- package/docs/uk/packages/intlayer/exports.md +5 -0
- package/docs/uk/packages/next-intlayer/exports.md +4 -0
- package/docs/uk/packages/next-intlayer/usePathname.md +136 -0
- package/docs/uk/packages/preact-intlayer/exports.md +10 -6
- package/docs/uk/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/uk/packages/react-intlayer/exports.md +4 -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-intlayer/usePathname.md +87 -0
- package/docs/uk/packages/solid-intlayer/exports.md +5 -1
- package/docs/uk/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/uk/packages/svelte-intlayer/exports.md +4 -0
- package/docs/uk/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/uk/packages/vue-intlayer/exports.md +4 -0
- package/docs/uk/packages/vue-intlayer/usePathname.md +109 -0
- 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/ur/intlayer_with_angular_21.md +20 -4
- package/docs/ur/intlayer_with_fastify.md +20 -8
- package/docs/ur/intlayer_with_hono.md +20 -4
- package/docs/ur/intlayer_with_vite+lit.md +20 -4
- package/docs/ur/intlayer_with_vite+vanilla.md +20 -4
- package/docs/ur/packages/intlayer/comparePaths.md +173 -0
- 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_adonisjs.md +20 -4
- package/docs/vi/intlayer_with_analog.md +24 -4
- package/docs/vi/intlayer_with_angular_19.md +20 -4
- package/docs/vi/intlayer_with_angular_21.md +20 -4
- package/docs/vi/intlayer_with_astro.md +130 -3
- package/docs/vi/intlayer_with_astro_lit.md +21 -9
- package/docs/vi/intlayer_with_astro_preact.md +21 -9
- package/docs/vi/intlayer_with_astro_react.md +21 -9
- package/docs/vi/intlayer_with_astro_solid.md +21 -9
- package/docs/vi/intlayer_with_astro_svelte.md +21 -9
- package/docs/vi/intlayer_with_astro_vanilla.md +21 -9
- package/docs/vi/intlayer_with_astro_vue.md +21 -9
- package/docs/vi/intlayer_with_create_react_app.md +20 -4
- package/docs/vi/intlayer_with_express.md +20 -4
- package/docs/vi/intlayer_with_fastify.md +20 -8
- package/docs/vi/intlayer_with_hono.md +20 -4
- package/docs/vi/intlayer_with_lynx+react.md +20 -4
- package/docs/vi/intlayer_with_nestjs.md +20 -4
- package/docs/vi/intlayer_with_next-i18next.md +20 -4
- package/docs/vi/intlayer_with_nextjs_14.md +21 -5
- package/docs/vi/intlayer_with_nextjs_15.md +489 -5
- package/docs/vi/intlayer_with_nextjs_16.md +21 -5
- package/docs/vi/intlayer_with_nextjs_compiler.md +21 -26
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/vi/intlayer_with_nextjs_page_router.md +21 -5
- package/docs/vi/intlayer_with_nuxt.md +20 -31
- package/docs/vi/intlayer_with_react_native+expo.md +8 -45
- package/docs/vi/intlayer_with_react_router_v7.md +21 -99
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -87
- package/docs/vi/intlayer_with_svelte_kit.md +7 -181
- package/docs/vi/intlayer_with_tanstack+solid.md +23 -5
- package/docs/vi/intlayer_with_tanstack.md +21 -5
- package/docs/vi/intlayer_with_vite+lit.md +21 -5
- package/docs/vi/intlayer_with_vite+preact.md +77 -61
- package/docs/vi/intlayer_with_vite+react.md +69 -53
- package/docs/vi/intlayer_with_vite+react_compiler.md +21 -5
- package/docs/vi/intlayer_with_vite+solid.md +53 -46
- package/docs/vi/intlayer_with_vite+svelte.md +49 -35
- package/docs/vi/intlayer_with_vite+vanilla.md +21 -5
- package/docs/vi/intlayer_with_vite+vue.md +69 -105
- 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/angular-intlayer/exports.md +14 -10
- package/docs/vi/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/vi/packages/intlayer/comparePaths.md +173 -0
- package/docs/vi/packages/intlayer/exports.md +5 -0
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +25 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/vi/packages/next-intlayer/exports.md +4 -0
- package/docs/vi/packages/next-intlayer/usePathname.md +136 -0
- package/docs/vi/packages/preact-intlayer/exports.md +10 -6
- package/docs/vi/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/vi/packages/react-intlayer/exports.md +20 -16
- 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-intlayer/usePathname.md +87 -0
- package/docs/vi/packages/solid-intlayer/exports.md +15 -11
- package/docs/vi/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/vi/packages/svelte-intlayer/exports.md +13 -9
- package/docs/vi/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/vi/packages/vue-intlayer/exports.md +14 -10
- package/docs/vi/packages/vue-intlayer/usePathname.md +109 -0
- 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_adonisjs.md +20 -4
- package/docs/zh/intlayer_with_analog.md +4 -154
- package/docs/zh/intlayer_with_angular_19.md +0 -232
- package/docs/zh/intlayer_with_angular_21.md +20 -4
- package/docs/zh/intlayer_with_astro.md +242 -60
- package/docs/zh/intlayer_with_astro_lit.md +128 -82
- package/docs/zh/intlayer_with_astro_preact.md +122 -76
- package/docs/zh/intlayer_with_astro_react.md +124 -78
- package/docs/zh/intlayer_with_astro_solid.md +124 -78
- package/docs/zh/intlayer_with_astro_svelte.md +124 -78
- package/docs/zh/intlayer_with_astro_vanilla.md +121 -77
- package/docs/zh/intlayer_with_astro_vue.md +116 -70
- package/docs/zh/intlayer_with_create_react_app.md +17 -306
- package/docs/zh/intlayer_with_express.md +20 -27
- package/docs/zh/intlayer_with_fastify.md +20 -8
- package/docs/zh/intlayer_with_hono.md +20 -4
- package/docs/zh/intlayer_with_lynx+react.md +0 -259
- package/docs/zh/intlayer_with_nestjs.md +20 -22
- package/docs/zh/intlayer_with_next-i18next.md +20 -4
- package/docs/zh/intlayer_with_nextjs_14.md +83 -29
- package/docs/zh/intlayer_with_nextjs_15.md +84 -18
- package/docs/zh/intlayer_with_nextjs_16.md +149 -91
- package/docs/zh/intlayer_with_nextjs_compiler.md +172 -144
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +21 -5
- package/docs/zh/intlayer_with_nextjs_page_router.md +71 -19
- package/docs/zh/intlayer_with_nuxt.md +5 -149
- package/docs/zh/intlayer_with_react_native+expo.md +55 -190
- package/docs/zh/intlayer_with_react_router_v7.md +21 -346
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -316
- package/docs/zh/intlayer_with_storybook.md +0 -240
- package/docs/zh/intlayer_with_svelte_kit.md +1 -517
- package/docs/zh/intlayer_with_tanstack+solid.md +1 -630
- package/docs/zh/intlayer_with_tanstack.md +1 -628
- package/docs/zh/intlayer_with_vanilla.md +0 -283
- package/docs/zh/intlayer_with_vite+lit.md +1 -395
- package/docs/zh/intlayer_with_vite+preact.md +1 -225
- package/docs/zh/intlayer_with_vite+react.md +2 -2
- package/docs/zh/intlayer_with_vite+react_compiler.md +1 -176
- package/docs/zh/intlayer_with_vite+solid.md +17 -306
- package/docs/zh/intlayer_with_vite+svelte.md +124 -82
- package/docs/zh/intlayer_with_vite+vanilla.md +1 -426
- package/docs/zh/intlayer_with_vite+vue.md +115 -140
- 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/angular-intlayer/exports.md +13 -9
- package/docs/zh/packages/angular-intlayer/usePathname.md +119 -0
- package/docs/zh/packages/intlayer/comparePaths.md +173 -0
- package/docs/zh/packages/intlayer/exports.md +18 -13
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +73 -0
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +112 -0
- package/docs/zh/packages/next-intlayer/exports.md +4 -0
- package/docs/zh/packages/next-intlayer/usePathname.md +136 -0
- package/docs/zh/packages/preact-intlayer/exports.md +10 -6
- package/docs/zh/packages/preact-intlayer/usePathname.md +117 -0
- package/docs/zh/packages/react-intlayer/exports.md +5 -1
- 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-intlayer/usePathname.md +88 -0
- package/docs/zh/packages/solid-intlayer/exports.md +15 -11
- package/docs/zh/packages/solid-intlayer/usePathname.md +119 -0
- package/docs/zh/packages/svelte-intlayer/exports.md +13 -9
- package/docs/zh/packages/svelte-intlayer/usePathname.md +103 -0
- package/docs/zh/packages/vue-intlayer/exports.md +14 -10
- package/docs/zh/packages/vue-intlayer/usePathname.md +109 -0
- 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/docs/zh-TW/intlayer_with_angular_21.md +20 -4
- package/docs/zh-TW/packages/intlayer/comparePaths.md +173 -0
- package/frequent_questions/pt/translated_path_url.md +1 -1
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +160 -0
|
@@ -57,28 +57,46 @@ Intlayer는 훌륭한 독립형 i18n 솔루션을 제공하지만(자세한 내
|
|
|
57
57
|
|
|
58
58
|
## vue-i18n과 함께 Intlayer 설정 단계별 가이드
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
<Steps>
|
|
61
|
+
|
|
62
|
+
<Step number={1} title="의존성 설치">
|
|
61
63
|
|
|
62
64
|
선호하는 패키지 관리자를 사용하여 필요한 패키지를 설치하세요:
|
|
63
65
|
|
|
66
|
+
```bash packageManager="npm"
|
|
67
|
+
npx intlayer-cli init --interactive
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash packageManager="pnpm"
|
|
71
|
+
pnpm dlx intlayer-cli init --interactive
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```bash packageManager="yarn"
|
|
75
|
+
yarn dlx intlayer-cli init --interactive
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
```bash packageManager="bun"
|
|
79
|
+
bunx intlayer-cli init --interactive
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> `--interactive` 플래그는 선택 사항입니다. AI 에이전트인 경우 `intlayer-cli init`를 사용하세요.
|
|
83
|
+
|
|
84
|
+
> 이 명령은 환경을 감지하고 필요한 패키지를 설치합니다. 예를 들어:
|
|
85
|
+
|
|
64
86
|
```bash packageManager="npm"
|
|
65
87
|
npm install intlayer @intlayer/sync-json-plugin --save-dev
|
|
66
|
-
npx intlayer init
|
|
67
88
|
```
|
|
68
89
|
|
|
69
90
|
```bash packageManager="pnpm"
|
|
70
91
|
pnpm add intlayer @intlayer/sync-json-plugin --save-dev
|
|
71
|
-
pnpm intlayer init
|
|
72
92
|
```
|
|
73
93
|
|
|
74
94
|
```bash packageManager="yarn"
|
|
75
95
|
yarn add intlayer @intlayer/sync-json-plugin --dev
|
|
76
|
-
yarn intlayer init
|
|
77
96
|
```
|
|
78
97
|
|
|
79
98
|
```bash packageManager="bun"
|
|
80
99
|
bun add intlayer @intlayer/sync-json-plugin --dev
|
|
81
|
-
bun x intlayer init
|
|
82
100
|
```
|
|
83
101
|
|
|
84
102
|
**패키지 설명:**
|
|
@@ -86,7 +104,9 @@ bun x intlayer init
|
|
|
86
104
|
- **intlayer**: 콘텐츠 선언 및 관리를 위한 핵심 라이브러리
|
|
87
105
|
/// **@intlayer/sync-json-plugin**: Intlayer 콘텐츠 선언을 vue-i18n JSON 형식과 동기화하는 플러그인
|
|
88
106
|
|
|
89
|
-
|
|
107
|
+
</Step>
|
|
108
|
+
|
|
109
|
+
<Step number={2} title="JSON을 래핑하기 위한 Intlayer 플러그인 구현">
|
|
90
110
|
|
|
91
111
|
지원하는 로케일을 정의하기 위해 Intlayer 구성 파일을 만듭니다:
|
|
92
112
|
|
|
@@ -125,7 +145,9 @@ CLI를 사용하여 JSON을 번역하거나 CMS를 통해 변경이 이루어지
|
|
|
125
145
|
|
|
126
146
|
---
|
|
127
147
|
|
|
128
|
-
|
|
148
|
+
</Step>
|
|
149
|
+
|
|
150
|
+
<Step number={3} title="컴포넌트별 JSON 번역 구현" isOptional={true}>
|
|
129
151
|
|
|
130
152
|
기본적으로 Intlayer는 JSON 파일과 콘텐츠 선언 파일을 모두 로드, 병합 및 동기화합니다. 자세한 내용은 [콘텐츠 선언 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/dictionary/content_file.md)를 참조하세요. 하지만 원한다면 Intlayer 플러그인을 사용하여 코드베이스 어디에서나 지역화된 JSON을 컴포넌트별로 관리할 수도 있습니다.
|
|
131
153
|
|
|
@@ -169,6 +191,10 @@ export default config;
|
|
|
169
191
|
|
|
170
192
|
---
|
|
171
193
|
|
|
194
|
+
</Step>
|
|
195
|
+
|
|
196
|
+
</Steps>
|
|
197
|
+
|
|
172
198
|
## Git 설정
|
|
173
199
|
|
|
174
200
|
생성된 파일을 버전 관리에서 제외하세요:
|
|
@@ -204,24 +204,6 @@ Next.js는 국제화된 라우팅(예: 로케일 세그먼트)을 기본적으
|
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
|
207
|
-
## 누락된 번역 처리
|
|
208
|
-
|
|
209
|
-
**next-intl**
|
|
210
|
-
|
|
211
|
-
- **런타임 폴백**에 의존합니다(예: 키 또는 기본 로케일 표시). 빌드는 실패하지 않습니다.
|
|
212
|
-
|
|
213
|
-
**next-i18next**
|
|
214
|
-
|
|
215
|
-
- **런타임 폴백**에 의존합니다(예: 키 또는 기본 로케일 표시). 빌드는 실패하지 않습니다.
|
|
216
|
-
|
|
217
|
-
**intlayer**
|
|
218
|
-
|
|
219
|
-
- 누락된 로케일이나 키에 대해 **빌드 타임 감지**와 **경고/오류**를 제공합니다.
|
|
220
|
-
|
|
221
|
-
**중요한 이유:** 빌드 중에 누락을 잡으면 프로덕션에서 “미스터리 문자열”을 방지하고 엄격한 릴리스 게이트와 일치합니다.
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
207
|
## 라우팅, 미들웨어 및 URL 전략
|
|
226
208
|
|
|
227
209
|
<Columns>
|
|
@@ -1175,6 +1157,127 @@ export default robots;
|
|
|
1175
1157
|
|
|
1176
1158
|
---
|
|
1177
1159
|
|
|
1160
|
+
### 로케일 라우팅을 위한 Middleware
|
|
1161
|
+
|
|
1162
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1163
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1164
|
+
|
|
1165
|
+
로케일 감지 및 라우팅을 처리하기 위한 middleware를 추가합니다:
|
|
1166
|
+
|
|
1167
|
+
```ts fileName="src/middleware.ts"
|
|
1168
|
+
import { NextResponse, type NextRequest } from "next/server";
|
|
1169
|
+
import { defaultLocale, locales } from "@/i18n.config";
|
|
1170
|
+
|
|
1171
|
+
const PUBLIC_FILE = /\.[^/]+$/; // 확장자가 있는 파일 제외
|
|
1172
|
+
|
|
1173
|
+
export function middleware(request: NextRequest) {
|
|
1174
|
+
const { pathname } = request.nextUrl;
|
|
1175
|
+
|
|
1176
|
+
if (
|
|
1177
|
+
pathname.startsWith("/_next") ||
|
|
1178
|
+
pathname.startsWith("/api") ||
|
|
1179
|
+
pathname.startsWith("/static") ||
|
|
1180
|
+
PUBLIC_FILE.test(pathname)
|
|
1181
|
+
) {
|
|
1182
|
+
return;
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
const hasLocale = locales.some(
|
|
1186
|
+
(l) => pathname === "/" + l || pathname.startsWith("/" + l + "/")
|
|
1187
|
+
);
|
|
1188
|
+
if (!hasLocale) {
|
|
1189
|
+
const locale = defaultLocale;
|
|
1190
|
+
const url = request.nextUrl.clone();
|
|
1191
|
+
url.pathname = "/" + locale + (pathname === "/" ? "" : pathname);
|
|
1192
|
+
return NextResponse.redirect(url);
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
export const config = {
|
|
1197
|
+
matcher: [
|
|
1198
|
+
// 이들로 시작하는 경로와 확장자가 있는 파일을 제외한 모든 경로와 일치
|
|
1199
|
+
"/((?!api|_next|static|.*\\..*).*)",
|
|
1200
|
+
],
|
|
1201
|
+
};
|
|
1202
|
+
```
|
|
1203
|
+
|
|
1204
|
+
</Tab>
|
|
1205
|
+
<Tab label="next-intl" value="next-intl">
|
|
1206
|
+
|
|
1207
|
+
로케일 감지 및 라우팅을 처리하기 위한 middleware를 추가합니다:
|
|
1208
|
+
|
|
1209
|
+
```ts fileName="src/middleware.ts"
|
|
1210
|
+
import createMiddleware from "next-intl/middleware";
|
|
1211
|
+
import { locales, defaultLocale } from "@/i18n";
|
|
1212
|
+
|
|
1213
|
+
export default createMiddleware({
|
|
1214
|
+
locales: [...locales],
|
|
1215
|
+
defaultLocale,
|
|
1216
|
+
localeDetection: true,
|
|
1217
|
+
});
|
|
1218
|
+
|
|
1219
|
+
export const config = {
|
|
1220
|
+
// API, Next 내부 및 정적 자산 건너뛰기
|
|
1221
|
+
matcher: ["/((?!api|_next|.*\\..*).*)"],
|
|
1222
|
+
};
|
|
1223
|
+
```
|
|
1224
|
+
|
|
1225
|
+
</Tab>
|
|
1226
|
+
<Tab label="intlayer" value="intlayer">
|
|
1227
|
+
|
|
1228
|
+
Intlayer는 `next-intlayer` package 설정을 통한 기본 제공 middleware 처리를 제공합니다.
|
|
1229
|
+
|
|
1230
|
+
```ts fileName="src/middleware.ts"
|
|
1231
|
+
import { intlayerProxy } from "next-intlayer/proxy";
|
|
1232
|
+
|
|
1233
|
+
export const middleware = intlayerProxy();
|
|
1234
|
+
|
|
1235
|
+
// app 디렉토리의 파일에만 이 middleware를 적용합니다
|
|
1236
|
+
export const config = {
|
|
1237
|
+
matcher: "/((?!api|_next|static|.*\\..*).*)",
|
|
1238
|
+
};
|
|
1239
|
+
```
|
|
1240
|
+
|
|
1241
|
+
middleware의 설정은 `intlayer.config.ts` 파일에 중앙화되어 있습니다.
|
|
1242
|
+
|
|
1243
|
+
</Tab>
|
|
1244
|
+
</Tabs>
|
|
1245
|
+
|
|
1246
|
+
### 설정 체크리스트 및 모범 사례
|
|
1247
|
+
|
|
1248
|
+
<Tabs defaultTab="next-intl" group='techno'>
|
|
1249
|
+
<Tab label="next-i18next" value="next-i18next">
|
|
1250
|
+
|
|
1251
|
+
- `src/app/[locale]/layout.tsx`의 루트 `<html>`에서 `lang`과 `dir`이 설정되어 있는지 확인하세요.
|
|
1252
|
+
- `src/locales/<locale>/` 아래에서 번역을 네임스페이스로 분할합니다 (예: `common.json`, `about.json`).
|
|
1253
|
+
- 클라이언트 컴포넌트에서 `useTranslation('<ns>')`를 사용하여 필요한 네임스페이스만 로드하고 `I18nProvider`를 동일한 네임스페이스로 범위를 제한합니다.
|
|
1254
|
+
- 가능한 경우 페이지를 정적으로 유지합니다: 페이지에서 `export const dynamic = 'force-static'`을 내보내고 `dynamicParams = false`를 설정하고 `generateStaticParams`를 구현합니다.
|
|
1255
|
+
- 이미 계산된 문자열이나 `t` 함수 및 `locale`을 전달하여 클라이언트 경계 아래에 동기 서버 컴포넌트를 사용합니다.
|
|
1256
|
+
- SEO의 경우, 메타데이터에서 `alternates.languages`를 설정하고 `sitemap.ts`에서 지역화된 URL을 나열하고 `robots.ts`에서 중복된 지역화된 경로를 비활성화합니다.
|
|
1257
|
+
- 로케일 인식 포매터 (예: `Intl.NumberFormat(locale)`)를 선호하고 React < 19를 사용하는 경우 클라이언트에서 메모이제이션합니다.
|
|
1258
|
+
|
|
1259
|
+
</Tab>
|
|
1260
|
+
<Tab label="next-intl" value="next-intl">
|
|
1261
|
+
|
|
1262
|
+
- **html `lang`과 `dir` 설정**: `src/app/[locale]/layout.tsx`에서 `getLocaleDirection(locale)`을 통해 `dir`을 계산하고 `<html lang={locale} dir={dir}>`을 설정합니다.
|
|
1263
|
+
- **네임스페이스별로 메시지 분할**: 로케일 및 네임스페이스별로 JSON을 구성합니다 (예: `common.json`, `about.json`).
|
|
1264
|
+
- **클라이언트 페이로드 최소화**: 페이지에서 필요한 네임스페이스만 `NextIntlClientProvider`로 전송합니다 (예: `pick(messages, ['common', 'about'])`).
|
|
1265
|
+
- **정적 페이지 선호**: `export const dynamic = 'force-static'`을 내보내고 모든 `locales`에 대한 정적 매개변수를 생성합니다.
|
|
1266
|
+
- **동기 서버 컴포넌트**: 비동기 호출이나 직렬화할 수 없는 함수 대신 사전 계산된 문자열 (번역된 레이블, 형식이 지정된 숫자)을 전달하여 서버 컴포넌트를 동기적으로 유지합니다.
|
|
1267
|
+
|
|
1268
|
+
</Tab>
|
|
1269
|
+
<Tab label="intlayer" value="intlayer">
|
|
1270
|
+
|
|
1271
|
+
- **모듈식 콘텐츠**: `.content.{ts|js|json}` 파일을 사용하여 콘텐츠 딕셔너리를 컴포넌트와 함께 배치합니다.
|
|
1272
|
+
- **타입 안전성**: TypeScript 통합을 활용하여 컴파일 타임 콘텐츠 검증을 수행합니다.
|
|
1273
|
+
- **빌드 타임 최적화**: Intlayer의 빌드 도구를 사용하여 자동 트리 셰이킹 및 번들 최적화를 수행합니다.
|
|
1274
|
+
- **통합 도구**: 기본 제공 라우팅, SEO 헬퍼 및 비주얼 에디터 지원을 활용합니다.
|
|
1275
|
+
|
|
1276
|
+
</Tab>
|
|
1277
|
+
</Tabs>
|
|
1278
|
+
|
|
1279
|
+
---
|
|
1280
|
+
|
|
1178
1281
|
## 그리고 승자는…
|
|
1179
1282
|
|
|
1180
1283
|
간단하지 않습니다. 각 옵션마다 장단점이 있습니다. 제가 보는 관점은 다음과 같습니다:
|
|
@@ -57,43 +57,6 @@ RAG가 인기 있는 접근법이 된 데는 이유가 있습니다. 대형 언
|
|
|
57
57
|
|
|
58
58
|
따라서 RAG는 단순한 지원 도구가 아닙니다. 그것은 또한 **제품 발견 엔진**입니다.
|
|
59
59
|
|
|
60
|
-
## RAG 파이프라인 작동 방식
|
|
61
|
-
|
|
62
|
-

|
|
63
|
-
|
|
64
|
-
전체적인 개요는 다음과 같습니다:
|
|
65
|
-
|
|
66
|
-
1. **문서 청킹(Chunking)** 큰 마크다운 파일을 여러 청크로 분할합니다. 청킹은 문서의 관련된 부분만 컨텍스트로 제공할 수 있게 합니다.
|
|
67
|
-
2. **임베딩 생성(Generating embeddings)** 각 청크는 OpenAI의 임베딩 API(text-embedding-3-large) 또는 벡터 데이터베이스(Chroma, Qdrant, Pinecone)를 사용해 벡터로 변환됩니다.
|
|
68
|
-
3. **인덱싱 및 저장** 임베딩은 간단한 JSON 파일에 저장됩니다(데모용). 하지만 실제 운영 환경에서는 벡터 DB를 사용할 가능성이 높습니다.
|
|
69
|
-
4. **검색 (RAG의 R)** 사용자 쿼리를 임베딩하고, 코사인 유사도를 계산하여 가장 일치하는 청크들을 검색합니다.
|
|
70
|
-
5. **증강 및 생성 (RAG의 AG)** 해당 청크들을 ChatGPT 프롬프트에 주입하여, 모델이 실제 문서 컨텍스트를 기반으로 답변하도록 합니다.
|
|
71
|
-
6. **피드백을 위한 쿼리 기록** 모든 사용자 쿼리를 저장합니다. 이는 문제점 파악, 누락된 문서, 새로운 기회를 이해하는 데 매우 중요합니다.
|
|
72
|
-
|
|
73
|
-
## 1단계: 문서 읽기
|
|
74
|
-
|
|
75
|
-
첫 번째 단계는 간단했습니다: docs/ 폴더 내 모든 .md 파일을 스캔할 방법이 필요했습니다. Node.js와 glob을 사용하여 각 마크다운 파일의 내용을 메모리로 가져왔습니다.
|
|
76
|
-
|
|
77
|
-
이것은 파이프라인을 유연하게 유지합니다: Markdown 대신 데이터베이스, CMS, 또는 API에서 문서를 가져올 수도 있습니다.
|
|
78
|
-
|
|
79
|
-
## 2단계: 문서 청킹(Chunking)
|
|
80
|
-
|
|
81
|
-
왜 청킹을 할까요? 언어 모델에는 **컨텍스트 제한**이 있기 때문입니다. 전체 문서 책을 한 번에 입력하는 것은 불가능합니다.
|
|
82
|
-
|
|
83
|
-
그래서 텍스트를 관리 가능한 청크(예: 각 500 토큰)로 나누고, 겹치는 부분(예: 100 토큰)을 둡니다. 겹치는 부분은 청크 경계에서 의미가 끊기지 않도록 연속성을 보장합니다.
|
|
84
|
-
|
|
85
|
-
**예시:**
|
|
86
|
-
|
|
87
|
-
- 청크 1 → “…많은 이들이 잊어버린 오래된 도서관. 그 높이 솟은 선반들은 책들로 가득 차 있었다…”
|
|
88
|
-
- 청크 2 → “…선반들은 상상할 수 있는 모든 장르의 책들로 가득 차 있었고, 각각이 이야기를 속삭이고 있었다…”
|
|
89
|
-
|
|
90
|
-
이 겹침은 두 청크가 공유된 컨텍스트를 포함하도록 하여, 검색 시 일관성을 유지하게 합니다.
|
|
91
|
-
|
|
92
|
-
이 절충안(청크 크기 대 중첩)은 RAG 효율성에 매우 중요합니다:
|
|
93
|
-
|
|
94
|
-
- 너무 작으면 → 노이즈가 발생합니다.
|
|
95
|
-
- 너무 크면 → 컨텍스트 크기가 너무 커집니다.
|
|
96
|
-
|
|
97
60
|
## 3단계: 임베딩 생성
|
|
98
61
|
|
|
99
62
|
문서가 청크로 나뉘면, 각 청크를 나타내는 고차원 벡터인 **임베딩**을 생성합니다.
|
|
@@ -112,163 +75,6 @@ RAG가 인기 있는 접근법이 된 데는 이유가 있습니다. 대형 언
|
|
|
112
75
|
|
|
113
76
|
각 벡터는 텍스트의 수학적 지문으로, 유사도 검색을 가능하게 합니다.
|
|
114
77
|
|
|
115
|
-
## 4단계: 임베딩 인덱싱 및 저장
|
|
116
|
-
|
|
117
|
-
임베딩을 여러 번 다시 생성하지 않도록, 저는 이를 embeddings.json에 저장했습니다.
|
|
118
|
-
|
|
119
|
-
프로덕션 환경에서는 다음과 같은 벡터 데이터베이스를 사용하는 것이 좋습니다:
|
|
120
|
-
|
|
121
|
-
- Chroma
|
|
122
|
-
- Qdrant
|
|
123
|
-
- Pinecone
|
|
124
|
-
- FAISS, Weaviate, Milvus 등
|
|
125
|
-
|
|
126
|
-
벡터 DB는 인덱싱, 확장성, 빠른 검색을 처리합니다. 하지만 제 프로토타입에서는 로컬 JSON으로도 충분했습니다.
|
|
127
|
-
|
|
128
|
-
## 5단계: 코사인 유사도를 이용한 검색
|
|
129
|
-
|
|
130
|
-
사용자가 질문을 하면:
|
|
131
|
-
|
|
132
|
-
1. 쿼리에 대한 임베딩을 생성합니다.
|
|
133
|
-
2. 모든 문서 임베딩과 **코사인 유사도**를 사용해 비교합니다.
|
|
134
|
-
3. 가장 유사한 상위 N개의 청크만 유지합니다.
|
|
135
|
-
|
|
136
|
-
코사인 유사도는 두 벡터 사이의 각도를 측정합니다. 완벽한 일치는 **1.0** 점수를 받습니다.
|
|
137
|
-
|
|
138
|
-
이렇게 시스템은 쿼리와 가장 가까운 문서 구간을 찾습니다.
|
|
139
|
-
|
|
140
|
-
## 6단계: 증강 + 생성
|
|
141
|
-
|
|
142
|
-
이제 마법이 시작됩니다. 상위 청크들을 가져와 ChatGPT의 **시스템 프롬프트**에 주입합니다.
|
|
143
|
-
|
|
144
|
-
그것은 모델이 마치 해당 청크들이 대화의 일부인 것처럼 답변한다는 의미입니다.
|
|
145
|
-
|
|
146
|
-
결과: 정확하고, **문서 기반의 응답**.
|
|
147
|
-
|
|
148
|
-
## 7단계: 사용자 쿼리 기록
|
|
149
|
-
|
|
150
|
-
이것이 숨겨진 슈퍼파워입니다.
|
|
151
|
-
|
|
152
|
-
모든 질문이 저장됩니다. 시간이 지나면서 다음과 같은 데이터셋을 구축할 수 있습니다:
|
|
153
|
-
|
|
154
|
-
- 가장 빈번한 질문들 (FAQ에 매우 유용)
|
|
155
|
-
- 답변되지 않은 질문들 (문서가 없거나 불명확한 경우)
|
|
156
|
-
- 질문으로 위장된 기능 요청 (“X와 통합되나요?”)
|
|
157
|
-
- 예상치 못한 새로운 사용 사례
|
|
158
|
-
|
|
159
|
-
이로써 당신의 RAG 어시스턴트는 **지속적인 사용자 조사 도구**가 됩니다.
|
|
160
|
-
|
|
161
|
-
## 비용은 얼마나 들까?
|
|
162
|
-
|
|
163
|
-
RAG에 대한 흔한 반대 의견 중 하나는 비용입니다. 실제로는 놀라울 정도로 저렴합니다:
|
|
164
|
-
|
|
165
|
-
- 약 200개의 문서에 대한 임베딩 생성은 약 **5분**이 걸리며 비용은 **1~2 유로**입니다.
|
|
166
|
-
- 문서 검색 기능은 100% 무료입니다.
|
|
167
|
-
- 쿼리의 경우, “thinking” 모드 없이 gpt-4o-latest를 사용합니다. Intlayer에서는 한 달에 약 **300건의 채팅 쿼리**가 발생하며, OpenAI API 요금은 거의 **$10**를 넘지 않습니다.
|
|
168
|
-
|
|
169
|
-
여기에 호스팅 비용을 포함할 수 있습니다.
|
|
170
|
-
|
|
171
|
-
## 구현 세부사항
|
|
172
|
-
|
|
173
|
-
스택:
|
|
174
|
-
|
|
175
|
-
- 모노레포: pnpm 워크스페이스
|
|
176
|
-
- 문서 패키지: Node.js / TypeScript / OpenAI API
|
|
177
|
-
- 프론트엔드: Next.js / React / Tailwind CSS
|
|
178
|
-
- 백엔드: Node.js API 라우트 / OpenAI API
|
|
179
|
-
|
|
180
|
-
`@smart-doc/docs` 패키지는 문서 처리를 담당하는 TypeScript 패키지입니다. 마크다운 파일이 추가되거나 수정되면, 이 패키지는 각 언어별 문서 목록을 재구성하고 임베딩을 생성하여 `embeddings.json` 파일에 저장하는 `build` 스크립트를 포함합니다.
|
|
181
|
-
|
|
182
|
-
프론트엔드에는 다음 기능을 제공하는 Next.js 애플리케이션을 사용합니다:
|
|
183
|
-
|
|
184
|
-
- 마크다운을 HTML로 렌더링
|
|
185
|
-
- 관련 문서를 찾기 위한 검색 바
|
|
186
|
-
- 문서에 대한 질문을 할 수 있는 챗봇 인터페이스
|
|
187
|
-
|
|
188
|
-
문서 검색을 수행하기 위해, Next.js 애플리케이션은 쿼리에 맞는 문서 청크를 검색하는 `@smart-doc/docs` 패키지의 함수를 호출하는 API 라우트를 포함합니다. 이 청크들을 사용하여 사용자의 검색과 관련된 문서 페이지 목록을 반환할 수 있습니다.
|
|
189
|
-
|
|
190
|
-
챗봇 기능의 경우, 동일한 검색 과정을 따르지만 추가로 검색된 문서 청크를 ChatGPT에 보내는 프롬프트에 주입합니다.
|
|
191
|
-
|
|
192
|
-
다음은 ChatGPT에 보내는 프롬프트 예시입니다:
|
|
193
|
-
|
|
194
|
-
시스템 프롬프트:
|
|
195
|
-
|
|
196
|
-
```txt
|
|
197
|
-
당신은 Intlayer 문서에 관한 질문에 답변할 수 있는 유용한 도우미입니다.
|
|
198
|
-
|
|
199
|
-
관련 청크:
|
|
200
|
-
|
|
201
|
-
-----
|
|
202
|
-
docName: "getting-started"
|
|
203
|
-
docChunk: "1/3"
|
|
204
|
-
docUrl: "https://example.com/docs/ko/getting-started"
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
# 시작하는 방법
|
|
208
|
-
|
|
209
|
-
...
|
|
210
|
-
|
|
211
|
-
-----
|
|
212
|
-
docName: "another-doc"
|
|
213
|
-
docChunk: "1/5"
|
|
214
|
-
docUrl: "https://example.com/docs/ko/another-doc"
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
# 다른 문서
|
|
218
|
-
|
|
219
|
-
...
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
사용자 질의 :
|
|
223
|
-
|
|
224
|
-
```txt
|
|
225
|
-
시작하는 방법은?
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
우리는 API 경로에서 응답을 스트리밍하기 위해 SSE를 사용합니다.
|
|
229
|
-
|
|
230
|
-
앞서 언급했듯이, 우리는 "생각하는" 모드 없이 gpt-4-turbo를 사용합니다. 응답은 관련성이 높고 지연 시간이 낮습니다.
|
|
231
|
-
gpt-5도 실험해 보았지만, 지연 시간이 너무 길었고(때로는 응답에 최대 15초까지 걸림) 앞으로 다시 검토할 예정입니다.
|
|
232
|
-
|
|
233
|
-
👉 [여기에서 데모를 시도해 보세요](https://intlayer.org/doc/why) 👉 [GitHub에서 코드 템플릿 확인하기](https://github.com/aymericzip/smart_doc_RAG)
|
|
234
|
-
|
|
235
|
-
## 더 나아가기
|
|
236
|
-
|
|
237
|
-
이 프로젝트는 최소한의 구현입니다. 하지만 여러 가지 방법으로 확장할 수 있습니다:
|
|
238
|
-
|
|
239
|
-
- MCP 서버 → 문서 검색 기능을 MCP 서버로 확장하여 문서를 모든 AI 어시스턴트에 연결
|
|
240
|
-
- 벡터 DB → 수백만 개의 문서 청크로 확장
|
|
241
|
-
- LangChain / LlamaIndex → RAG 파이프라인을 위한 기성 프레임워크
|
|
242
|
-
- 분석 대시보드 → 사용자 쿼리와 문제점을 시각화
|
|
243
|
-
- 다중 소스 검색 → 문서뿐만 아니라 데이터베이스 항목, 블로그 게시물, 티켓 등도 검색
|
|
244
|
-
- 향상된 프롬프트 → 재순위화, 필터링, 하이브리드 검색(키워드 + 의미 기반)
|
|
245
|
-
|
|
246
|
-
## 우리가 직면한 한계
|
|
247
|
-
|
|
248
|
-
- 청크 분할과 중첩은 경험적입니다. 적절한 균형(청크 크기, 중첩 비율, 검색된 청크 수)은 반복과 테스트가 필요합니다.
|
|
249
|
-
- 문서가 변경될 때 임베딩이 자동으로 재생성되지 않습니다. 우리 시스템은 저장된 청크 수와 다를 때만 파일의 임베딩을 재설정합니다.
|
|
250
|
-
- 이 프로토타입에서는 임베딩이 JSON에 저장됩니다. 이는 데모에는 적합하지만 Git을 오염시킵니다. 실제 운영 환경에서는 데이터베이스나 전용 벡터 스토어가 더 적합합니다.
|
|
251
|
-
|
|
252
|
-
## 문서를 넘어 중요한 이유
|
|
253
|
-
|
|
254
|
-
흥미로운 부분은 단순한 챗봇이 아닙니다. 바로 **피드백 루프**입니다.
|
|
255
|
-
|
|
256
|
-
RAG를 사용하면 단순히 답변하는 것에 그치지 않습니다:
|
|
257
|
-
|
|
258
|
-
- 사용자가 무엇에 혼란스러워하는지 알게 됩니다.
|
|
259
|
-
- 사용자가 기대하는 기능을 발견합니다.
|
|
260
|
-
- 실제 쿼리를 기반으로 제품 전략을 조정합니다.
|
|
261
|
-
|
|
262
|
-
**예시:**
|
|
263
|
-
|
|
264
|
-
새로운 기능을 출시하고 즉시 다음과 같은 상황을 상상해 보세요:
|
|
265
|
-
|
|
266
|
-
- 질문의 50%가 동일한 불명확한 설정 단계에 관한 것
|
|
267
|
-
- 사용자가 아직 지원하지 않는 통합 기능을 반복적으로 요청
|
|
268
|
-
- 사람들이 새로운 사용 사례를 드러내는 용어를 검색
|
|
269
|
-
|
|
270
|
-
이것이 바로 사용자로부터 직접 얻는 **제품 인텔리전스**입니다.
|
|
271
|
-
|
|
272
78
|
## 결론
|
|
273
79
|
|
|
274
80
|
RAG는 LLM을 실용적으로 만드는 가장 간단하면서도 강력한 방법 중 하나입니다. **검색(retrieval) + 생성(generation)**을 결합함으로써 정적인 문서를 **스마트 어시스턴트**로 전환할 수 있으며, 동시에 지속적인 제품 인사이트 흐름을 얻을 수 있습니다.
|
|
@@ -146,6 +146,12 @@ author: aymericzip
|
|
|
146
146
|
|
|
147
147
|
---
|
|
148
148
|
|
|
149
|
+
## GitHub STARs
|
|
150
|
+
|
|
151
|
+
GitHub star는 프로젝트의 인기도, 커뮤니티 신뢰도, 장기적 관련성의 강력한 지표입니다. 기술적 품질의 직접적인 척도는 아니지만, 얼마나 많은 개발자가 프로젝트를 유용하다고 생각하는지, 진행 상황을 팔로우하는지, 그리고 이를 도입할 가능성이 있는지를 반영합니다. 프로젝트의 가치를 추정할 때, star는 대안들 간의 견인력을 비교하고 생태계 성장에 대한 통찰력을 제공하는 데 도움이 됩니다.
|
|
152
|
+
|
|
153
|
+
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&aymericzip/intlayer)
|
|
154
|
+
|
|
149
155
|
## 결론
|
|
150
156
|
|
|
151
157
|
세 가지 라이브러리 모두 React를 효과적으로 현지화합니다. 차별점은 **안전하고 확장 가능한** 환경을 구축하기 위해 얼마나 많은 **인프라**를 만들어야 하는가에 있습니다:
|
|
@@ -259,6 +259,14 @@ const { greeting } = useIntlayer("component-example");
|
|
|
259
259
|
|
|
260
260
|
---
|
|
261
261
|
|
|
262
|
+
## GitHub STARs
|
|
263
|
+
|
|
264
|
+
GitHub stars는 프로젝트의 인기도, 커뮤니티 신뢰도, 장기적 관련성의 강력한 지표입니다. 기술적 품질을 직접 측정하는 것은 아니지만, 얼마나 많은 개발자들이 프로젝트를 유용하게 생각하고, 진행 상황을 따르고 있으며, 채택할 가능성이 있는지를 반영합니다. 프로젝트의 가치를 추정하기 위해 stars는 대안들 간의 견인력을 비교하고 생태계 성장에 대한 통찰력을 제공합니다.
|
|
265
|
+
|
|
266
|
+
[](https://www.star-history.com/#intlify/vue-i18n&aymericzip/intlayer)
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
262
270
|
## 결론
|
|
263
271
|
|
|
264
272
|
**vue-i18n**과 **Intlayer** 모두 Vue 앱을 잘 현지화합니다. 차이점은 견고하고 확장 가능한 설정을 위해 **얼마나 많이 직접 구축해야 하는가**에 있습니다:
|
|
@@ -74,10 +74,6 @@ i18n의 또 다른 중요한 이점은 사용자 경험의 향상입니다. 사
|
|
|
74
74
|
|
|
75
75
|
## 일반적인 i18n 도전 과제
|
|
76
76
|
|
|
77
|
-

|
|
78
|
-
|
|
79
|
-
## 일반적인 i18n 도전 과제
|
|
80
|
-
|
|
81
77
|
- **유지보수 가능성**
|
|
82
78
|
각 웹사이트 업데이트는 모든 언어에서 반영되어야 하므로 효율적인 작업 흐름과 조정이 필요하여 모든 버전 간의 일관성을 보장해야 합니다.
|
|
83
79
|
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-09-10
|
|
3
|
+
updatedAt: 2025-09-10
|
|
4
|
+
title: "Per-Component vs. Centralized i18n: Nowe podejście z Intlayer"
|
|
5
|
+
description: Dogłębne porównanie strategii internacjonalizacji w React, porównanie podejść scentralizowanych, per-key i per-component, oraz wprowadzenie Intlayer.
|
|
6
|
+
keywords:
|
|
7
|
+
- i18n
|
|
8
|
+
- React
|
|
9
|
+
- Internationalization
|
|
10
|
+
- Intlayer
|
|
11
|
+
- Optimization
|
|
12
|
+
- Bundle Size
|
|
13
|
+
slugs:
|
|
14
|
+
- blog
|
|
15
|
+
- per-component-vs-centralized-i18n
|
|
16
|
+
author:
|
|
17
|
+
name: Aymeric PINEAU
|
|
18
|
+
github: aymericzip
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Per-Component vs. Centralized i18n
|
|
22
|
+
|
|
23
|
+
Jestem twórcą Intlayer, rozwiązania i18n, które przyjmuje **podejście per-component**.
|
|
24
|
+
|
|
25
|
+
Podejście per-component nie jest dokładnie nowe.
|
|
26
|
+
Po stronie Vue, `vue-i18n` ma podejście ['Single File Components'](https://vue-i18n.intlify.dev/guide/advanced/sfc.html). Istnieje również w Nuxt z tłumaczeniami per-component [tutaj](https://i18n.nuxtjs.org/docs/guide/per-component-translations).
|
|
27
|
+
|
|
28
|
+
Nawet w aplikacji Flutter możemy często znaleźć ten wzorzec:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
lib/
|
|
32
|
+
├── features/
|
|
33
|
+
│ ├── login/
|
|
34
|
+
│ │ ├── login_screen.dart
|
|
35
|
+
│ │ └── login_screen.i18n.dart <- Tłumaczenia żyją tutaj
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```dart
|
|
40
|
+
import 'package:i18n_extension/i18n_extension.dart';
|
|
41
|
+
|
|
42
|
+
extension Localization on String {
|
|
43
|
+
static var _t = Translations("en_us") +
|
|
44
|
+
{
|
|
45
|
+
"en_us": "Hello",
|
|
46
|
+
"pt_br": "Olá",
|
|
47
|
+
"es": "Hola",
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
String get i18n => localize(this, _t);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Niemniej jednak, w świecie React, głównie widzimy różne podejścia, które pogrupuję w trzy kategorie:
|
|
56
|
+
|
|
57
|
+
1. **Podejście scentralizowane** (i18next, next-intl, react-intl, lingui)
|
|
58
|
+
2. **Podejście per-component** (Intlayer)
|
|
59
|
+
3. **Podejście per-key** (inlang)
|
|
60
|
+
|
|
61
|
+
W tym blogu nie będę skupiać się na rozwiązaniach bazujących na kompilatorze, które już omówiłem tutaj: [Compiler vs Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/compiler_vs_declarative_i18n.md).
|
|
62
|
+
Zauważ, że compiler-based i18n (np. Lingui) po prostu automatyzuje ekstrakcję i ładowanie zawartości. Za kulisami, często dzielą te same ograniczenia co podejście scentralizowane.
|
|
63
|
+
|
|
64
|
+
Co zatem są różnice?
|
|
65
|
+
|
|
66
|
+
- **Podejście scentralizowane** (bez namespaces) rozważa pojedyncze źródło do pobierania zawartości. Domyślnie ładujesz zawartość wszystkich stron przy załadowaniu aplikacji.
|
|
67
|
+
- **Podejścia per-component i per-key** drobniutko dzielą pobieranie zawartości.
|
|
68
|
+
|
|
69
|
+
> Zauważ, że im bardziej dzielisz jak pobierasz zawartość, tym bardziej ryzykujesz wstawiać dodatkowy stan i logikę do komponentów.
|
|
70
|
+
> Na przykład, strona może łatwo zawierać 500 węzłów tekstu (`<p>`, `<span>`). Podejście per-key efektywnie wstawi 500 nowych instancji komponentu aby obsłużyć tłumaczenie, każde potencjalnie używając własnego `useState`, `useEffect`, lub `useContext`.
|
|
71
|
+
|
|
72
|
+
Tutaj jest wizualizacja kompromisu:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
Count of useState / Overhead (100 blocks <p> / 10 components)
|
|
76
|
+
100 | x Per-key
|
|
77
|
+
|
|
|
78
|
+
|
|
|
79
|
+
...
|
|
80
|
+
|
|
|
81
|
+
|
|
|
82
|
+
|
|
|
83
|
+
|
|
|
84
|
+
10 | x Per-component
|
|
85
|
+
|
|
|
86
|
+
1 | x Centralized
|
|
87
|
+
|-------------------------------------------------------->
|
|
88
|
+
0 900 1000
|
|
89
|
+
% of unused content (Based on 10 unique pages)
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Równolegle, powinieneś wiedzieć, że gdy dynamicznie ładujesz zawartość (`await import()`), skończysz z dodatkowymi żądaniami do serwera. Jedno dodatkowe `useState` lub hook odnosi się do jednego dodatkowego żądania do serwera.
|
|
94
|
+
|
|
95
|
+
> Aby naprawić ten punkt, Intlayer sugeruje grupowanie wielu definicji zawartości pod tym samym kluczem, Intlayer będzie wtedy scalać tę zawartość.
|
|
96
|
+
|
|
97
|
+
### Dlaczego zatem podejście scentralizowane jest tak popularne?
|
|
98
|
+
|
|
99
|
+
- Najpierw, i18next była pierwszym rozwiązaniem, które stało się szeroko stosowane, podążając za podejściem inspirowanym PHP i Java, które opierają się na wyraźnej separacji obaw (MVP). i18next przybył nawet przed trendem frameworków frontendowych i architektury opartej na komponentach.
|
|
100
|
+
- Następnie, gdy biblioteka jest szeroko przyjęta, trudno jest przesunąć ekosystem do innych wzorców.
|