@intlayer/docs 9.0.0-canary.2 → 9.0.0-canary.4
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 +20 -4
- package/blog/ar/intlayer_with_next-i18next.md +20 -4
- package/blog/ar/intlayer_with_next-intl.md +20 -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/de/intlayer_with_i18next.md +30 -6
- package/blog/de/intlayer_with_next-i18next.md +30 -6
- package/blog/de/intlayer_with_next-intl.md +33 -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/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 +20 -4
- package/blog/en-GB/intlayer_with_next-i18next.md +20 -4
- package/blog/en-GB/intlayer_with_next-intl.md +20 -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/es/intlayer_with_i18next.md +20 -4
- package/blog/es/intlayer_with_next-i18next.md +20 -4
- package/blog/es/intlayer_with_next-intl.md +20 -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/fr/intlayer_with_i18next.md +20 -4
- package/blog/fr/intlayer_with_next-i18next.md +20 -4
- package/blog/fr/intlayer_with_next-intl.md +20 -4
- package/blog/fr/intlayer_with_react-i18next.md +20 -4
- package/blog/fr/intlayer_with_react-intl.md +20 -4
- package/blog/fr/intlayer_with_vue-i18n.md +20 -4
- package/blog/hi/intlayer_with_i18next.md +20 -4
- package/blog/hi/intlayer_with_next-i18next.md +20 -4
- package/blog/hi/intlayer_with_next-intl.md +20 -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/id/intlayer_with_i18next.md +20 -4
- package/blog/id/intlayer_with_next-i18next.md +20 -4
- package/blog/id/intlayer_with_next-intl.md +20 -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/it/intlayer_with_i18next.md +33 -7
- package/blog/it/intlayer_with_next-i18next.md +33 -7
- package/blog/it/intlayer_with_next-intl.md +33 -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/ja/intlayer_with_i18next.md +20 -4
- package/blog/ja/intlayer_with_next-i18next.md +20 -4
- package/blog/ja/intlayer_with_next-intl.md +20 -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/ko/intlayer_with_i18next.md +33 -7
- package/blog/ko/intlayer_with_next-i18next.md +33 -7
- package/blog/ko/intlayer_with_next-intl.md +33 -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/pl/intlayer_with_i18next.md +20 -4
- package/blog/pl/intlayer_with_next-i18next.md +20 -4
- package/blog/pl/intlayer_with_next-intl.md +20 -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/pt/intlayer_with_i18next.md +33 -7
- package/blog/pt/intlayer_with_next-i18next.md +33 -7
- package/blog/pt/intlayer_with_next-intl.md +33 -7
- package/blog/pt/intlayer_with_react-i18next.md +33 -7
- package/blog/pt/intlayer_with_react-intl.md +33 -7
- package/blog/pt/intlayer_with_vue-i18n.md +33 -7
- package/blog/ru/intlayer_with_i18next.md +20 -4
- package/blog/ru/intlayer_with_next-i18next.md +20 -4
- package/blog/ru/intlayer_with_next-intl.md +20 -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/tr/intlayer_with_i18next.md +20 -4
- package/blog/tr/intlayer_with_next-i18next.md +20 -4
- package/blog/tr/intlayer_with_next-intl.md +20 -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/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/vi/intlayer_with_i18next.md +20 -4
- package/blog/vi/intlayer_with_next-i18next.md +20 -4
- package/blog/vi/intlayer_with_next-intl.md +20 -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/zh/intlayer_with_i18next.md +20 -4
- package/blog/zh/intlayer_with_next-i18next.md +20 -4
- package/blog/zh/intlayer_with_next-intl.md +20 -4
- package/blog/zh/intlayer_with_react-i18next.md +20 -4
- package/blog/zh/intlayer_with_react-intl.md +20 -4
- package/blog/zh/intlayer_with_vue-i18n.md +20 -4
- 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/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_lit.md +20 -8
- package/docs/ar/intlayer_with_astro_preact.md +20 -8
- package/docs/ar/intlayer_with_astro_react.md +20 -8
- package/docs/ar/intlayer_with_astro_solid.md +20 -8
- package/docs/ar/intlayer_with_astro_svelte.md +20 -8
- package/docs/ar/intlayer_with_astro_vanilla.md +20 -8
- package/docs/ar/intlayer_with_astro_vue.md +20 -8
- package/docs/ar/intlayer_with_create_react_app.md +20 -4
- package/docs/ar/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/ar/intlayer_with_next-i18next.md +20 -4
- package/docs/ar/intlayer_with_nextjs_14.md +20 -4
- package/docs/ar/intlayer_with_nextjs_15.md +20 -4
- package/docs/ar/intlayer_with_nextjs_16.md +20 -4
- package/docs/ar/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/ar/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/ar/intlayer_with_nuxt.md +25 -7
- package/docs/ar/intlayer_with_react_native+expo.md +20 -4
- package/docs/ar/intlayer_with_react_router_v7.md +20 -4
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/ar/intlayer_with_svelte_kit.md +40 -8
- package/docs/ar/intlayer_with_tanstack+solid.md +20 -4
- package/docs/ar/intlayer_with_tanstack.md +20 -4
- package/docs/ar/intlayer_with_vite+lit.md +20 -4
- package/docs/ar/intlayer_with_vite+preact.md +20 -4
- package/docs/ar/intlayer_with_vite+react.md +20 -4
- package/docs/ar/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/ar/intlayer_with_vite+solid.md +20 -4
- package/docs/ar/intlayer_with_vite+svelte.md +20 -4
- package/docs/ar/intlayer_with_vite+vanilla.md +20 -4
- package/docs/ar/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +222 -49
- 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/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_lit.md +20 -8
- package/docs/de/intlayer_with_astro_preact.md +20 -8
- package/docs/de/intlayer_with_astro_react.md +20 -8
- package/docs/de/intlayer_with_astro_solid.md +20 -8
- package/docs/de/intlayer_with_astro_svelte.md +20 -8
- package/docs/de/intlayer_with_astro_vanilla.md +20 -8
- package/docs/de/intlayer_with_astro_vue.md +20 -8
- package/docs/de/intlayer_with_create_react_app.md +20 -4
- package/docs/de/intlayer_with_express.md +20 -4
- 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 +20 -4
- package/docs/de/intlayer_with_nestjs.md +20 -4
- package/docs/de/intlayer_with_next-i18next.md +20 -4
- package/docs/de/intlayer_with_nextjs_14.md +20 -4
- package/docs/de/intlayer_with_nextjs_15.md +20 -4
- package/docs/de/intlayer_with_nextjs_16.md +20 -4
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/de/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/de/intlayer_with_nuxt.md +25 -7
- package/docs/de/intlayer_with_react_router_v7.md +20 -4
- package/docs/de/intlayer_with_svelte_kit.md +40 -8
- package/docs/de/intlayer_with_tanstack+solid.md +20 -4
- package/docs/de/intlayer_with_tanstack.md +20 -4
- package/docs/de/intlayer_with_vite+lit.md +20 -4
- package/docs/de/intlayer_with_vite+preact.md +20 -4
- package/docs/de/intlayer_with_vite+react.md +20 -4
- package/docs/de/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/de/intlayer_with_vite+solid.md +20 -4
- package/docs/de/intlayer_with_vite+vanilla.md +20 -4
- package/docs/de/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +222 -49
- 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 +20 -8
- package/docs/en/intlayer_with_astro_lit.md +20 -8
- package/docs/en/intlayer_with_astro_preact.md +20 -8
- package/docs/en/intlayer_with_astro_react.md +20 -8
- package/docs/en/intlayer_with_astro_solid.md +20 -8
- package/docs/en/intlayer_with_astro_svelte.md +20 -8
- package/docs/en/intlayer_with_astro_vanilla.md +20 -8
- package/docs/en/intlayer_with_astro_vue.md +20 -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 +20 -4
- package/docs/en/intlayer_with_nextjs_15.md +20 -4
- package/docs/en/intlayer_with_nextjs_16.md +20 -4
- package/docs/en/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/en/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/en/intlayer_with_nuxt.md +25 -7
- package/docs/en/intlayer_with_react_native+expo.md +20 -4
- package/docs/en/intlayer_with_react_router_v7.md +20 -4
- package/docs/en/intlayer_with_svelte_kit.md +20 -4
- package/docs/en/intlayer_with_tanstack+solid.md +20 -4
- package/docs/en/intlayer_with_tanstack.md +20 -4
- package/docs/en/intlayer_with_vite+lit.md +20 -4
- package/docs/en/intlayer_with_vite+preact.md +20 -4
- package/docs/en/intlayer_with_vite+react.md +20 -4
- package/docs/en/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/en/intlayer_with_vite+solid.md +20 -4
- package/docs/en/intlayer_with_vite+svelte.md +20 -4
- package/docs/en/intlayer_with_vite+vanilla.md +20 -4
- package/docs/en/intlayer_with_vite+vue.md +20 -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/plugins/sync-json.md +56 -2
- 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_lit.md +20 -8
- package/docs/en-GB/intlayer_with_astro_preact.md +20 -8
- package/docs/en-GB/intlayer_with_astro_react.md +20 -8
- package/docs/en-GB/intlayer_with_astro_solid.md +20 -8
- package/docs/en-GB/intlayer_with_astro_svelte.md +20 -8
- package/docs/en-GB/intlayer_with_astro_vanilla.md +20 -8
- package/docs/en-GB/intlayer_with_astro_vue.md +20 -8
- package/docs/en-GB/intlayer_with_create_react_app.md +40 -8
- package/docs/en-GB/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/en-GB/intlayer_with_next-i18next.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_14.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_15.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_16.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/en-GB/intlayer_with_nuxt.md +25 -7
- package/docs/en-GB/intlayer_with_react_native+expo.md +40 -8
- package/docs/en-GB/intlayer_with_react_router_v7.md +20 -4
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/en-GB/intlayer_with_svelte_kit.md +40 -8
- package/docs/en-GB/intlayer_with_tanstack+solid.md +20 -4
- package/docs/en-GB/intlayer_with_tanstack.md +20 -4
- package/docs/en-GB/intlayer_with_vite+lit.md +20 -4
- package/docs/en-GB/intlayer_with_vite+preact.md +20 -4
- package/docs/en-GB/intlayer_with_vite+react.md +20 -4
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/en-GB/intlayer_with_vite+solid.md +20 -4
- package/docs/en-GB/intlayer_with_vite+svelte.md +20 -4
- package/docs/en-GB/intlayer_with_vite+vanilla.md +20 -4
- package/docs/en-GB/intlayer_with_vite+vue.md +20 -4
- 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/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/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 +245 -13
- 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_lit.md +20 -8
- package/docs/es/intlayer_with_astro_preact.md +20 -8
- package/docs/es/intlayer_with_astro_react.md +20 -8
- package/docs/es/intlayer_with_astro_solid.md +20 -8
- package/docs/es/intlayer_with_astro_svelte.md +20 -8
- package/docs/es/intlayer_with_astro_vanilla.md +20 -8
- package/docs/es/intlayer_with_astro_vue.md +20 -8
- package/docs/es/intlayer_with_create_react_app.md +20 -4
- package/docs/es/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/es/intlayer_with_next-i18next.md +20 -4
- package/docs/es/intlayer_with_nextjs_14.md +20 -4
- package/docs/es/intlayer_with_nextjs_15.md +20 -4
- package/docs/es/intlayer_with_nextjs_16.md +20 -4
- package/docs/es/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/es/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/es/intlayer_with_nuxt.md +25 -7
- package/docs/es/intlayer_with_react_native+expo.md +20 -4
- package/docs/es/intlayer_with_react_router_v7.md +20 -4
- package/docs/es/intlayer_with_svelte_kit.md +40 -8
- package/docs/es/intlayer_with_tanstack+solid.md +20 -4
- package/docs/es/intlayer_with_tanstack.md +20 -4
- package/docs/es/intlayer_with_vite+lit.md +20 -4
- package/docs/es/intlayer_with_vite+preact.md +20 -4
- package/docs/es/intlayer_with_vite+react.md +20 -4
- package/docs/es/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/es/intlayer_with_vite+solid.md +20 -4
- package/docs/es/intlayer_with_vite+svelte.md +20 -4
- package/docs/es/intlayer_with_vite+vanilla.md +20 -4
- package/docs/es/intlayer_with_vite+vue.md +20 -4
- 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/intlayer/comparePaths.md +173 -0
- package/docs/es/packages/intlayer/exports.md +18 -13
- 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/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/plugins/sync-json.md +222 -49
- 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_lit.md +20 -8
- package/docs/fr/intlayer_with_astro_preact.md +20 -8
- package/docs/fr/intlayer_with_astro_react.md +20 -8
- package/docs/fr/intlayer_with_astro_solid.md +20 -8
- package/docs/fr/intlayer_with_astro_svelte.md +20 -8
- package/docs/fr/intlayer_with_astro_vanilla.md +20 -8
- package/docs/fr/intlayer_with_astro_vue.md +20 -8
- package/docs/fr/intlayer_with_create_react_app.md +20 -4
- package/docs/fr/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/fr/intlayer_with_next-i18next.md +20 -4
- package/docs/fr/intlayer_with_nextjs_14.md +20 -4
- package/docs/fr/intlayer_with_nextjs_15.md +20 -4
- package/docs/fr/intlayer_with_nextjs_16.md +20 -4
- package/docs/fr/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/fr/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/fr/intlayer_with_nuxt.md +20 -4
- package/docs/fr/intlayer_with_react_router_v7.md +20 -4
- package/docs/fr/intlayer_with_svelte_kit.md +40 -8
- package/docs/fr/intlayer_with_tanstack+solid.md +20 -4
- package/docs/fr/intlayer_with_tanstack.md +20 -4
- package/docs/fr/intlayer_with_vite+lit.md +20 -4
- package/docs/fr/intlayer_with_vite+preact.md +20 -4
- package/docs/fr/intlayer_with_vite+react.md +20 -4
- package/docs/fr/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/fr/intlayer_with_vite+solid.md +20 -4
- package/docs/fr/intlayer_with_vite+svelte.md +20 -4
- package/docs/fr/intlayer_with_vite+vanilla.md +20 -4
- package/docs/fr/intlayer_with_vite+vue.md +20 -4
- 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/intlayer/comparePaths.md +173 -0
- package/docs/fr/packages/intlayer/exports.md +18 -13
- package/docs/fr/packages/next-intlayer/exports.md +4 -0
- package/docs/fr/packages/next-intlayer/usePathname.md +136 -0
- 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/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 +244 -12
- 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_vue.md +20 -8
- package/docs/hi/intlayer_with_create_react_app.md +20 -4
- package/docs/hi/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/hi/intlayer_with_next-i18next.md +20 -4
- package/docs/hi/intlayer_with_nextjs_14.md +20 -4
- package/docs/hi/intlayer_with_nextjs_15.md +20 -4
- package/docs/hi/intlayer_with_nextjs_16.md +20 -4
- package/docs/hi/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/hi/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/hi/intlayer_with_nuxt.md +20 -4
- package/docs/hi/intlayer_with_react_router_v7.md +20 -4
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/hi/intlayer_with_svelte_kit.md +40 -8
- package/docs/hi/intlayer_with_tanstack+solid.md +20 -4
- package/docs/hi/intlayer_with_tanstack.md +20 -4
- package/docs/hi/intlayer_with_vite+lit.md +20 -4
- package/docs/hi/intlayer_with_vite+preact.md +20 -4
- package/docs/hi/intlayer_with_vite+react.md +20 -4
- package/docs/hi/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/hi/intlayer_with_vite+solid.md +20 -4
- package/docs/hi/intlayer_with_vite+svelte.md +20 -4
- package/docs/hi/intlayer_with_vite+vanilla.md +20 -4
- package/docs/hi/intlayer_with_vite+vue.md +20 -4
- 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/index.md +20 -4
- package/docs/hi/packages/next-intlayer/exports.md +4 -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/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/plugins/sync-json.md +221 -48
- 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_lit.md +20 -8
- package/docs/id/intlayer_with_astro_preact.md +20 -8
- package/docs/id/intlayer_with_astro_react.md +20 -8
- package/docs/id/intlayer_with_astro_solid.md +20 -8
- package/docs/id/intlayer_with_astro_svelte.md +20 -8
- package/docs/id/intlayer_with_astro_vanilla.md +20 -8
- package/docs/id/intlayer_with_astro_vue.md +20 -8
- 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 +20 -4
- package/docs/id/intlayer_with_nextjs_15.md +20 -4
- package/docs/id/intlayer_with_nextjs_16.md +20 -4
- package/docs/id/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/id/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/id/intlayer_with_nuxt.md +25 -7
- package/docs/id/intlayer_with_react_native+expo.md +20 -4
- package/docs/id/intlayer_with_react_router_v7.md +20 -4
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/id/intlayer_with_svelte_kit.md +40 -8
- package/docs/id/intlayer_with_tanstack+solid.md +20 -4
- package/docs/id/intlayer_with_tanstack.md +20 -4
- package/docs/id/intlayer_with_vite+lit.md +20 -4
- package/docs/id/intlayer_with_vite+preact.md +20 -4
- package/docs/id/intlayer_with_vite+react.md +20 -4
- package/docs/id/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/id/intlayer_with_vite+solid.md +20 -4
- package/docs/id/intlayer_with_vite+svelte.md +20 -4
- package/docs/id/intlayer_with_vite+vanilla.md +20 -4
- package/docs/id/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +222 -49
- 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_lit.md +20 -8
- package/docs/it/intlayer_with_astro_preact.md +20 -8
- package/docs/it/intlayer_with_astro_react.md +20 -8
- package/docs/it/intlayer_with_astro_solid.md +20 -8
- package/docs/it/intlayer_with_astro_svelte.md +20 -8
- package/docs/it/intlayer_with_astro_vanilla.md +20 -8
- package/docs/it/intlayer_with_astro_vue.md +20 -8
- package/docs/it/intlayer_with_create_react_app.md +20 -4
- package/docs/it/intlayer_with_express.md +20 -4
- 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 +20 -4
- package/docs/it/intlayer_with_nestjs.md +20 -4
- package/docs/it/intlayer_with_next-i18next.md +20 -4
- package/docs/it/intlayer_with_nextjs_14.md +20 -4
- package/docs/it/intlayer_with_nextjs_15.md +20 -4
- package/docs/it/intlayer_with_nextjs_16.md +20 -4
- package/docs/it/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/it/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/it/intlayer_with_nuxt.md +25 -7
- package/docs/it/intlayer_with_react_native+expo.md +20 -4
- package/docs/it/intlayer_with_react_router_v7.md +20 -4
- package/docs/it/intlayer_with_svelte_kit.md +40 -8
- package/docs/it/intlayer_with_tanstack+solid.md +20 -4
- package/docs/it/intlayer_with_tanstack.md +20 -4
- package/docs/it/intlayer_with_vite+lit.md +20 -4
- package/docs/it/intlayer_with_vite+preact.md +20 -4
- package/docs/it/intlayer_with_vite+react.md +20 -4
- package/docs/it/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/it/intlayer_with_vite+solid.md +20 -4
- package/docs/it/intlayer_with_vite+svelte.md +20 -4
- package/docs/it/intlayer_with_vite+vanilla.md +20 -4
- package/docs/it/intlayer_with_vite+vue.md +20 -4
- 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/next-intlayer/exports.md +4 -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/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/plugins/sync-json.md +224 -51
- package/docs/ja/intlayer_with_adonisjs.md +20 -4
- package/docs/ja/intlayer_with_analog.md +20 -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_lit.md +20 -8
- package/docs/ja/intlayer_with_astro_preact.md +20 -8
- package/docs/ja/intlayer_with_astro_react.md +20 -8
- package/docs/ja/intlayer_with_astro_solid.md +20 -8
- package/docs/ja/intlayer_with_astro_svelte.md +20 -8
- package/docs/ja/intlayer_with_astro_vanilla.md +20 -8
- package/docs/ja/intlayer_with_astro_vue.md +20 -8
- package/docs/ja/intlayer_with_create_react_app.md +20 -4
- package/docs/ja/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/ja/intlayer_with_next-i18next.md +20 -4
- package/docs/ja/intlayer_with_nextjs_14.md +20 -4
- package/docs/ja/intlayer_with_nextjs_15.md +20 -4
- package/docs/ja/intlayer_with_nextjs_16.md +20 -4
- package/docs/ja/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/ja/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/ja/intlayer_with_nuxt.md +25 -7
- package/docs/ja/intlayer_with_tanstack+solid.md +20 -4
- package/docs/ja/intlayer_with_tanstack.md +20 -4
- package/docs/ja/intlayer_with_vite+lit.md +20 -4
- package/docs/ja/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/ja/intlayer_with_vite+solid.md +20 -4
- package/docs/ja/intlayer_with_vite+svelte.md +20 -4
- package/docs/ja/intlayer_with_vite+vanilla.md +20 -4
- package/docs/ja/intlayer_with_vite+vue.md +20 -4
- 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/intlayer/comparePaths.md +173 -0
- package/docs/ja/packages/intlayer/exports.md +5 -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/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/plugins/sync-json.md +222 -49
- package/docs/ko/intlayer_with_adonisjs.md +20 -4
- package/docs/ko/intlayer_with_analog.md +42 -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 +28 -8
- package/docs/ko/intlayer_with_astro_lit.md +31 -9
- package/docs/ko/intlayer_with_astro_preact.md +31 -9
- package/docs/ko/intlayer_with_astro_react.md +31 -9
- package/docs/ko/intlayer_with_astro_solid.md +31 -9
- package/docs/ko/intlayer_with_astro_svelte.md +31 -9
- package/docs/ko/intlayer_with_astro_vanilla.md +28 -8
- package/docs/ko/intlayer_with_astro_vue.md +51 -17
- package/docs/ko/intlayer_with_create_react_app.md +39 -9
- package/docs/ko/intlayer_with_express.md +20 -4
- 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 +20 -4
- package/docs/ko/intlayer_with_nestjs.md +20 -4
- package/docs/ko/intlayer_with_next-i18next.md +20 -4
- package/docs/ko/intlayer_with_nextjs_14.md +40 -12
- package/docs/ko/intlayer_with_nextjs_15.md +63 -17
- package/docs/ko/intlayer_with_nextjs_16.md +59 -17
- package/docs/ko/intlayer_with_nextjs_compiler.md +55 -13
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +50 -14
- package/docs/ko/intlayer_with_nextjs_page_router.md +57 -15
- package/docs/ko/intlayer_with_nuxt.md +54 -14
- package/docs/ko/intlayer_with_react_native+expo.md +20 -4
- package/docs/ko/intlayer_with_react_router_v7.md +64 -16
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +64 -16
- package/docs/ko/intlayer_with_storybook.md +28 -8
- package/docs/ko/intlayer_with_svelte_kit.md +96 -24
- package/docs/ko/intlayer_with_tanstack+solid.md +78 -22
- package/docs/ko/intlayer_with_tanstack.md +78 -22
- package/docs/ko/intlayer_with_vanilla.md +31 -9
- package/docs/ko/intlayer_with_vite+lit.md +60 -16
- package/docs/ko/intlayer_with_vite+preact.md +57 -15
- package/docs/ko/intlayer_with_vite+react.md +10 -2
- package/docs/ko/intlayer_with_vite+react_compiler.md +42 -10
- package/docs/ko/intlayer_with_vite+solid.md +57 -15
- package/docs/ko/intlayer_with_vite+svelte.md +53 -15
- package/docs/ko/intlayer_with_vite+vanilla.md +63 -17
- package/docs/ko/intlayer_with_vite+vue.md +57 -15
- 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/intlayer/comparePaths.md +173 -0
- package/docs/ko/packages/intlayer/exports.md +5 -0
- package/docs/ko/packages/next-intlayer/exports.md +4 -0
- 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/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/plugins/sync-json.md +223 -50
- 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/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_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 +20 -4
- package/docs/pl/intlayer_with_react_router_v7.md +20 -4
- package/docs/pl/intlayer_with_svelte_kit.md +40 -8
- 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 +20 -4
- package/docs/pl/intlayer_with_vite+react.md +20 -4
- package/docs/pl/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/pl/intlayer_with_vite+solid.md +20 -4
- package/docs/pl/intlayer_with_vite+svelte.md +20 -4
- package/docs/pl/intlayer_with_vite+vanilla.md +20 -4
- package/docs/pl/intlayer_with_vite+vue.md +20 -4
- 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/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/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 +246 -14
- package/docs/pt/intlayer_with_adonisjs.md +20 -4
- package/docs/pt/intlayer_with_analog.md +20 -4
- package/docs/pt/intlayer_with_angular_19.md +20 -4
- package/docs/pt/intlayer_with_angular_21.md +20 -4
- package/docs/pt/intlayer_with_astro_lit.md +20 -8
- package/docs/pt/intlayer_with_astro_preact.md +20 -8
- package/docs/pt/intlayer_with_astro_react.md +20 -8
- package/docs/pt/intlayer_with_astro_solid.md +20 -8
- package/docs/pt/intlayer_with_astro_svelte.md +20 -8
- package/docs/pt/intlayer_with_astro_vanilla.md +20 -8
- package/docs/pt/intlayer_with_astro_vue.md +20 -8
- package/docs/pt/intlayer_with_create_react_app.md +20 -4
- package/docs/pt/intlayer_with_express.md +20 -4
- 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 +20 -4
- package/docs/pt/intlayer_with_nestjs.md +20 -4
- package/docs/pt/intlayer_with_next-i18next.md +20 -4
- package/docs/pt/intlayer_with_nextjs_14.md +20 -4
- package/docs/pt/intlayer_with_nextjs_15.md +20 -4
- package/docs/pt/intlayer_with_nextjs_16.md +20 -4
- package/docs/pt/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/pt/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/pt/intlayer_with_nuxt.md +25 -7
- package/docs/pt/intlayer_with_react_native+expo.md +20 -4
- package/docs/pt/intlayer_with_react_router_v7.md +20 -4
- package/docs/pt/intlayer_with_svelte_kit.md +40 -8
- package/docs/pt/intlayer_with_tanstack+solid.md +20 -4
- package/docs/pt/intlayer_with_tanstack.md +20 -4
- package/docs/pt/intlayer_with_vite+lit.md +20 -4
- package/docs/pt/intlayer_with_vite+preact.md +20 -4
- package/docs/pt/intlayer_with_vite+react.md +20 -4
- package/docs/pt/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/pt/intlayer_with_vite+solid.md +20 -4
- package/docs/pt/intlayer_with_vite+svelte.md +20 -4
- package/docs/pt/intlayer_with_vite+vanilla.md +20 -4
- package/docs/pt/intlayer_with_vite+vue.md +20 -4
- 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/intlayer/comparePaths.md +173 -0
- package/docs/pt/packages/intlayer/exports.md +5 -0
- package/docs/pt/packages/next-intlayer/exports.md +4 -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/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-json.md +222 -49
- 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_vue.md +20 -8
- package/docs/ru/intlayer_with_create_react_app.md +20 -4
- package/docs/ru/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/ru/intlayer_with_next-i18next.md +20 -4
- package/docs/ru/intlayer_with_nextjs_14.md +20 -4
- package/docs/ru/intlayer_with_nextjs_15.md +20 -4
- package/docs/ru/intlayer_with_nextjs_16.md +20 -4
- package/docs/ru/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/ru/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/ru/intlayer_with_nuxt.md +25 -7
- package/docs/ru/intlayer_with_react_native+expo.md +20 -4
- package/docs/ru/intlayer_with_react_router_v7.md +20 -4
- package/docs/ru/intlayer_with_svelte_kit.md +40 -8
- package/docs/ru/intlayer_with_tanstack+solid.md +20 -4
- package/docs/ru/intlayer_with_tanstack.md +20 -4
- package/docs/ru/intlayer_with_vite+lit.md +20 -4
- package/docs/ru/intlayer_with_vite+preact.md +20 -4
- package/docs/ru/intlayer_with_vite+react.md +20 -4
- package/docs/ru/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/ru/intlayer_with_vite+solid.md +20 -4
- package/docs/ru/intlayer_with_vite+svelte.md +20 -4
- package/docs/ru/intlayer_with_vite+vanilla.md +20 -4
- package/docs/ru/intlayer_with_vite+vue.md +20 -4
- 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/next-intlayer/exports.md +4 -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/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/plugins/sync-json.md +269 -95
- package/docs/tr/intlayer_with_adonisjs.md +20 -4
- package/docs/tr/intlayer_with_analog.md +20 -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_lit.md +20 -8
- package/docs/tr/intlayer_with_astro_preact.md +20 -8
- package/docs/tr/intlayer_with_astro_react.md +20 -8
- package/docs/tr/intlayer_with_astro_solid.md +20 -8
- package/docs/tr/intlayer_with_astro_svelte.md +20 -8
- package/docs/tr/intlayer_with_astro_vanilla.md +20 -8
- package/docs/tr/intlayer_with_astro_vue.md +20 -8
- package/docs/tr/intlayer_with_create_react_app.md +20 -4
- package/docs/tr/intlayer_with_express.md +20 -4
- 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 -4
- package/docs/tr/intlayer_with_next-i18next.md +20 -4
- package/docs/tr/intlayer_with_nextjs_14.md +20 -4
- package/docs/tr/intlayer_with_nextjs_15.md +20 -4
- package/docs/tr/intlayer_with_nextjs_16.md +20 -4
- package/docs/tr/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/tr/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/tr/intlayer_with_nuxt.md +25 -7
- package/docs/tr/intlayer_with_react_native+expo.md +40 -8
- package/docs/tr/intlayer_with_react_router_v7.md +20 -4
- package/docs/tr/intlayer_with_svelte_kit.md +40 -8
- package/docs/tr/intlayer_with_tanstack+solid.md +20 -4
- package/docs/tr/intlayer_with_tanstack.md +20 -4
- package/docs/tr/intlayer_with_vite+lit.md +20 -4
- package/docs/tr/intlayer_with_vite+preact.md +20 -4
- package/docs/tr/intlayer_with_vite+react.md +20 -4
- package/docs/tr/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/tr/intlayer_with_vite+solid.md +20 -4
- package/docs/tr/intlayer_with_vite+svelte.md +20 -4
- package/docs/tr/intlayer_with_vite+vanilla.md +20 -4
- package/docs/tr/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +222 -50
- package/docs/uk/intlayer_with_adonisjs.md +20 -4
- package/docs/uk/intlayer_with_analog.md +20 -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_lit.md +20 -8
- package/docs/uk/intlayer_with_astro_preact.md +20 -8
- package/docs/uk/intlayer_with_astro_react.md +20 -8
- package/docs/uk/intlayer_with_astro_solid.md +20 -8
- package/docs/uk/intlayer_with_astro_svelte.md +20 -8
- package/docs/uk/intlayer_with_astro_vanilla.md +20 -8
- package/docs/uk/intlayer_with_astro_vue.md +20 -8
- 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 +20 -4
- package/docs/uk/intlayer_with_nextjs_15.md +20 -4
- package/docs/uk/intlayer_with_nextjs_16.md +20 -4
- package/docs/uk/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/uk/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/uk/intlayer_with_nuxt.md +20 -4
- package/docs/uk/intlayer_with_react_native+expo.md +20 -4
- package/docs/uk/intlayer_with_react_router_v7.md +20 -4
- package/docs/uk/intlayer_with_svelte_kit.md +20 -4
- package/docs/uk/intlayer_with_tanstack+solid.md +20 -4
- package/docs/uk/intlayer_with_tanstack.md +20 -4
- package/docs/uk/intlayer_with_vite+lit.md +20 -4
- package/docs/uk/intlayer_with_vite+preact.md +20 -4
- package/docs/uk/intlayer_with_vite+react.md +20 -4
- package/docs/uk/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/uk/intlayer_with_vite+solid.md +20 -4
- package/docs/uk/intlayer_with_vite+svelte.md +20 -4
- package/docs/uk/intlayer_with_vite+vanilla.md +20 -4
- package/docs/uk/intlayer_with_vite+vue.md +20 -4
- 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/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/plugins/sync-json.md +56 -2
- 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/intlayer_with_adonisjs.md +20 -4
- package/docs/vi/intlayer_with_analog.md +20 -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_lit.md +20 -8
- package/docs/vi/intlayer_with_astro_preact.md +20 -8
- package/docs/vi/intlayer_with_astro_react.md +20 -8
- package/docs/vi/intlayer_with_astro_solid.md +20 -8
- package/docs/vi/intlayer_with_astro_svelte.md +20 -8
- package/docs/vi/intlayer_with_astro_vanilla.md +20 -8
- package/docs/vi/intlayer_with_astro_vue.md +20 -8
- 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 +20 -4
- package/docs/vi/intlayer_with_nextjs_15.md +20 -4
- package/docs/vi/intlayer_with_nextjs_16.md +20 -4
- package/docs/vi/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/vi/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/vi/intlayer_with_nuxt.md +20 -4
- package/docs/vi/intlayer_with_react_native+expo.md +20 -4
- package/docs/vi/intlayer_with_react_router_v7.md +20 -4
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/vi/intlayer_with_svelte_kit.md +40 -8
- package/docs/vi/intlayer_with_tanstack+solid.md +20 -4
- package/docs/vi/intlayer_with_tanstack.md +20 -4
- package/docs/vi/intlayer_with_vite+lit.md +20 -4
- package/docs/vi/intlayer_with_vite+preact.md +20 -4
- package/docs/vi/intlayer_with_vite+react.md +20 -4
- package/docs/vi/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/vi/intlayer_with_vite+solid.md +20 -4
- package/docs/vi/intlayer_with_vite+svelte.md +20 -4
- package/docs/vi/intlayer_with_vite+vanilla.md +20 -4
- package/docs/vi/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +230 -57
- package/docs/zh/intlayer_with_adonisjs.md +20 -4
- package/docs/zh/intlayer_with_analog.md +20 -4
- package/docs/zh/intlayer_with_angular_19.md +20 -4
- package/docs/zh/intlayer_with_angular_21.md +20 -4
- package/docs/zh/intlayer_with_astro_lit.md +20 -8
- package/docs/zh/intlayer_with_astro_preact.md +20 -8
- package/docs/zh/intlayer_with_astro_react.md +20 -8
- package/docs/zh/intlayer_with_astro_solid.md +20 -8
- package/docs/zh/intlayer_with_astro_svelte.md +20 -8
- package/docs/zh/intlayer_with_astro_vanilla.md +20 -8
- package/docs/zh/intlayer_with_astro_vue.md +20 -8
- package/docs/zh/intlayer_with_create_react_app.md +20 -4
- package/docs/zh/intlayer_with_express.md +20 -4
- 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 +20 -4
- package/docs/zh/intlayer_with_nestjs.md +20 -4
- package/docs/zh/intlayer_with_next-i18next.md +20 -4
- package/docs/zh/intlayer_with_nextjs_14.md +20 -4
- package/docs/zh/intlayer_with_nextjs_15.md +20 -4
- package/docs/zh/intlayer_with_nextjs_16.md +20 -4
- package/docs/zh/intlayer_with_nextjs_compiler.md +20 -4
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +20 -4
- package/docs/zh/intlayer_with_nextjs_page_router.md +20 -4
- package/docs/zh/intlayer_with_nuxt.md +25 -7
- package/docs/zh/intlayer_with_react_native+expo.md +20 -4
- package/docs/zh/intlayer_with_react_router_v7.md +20 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +20 -4
- package/docs/zh/intlayer_with_svelte_kit.md +40 -8
- package/docs/zh/intlayer_with_tanstack+solid.md +20 -4
- package/docs/zh/intlayer_with_tanstack.md +20 -4
- package/docs/zh/intlayer_with_vite+lit.md +20 -4
- package/docs/zh/intlayer_with_vite+preact.md +20 -4
- package/docs/zh/intlayer_with_vite+react_compiler.md +20 -4
- package/docs/zh/intlayer_with_vite+solid.md +20 -4
- package/docs/zh/intlayer_with_vite+svelte.md +20 -4
- package/docs/zh/intlayer_with_vite+vanilla.md +20 -4
- package/docs/zh/intlayer_with_vite+vue.md +20 -4
- 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/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/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/plugins/sync-json.md +223 -50
- package/docs/zh-TW/intlayer_with_angular_21.md +20 -4
- package/docs/zh-TW/packages/intlayer/comparePaths.md +173 -0
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +160 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-13
|
|
3
|
-
updatedAt:
|
|
4
|
-
title: Плагин
|
|
5
|
-
description: Синхронизируйте словари Intlayer
|
|
3
|
+
updatedAt: 2026-06-21
|
|
4
|
+
title: Плагин Sync JSON
|
|
5
|
+
description: Синхронизируйте словари Intlayer со сторонними i18n JSON-файлами (i18next, next-intl, react-intl, vue-i18n и другими). Сохраняйте существующую i18n структуру, используя Intlayer для управления, перевода и тестирования ваших сообщений.
|
|
6
6
|
keywords:
|
|
7
7
|
- Intlayer
|
|
8
|
-
-
|
|
8
|
+
- Sync JSON
|
|
9
9
|
- i18next
|
|
10
10
|
- next-intl
|
|
11
11
|
- react-intl
|
|
@@ -17,6 +17,7 @@ keywords:
|
|
|
17
17
|
- Solid-i18next
|
|
18
18
|
- svelte-i18n
|
|
19
19
|
- i18n
|
|
20
|
+
- translations
|
|
20
21
|
- переводы
|
|
21
22
|
slugs:
|
|
22
23
|
- doc
|
|
@@ -24,35 +25,38 @@ slugs:
|
|
|
24
25
|
- sync-json
|
|
25
26
|
youtubeVideo: https://www.youtube.com/watch?v=MpGMxniDHNg
|
|
26
27
|
history:
|
|
28
|
+
- version: 9.0.0
|
|
29
|
+
date: 2026-06-21
|
|
30
|
+
changes: "Добавлена опция splitKeys (один словарь на каждый ключ пространства имен верхнего уровня) для однофайловых структур next-intl / react-intl"
|
|
27
31
|
- version: 7.5.0
|
|
28
32
|
date: 2025-12-13
|
|
29
33
|
changes: "Добавлена поддержка форматов ICU и i18next"
|
|
30
34
|
- version: 6.1.6
|
|
31
35
|
date: 2025-10-05
|
|
32
|
-
changes: "Начальная документация плагина
|
|
36
|
+
changes: "Начальная документация плагина Sync JSON"
|
|
33
37
|
author: aymericzip
|
|
34
38
|
---
|
|
35
39
|
|
|
36
|
-
#
|
|
40
|
+
# Sync JSON (i18n bridges) — Синхронизация JSON с поддержкой ICU / i18next
|
|
37
41
|
|
|
38
|
-
<iframe title="Как
|
|
42
|
+
<iframe title="Как синхронизировать ваши JSON-переводы с помощью Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&origin=https://intlayer.org&controls=0&rel=1"/>
|
|
39
43
|
|
|
40
|
-
Используйте Intlayer
|
|
44
|
+
Используйте Intlayer как дополнение к вашему существующему стеку i18n. Этот плагин синхронизирует ваши сообщения JSON со словарями Intlayer, чтобы вы могли:
|
|
41
45
|
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
46
|
+
- Сохраняйте поддержку i18next, next‑intl, react‑intl, vue‑i18n, next‑translate, nuxt‑i18n, Solid‑i18next, svelte‑i18n и других.
|
|
47
|
+
- Управляйте и переводите свои сообщения с помощью Intlayer (CLI, CI, провайдеры, CMS) без рефакторинга вашего приложения.
|
|
48
|
+
- Создавайте руководства и SEO-контент для каждой экосистемы, предлагая Intlayer в качестве слоя управления JSON.
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
Заметки и текущая область применения:
|
|
47
51
|
|
|
48
|
-
-
|
|
49
|
-
- Пока нет поддержки вставок, множественного числа/ICU или продвинутых функций
|
|
50
|
-
- Визуальный редактор пока не
|
|
52
|
+
- Экспорт в CMS работает для переводов и обычного текста.
|
|
53
|
+
- Пока нет поддержки вставок, множественного числа/ICU или продвинутых функций рантайма других библиотек.
|
|
54
|
+
- Визуальный редактор пока не поддерживает вывод i18n сторонних библиотек.
|
|
51
55
|
|
|
52
56
|
### Когда использовать этот плагин
|
|
53
57
|
|
|
54
58
|
- Вы уже используете библиотеку i18n и храните сообщения в JSON-файлах.
|
|
55
|
-
- Вы хотите использовать
|
|
59
|
+
- Вы хотите использовать автозаполнение с помощью ИИ, тесты в CI и content ops без изменения вашего рантайма рендеринга.
|
|
56
60
|
|
|
57
61
|
## Установка
|
|
58
62
|
|
|
@@ -62,9 +66,65 @@ pnpm add -D @intlayer/sync-json-plugin
|
|
|
62
66
|
npm i -D @intlayer/sync-json-plugin
|
|
63
67
|
```
|
|
64
68
|
|
|
65
|
-
##
|
|
69
|
+
## Плагины
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
Этот пакет предоставляет два плагина:
|
|
72
|
+
|
|
73
|
+
- `loadJSON`: Загрузка JSON-файлов в словари Intlayer.
|
|
74
|
+
- Этот плагин используется для загрузки JSON-файлов из источника и их загрузки в словари Intlayer. Он может сканировать всю codebase и искать определенные JSON-файлы.
|
|
75
|
+
Этот плагин можно использовать
|
|
76
|
+
- если вы используете библиотеку i18n, которая требует определенного расположения для загрузки ваших JSON (например, `next-intl`, `i18next`, `react-intl`, `vue-i18n` и т. д.), но вы хотите размещать объявления контента там, где вам удобно в вашей codebase.
|
|
77
|
+
- Его также можно использовать, если вы хотите получать сообщения из удаленного источника (например, CMS, API и т. д.) и сохранять их в JSON-файлах.
|
|
78
|
+
|
|
79
|
+
> Внутри этот плагин будет сканировать всю кодовую базу (codebase), искать определенные JSON-файлы и загружать их в словари Intlayer.
|
|
80
|
+
> Обратите внимание, что этот плагин не будет записывать результат и переводы обратно в JSON-файлы.
|
|
81
|
+
|
|
82
|
+
- `syncJSON`: Синхронизация JSON-файлов со словарями Intlayer.
|
|
83
|
+
- Этот плагин используется для синхронизации JSON-файлов со словарями Intlayer. Он может сканировать указанное местоположение и загружать JSON, соответствующие шаблону для определенных JSON-файлов. Этот плагин полезен, если вы хотите получить преимущества Intlayer, используя при этом другую библиотеку i18n.
|
|
84
|
+
|
|
85
|
+
## Использование обоих плагинов
|
|
86
|
+
|
|
87
|
+
```ts fileName="intlayer.config.ts"
|
|
88
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
89
|
+
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
90
|
+
|
|
91
|
+
const config: IntlayerConfig = {
|
|
92
|
+
internationalization: {
|
|
93
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
94
|
+
defaultLocale: Locales.ENGLISH,
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
// Поддерживайте ваши текущие JSON-файлы в синхронизации со словарями Intlayer
|
|
98
|
+
plugins: [
|
|
99
|
+
/**
|
|
100
|
+
* Загрузит все JSON-файлы в src, которые соответствуют шаблону {key}.i18n json
|
|
101
|
+
*/
|
|
102
|
+
loadJSON({
|
|
103
|
+
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
104
|
+
locale: Locales.ENGLISH,
|
|
105
|
+
priority: 1, // Гарантирует, что эти JSON-файлы имеют приоритет над файлами в `./locales/en/${key}.json`
|
|
106
|
+
format: "intlayer", // Формат содержимого JSON
|
|
107
|
+
}),
|
|
108
|
+
/**
|
|
109
|
+
* Загрузит, а также запишет результат и переводы обратно в JSON-файлы в директории locales
|
|
110
|
+
*/
|
|
111
|
+
syncJSON({
|
|
112
|
+
format: "i18next",
|
|
113
|
+
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
114
|
+
priority: 0,
|
|
115
|
+
format: "i18next",
|
|
116
|
+
}),
|
|
117
|
+
],
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export default config;
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## `syncJSON` plugin
|
|
124
|
+
|
|
125
|
+
### Быстрый старт
|
|
126
|
+
|
|
127
|
+
Добавьте плагин в ваш `intlayer.config.ts` и укажите ему на вашу существующую структуру JSON.
|
|
68
128
|
|
|
69
129
|
```ts fileName="intlayer.config.ts"
|
|
70
130
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
@@ -76,11 +136,12 @@ const config: IntlayerConfig = {
|
|
|
76
136
|
defaultLocale: Locales.ENGLISH,
|
|
77
137
|
},
|
|
78
138
|
|
|
79
|
-
//
|
|
139
|
+
// Поддерживайте ваши текущие JSON-файлы в синхронизации со словарями Intlayer
|
|
80
140
|
plugins: [
|
|
81
141
|
syncJSON({
|
|
82
|
-
// Макет
|
|
142
|
+
// Макет для каждой локали, для каждого пространства имен (например, next-intl, i18next с пространствами имен)
|
|
83
143
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
144
|
+
format: "icu",
|
|
84
145
|
}),
|
|
85
146
|
],
|
|
86
147
|
};
|
|
@@ -88,65 +149,111 @@ const config: IntlayerConfig = {
|
|
|
88
149
|
export default config;
|
|
89
150
|
```
|
|
90
151
|
|
|
91
|
-
Альтернатива: один файл на локаль (
|
|
152
|
+
Альтернатива: один файл на локаль (часто используется в настройках i18next/react-intl):
|
|
92
153
|
|
|
93
154
|
```ts fileName="intlayer.config.ts"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
155
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
156
|
+
import { syncJSON } from "@intlayer/sync-json-plugin";
|
|
157
|
+
|
|
158
|
+
const config: IntlayerConfig = {
|
|
159
|
+
internationalization: {
|
|
160
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
161
|
+
defaultLocale: Locales.ENGLISH,
|
|
162
|
+
},
|
|
163
|
+
plugins: [
|
|
164
|
+
syncJSON({
|
|
165
|
+
format: "i18next",
|
|
166
|
+
source: ({ locale }) => `./locales/${locale}.json`,
|
|
167
|
+
format: "i18next",
|
|
168
|
+
}),
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export default config;
|
|
99
173
|
```
|
|
100
174
|
|
|
101
|
-
|
|
175
|
+
#### Как это работает
|
|
102
176
|
|
|
103
|
-
- Чтение: плагин обнаруживает JSON-файлы
|
|
104
|
-
- Запись: после
|
|
177
|
+
- Чтение: плагин обнаруживает JSON-файлы из вашего `source` билдера и загружает их как словари Intlayer.
|
|
178
|
+
- Запись: после сборки и заполнения он записывает локализованный JSON обратно по тем же путям (с конечной новой строкой, чтобы избежать проблем с форматированием).
|
|
105
179
|
- Автозаполнение: плагин объявляет путь `autoFill` для каждого словаря. Запуск `intlayer fill` по умолчанию обновляет только отсутствующие переводы в ваших JSON-файлах.
|
|
106
180
|
|
|
107
181
|
API:
|
|
108
182
|
|
|
109
183
|
```ts
|
|
110
184
|
syncJSON({
|
|
111
|
-
source: ({ key, locale }) => string, //
|
|
112
|
-
location?: string, //
|
|
113
|
-
priority?: number, //
|
|
114
|
-
format?: 'intlayer' | 'icu' | 'i18next', //
|
|
185
|
+
source: ({ key, locale }) => string, // required
|
|
186
|
+
location?: string, // optional label, default: "plugin"
|
|
187
|
+
priority?: number, // optional priority for conflict resolution, default: 0
|
|
188
|
+
format?: 'intlayer' | 'icu' | 'i18next', // optional formatter, used for intlayer runtime compatibility
|
|
189
|
+
splitKeys?: boolean, // необязательно, разделяет один файл на один словарь для каждого ключа верхнего уровня (автоматическое определение)
|
|
115
190
|
});
|
|
116
191
|
```
|
|
117
192
|
|
|
118
193
|
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
119
194
|
|
|
120
|
-
Указывает форматтер, который будет использоваться для содержимого словаря при синхронизации JSON-файлов. Это позволяет использовать различные синтаксисы форматирования сообщений, совместимые с
|
|
195
|
+
Указывает форматтер, который будет использоваться для содержимого словаря при синхронизации JSON-файлов. Это позволяет использовать различные синтаксисы форматирования сообщений, совместимые с рантаймом intlayer.
|
|
121
196
|
|
|
122
197
|
- `undefined`: Форматтер не будет использоваться, содержимое JSON будет использоваться как есть.
|
|
123
|
-
- `'intlayer'`: Форматтер Intlayer по умолчанию (
|
|
124
|
-
- `'icu'`: Использует форматирование сообщений ICU (совместимо с библиотеками,
|
|
198
|
+
- `'intlayer'`: Форматтер Intlayer по умолчанию (default).
|
|
199
|
+
- `'icu'`: Использует форматирование сообщений ICU (совместимо с такими библиотеками, как react-intl, vue-i18n).
|
|
125
200
|
- `'i18next'`: Использует форматирование сообщений i18next (совместимо с i18next, next-i18next, Solid-i18next).
|
|
126
201
|
|
|
127
|
-
> Обратите внимание, что использование форматтера преобразует
|
|
128
|
-
> Если вы не используете
|
|
202
|
+
> Обратите внимание, что использование форматтера преобразует содержимое вашего JSON на входе и выходе. Для сложных правил JSON, таких как множественное число ICU, парсинг может не гарантировать отображение один к одному между входом и выходом.
|
|
203
|
+
> Если вы не используете рантайм Intlayer, вы можете предпочесть не устанавливать форматтер.
|
|
129
204
|
|
|
130
205
|
**Пример:**
|
|
131
206
|
|
|
132
207
|
```ts
|
|
133
208
|
syncJSON({
|
|
134
209
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
135
|
-
format: "i18next", //
|
|
210
|
+
format: "i18next", // Use i18next formatting for compatibility
|
|
211
|
+
}),
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### `splitKeys` (boolean)
|
|
215
|
+
|
|
216
|
+
Определяет, должен ли один JSON-файл, **ключи первого уровня которого являются пространствами имен**, становиться одним словарем на каждый ключ верхнего уровня, вместо одного словаря, содержащего весь файл.
|
|
217
|
+
|
|
218
|
+
Это соответствует модели пространств имен таких библиотек, как `next-intl` и `react-intl`, где один файл `messages/{locale}.json` группирует несколько пространств имен по своим ключам первого уровня, каждое из которых адресуется независимо (например, `useTranslations('Hero')` разрешается в словарь `Hero`).
|
|
219
|
+
|
|
220
|
+
- `undefined` (по умолчанию): **автоматическое определение** — файл разделяется, когда шаблон `source` не содержит сегмента `{key}` (один файл содержит все пространства имен), и сохраняется как один словарь в противном случае (один файл на ключ).
|
|
221
|
+
- `true`: всегда разделять каждый ключ верхнего уровня на свой собственный словарь.
|
|
222
|
+
- `false`: никогда не разделять; весь файл становится одним словарем.
|
|
223
|
+
|
|
224
|
+
Пример одного файла `messages/{locale}.json`:
|
|
225
|
+
|
|
226
|
+
```json fileName="messages/en.json"
|
|
227
|
+
{
|
|
228
|
+
"Hero": { "title": "Full-stack developer" },
|
|
229
|
+
"Nav": { "work": "Work", "about": "About" },
|
|
230
|
+
"About": { "lead": "I build apps end to end." }
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
```ts fileName="intlayer.config.ts"
|
|
235
|
+
syncJSON({
|
|
236
|
+
format: "icu",
|
|
237
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
238
|
+
// splitKeys: true, // подразумевается, потому что шаблон не содержит сегмента `{key}`
|
|
136
239
|
}),
|
|
137
240
|
```
|
|
138
241
|
|
|
139
|
-
|
|
242
|
+
Это создает три словаря — `Hero`, `Nav` и `About` — так что `useTranslations('Hero')` (next-intl) разрешается правильно. При обратной записи все пространства имен снова собираются в тот же файл для каждой локали.
|
|
243
|
+
|
|
244
|
+
> Когда вы сохраняете явный сегмент `{key}` в вашем `source` (например, `./locales/${locale}/${key}.json`), каждый файл уже является одним пространством имен, поэтому разделение по умолчанию отключено.
|
|
140
245
|
|
|
141
|
-
|
|
246
|
+
### Несколько источников JSON и приоритет
|
|
142
247
|
|
|
143
|
-
|
|
248
|
+
Вы можете добавить несколько плагинов `syncJSON` для синхронизации различных источников JSON. Это полезно, когда у вас есть несколько библиотек i18n или различные структуры JSON в вашем проекте.
|
|
144
249
|
|
|
145
|
-
|
|
250
|
+
#### Система приоритетов
|
|
146
251
|
|
|
147
|
-
|
|
252
|
+
Когда несколько плагинов нацелены на один и тот же ключ словаря, параметр `priority` определяет, какой плагин имеет приоритет:
|
|
253
|
+
|
|
254
|
+
- Более высокие номера приоритета преобладают над более низкими
|
|
148
255
|
- Приоритет по умолчанию для файлов `.content` равен `0`
|
|
149
|
-
- Приоритет по умолчанию для
|
|
256
|
+
- Приоритет по умолчанию для плагинов равен `0`
|
|
150
257
|
- Плагины с одинаковым приоритетом обрабатываются в порядке их появления в конфигурации
|
|
151
258
|
|
|
152
259
|
```ts fileName="intlayer.config.ts"
|
|
@@ -160,7 +267,7 @@ const config: IntlayerConfig = {
|
|
|
160
267
|
},
|
|
161
268
|
|
|
162
269
|
plugins: [
|
|
163
|
-
//
|
|
270
|
+
// Primary JSON source (highest priority)
|
|
164
271
|
syncJSON({
|
|
165
272
|
format: "i18next",
|
|
166
273
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
@@ -168,7 +275,7 @@ const config: IntlayerConfig = {
|
|
|
168
275
|
priority: 10,
|
|
169
276
|
}),
|
|
170
277
|
|
|
171
|
-
//
|
|
278
|
+
// Fallback JSON source (lower priority)
|
|
172
279
|
syncJSON({
|
|
173
280
|
format: "i18next",
|
|
174
281
|
source: ({ locale }) => `./fallback-locales/${locale}.json`,
|
|
@@ -176,7 +283,7 @@ const config: IntlayerConfig = {
|
|
|
176
283
|
priority: 5,
|
|
177
284
|
}),
|
|
178
285
|
|
|
179
|
-
//
|
|
286
|
+
// Legacy JSON source (lowest priority)
|
|
180
287
|
syncJSON({
|
|
181
288
|
format: "i18next",
|
|
182
289
|
source: ({ locale }) => `/my/other/app/legacy/${locale}/messages.json`,
|
|
@@ -189,93 +296,160 @@ const config: IntlayerConfig = {
|
|
|
189
296
|
export default config;
|
|
190
297
|
```
|
|
191
298
|
|
|
192
|
-
|
|
299
|
+
## Load JSON plugin
|
|
300
|
+
|
|
301
|
+
### Быстрый старт
|
|
193
302
|
|
|
194
|
-
|
|
303
|
+
Добавьте плагин в ваш `intlayer.config.ts`, чтобы импортировать существующие JSON-файлы как словари Intlayer. Этот плагин предназначен только для чтения (без записи на диск):
|
|
195
304
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
305
|
+
```ts fileName="intlayer.config.ts"
|
|
306
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
307
|
+
import { loadJSON } from "@intlayer/sync-json-plugin";
|
|
199
308
|
|
|
200
|
-
|
|
309
|
+
const config: IntlayerConfig = {
|
|
310
|
+
internationalization: {
|
|
311
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
312
|
+
defaultLocale: Locales.ENGLISH,
|
|
313
|
+
},
|
|
201
314
|
|
|
202
|
-
|
|
315
|
+
plugins: [
|
|
316
|
+
// Импорт JSON-сообщений, расположенных в любом месте вашего исходного дерева
|
|
317
|
+
loadJSON({
|
|
318
|
+
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
319
|
+
// Загрузка одной локали для каждого экземпляра плагина (по умолчанию используется defaultLocale из конфигурации)
|
|
320
|
+
locale: Locales.ENGLISH,
|
|
321
|
+
priority: 0,
|
|
322
|
+
}),
|
|
323
|
+
],
|
|
324
|
+
};
|
|
203
325
|
|
|
204
|
-
|
|
326
|
+
export default config;
|
|
327
|
+
```
|
|
205
328
|
|
|
206
|
-
|
|
329
|
+
Альтернатива: макет для каждой локали, только для чтения (загружается только выбранная локаль):
|
|
207
330
|
|
|
208
331
|
```ts fileName="intlayer.config.ts"
|
|
209
|
-
import {
|
|
332
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
333
|
+
import { loadJSON } from "@intlayer/sync-json-plugin";
|
|
210
334
|
|
|
211
|
-
|
|
335
|
+
const config: IntlayerConfig = {
|
|
336
|
+
internationalization: {
|
|
337
|
+
locales: [Locales.ENGLISH, Locales.FRENCH],
|
|
338
|
+
defaultLocale: Locales.ENGLISH,
|
|
339
|
+
},
|
|
212
340
|
plugins: [
|
|
213
|
-
|
|
214
|
-
|
|
341
|
+
loadJSON({
|
|
342
|
+
// Только файлы для Locales.FRENCH будут загружены по этому шаблону
|
|
215
343
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
344
|
+
locale: Locales.FRENCH,
|
|
216
345
|
}),
|
|
217
346
|
],
|
|
218
347
|
};
|
|
348
|
+
|
|
349
|
+
export default config;
|
|
219
350
|
```
|
|
220
351
|
|
|
221
|
-
###
|
|
352
|
+
### Как это работает
|
|
222
353
|
|
|
223
|
-
|
|
354
|
+
- Обнаружение: создает glob из вашего `source` билдера и собирает соответствующие JSON-файлы.
|
|
355
|
+
- Импорт: загружает каждый JSON-файл как словарь Intlayer с предоставленной `locale`.
|
|
356
|
+
- Только для чтения: не записывает и не форматирует выходные файлы; используйте `syncJSON`, если вам нужна двусторонняя синхронизация.
|
|
357
|
+
- Готовность к автозаполнению: определяет шаблон `fill`, чтобы `intlayer content fill` мог заполнять отсутствующие ключи.
|
|
224
358
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
359
|
+
### API
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
loadJSON({
|
|
363
|
+
// Build paths to your JSON. `locale` is optional if your structure has no locale segment
|
|
364
|
+
source: ({ key, locale }) => string,
|
|
365
|
+
|
|
366
|
+
// Target locale for the dictionaries loaded by this plugin instance
|
|
367
|
+
// Defaults to configuration.internationalization.defaultLocale
|
|
368
|
+
locale?: Locale,
|
|
369
|
+
|
|
370
|
+
// Optional label to identify the source
|
|
371
|
+
location?: string, // default: "plugin"
|
|
372
|
+
|
|
373
|
+
// Priority used for conflict resolution against other sources
|
|
374
|
+
priority?: number, // default: 0
|
|
375
|
+
|
|
376
|
+
// Optional formatter for the JSON content
|
|
377
|
+
format?: 'intlayer' | 'icu' | 'i18next', // default: 'intlayer'
|
|
378
|
+
|
|
379
|
+
// Разделяет один файл на один словарь для каждого ключа верхнего уровня (автоматическое определение)
|
|
380
|
+
splitKeys?: boolean,
|
|
381
|
+
});
|
|
231
382
|
```
|
|
232
383
|
|
|
233
|
-
|
|
384
|
+
#### `format` ('intlayer' | 'icu' | 'i18next')
|
|
385
|
+
|
|
386
|
+
Указывает форматтер, который будет использоваться для содержимого словаря при загрузке JSON-файлов. Это позволяет использовать различные синтаксисы форматирования сообщений, совместимые с различными библиотеками i18n.
|
|
234
387
|
|
|
235
|
-
|
|
388
|
+
- `'intlayer'`: Форматтер Intlayer по умолчанию (default).
|
|
389
|
+
- `'icu'`: Использует форматирование сообщений ICU (совместимо с такими библиотеками, как react-intl, vue-i18n).
|
|
390
|
+
- `'i18next'`: Использует форматирование сообщений i18next (совместимо с i18next, next-i18next, Solid-i18next).
|
|
236
391
|
|
|
237
|
-
|
|
392
|
+
**Пример:**
|
|
238
393
|
|
|
239
|
-
```ts
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
394
|
+
```ts
|
|
395
|
+
loadJSON({
|
|
396
|
+
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
397
|
+
locale: Locales.ENGLISH,
|
|
398
|
+
format: "icu", // Use ICU formatting for compatibility
|
|
399
|
+
}),
|
|
245
400
|
```
|
|
246
401
|
|
|
247
|
-
|
|
402
|
+
#### `splitKeys` (boolean)
|
|
248
403
|
|
|
249
|
-
|
|
404
|
+
Поведение такое же, как в [`syncJSON`](#splitkeys-boolean): когда один JSON-файл группирует несколько пространств имен по своим ключам первого уровня, каждый ключ верхнего уровня становится своим собственным словарем.
|
|
250
405
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
406
|
+
- `undefined` (по умолчанию): **автоматическое определение** — разделение происходит, когда шаблон `source` не содержит сегмента `{key}`, в противном случае — один словарь.
|
|
407
|
+
- `true` / `false`: принудительное включение или отключение разделения.
|
|
408
|
+
|
|
409
|
+
```ts
|
|
410
|
+
loadJSON({
|
|
411
|
+
source: ({ locale }) => `./messages/${locale}.json`,
|
|
412
|
+
format: "icu",
|
|
413
|
+
// splitKeys auto-enabled: `Hero`, `Nav`, `About`, … each become a dictionary
|
|
414
|
+
}),
|
|
257
415
|
```
|
|
258
416
|
|
|
417
|
+
### Поведение и соглашения
|
|
418
|
+
|
|
419
|
+
- Если ваша маска `source` включает плейсхолдер локали, будут импортированы только файлы для выбранной `locale`.
|
|
420
|
+
- Если в вашей маске нет сегмента `{key}`, каждый ключ верхнего уровня файла становится отдельным словарем по умолчанию (см. [splitKeys](#splitkeys-boolean)). Установите `splitKeys: false`, чтобы вместо этого загрузить весь файл как единый словарь `index`.
|
|
421
|
+
- Ключи выводятся из путей к файлам путем подстановки плейсхолдера `{key}` в вашем `source` билдере.
|
|
422
|
+
- Плагин использует только обнаруженные файлы и не создает отсутствующие локали или ключи.
|
|
423
|
+
- Путь `fill` выводится из вашего `source` и используется для обновления отсутствующих значений через CLI, когда вы соглашаетесь.
|
|
424
|
+
|
|
425
|
+
## Разрешение конфликтов
|
|
426
|
+
|
|
427
|
+
Когда один и тот же ключ перевода существует в нескольких источниках JSON:
|
|
428
|
+
|
|
429
|
+
1. Плагин с наивысшим приоритетом определяет окончательное значение
|
|
430
|
+
2. Источники с более низким приоритетом используются в качестве запасных для отсутствующих ключей
|
|
431
|
+
3. Это позволяет вам поддерживать устаревшие переводы, постепенно переходя к новым структурам
|
|
432
|
+
|
|
259
433
|
## CLI
|
|
260
434
|
|
|
261
|
-
Синхронизированные JSON-файлы будут рассматриваться как другие файлы
|
|
435
|
+
Синхронизированные JSON-файлы будут рассматриваться как другие файлы `.content`. Это означает, что все команды intlayer будут доступны для синхронизированных JSON-файлов. Включая:
|
|
262
436
|
|
|
263
|
-
- `intlayer content test` для проверки отсутствующих переводов
|
|
437
|
+
- `intlayer content test` для проверки наличия отсутствующих переводов
|
|
264
438
|
- `intlayer content list` для вывода списка синхронизированных JSON-файлов
|
|
265
439
|
- `intlayer content fill` для заполнения отсутствующих переводов
|
|
266
440
|
- `intlayer content push` для отправки синхронизированных JSON-файлов
|
|
267
|
-
- `intlayer content pull` для
|
|
441
|
+
- `intlayer content pull` для получения синхронизированных JSON-файлов
|
|
268
442
|
|
|
269
|
-
|
|
443
|
+
Подробнее см. в [Intlayer CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/cli/index.md).
|
|
270
444
|
|
|
271
445
|
## Ограничения (текущие)
|
|
272
446
|
|
|
273
|
-
- Нет поддержки вставок или множественного числа/ICU при работе
|
|
274
|
-
- Визуальный редактор пока недоступен для
|
|
275
|
-
-
|
|
447
|
+
- Нет поддержки вставок или множественного числа/ICU при работе со сторонними библиотеками.
|
|
448
|
+
- Визуальный редактор пока недоступен для рантаймов, отличных от Intlayer.
|
|
449
|
+
- Только синхронизация JSON; форматы каталогов, отличные от JSON, не поддерживаются.
|
|
276
450
|
|
|
277
451
|
## Почему это важно
|
|
278
452
|
|
|
279
453
|
- Мы можем рекомендовать проверенные решения i18n и позиционировать Intlayer как дополнение.
|
|
280
|
-
- Мы используем их SEO/ключевые слова с
|
|
281
|
-
- Расширяет целевую аудиторию
|
|
454
|
+
- Мы используем их SEO/ключевые слова с руководствами, которые заканчиваются предложением Intlayer для управления JSON.
|
|
455
|
+
- Расширяет целевую аудиторию от «новых проектов» до «любой команды, уже использующей i18n».
|
|
@@ -59,24 +59,40 @@ See [Application Template](https://github.com/aymericzip/intlayer-adonis-templat
|
|
|
59
59
|
|
|
60
60
|
`adonis-intlayer` kullanmaya başlamak için paketi npm kullanarak yükleyin:
|
|
61
61
|
|
|
62
|
+
```bash packageManager="npm"
|
|
63
|
+
npx intlayer-cli init --interactive
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```bash packageManager="pnpm"
|
|
67
|
+
pnpm dlx intlayer-cli init --interactive
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash packageManager="yarn"
|
|
71
|
+
yarn dlx intlayer-cli init --interactive
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```bash packageManager="bun"
|
|
75
|
+
bunx intlayer-cli init --interactive
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> `--interactive` bayrağı isteğe bağlıdır. Bir yapay zeka aracısıysanız `intlayer-cli init` kullanın.
|
|
79
|
+
|
|
80
|
+
> Bu komut ortamınızı algılayacak ve gerekli paketleri yükleyecektir. Örneğin:
|
|
81
|
+
|
|
62
82
|
```bash packageManager="npm"
|
|
63
83
|
npm install intlayer adonis-intlayer
|
|
64
|
-
npx intlayer init
|
|
65
84
|
```
|
|
66
85
|
|
|
67
86
|
```bash packageManager="pnpm"
|
|
68
87
|
pnpm add intlayer adonis-intlayer
|
|
69
|
-
pnpm intlayer init
|
|
70
88
|
```
|
|
71
89
|
|
|
72
90
|
```bash packageManager="yarn"
|
|
73
91
|
yarn add intlayer adonis-intlayer
|
|
74
|
-
yarn intlayer init
|
|
75
92
|
```
|
|
76
93
|
|
|
77
94
|
```bash packageManager="bun"
|
|
78
95
|
bun add intlayer adonis-intlayer
|
|
79
|
-
bun x intlayer init
|
|
80
96
|
```
|
|
81
97
|
|
|
82
98
|
### Kurulum
|
|
@@ -118,24 +118,40 @@ GitHub üzerindeki [Uygulama Şablonuna](https://github.com/aymericzip/intlayer-
|
|
|
118
118
|
|
|
119
119
|
Gerekli paketleri npm kullanarak yükleyin:
|
|
120
120
|
|
|
121
|
+
```bash packageManager="npm"
|
|
122
|
+
npx intlayer-cli init --interactive
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```bash packageManager="pnpm"
|
|
126
|
+
pnpm dlx intlayer-cli init --interactive
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```bash packageManager="yarn"
|
|
130
|
+
yarn dlx intlayer-cli init --interactive
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```bash packageManager="bun"
|
|
134
|
+
bunx intlayer-cli init --interactive
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
> `--interactive` bayrağı isteğe bağlıdır. Bir yapay zeka aracısıysanız `intlayer-cli init` kullanın.
|
|
138
|
+
|
|
139
|
+
> Bu komut ortamınızı algılayacak ve gerekli paketleri yükleyecektir. Örneğin:
|
|
140
|
+
|
|
121
141
|
```bash packageManager="npm"
|
|
122
142
|
npm install intlayer angular-intlayer vite-intlayer
|
|
123
|
-
npx intlayer init
|
|
124
143
|
```
|
|
125
144
|
|
|
126
145
|
```bash packageManager="pnpm"
|
|
127
146
|
pnpm add intlayer angular-intlayer vite-intlayer
|
|
128
|
-
pnpm intlayer init
|
|
129
147
|
```
|
|
130
148
|
|
|
131
149
|
```bash packageManager="yarn"
|
|
132
150
|
yarn add intlayer angular-intlayer vite-intlayer
|
|
133
|
-
yarn intlayer init
|
|
134
151
|
```
|
|
135
152
|
|
|
136
153
|
```bash packageManager="bun"
|
|
137
154
|
bun add intlayer angular-intlayer vite-intlayer
|
|
138
|
-
bun x intlayer init
|
|
139
155
|
```
|
|
140
156
|
|
|
141
157
|
- **intlayer**
|