@intlayer/docs 9.3.3 → 9.4.0
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/README.md +4 -1
- package/authors.json +1 -1
- package/blog/ar/i18n_using_next-i18next.md +52 -13
- package/blog/ar/i18n_using_next-intl.md +20 -2
- package/blog/de/i18n_using_next-i18next.md +37 -37
- package/blog/de/i18n_using_next-intl.md +18 -0
- package/blog/en/i18n_using_next-i18next.md +35 -0
- package/blog/en/i18n_using_next-intl.md +18 -0
- package/blog/en/rag_powered_documentation_assistant.md +4 -1
- package/blog/en-GB/i18n_using_next-i18next.md +28 -1
- package/blog/en-GB/i18n_using_next-intl.md +18 -0
- package/blog/es/i18n_using_next-i18next.md +52 -13
- package/blog/es/i18n_using_next-intl.md +18 -0
- package/blog/fr/i18n_using_next-i18next.md +27 -0
- package/blog/fr/i18n_using_next-intl.md +18 -0
- package/blog/hi/i18n_using_next-i18next.md +52 -13
- package/blog/hi/i18n_using_next-intl.md +18 -0
- package/blog/id/i18n_using_next-i18next.md +40 -13
- package/blog/id/i18n_using_next-intl.md +18 -0
- package/blog/it/i18n_using_next-i18next.md +40 -13
- package/blog/it/i18n_using_next-intl.md +18 -0
- package/blog/ja/i18n_using_next-i18next.md +27 -0
- package/blog/ja/i18n_using_next-intl.md +18 -0
- package/blog/ko/i18n_using_next-i18next.md +40 -13
- package/blog/ko/i18n_using_next-intl.md +18 -0
- package/blog/pl/i18n_using_next-i18next.md +40 -13
- package/blog/pl/i18n_using_next-intl.md +18 -0
- package/blog/pt/i18n_using_next-i18next.md +52 -13
- package/blog/pt/i18n_using_next-intl.md +18 -0
- package/blog/ru/i18n_using_next-i18next.md +37 -37
- package/blog/ru/i18n_using_next-intl.md +19 -1
- package/blog/tr/i18n_using_next-i18next.md +40 -13
- package/blog/tr/i18n_using_next-intl.md +18 -0
- package/blog/uk/i18n_using_next-i18next.md +53 -26
- package/blog/uk/i18n_using_next-intl.md +30 -12
- package/blog/vi/i18n_using_next-i18next.md +40 -13
- package/blog/vi/i18n_using_next-intl.md +18 -0
- package/blog/zh/i18n_using_next-i18next.md +31 -31
- package/blog/zh/i18n_using_next-intl.md +22 -4
- package/dist/cjs/authors2.cjs +1 -1
- package/dist/cjs/generated/docs.entry.cjs +140 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/authors2.mjs +1 -1
- package/dist/esm/generated/docs.entry.mjs +140 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +7 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/agent_skills.md +7 -7
- package/docs/ar/analytics.md +57 -13
- package/docs/ar/benchmark/tanstack.md +6 -0
- package/docs/ar/bundle_optimization.md +2 -2
- package/docs/ar/cli/ci.md +2 -0
- package/docs/ar/cli/doc-review.md +9 -1
- package/docs/ar/cli/fill.md +0 -8
- package/docs/ar/cli/index.md +2 -0
- package/docs/ar/cli/list_projects.md +0 -2
- package/docs/ar/cli/login.md +28 -0
- package/docs/ar/compiler.md +14 -0
- package/docs/ar/configuration.md +19 -17
- package/docs/ar/custom_domains.md +33 -0
- package/docs/ar/custom_url_rewrites.md +9 -5
- package/docs/ar/dictionary/html.md +16 -14
- package/docs/ar/dictionary/markdown.md +7 -3
- package/docs/ar/dictionary/plurial.md +92 -123
- package/docs/ar/dynamic_dictionaries/variants.md +24 -36
- package/docs/ar/formatters.md +0 -128
- package/docs/ar/how_works_intlayer.md +8 -1
- package/docs/ar/interest_of_intlayer.md +17 -1
- package/docs/ar/intlayer_visual_editor.md +12 -0
- package/docs/ar/intlayer_with_adonisjs.md +5 -3
- package/docs/ar/intlayer_with_analog.md +18 -1
- package/docs/ar/intlayer_with_angular_19.md +18 -1
- package/docs/ar/intlayer_with_angular_21.md +18 -1
- package/docs/ar/intlayer_with_astro.md +42 -1
- package/docs/ar/intlayer_with_astro_lit.md +18 -1
- package/docs/ar/intlayer_with_astro_preact.md +24 -1
- package/docs/ar/intlayer_with_astro_react.md +18 -1
- package/docs/ar/intlayer_with_astro_solid.md +18 -1
- package/docs/ar/intlayer_with_astro_svelte.md +18 -1
- package/docs/ar/intlayer_with_astro_vanilla.md +18 -1
- package/docs/ar/intlayer_with_astro_vue.md +18 -1
- package/docs/ar/intlayer_with_create_react_app.md +55 -119
- package/docs/ar/intlayer_with_elysia.md +343 -0
- package/docs/ar/intlayer_with_express.md +11 -3
- package/docs/ar/intlayer_with_fastify.md +5 -3
- package/docs/ar/intlayer_with_hono.md +48 -3
- package/docs/ar/intlayer_with_lynx+react.md +31 -1
- package/docs/ar/intlayer_with_nestjs.md +19 -3
- package/docs/ar/intlayer_with_next-i18next.md +11 -0
- package/docs/ar/intlayer_with_nextjs_14.md +234 -37
- package/docs/ar/intlayer_with_nextjs_15.md +219 -1
- package/docs/ar/intlayer_with_nextjs_16.md +171 -45
- package/docs/ar/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +160 -5
- package/docs/ar/intlayer_with_nextjs_page_router.md +16 -29
- package/docs/ar/intlayer_with_nuxt.md +18 -1
- package/docs/ar/intlayer_with_react_native+expo.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +48 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +192 -53
- package/docs/ar/intlayer_with_solid_start.md +13 -1
- package/docs/ar/intlayer_with_storybook.md +18 -1
- package/docs/ar/intlayer_with_svelte_kit.md +26 -17
- package/docs/ar/intlayer_with_tanstack+solid.md +250 -7
- package/docs/ar/intlayer_with_tanstack.md +284 -50
- package/docs/ar/intlayer_with_vanilla.md +18 -1
- package/docs/ar/intlayer_with_vite+lit.md +22 -1
- package/docs/ar/intlayer_with_vite+preact.md +52 -17
- package/docs/ar/intlayer_with_vite+react.md +22 -13
- package/docs/ar/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ar/intlayer_with_vite+solid.md +29 -49
- package/docs/ar/intlayer_with_vite+svelte.md +43 -13
- package/docs/ar/intlayer_with_vite+vanilla.md +20 -1
- package/docs/ar/intlayer_with_vite+vue.md +33 -15
- package/docs/ar/introduction.md +1 -1
- package/docs/ar/live-sync.md +13 -2
- package/docs/ar/mcp_server.md +34 -21
- package/docs/ar/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ar/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ar/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ar/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ar/packages/elysia-intlayer/exports.md +136 -0
- package/docs/ar/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/ar/packages/intlayer/getDictionary.md +155 -0
- package/docs/ar/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/ar/packages/intlayer/getEnumeration.md +2 -0
- package/docs/ar/packages/intlayer/getIntlayer.md +197 -0
- package/docs/ar/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/ar/packages/intlayer/getLocaleLang.md +0 -2
- package/docs/ar/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +14 -30
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/ar/packages/intlayer/getTranslation.md +2 -0
- package/docs/ar/packages/next-intlayer/t.md +20 -0
- package/docs/ar/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/ar/packages/next-intlayer/useLocale.md +2 -0
- package/docs/ar/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/ar/packages/react-intlayer/useI18n.md +31 -0
- package/docs/ar/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/ar/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ar/packages/vite-intlayer/intlayerPrune.md +10 -2
- package/docs/ar/per_locale_file.md +13 -13
- package/docs/ar/readme.md +1 -0
- package/docs/ar/releases/v6.md +16 -2
- package/docs/ar/releases/v9.md +2 -0
- package/docs/ar/self_hosting.md +67 -24
- package/docs/bn/bundle_optimization.md +2 -2
- package/docs/bn/configuration.md +12 -9
- package/docs/bn/intlayer_with_fastify.md +5 -3
- package/docs/bn/intlayer_with_hono.md +5 -3
- package/docs/cs/bundle_optimization.md +2 -2
- package/docs/cs/configuration.md +12 -9
- package/docs/cs/intlayer_with_fastify.md +5 -3
- package/docs/cs/intlayer_with_hono.md +5 -3
- package/docs/de/analytics.md +57 -13
- package/docs/de/benchmark/tanstack.md +6 -0
- package/docs/de/bundle_optimization.md +2 -2
- package/docs/de/cli/ci.md +2 -0
- package/docs/de/cli/doc-review.md +9 -1
- package/docs/de/cli/fill.md +0 -8
- package/docs/de/cli/index.md +2 -0
- package/docs/de/cli/init.md +0 -8
- package/docs/de/cli/list_projects.md +0 -2
- package/docs/de/cli/login.md +28 -0
- package/docs/de/compiler.md +14 -0
- package/docs/de/configuration.md +19 -17
- package/docs/de/custom_domains.md +34 -0
- package/docs/de/custom_url_rewrites.md +7 -5
- package/docs/de/dictionary/enumeration.md +0 -183
- package/docs/de/dictionary/html.md +18 -18
- package/docs/de/dictionary/insertion.md +0 -14
- package/docs/de/dictionary/markdown.md +31 -14
- package/docs/de/dictionary/plurial.md +70 -272
- package/docs/de/dynamic_dictionaries/variants.md +24 -0
- package/docs/de/formatters.md +12 -39
- package/docs/de/how_works_intlayer.md +8 -1
- package/docs/de/intlayer_CMS.md +26 -21
- package/docs/de/intlayer_visual_editor.md +12 -0
- package/docs/de/intlayer_with_adonisjs.md +5 -3
- package/docs/de/intlayer_with_analog.md +1 -1
- package/docs/de/intlayer_with_angular_19.md +1 -1
- package/docs/de/intlayer_with_angular_21.md +1 -1
- package/docs/de/intlayer_with_astro.md +25 -1
- package/docs/de/intlayer_with_astro_lit.md +1 -1
- package/docs/de/intlayer_with_astro_preact.md +7 -1
- package/docs/de/intlayer_with_astro_react.md +1 -1
- package/docs/de/intlayer_with_astro_solid.md +1 -1
- package/docs/de/intlayer_with_astro_svelte.md +1 -1
- package/docs/de/intlayer_with_astro_vanilla.md +1 -1
- package/docs/de/intlayer_with_astro_vue.md +1 -1
- package/docs/de/intlayer_with_create_react_app.md +51 -0
- package/docs/de/intlayer_with_elysia.md +343 -0
- package/docs/de/intlayer_with_express.md +7 -3
- package/docs/de/intlayer_with_fastify.md +5 -3
- package/docs/de/intlayer_with_hono.md +5 -3
- package/docs/de/intlayer_with_lynx+react.md +14 -27
- package/docs/de/intlayer_with_nestjs.md +5 -3
- package/docs/de/intlayer_with_next-intl.md +0 -5
- package/docs/de/intlayer_with_nextjs_14.md +240 -10
- package/docs/de/intlayer_with_nextjs_15.md +201 -1
- package/docs/de/intlayer_with_nextjs_16.md +96 -36
- package/docs/de/intlayer_with_nextjs_compiler.md +467 -10
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +126 -5
- package/docs/de/intlayer_with_nextjs_page_router.md +5 -44
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_native+expo.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +31 -1
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +103 -13
- package/docs/de/intlayer_with_solid_start.md +13 -1
- package/docs/de/intlayer_with_storybook.md +1 -1
- package/docs/de/intlayer_with_svelte_kit.md +7 -1
- package/docs/de/intlayer_with_tanstack+solid.md +158 -7
- package/docs/de/intlayer_with_tanstack.md +349 -179
- package/docs/de/intlayer_with_vanilla.md +1 -1
- package/docs/de/intlayer_with_vite+lit.md +5 -1
- package/docs/de/intlayer_with_vite+preact.md +9 -5
- package/docs/de/intlayer_with_vite+react.md +5 -3
- package/docs/de/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/de/intlayer_with_vite+solid.md +12 -13
- package/docs/de/intlayer_with_vite+svelte.md +25 -1
- package/docs/de/intlayer_with_vite+vanilla.md +3 -1
- package/docs/de/intlayer_with_vite+vue.md +16 -3
- package/docs/de/introduction.md +1 -1
- package/docs/de/live-sync.md +39 -0
- package/docs/de/mcp_server.md +34 -21
- package/docs/de/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/de/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/de/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/de/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/de/packages/elysia-intlayer/exports.md +136 -0
- package/docs/de/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/de/packages/intlayer/getDictionary.md +155 -0
- package/docs/de/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/de/packages/intlayer/getEnumeration.md +2 -0
- package/docs/de/packages/intlayer/getIntlayer.md +197 -0
- package/docs/de/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/de/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/de/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/de/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/de/packages/intlayer/getTranslation.md +2 -0
- package/docs/de/packages/next-intlayer/t.md +20 -0
- package/docs/de/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/de/packages/next-intlayer/useLocale.md +2 -0
- package/docs/de/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/de/packages/react-intlayer/useI18n.md +31 -0
- package/docs/de/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/de/packages/solid-intlayer/useRewriteURL.md +0 -2
- package/docs/de/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/de/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/de/per_locale_file.md +13 -13
- package/docs/de/readme.md +3 -2
- package/docs/de/releases/v6.md +33 -33
- package/docs/de/releases/v9.md +2 -0
- package/docs/de/self_hosting.md +68 -24
- package/docs/en/analytics.md +526 -34
- package/docs/en/bundle_optimization.md +2 -2
- package/docs/en/cli/index.md +2 -0
- package/docs/en/cli/login.md +28 -0
- package/docs/en/configuration.md +12 -9
- package/docs/en/custom_domains.md +39 -2
- package/docs/en/dictionary/html.md +16 -16
- package/docs/en/dynamic_dictionaries/variants.md +41 -18
- package/docs/en/formatters.md +5 -2
- package/docs/en/intlayer_with_adonisjs.md +5 -3
- package/docs/en/intlayer_with_elysia.md +339 -0
- package/docs/en/intlayer_with_express.md +5 -3
- package/docs/en/intlayer_with_fastify.md +5 -4
- package/docs/en/intlayer_with_hono.md +5 -3
- package/docs/en/intlayer_with_nestjs.md +5 -3
- package/docs/en/intlayer_with_nextjs_14.md +103 -8
- package/docs/en/intlayer_with_nextjs_15.md +105 -1
- package/docs/en/intlayer_with_nextjs_16.md +105 -1
- package/docs/en/intlayer_with_nextjs_compiler.md +43 -18
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +125 -5
- package/docs/en/intlayer_with_nextjs_page_router.md +4 -28
- package/docs/en/intlayer_with_tanstack+solid.md +157 -6
- package/docs/en/intlayer_with_tanstack.md +159 -7
- package/docs/en/mcp_server.md +34 -19
- package/docs/en/packages/elysia-intlayer/exports.md +134 -0
- package/docs/en/packages/elysia-intlayer/intlayer.md +137 -0
- package/docs/en/packages/intlayer/exports.md +19 -14
- package/docs/en/packages/intlayer/getDictionary.md +154 -0
- package/docs/en/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/en/packages/intlayer/getIntlayer.md +196 -0
- package/docs/en/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/en/packages/next-intlayer/exports.md +14 -10
- package/docs/en/packages/next-intlayer/t.md +33 -9
- package/docs/en/packages/next-intlayer/useDictionary.md +5 -2
- package/docs/en/packages/next-intlayer/useIntlayer.md +35 -1
- package/docs/en/packages/react-intlayer/exports.md +14 -11
- package/docs/en/packages/react-intlayer/useI18n.md +35 -1
- package/docs/en/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en/packages/vite-intlayer/intlayerPrune.md +1 -1
- package/docs/en/readme.md +1 -0
- package/docs/en/self_hosting.md +77 -20
- package/docs/en-GB/analytics.md +28 -5
- package/docs/en-GB/benchmark/tanstack.md +6 -0
- package/docs/en-GB/bundle_optimization.md +2 -2
- package/docs/en-GB/cli/ci.md +2 -0
- package/docs/en-GB/cli/doc-review.md +7 -1
- package/docs/en-GB/cli/fill.md +0 -8
- package/docs/en-GB/cli/index.md +2 -0
- package/docs/en-GB/cli/list_projects.md +0 -2
- package/docs/en-GB/cli/login.md +28 -0
- package/docs/en-GB/compiler.md +14 -0
- package/docs/en-GB/configuration.md +12 -9
- package/docs/en-GB/custom_domains.md +34 -0
- package/docs/en-GB/custom_url_rewrites.md +7 -5
- package/docs/en-GB/dictionary/condition.md +0 -201
- package/docs/en-GB/dictionary/content_file.md +0 -3
- package/docs/en-GB/dictionary/enumeration.md +0 -183
- package/docs/en-GB/dictionary/file.md +0 -166
- package/docs/en-GB/dictionary/gender.md +0 -212
- package/docs/en-GB/dictionary/html.md +17 -15
- package/docs/en-GB/dictionary/insertion.md +0 -4
- package/docs/en-GB/dictionary/markdown.md +7 -3
- package/docs/en-GB/dictionary/plurial.md +68 -271
- package/docs/en-GB/dictionary/translation.md +0 -133
- package/docs/en-GB/dynamic_dictionaries/variants.md +24 -0
- package/docs/en-GB/formatters.md +0 -164
- package/docs/en-GB/how_works_intlayer.md +7 -0
- package/docs/en-GB/interest_of_intlayer.md +1 -1
- package/docs/en-GB/intlayer_visual_editor.md +12 -0
- package/docs/en-GB/intlayer_with_adonisjs.md +5 -3
- package/docs/en-GB/intlayer_with_analog.md +1 -1
- package/docs/en-GB/intlayer_with_angular_19.md +1 -1
- package/docs/en-GB/intlayer_with_angular_21.md +1 -1
- package/docs/en-GB/intlayer_with_astro.md +25 -1
- package/docs/en-GB/intlayer_with_astro_lit.md +1 -1
- package/docs/en-GB/intlayer_with_astro_preact.md +7 -1
- package/docs/en-GB/intlayer_with_astro_react.md +1 -1
- package/docs/en-GB/intlayer_with_astro_solid.md +1 -1
- package/docs/en-GB/intlayer_with_astro_svelte.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_astro_vue.md +1 -1
- package/docs/en-GB/intlayer_with_create_react_app.md +10 -78
- package/docs/en-GB/intlayer_with_elysia.md +339 -0
- package/docs/en-GB/intlayer_with_express.md +11 -3
- package/docs/en-GB/intlayer_with_fastify.md +5 -4
- package/docs/en-GB/intlayer_with_hono.md +5 -3
- package/docs/en-GB/intlayer_with_lynx+react.md +9 -54
- package/docs/en-GB/intlayer_with_nestjs.md +5 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +181 -10
- package/docs/en-GB/intlayer_with_nextjs_15.md +196 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +226 -1
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +165 -5
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +140 -5
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +1 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +111 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +261 -64
- package/docs/en-GB/intlayer_with_solid_start.md +13 -1
- package/docs/en-GB/intlayer_with_storybook.md +1 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +110 -5
- package/docs/en-GB/intlayer_with_tanstack+solid.md +160 -7
- package/docs/en-GB/intlayer_with_tanstack.md +382 -112
- package/docs/en-GB/intlayer_with_vanilla.md +1 -1
- package/docs/en-GB/intlayer_with_vite+lit.md +3 -1
- package/docs/en-GB/intlayer_with_vite+preact.md +104 -5
- package/docs/en-GB/intlayer_with_vite+react.md +110 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/en-GB/intlayer_with_vite+solid.md +81 -18
- package/docs/en-GB/intlayer_with_vite+svelte.md +133 -1
- package/docs/en-GB/intlayer_with_vite+vanilla.md +3 -1
- package/docs/en-GB/intlayer_with_vite+vue.md +169 -24
- package/docs/en-GB/live-sync.md +13 -2
- package/docs/en-GB/mcp_server.md +34 -21
- package/docs/en-GB/packages/elysia-intlayer/exports.md +134 -0
- package/docs/en-GB/packages/elysia-intlayer/intlayer.md +137 -0
- package/docs/en-GB/packages/intlayer/getDictionary.md +154 -0
- package/docs/en-GB/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/en-GB/packages/intlayer/getEnumeration.md +2 -0
- package/docs/en-GB/packages/intlayer/getIntlayer.md +196 -0
- package/docs/en-GB/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/en-GB/packages/intlayer/getLocalizedPath.md +45 -4
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/en-GB/packages/next-intlayer/t.md +20 -0
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +31 -4
- package/docs/en-GB/packages/next-intlayer/useLocale.md +2 -0
- package/docs/en-GB/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/en-GB/packages/react-intlayer/useI18n.md +31 -0
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/en-GB/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/en-GB/per_locale_file.md +13 -13
- package/docs/en-GB/readme.md +3 -2
- package/docs/en-GB/releases/v6.md +30 -28
- package/docs/en-GB/self_hosting.md +60 -29
- package/docs/es/agent_skills.md +7 -7
- package/docs/es/analytics.md +57 -13
- package/docs/es/benchmark/tanstack.md +6 -0
- package/docs/es/bundle_optimization.md +2 -2
- package/docs/es/cli/ci.md +2 -0
- package/docs/es/cli/doc-review.md +13 -1
- package/docs/es/cli/fill.md +0 -8
- package/docs/es/cli/index.md +2 -0
- package/docs/es/cli/list_projects.md +0 -2
- package/docs/es/cli/login.md +28 -2
- package/docs/es/compat/next-intl.md +0 -2
- package/docs/es/compiler.md +14 -0
- package/docs/es/component_i18n.md +4 -0
- package/docs/es/configuration.md +19 -17
- package/docs/es/custom_domains.md +34 -0
- package/docs/es/custom_url_rewrites.md +7 -5
- package/docs/es/dictionary/enumeration.md +0 -154
- package/docs/es/dictionary/html.md +16 -16
- package/docs/es/dictionary/markdown.md +7 -3
- package/docs/es/dictionary/plurial.md +72 -275
- package/docs/es/dynamic_dictionaries/variants.md +24 -0
- package/docs/es/formatters.md +24 -113
- package/docs/es/how_works_intlayer.md +5 -0
- package/docs/es/intlayer_CMS.md +16 -8
- package/docs/es/intlayer_visual_editor.md +12 -0
- package/docs/es/intlayer_with_adonisjs.md +5 -3
- package/docs/es/intlayer_with_analog.md +1 -1
- package/docs/es/intlayer_with_angular_19.md +1 -1
- package/docs/es/intlayer_with_angular_21.md +1 -1
- package/docs/es/intlayer_with_astro.md +25 -1
- package/docs/es/intlayer_with_astro_lit.md +1 -1
- package/docs/es/intlayer_with_astro_preact.md +7 -1
- package/docs/es/intlayer_with_astro_react.md +1 -1
- package/docs/es/intlayer_with_astro_solid.md +1 -1
- package/docs/es/intlayer_with_astro_svelte.md +1 -1
- package/docs/es/intlayer_with_astro_vanilla.md +1 -1
- package/docs/es/intlayer_with_astro_vue.md +1 -1
- package/docs/es/intlayer_with_create_react_app.md +55 -26
- package/docs/es/intlayer_with_elysia.md +339 -0
- package/docs/es/intlayer_with_express.md +11 -32
- package/docs/es/intlayer_with_fastify.md +5 -3
- package/docs/es/intlayer_with_hono.md +5 -3
- package/docs/es/intlayer_with_lynx+react.md +14 -1
- package/docs/es/intlayer_with_nestjs.md +19 -3
- package/docs/es/intlayer_with_nextjs_14.md +179 -51
- package/docs/es/intlayer_with_nextjs_15.md +198 -1
- package/docs/es/intlayer_with_nextjs_16.md +130 -67
- package/docs/es/intlayer_with_nextjs_compiler.md +45 -5
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +146 -5
- package/docs/es/intlayer_with_nextjs_page_router.md +16 -29
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +31 -1
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +30 -30
- package/docs/es/intlayer_with_solid_start.md +13 -1
- package/docs/es/intlayer_with_storybook.md +1 -1
- package/docs/es/intlayer_with_svelte_kit.md +7 -1
- package/docs/es/intlayer_with_tanstack+solid.md +158 -7
- package/docs/es/intlayer_with_tanstack.md +337 -193
- package/docs/es/intlayer_with_vanilla.md +1 -1
- package/docs/es/intlayer_with_vite+lit.md +5 -1
- package/docs/es/intlayer_with_vite+preact.md +37 -5
- package/docs/es/intlayer_with_vite+react.md +3 -1
- package/docs/es/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/es/intlayer_with_vite+solid.md +12 -37
- package/docs/es/intlayer_with_vite+svelte.md +3 -1
- package/docs/es/intlayer_with_vite+vanilla.md +3 -1
- package/docs/es/intlayer_with_vite+vue.md +16 -3
- package/docs/es/live-sync.md +13 -4
- package/docs/es/mcp_server.md +34 -19
- package/docs/es/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/es/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/es/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/es/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/es/packages/elysia-intlayer/exports.md +134 -0
- package/docs/es/packages/elysia-intlayer/intlayer.md +137 -0
- package/docs/es/packages/intlayer/getDictionary.md +155 -0
- package/docs/es/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/es/packages/intlayer/getEnumeration.md +2 -0
- package/docs/es/packages/intlayer/getIntlayer.md +197 -0
- package/docs/es/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/es/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/es/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/es/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/es/packages/intlayer/getTranslation.md +2 -0
- package/docs/es/packages/next-intlayer/t.md +20 -0
- package/docs/es/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/es/packages/next-intlayer/useLocale.md +2 -0
- package/docs/es/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/es/packages/react-intlayer/useI18n.md +31 -0
- package/docs/es/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/es/packages/solid-intlayer/useRewriteURL.md +0 -2
- package/docs/es/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/es/packages/vite-intlayer/intlayerPrune.md +10 -2
- package/docs/es/per_locale_file.md +13 -13
- package/docs/es/readme.md +3 -2
- package/docs/es/releases/v6.md +8 -2
- package/docs/es/releases/v9.md +2 -0
- package/docs/es/self_hosting.md +67 -24
- package/docs/fr/CI_CD.md +2 -0
- package/docs/fr/agent_skills.md +7 -7
- package/docs/fr/analytics.md +79 -13
- package/docs/fr/benchmark/tanstack.md +6 -0
- package/docs/fr/bundle_optimization.md +2 -2
- package/docs/fr/cli/ci.md +2 -0
- package/docs/fr/cli/doc-review.md +7 -1
- package/docs/fr/cli/fill.md +0 -8
- package/docs/fr/cli/index.md +2 -0
- package/docs/fr/cli/list_projects.md +0 -2
- package/docs/fr/cli/login.md +28 -0
- package/docs/fr/compiler.md +14 -0
- package/docs/fr/configuration.md +19 -19
- package/docs/fr/custom_domains.md +34 -0
- package/docs/fr/custom_url_rewrites.md +7 -5
- package/docs/fr/dictionary/condition.md +0 -201
- package/docs/fr/dictionary/html.md +17 -17
- package/docs/fr/dictionary/markdown.md +7 -3
- package/docs/fr/dictionary/plurial.md +79 -110
- package/docs/fr/dynamic_dictionaries/variants.md +24 -0
- package/docs/fr/formatters.md +0 -106
- package/docs/fr/how_works_intlayer.md +5 -2
- package/docs/fr/intlayer_CMS.md +26 -21
- package/docs/fr/intlayer_visual_editor.md +12 -0
- package/docs/fr/intlayer_with_adonisjs.md +5 -3
- package/docs/fr/intlayer_with_astro.md +24 -0
- package/docs/fr/intlayer_with_create_react_app.md +55 -0
- package/docs/fr/intlayer_with_elysia.md +339 -0
- package/docs/fr/intlayer_with_express.md +11 -69
- package/docs/fr/intlayer_with_fastify.md +5 -3
- package/docs/fr/intlayer_with_hono.md +5 -3
- package/docs/fr/intlayer_with_lynx+react.md +13 -0
- package/docs/fr/intlayer_with_nestjs.md +19 -3
- package/docs/fr/intlayer_with_nextjs_14.md +237 -9
- package/docs/fr/intlayer_with_nextjs_15.md +179 -8
- package/docs/fr/intlayer_with_nextjs_16.md +125 -29
- package/docs/fr/intlayer_with_nextjs_compiler.md +45 -5
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +143 -4
- package/docs/fr/intlayer_with_nextjs_page_router.md +15 -28
- package/docs/fr/intlayer_with_nuxt.md +29 -0
- package/docs/fr/intlayer_with_react_native+expo.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +31 -0
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +29 -1
- package/docs/fr/intlayer_with_solid_start.md +13 -1
- package/docs/fr/intlayer_with_svelte_kit.md +6 -0
- package/docs/fr/intlayer_with_tanstack+solid.md +157 -8
- package/docs/fr/intlayer_with_tanstack.md +302 -156
- package/docs/fr/intlayer_with_vite+lit.md +4 -0
- package/docs/fr/intlayer_with_vite+preact.md +36 -4
- package/docs/fr/intlayer_with_vite+react.md +2 -0
- package/docs/fr/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/fr/intlayer_with_vite+solid.md +11 -36
- package/docs/fr/intlayer_with_vite+svelte.md +2 -0
- package/docs/fr/intlayer_with_vite+vanilla.md +2 -0
- package/docs/fr/intlayer_with_vite+vue.md +15 -2
- package/docs/fr/live-sync.md +13 -2
- package/docs/fr/mcp_server.md +34 -19
- package/docs/fr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/fr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/fr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/fr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/fr/packages/elysia-intlayer/exports.md +134 -0
- package/docs/fr/packages/elysia-intlayer/intlayer.md +137 -0
- package/docs/fr/packages/intlayer/getDictionary.md +154 -0
- package/docs/fr/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/fr/packages/intlayer/getEnumeration.md +2 -0
- package/docs/fr/packages/intlayer/getIntlayer.md +196 -0
- package/docs/fr/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/fr/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/fr/packages/intlayer/getTranslation.md +2 -0
- package/docs/fr/packages/next-intlayer/t.md +20 -0
- package/docs/fr/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/fr/packages/next-intlayer/useLocale.md +2 -0
- package/docs/fr/packages/react-intlayer/useI18n.md +31 -0
- package/docs/fr/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/fr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/fr/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/fr/per_locale_file.md +13 -13
- package/docs/fr/readme.md +3 -2
- package/docs/fr/releases/v6.md +8 -2
- package/docs/fr/releases/v9.md +2 -0
- package/docs/fr/self_hosting.md +67 -24
- package/docs/hi/agent_skills.md +7 -7
- package/docs/hi/analytics.md +28 -5
- package/docs/hi/benchmark/tanstack.md +6 -0
- package/docs/hi/bundle_optimization.md +2 -2
- package/docs/hi/cli/ci.md +2 -0
- package/docs/hi/cli/doc-review.md +10 -2
- package/docs/hi/cli/fill.md +0 -8
- package/docs/hi/cli/index.md +2 -0
- package/docs/hi/cli/list_projects.md +0 -2
- package/docs/hi/cli/login.md +28 -0
- package/docs/hi/compiler.md +14 -0
- package/docs/hi/configuration.md +19 -17
- package/docs/hi/custom_domains.md +33 -0
- package/docs/hi/custom_url_rewrites.md +7 -5
- package/docs/hi/dictionary/content_file.md +0 -2
- package/docs/hi/dictionary/html.md +36 -15
- package/docs/hi/dictionary/insertion.md +0 -14
- package/docs/hi/dictionary/markdown.md +31 -14
- package/docs/hi/dictionary/plurial.md +81 -113
- package/docs/hi/dynamic_dictionaries/variants.md +24 -0
- package/docs/hi/formatters.md +12 -37
- package/docs/hi/how_works_intlayer.md +8 -1
- package/docs/hi/interest_of_intlayer.md +17 -1
- package/docs/hi/intlayer_visual_editor.md +12 -0
- package/docs/hi/intlayer_with_adonisjs.md +5 -3
- package/docs/hi/intlayer_with_analog.md +18 -1
- package/docs/hi/intlayer_with_angular_19.md +21 -1
- package/docs/hi/intlayer_with_angular_21.md +18 -1
- package/docs/hi/intlayer_with_astro.md +44 -1
- package/docs/hi/intlayer_with_astro_lit.md +47 -4
- package/docs/hi/intlayer_with_astro_preact.md +50 -1
- package/docs/hi/intlayer_with_astro_react.md +44 -1
- package/docs/hi/intlayer_with_astro_solid.md +44 -1
- package/docs/hi/intlayer_with_astro_svelte.md +44 -1
- package/docs/hi/intlayer_with_astro_vanilla.md +44 -1
- package/docs/hi/intlayer_with_astro_vue.md +20 -1
- package/docs/hi/intlayer_with_create_react_app.md +53 -418
- package/docs/hi/intlayer_with_elysia.md +343 -0
- package/docs/hi/intlayer_with_express.md +9 -17
- package/docs/hi/intlayer_with_fastify.md +5 -3
- package/docs/hi/intlayer_with_hono.md +44 -3
- package/docs/hi/intlayer_with_lynx+react.md +26 -11
- package/docs/hi/intlayer_with_next-i18next.md +21 -0
- package/docs/hi/intlayer_with_nextjs_14.md +234 -35
- package/docs/hi/intlayer_with_nextjs_15.md +224 -9
- package/docs/hi/intlayer_with_nextjs_16.md +135 -11
- package/docs/hi/intlayer_with_nextjs_compiler.md +49 -5
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +163 -5
- package/docs/hi/intlayer_with_nextjs_page_router.md +29 -36
- package/docs/hi/intlayer_with_nuxt.md +47 -1
- package/docs/hi/intlayer_with_react_native+expo.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +50 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +162 -46
- package/docs/hi/intlayer_with_solid_start.md +13 -1
- package/docs/hi/intlayer_with_storybook.md +18 -1
- package/docs/hi/intlayer_with_svelte_kit.md +26 -1
- package/docs/hi/intlayer_with_tanstack+solid.md +253 -7
- package/docs/hi/intlayer_with_tanstack.md +388 -158
- package/docs/hi/intlayer_with_vanilla.md +18 -1
- package/docs/hi/intlayer_with_vite+lit.md +22 -1
- package/docs/hi/intlayer_with_vite+preact.md +33 -100
- package/docs/hi/intlayer_with_vite+react.md +24 -8
- package/docs/hi/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/hi/intlayer_with_vite+solid.md +31 -26
- package/docs/hi/intlayer_with_vite+svelte.md +80 -1
- package/docs/hi/intlayer_with_vite+vanilla.md +20 -69
- package/docs/hi/intlayer_with_vite+vue.md +30 -10
- package/docs/hi/live-sync.md +39 -0
- package/docs/hi/mcp_server.md +34 -21
- package/docs/hi/packages/elysia-intlayer/exports.md +136 -0
- package/docs/hi/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/hi/packages/intlayer/getDictionary.md +156 -0
- package/docs/hi/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/hi/packages/intlayer/getEnumeration.md +2 -0
- package/docs/hi/packages/intlayer/getIntlayer.md +197 -0
- package/docs/hi/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/hi/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +6 -15
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/hi/packages/intlayer/getTranslation.md +2 -0
- package/docs/hi/packages/next-intlayer/t.md +20 -31
- package/docs/hi/packages/next-intlayer/useIntlayer.md +33 -0
- package/docs/hi/packages/next-intlayer/useLocale.md +2 -0
- package/docs/hi/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/hi/packages/react-intlayer/useI18n.md +31 -0
- package/docs/hi/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/hi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/hi/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/hi/per_locale_file.md +13 -13
- package/docs/hi/readme.md +3 -2
- package/docs/hi/releases/v6.md +16 -2
- package/docs/hi/releases/v9.md +2 -0
- package/docs/hi/self_hosting.md +80 -26
- package/docs/id/agent_skills.md +6 -6
- package/docs/id/analytics.md +28 -5
- package/docs/id/benchmark/tanstack.md +6 -0
- package/docs/id/bundle_optimization.md +2 -2
- package/docs/id/cli/ci.md +2 -0
- package/docs/id/cli/doc-review.md +9 -1
- package/docs/id/cli/fill.md +0 -8
- package/docs/id/cli/index.md +2 -0
- package/docs/id/cli/login.md +28 -0
- package/docs/id/compiler.md +14 -0
- package/docs/id/configuration.md +19 -17
- package/docs/id/custom_domains.md +34 -0
- package/docs/id/custom_url_rewrites.md +7 -5
- package/docs/id/dictionary/content_file.md +0 -29
- package/docs/id/dictionary/file.md +0 -166
- package/docs/id/dictionary/gender.md +0 -212
- package/docs/id/dictionary/html.md +134 -16
- package/docs/id/dictionary/insertion.md +0 -14
- package/docs/id/dictionary/markdown.md +31 -14
- package/docs/id/dictionary/plurial.md +79 -110
- package/docs/id/dynamic_dictionaries/variants.md +24 -0
- package/docs/id/formatters.md +12 -39
- package/docs/id/interest_of_intlayer.md +1 -3
- package/docs/id/intlayer_with_adonisjs.md +5 -3
- package/docs/id/intlayer_with_analog.md +1 -1
- package/docs/id/intlayer_with_angular_19.md +1 -1
- package/docs/id/intlayer_with_angular_21.md +1 -1
- package/docs/id/intlayer_with_astro.md +25 -1
- package/docs/id/intlayer_with_astro_lit.md +1 -1
- package/docs/id/intlayer_with_astro_preact.md +7 -1
- package/docs/id/intlayer_with_astro_react.md +1 -1
- package/docs/id/intlayer_with_astro_solid.md +1 -1
- package/docs/id/intlayer_with_astro_svelte.md +1 -1
- package/docs/id/intlayer_with_astro_vanilla.md +1 -1
- package/docs/id/intlayer_with_astro_vue.md +1 -1
- package/docs/id/intlayer_with_create_react_app.md +43 -0
- package/docs/id/intlayer_with_elysia.md +343 -0
- package/docs/id/intlayer_with_express.md +5 -3
- package/docs/id/intlayer_with_fastify.md +5 -3
- package/docs/id/intlayer_with_hono.md +44 -3
- package/docs/id/intlayer_with_lynx+react.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +5 -3
- package/docs/id/intlayer_with_nextjs_14.md +127 -8
- package/docs/id/intlayer_with_nextjs_15.md +104 -1
- package/docs/id/intlayer_with_nextjs_16.md +122 -3
- package/docs/id/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +142 -5
- package/docs/id/intlayer_with_nextjs_page_router.md +32 -25
- package/docs/id/intlayer_with_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +31 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +146 -51
- package/docs/id/intlayer_with_solid_start.md +13 -1
- package/docs/id/intlayer_with_storybook.md +1 -1
- package/docs/id/intlayer_with_svelte_kit.md +7 -1
- package/docs/id/intlayer_with_tanstack+solid.md +233 -7
- package/docs/id/intlayer_with_tanstack.md +371 -146
- package/docs/id/intlayer_with_vanilla.md +1 -1
- package/docs/id/intlayer_with_vite+lit.md +5 -1
- package/docs/id/intlayer_with_vite+preact.md +35 -5
- package/docs/id/intlayer_with_vite+react.md +5 -1
- package/docs/id/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/id/intlayer_with_vite+solid.md +12 -28
- package/docs/id/intlayer_with_vite+svelte.md +28 -1
- package/docs/id/intlayer_with_vite+vanilla.md +3 -1
- package/docs/id/intlayer_with_vite+vue.md +14 -3
- package/docs/id/introduction.md +1 -1
- package/docs/id/mcp_server.md +34 -21
- package/docs/id/packages/elysia-intlayer/exports.md +136 -0
- package/docs/id/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/id/packages/intlayer/getDictionary.md +155 -0
- package/docs/id/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/id/packages/intlayer/getEnumeration.md +2 -0
- package/docs/id/packages/intlayer/getIntlayer.md +197 -0
- package/docs/id/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/id/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/id/packages/intlayer/getLocalizedUrl.md +11 -32
- package/docs/id/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/id/packages/intlayer/getTranslation.md +2 -0
- package/docs/id/packages/next-intlayer/t.md +20 -0
- package/docs/id/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/id/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/id/packages/react-intlayer/useI18n.md +31 -0
- package/docs/id/packages/react-intlayer/useIntlayer.md +0 -44
- package/docs/id/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/id/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/id/per_locale_file.md +13 -13
- package/docs/id/readme.md +3 -2
- package/docs/id/self_hosting.md +62 -31
- package/docs/it/agent_skills.md +6 -6
- package/docs/it/analytics.md +28 -5
- package/docs/it/benchmark/tanstack.md +6 -0
- package/docs/it/bundle_optimization.md +2 -2
- package/docs/it/cli/ci.md +2 -0
- package/docs/it/cli/doc-review.md +9 -1
- package/docs/it/cli/fill.md +0 -8
- package/docs/it/cli/index.md +2 -0
- package/docs/it/cli/list_projects.md +0 -2
- package/docs/it/cli/login.md +28 -0
- package/docs/it/cli/watch.md +0 -2
- package/docs/it/compiler.md +14 -0
- package/docs/it/configuration.md +19 -17
- package/docs/it/custom_domains.md +34 -0
- package/docs/it/custom_url_rewrites.md +7 -5
- package/docs/it/dictionary/enumeration.md +30 -0
- package/docs/it/dictionary/file.md +0 -166
- package/docs/it/dictionary/html.md +18 -18
- package/docs/it/dictionary/markdown.md +7 -3
- package/docs/it/dictionary/plurial.md +70 -273
- package/docs/it/dynamic_dictionaries/variants.md +24 -0
- package/docs/it/formatters.md +24 -113
- package/docs/it/how_works_intlayer.md +8 -1
- package/docs/it/intlayer_CMS.md +26 -21
- package/docs/it/intlayer_visual_editor.md +12 -0
- package/docs/it/intlayer_with_adonisjs.md +5 -3
- package/docs/it/intlayer_with_analog.md +1 -1
- package/docs/it/intlayer_with_angular_19.md +1 -1
- package/docs/it/intlayer_with_angular_21.md +1 -1
- package/docs/it/intlayer_with_astro.md +25 -1
- package/docs/it/intlayer_with_astro_lit.md +1 -1
- package/docs/it/intlayer_with_astro_preact.md +7 -1
- package/docs/it/intlayer_with_astro_react.md +1 -1
- package/docs/it/intlayer_with_astro_solid.md +1 -1
- package/docs/it/intlayer_with_astro_svelte.md +1 -1
- package/docs/it/intlayer_with_astro_vanilla.md +1 -1
- package/docs/it/intlayer_with_astro_vue.md +1 -1
- package/docs/it/intlayer_with_create_react_app.md +57 -38
- package/docs/it/intlayer_with_elysia.md +343 -0
- package/docs/it/intlayer_with_express.md +9 -3
- package/docs/it/intlayer_with_fastify.md +5 -3
- package/docs/it/intlayer_with_hono.md +44 -3
- package/docs/it/intlayer_with_lynx+react.md +14 -10
- package/docs/it/intlayer_with_nestjs.md +5 -3
- package/docs/it/intlayer_with_nextjs_14.md +240 -10
- package/docs/it/intlayer_with_nextjs_15.md +197 -21
- package/docs/it/intlayer_with_nextjs_16.md +107 -3
- package/docs/it/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +141 -5
- package/docs/it/intlayer_with_nextjs_page_router.md +7 -29
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_native+expo.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +31 -1
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +32 -2
- package/docs/it/intlayer_with_solid_start.md +13 -1
- package/docs/it/intlayer_with_storybook.md +1 -1
- package/docs/it/intlayer_with_svelte_kit.md +7 -1
- package/docs/it/intlayer_with_tanstack+solid.md +158 -7
- package/docs/it/intlayer_with_tanstack.md +322 -172
- package/docs/it/intlayer_with_vanilla.md +1 -1
- package/docs/it/intlayer_with_vite+lit.md +5 -1
- package/docs/it/intlayer_with_vite+preact.md +37 -5
- package/docs/it/intlayer_with_vite+react.md +5 -6
- package/docs/it/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/it/intlayer_with_vite+solid.md +12 -32
- package/docs/it/intlayer_with_vite+svelte.md +28 -1
- package/docs/it/intlayer_with_vite+vanilla.md +3 -1
- package/docs/it/intlayer_with_vite+vue.md +22 -3
- package/docs/it/introduction.md +1 -1
- package/docs/it/live-sync.md +13 -2
- package/docs/it/mcp_server.md +34 -21
- package/docs/it/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/it/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/it/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/it/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/it/packages/elysia-intlayer/exports.md +136 -0
- package/docs/it/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/it/packages/intlayer/getDictionary.md +154 -0
- package/docs/it/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/it/packages/intlayer/getEnumeration.md +2 -0
- package/docs/it/packages/intlayer/getIntlayer.md +197 -0
- package/docs/it/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/it/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/it/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/it/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/it/packages/intlayer/getTranslation.md +2 -0
- package/docs/it/packages/next-intlayer/t.md +20 -31
- package/docs/it/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/it/packages/next-intlayer/useLocale.md +2 -0
- package/docs/it/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/it/packages/react-intlayer/useI18n.md +31 -0
- package/docs/it/packages/react-intlayer/useIntlayer.md +0 -44
- package/docs/it/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/it/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/it/per_locale_file.md +13 -13
- package/docs/it/readme.md +3 -2
- package/docs/it/releases/v6.md +16 -2
- package/docs/it/releases/v8.md +2 -4
- package/docs/it/releases/v9.md +2 -0
- package/docs/it/self_hosting.md +61 -30
- package/docs/ja/agent_skills.md +6 -6
- package/docs/ja/analytics.md +57 -13
- package/docs/ja/benchmark/tanstack.md +6 -0
- package/docs/ja/bundle_optimization.md +2 -2
- package/docs/ja/cli/build.md +0 -14
- package/docs/ja/cli/ci.md +2 -0
- package/docs/ja/cli/doc-review.md +8 -0
- package/docs/ja/cli/fill.md +0 -8
- package/docs/ja/cli/index.md +2 -0
- package/docs/ja/cli/list_projects.md +0 -2
- package/docs/ja/cli/login.md +28 -0
- package/docs/ja/cli/push.md +0 -15
- package/docs/ja/compiler.md +14 -0
- package/docs/ja/configuration.md +19 -17
- package/docs/ja/custom_domains.md +32 -0
- package/docs/ja/custom_url_rewrites.md +7 -5
- package/docs/ja/dictionary/content_file.md +0 -13
- package/docs/ja/dictionary/html.md +19 -17
- package/docs/ja/dictionary/plurial.md +81 -115
- package/docs/ja/dynamic_dictionaries/variants.md +24 -0
- package/docs/ja/formatters.md +0 -164
- package/docs/ja/how_works_intlayer.md +7 -0
- package/docs/ja/interest_of_intlayer.md +19 -1
- package/docs/ja/intlayer_visual_editor.md +13 -1
- package/docs/ja/intlayer_with_adonisjs.md +5 -3
- package/docs/ja/intlayer_with_analog.md +20 -1
- package/docs/ja/intlayer_with_angular_19.md +18 -1
- package/docs/ja/intlayer_with_angular_21.md +18 -1
- package/docs/ja/intlayer_with_astro.md +42 -1
- package/docs/ja/intlayer_with_astro_lit.md +18 -1
- package/docs/ja/intlayer_with_astro_preact.md +18 -1
- package/docs/ja/intlayer_with_astro_react.md +18 -1
- package/docs/ja/intlayer_with_astro_solid.md +18 -1
- package/docs/ja/intlayer_with_astro_svelte.md +18 -1
- package/docs/ja/intlayer_with_astro_vanilla.md +18 -1
- package/docs/ja/intlayer_with_astro_vue.md +18 -1
- package/docs/ja/intlayer_with_create_react_app.md +55 -272
- package/docs/ja/intlayer_with_elysia.md +343 -0
- package/docs/ja/intlayer_with_express.md +11 -3
- package/docs/ja/intlayer_with_fastify.md +5 -3
- package/docs/ja/intlayer_with_hono.md +44 -3
- package/docs/ja/intlayer_with_lynx+react.md +28 -1
- package/docs/ja/intlayer_with_nestjs.md +19 -3
- package/docs/ja/intlayer_with_nextjs_14.md +199 -91
- package/docs/ja/intlayer_with_nextjs_15.md +218 -1
- package/docs/ja/intlayer_with_nextjs_16.md +124 -3
- package/docs/ja/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +170 -7
- package/docs/ja/intlayer_with_nextjs_page_router.md +3 -25
- package/docs/ja/intlayer_with_nuxt.md +18 -1
- package/docs/ja/intlayer_with_react_native+expo.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +148 -28
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +47 -2
- package/docs/ja/intlayer_with_solid_start.md +13 -1
- package/docs/ja/intlayer_with_storybook.md +18 -1
- package/docs/ja/intlayer_with_svelte_kit.md +528 -13
- package/docs/ja/intlayer_with_tanstack+solid.md +175 -9
- package/docs/ja/intlayer_with_tanstack.md +402 -216
- package/docs/ja/intlayer_with_vanilla.md +18 -1
- package/docs/ja/intlayer_with_vite+lit.md +22 -1
- package/docs/ja/intlayer_with_vite+preact.md +18 -5
- package/docs/ja/intlayer_with_vite+react.md +523 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ja/intlayer_with_vite+solid.md +29 -43
- package/docs/ja/intlayer_with_vite+svelte.md +55 -13
- package/docs/ja/intlayer_with_vite+vanilla.md +20 -1
- package/docs/ja/intlayer_with_vite+vue.md +33 -6
- package/docs/ja/introduction.md +1 -1
- package/docs/ja/mcp_server.md +34 -19
- package/docs/ja/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ja/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ja/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ja/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ja/packages/astro-intlayer/exports.md +0 -4
- package/docs/ja/packages/elysia-intlayer/exports.md +136 -0
- package/docs/ja/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/ja/packages/intlayer/getDictionary.md +155 -0
- package/docs/ja/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/ja/packages/intlayer/getEnumeration.md +2 -0
- package/docs/ja/packages/intlayer/getIntlayer.md +197 -0
- package/docs/ja/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/ja/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +14 -30
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +14 -50
- package/docs/ja/packages/intlayer/getPrefix.md +0 -2
- package/docs/ja/packages/intlayer/getTranslation.md +2 -0
- package/docs/ja/packages/next-intlayer/t.md +20 -0
- package/docs/ja/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/ja/packages/next-intlayer/useLocale.md +2 -0
- package/docs/ja/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/ja/packages/react-intlayer/useI18n.md +31 -0
- package/docs/ja/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/ja/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ja/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/ja/per_locale_file.md +13 -13
- package/docs/ja/readme.md +3 -2
- package/docs/ja/releases/v6.md +16 -2
- package/docs/ja/self_hosting.md +67 -23
- package/docs/ko/agent_skills.md +7 -7
- package/docs/ko/analytics.md +57 -13
- package/docs/ko/benchmark/tanstack.md +6 -0
- package/docs/ko/bundle_optimization.md +2 -2
- package/docs/ko/cli/ci.md +2 -0
- package/docs/ko/cli/doc-review.md +8 -0
- package/docs/ko/cli/fill.md +0 -8
- package/docs/ko/cli/index.md +2 -0
- package/docs/ko/cli/login.md +28 -0
- package/docs/ko/cli/push.md +0 -15
- package/docs/ko/compat/next-i18next.md +2 -0
- package/docs/ko/compiler.md +14 -0
- package/docs/ko/configuration.md +19 -17
- package/docs/ko/custom_domains.md +34 -0
- package/docs/ko/custom_url_rewrites.md +7 -5
- package/docs/ko/dictionary/html.md +3 -1
- package/docs/ko/dictionary/markdown.md +7 -3
- package/docs/ko/dictionary/plurial.md +79 -111
- package/docs/ko/dynamic_dictionaries/variants.md +24 -0
- package/docs/ko/formatters.md +0 -184
- package/docs/ko/how_works_intlayer.md +7 -0
- package/docs/ko/intlayer_visual_editor.md +12 -0
- package/docs/ko/intlayer_with_adonisjs.md +5 -3
- package/docs/ko/intlayer_with_analog.md +3 -1
- package/docs/ko/intlayer_with_angular_19.md +1 -1
- package/docs/ko/intlayer_with_angular_21.md +1 -1
- package/docs/ko/intlayer_with_astro.md +109 -67
- package/docs/ko/intlayer_with_astro_lit.md +114 -70
- package/docs/ko/intlayer_with_astro_preact.md +111 -67
- package/docs/ko/intlayer_with_astro_react.md +107 -63
- package/docs/ko/intlayer_with_astro_solid.md +107 -63
- package/docs/ko/intlayer_with_astro_svelte.md +109 -65
- package/docs/ko/intlayer_with_astro_vanilla.md +108 -64
- package/docs/ko/intlayer_with_astro_vue.md +84 -64
- package/docs/ko/intlayer_with_create_react_app.md +53 -2
- package/docs/ko/intlayer_with_elysia.md +343 -0
- package/docs/ko/intlayer_with_express.md +11 -3
- package/docs/ko/intlayer_with_fastify.md +5 -3
- package/docs/ko/intlayer_with_hono.md +44 -3
- package/docs/ko/intlayer_with_lynx+react.md +52 -1
- package/docs/ko/intlayer_with_nestjs.md +19 -3
- package/docs/ko/intlayer_with_nextjs_14.md +200 -51
- package/docs/ko/intlayer_with_nextjs_15.md +157 -3
- package/docs/ko/intlayer_with_nextjs_16.md +108 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +374 -40
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +153 -11
- package/docs/ko/intlayer_with_nextjs_page_router.md +14 -80
- package/docs/ko/intlayer_with_nuxt.md +30 -30
- package/docs/ko/intlayer_with_react_native+expo.md +3 -3
- package/docs/ko/intlayer_with_react_router_v7.md +139 -107
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +276 -52
- package/docs/ko/intlayer_with_solid_start.md +13 -1
- package/docs/ko/intlayer_with_storybook.md +1 -5
- package/docs/ko/intlayer_with_svelte_kit.md +39 -33
- package/docs/ko/intlayer_with_tanstack+solid.md +160 -9
- package/docs/ko/intlayer_with_tanstack.md +380 -183
- package/docs/ko/intlayer_with_vanilla.md +1 -3
- package/docs/ko/intlayer_with_vite+lit.md +5 -1
- package/docs/ko/intlayer_with_vite+preact.md +37 -5
- package/docs/ko/intlayer_with_vite+react.md +417 -2
- package/docs/ko/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/ko/intlayer_with_vite+solid.md +82 -9
- package/docs/ko/intlayer_with_vite+svelte.md +133 -100
- package/docs/ko/intlayer_with_vite+vanilla.md +3 -3
- package/docs/ko/intlayer_with_vite+vue.md +16 -1
- package/docs/ko/introduction.md +1 -1
- package/docs/ko/live-sync.md +0 -2
- package/docs/ko/mcp_server.md +34 -21
- package/docs/ko/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ko/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ko/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ko/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ko/packages/elysia-intlayer/exports.md +136 -0
- package/docs/ko/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/ko/packages/express-intlayer/t.md +1 -69
- package/docs/ko/packages/intlayer/getDictionary.md +155 -0
- package/docs/ko/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/ko/packages/intlayer/getEnumeration.md +2 -0
- package/docs/ko/packages/intlayer/getIntlayer.md +197 -0
- package/docs/ko/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/ko/packages/intlayer/getLocaleLang.md +0 -2
- package/docs/ko/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +14 -30
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +14 -35
- package/docs/ko/packages/intlayer/getPrefix.md +0 -2
- package/docs/ko/packages/intlayer/getTranslation.md +2 -0
- package/docs/ko/packages/next-intlayer/t.md +20 -31
- package/docs/ko/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/ko/packages/next-intlayer/useLocale.md +2 -0
- package/docs/ko/packages/next-intlayer/usePathname.md +0 -4
- package/docs/ko/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/ko/packages/react-intlayer/useI18n.md +31 -0
- package/docs/ko/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/ko/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ko/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/ko/per_locale_file.md +13 -13
- package/docs/ko/readme.md +3 -2
- package/docs/ko/releases/v6.md +16 -2
- package/docs/ko/releases/v8.md +2 -4
- package/docs/ko/self_hosting.md +61 -30
- package/docs/nl/bundle_optimization.md +2 -2
- package/docs/nl/configuration.md +12 -9
- package/docs/nl/intlayer_with_fastify.md +5 -3
- package/docs/nl/intlayer_with_hono.md +5 -3
- package/docs/pl/agent_skills.md +5 -5
- package/docs/pl/analytics.md +28 -5
- package/docs/pl/benchmark/tanstack.md +6 -0
- package/docs/pl/bundle_optimization.md +2 -2
- package/docs/pl/cli/ci.md +2 -0
- package/docs/pl/cli/doc-review.md +9 -1
- package/docs/pl/cli/fill.md +0 -8
- package/docs/pl/cli/index.md +2 -0
- package/docs/pl/cli/list_projects.md +0 -2
- package/docs/pl/cli/login.md +28 -0
- package/docs/pl/cli/watch.md +0 -2
- package/docs/pl/compiler.md +16 -0
- package/docs/pl/configuration.md +19 -17
- package/docs/pl/custom_domains.md +31 -0
- package/docs/pl/custom_url_rewrites.md +7 -5
- package/docs/pl/dictionary/file.md +0 -166
- package/docs/pl/dictionary/gender.md +0 -2
- package/docs/pl/dictionary/html.md +18 -18
- package/docs/pl/dictionary/insertion.md +0 -14
- package/docs/pl/dictionary/markdown.md +31 -14
- package/docs/pl/dictionary/plurial.md +87 -119
- package/docs/pl/dynamic_dictionaries/variants.md +24 -0
- package/docs/pl/formatters.md +12 -39
- package/docs/pl/intlayer_with_adonisjs.md +5 -3
- package/docs/pl/intlayer_with_analog.md +18 -1
- package/docs/pl/intlayer_with_angular_19.md +18 -1
- package/docs/pl/intlayer_with_angular_21.md +18 -1
- package/docs/pl/intlayer_with_astro.md +114 -1
- package/docs/pl/intlayer_with_astro_lit.md +18 -1
- package/docs/pl/intlayer_with_astro_preact.md +24 -1
- package/docs/pl/intlayer_with_astro_react.md +18 -1
- package/docs/pl/intlayer_with_astro_solid.md +18 -1
- package/docs/pl/intlayer_with_astro_svelte.md +18 -1
- package/docs/pl/intlayer_with_astro_vanilla.md +18 -1
- package/docs/pl/intlayer_with_astro_vue.md +18 -1
- package/docs/pl/intlayer_with_create_react_app.md +43 -0
- package/docs/pl/intlayer_with_elysia.md +343 -0
- package/docs/pl/intlayer_with_express.md +5 -3
- package/docs/pl/intlayer_with_fastify.md +5 -3
- package/docs/pl/intlayer_with_hono.md +44 -3
- package/docs/pl/intlayer_with_lynx+react.md +18 -1
- package/docs/pl/intlayer_with_nextjs_14.md +144 -12
- package/docs/pl/intlayer_with_nextjs_15.md +118 -5
- package/docs/pl/intlayer_with_nextjs_16.md +123 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +159 -5
- package/docs/pl/intlayer_with_nextjs_page_router.md +92 -37
- package/docs/pl/intlayer_with_nuxt.md +18 -1
- package/docs/pl/intlayer_with_react_native+expo.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +48 -3
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +31 -27
- package/docs/pl/intlayer_with_solid_start.md +13 -1
- package/docs/pl/intlayer_with_storybook.md +18 -1
- package/docs/pl/intlayer_with_svelte_kit.md +24 -1
- package/docs/pl/intlayer_with_tanstack+solid.md +250 -7
- package/docs/pl/intlayer_with_tanstack.md +416 -152
- package/docs/pl/intlayer_with_vanilla.md +18 -1
- package/docs/pl/intlayer_with_vite+lit.md +22 -1
- package/docs/pl/intlayer_with_vite+preact.md +52 -1
- package/docs/pl/intlayer_with_vite+react.md +22 -1
- package/docs/pl/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/pl/intlayer_with_vite+solid.md +29 -28
- package/docs/pl/intlayer_with_vite+svelte.md +43 -1
- package/docs/pl/intlayer_with_vite+vanilla.md +20 -1
- package/docs/pl/intlayer_with_vite+vue.md +24 -53
- package/docs/pl/introduction.md +1 -1
- package/docs/pl/mcp_server.md +34 -21
- package/docs/pl/migration_from_i18next_to_intlayer.md +100 -1
- package/docs/pl/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pl/migration_from_next-intl_to_intlayer.md +1 -3
- package/docs/pl/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pl/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +124 -1
- package/docs/pl/packages/elysia-intlayer/exports.md +136 -0
- package/docs/pl/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/pl/packages/intlayer/getDictionary.md +154 -0
- package/docs/pl/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/pl/packages/intlayer/getEnumeration.md +2 -0
- package/docs/pl/packages/intlayer/getIntlayer.md +197 -0
- package/docs/pl/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/pl/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/pl/packages/intlayer/getLocalizedUrl.md +11 -25
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/pl/packages/intlayer/getTranslation.md +2 -0
- package/docs/pl/packages/next-intlayer/t.md +20 -0
- package/docs/pl/packages/next-intlayer/useIntlayer.md +6 -0
- package/docs/pl/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/pl/packages/react-intlayer/useI18n.md +9 -0
- package/docs/pl/packages/react-intlayer/useIntlayer.md +0 -41
- package/docs/pl/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pl/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/pl/per_locale_file.md +13 -13
- package/docs/pl/readme.md +3 -2
- package/docs/pl/releases/v9.md +2 -0
- package/docs/pl/self_hosting.md +61 -30
- package/docs/pt/agent_skills.md +6 -6
- package/docs/pt/analytics.md +28 -5
- package/docs/pt/benchmark/tanstack.md +6 -0
- package/docs/pt/bundle_optimization.md +2 -2
- package/docs/pt/cli/ci.md +2 -0
- package/docs/pt/cli/doc-review.md +9 -1
- package/docs/pt/cli/fill.md +0 -8
- package/docs/pt/cli/index.md +2 -0
- package/docs/pt/cli/list_projects.md +0 -6
- package/docs/pt/cli/login.md +28 -2
- package/docs/pt/cli/watch.md +0 -2
- package/docs/pt/compiler.md +16 -0
- package/docs/pt/configuration.md +19 -17
- package/docs/pt/custom_domains.md +34 -0
- package/docs/pt/custom_url_rewrites.md +7 -5
- package/docs/pt/dictionary/html.md +20 -18
- package/docs/pt/dictionary/insertion.md +0 -14
- package/docs/pt/dictionary/markdown.md +31 -14
- package/docs/pt/dictionary/plurial.md +70 -273
- package/docs/pt/dynamic_dictionaries/variants.md +24 -0
- package/docs/pt/formatters.md +24 -137
- package/docs/pt/how_works_intlayer.md +5 -0
- package/docs/pt/intlayer_CMS.md +26 -21
- package/docs/pt/intlayer_visual_editor.md +12 -2
- package/docs/pt/intlayer_with_adonisjs.md +5 -3
- package/docs/pt/intlayer_with_analog.md +1 -1
- package/docs/pt/intlayer_with_angular_19.md +1 -1
- package/docs/pt/intlayer_with_angular_21.md +1 -1
- package/docs/pt/intlayer_with_astro.md +97 -1
- package/docs/pt/intlayer_with_astro_lit.md +1 -9
- package/docs/pt/intlayer_with_astro_preact.md +7 -1
- package/docs/pt/intlayer_with_astro_react.md +1 -1
- package/docs/pt/intlayer_with_astro_solid.md +1 -1
- package/docs/pt/intlayer_with_astro_svelte.md +1 -1
- package/docs/pt/intlayer_with_astro_vanilla.md +1 -1
- package/docs/pt/intlayer_with_astro_vue.md +1 -1
- package/docs/pt/intlayer_with_create_react_app.md +55 -35
- package/docs/pt/intlayer_with_elysia.md +344 -0
- package/docs/pt/intlayer_with_express.md +11 -3
- package/docs/pt/intlayer_with_fastify.md +5 -3
- package/docs/pt/intlayer_with_hono.md +44 -3
- package/docs/pt/intlayer_with_lynx+react.md +14 -10
- package/docs/pt/intlayer_with_nestjs.md +19 -3
- package/docs/pt/intlayer_with_nextjs_14.md +238 -8
- package/docs/pt/intlayer_with_nextjs_15.md +201 -1
- package/docs/pt/intlayer_with_nextjs_16.md +106 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +45 -5
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +142 -5
- package/docs/pt/intlayer_with_nextjs_page_router.md +5 -29
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_native+expo.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +38 -31
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +32 -4
- package/docs/pt/intlayer_with_solid_start.md +13 -1
- package/docs/pt/intlayer_with_storybook.md +1 -1
- package/docs/pt/intlayer_with_svelte_kit.md +7 -1
- package/docs/pt/intlayer_with_tanstack+solid.md +158 -7
- package/docs/pt/intlayer_with_tanstack.md +333 -189
- package/docs/pt/intlayer_with_vanilla.md +1 -1
- package/docs/pt/intlayer_with_vite+lit.md +5 -1
- package/docs/pt/intlayer_with_vite+preact.md +35 -1
- package/docs/pt/intlayer_with_vite+react.md +3 -1
- package/docs/pt/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/pt/intlayer_with_vite+solid.md +12 -37
- package/docs/pt/intlayer_with_vite+svelte.md +5 -1
- package/docs/pt/intlayer_with_vite+vanilla.md +3 -1
- package/docs/pt/intlayer_with_vite+vue.md +25 -53
- package/docs/pt/live-sync.md +13 -2
- package/docs/pt/mcp_server.md +34 -21
- package/docs/pt/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/pt/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/pt/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/pt/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/pt/packages/elysia-intlayer/exports.md +136 -0
- package/docs/pt/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/pt/packages/intlayer/getDictionary.md +155 -0
- package/docs/pt/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/pt/packages/intlayer/getEnumeration.md +2 -0
- package/docs/pt/packages/intlayer/getIntlayer.md +197 -0
- package/docs/pt/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/pt/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/pt/packages/intlayer/getTranslation.md +2 -0
- package/docs/pt/packages/next-intlayer/t.md +20 -31
- package/docs/pt/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/pt/packages/next-intlayer/useLocale.md +2 -0
- package/docs/pt/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/pt/packages/react-intlayer/useI18n.md +31 -0
- package/docs/pt/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/pt/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/pt/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/pt/per_locale_file.md +13 -13
- package/docs/pt/readme.md +3 -2
- package/docs/pt/releases/v6.md +16 -2
- package/docs/pt/releases/v9.md +2 -0
- package/docs/pt/self_hosting.md +62 -31
- package/docs/ru/agent_skills.md +7 -7
- package/docs/ru/analytics.md +57 -13
- package/docs/ru/benchmark/tanstack.md +6 -0
- package/docs/ru/bundle_optimization.md +2 -2
- package/docs/ru/cli/ci.md +2 -0
- package/docs/ru/cli/doc-review.md +7 -1
- package/docs/ru/cli/fill.md +0 -8
- package/docs/ru/cli/index.md +2 -0
- package/docs/ru/cli/list_projects.md +0 -2
- package/docs/ru/cli/login.md +28 -0
- package/docs/ru/cli/watch.md +0 -2
- package/docs/ru/compiler.md +14 -0
- package/docs/ru/configuration.md +19 -17
- package/docs/ru/custom_domains.md +34 -0
- package/docs/ru/custom_url_rewrites.md +7 -5
- package/docs/ru/dictionary/condition.md +0 -163
- package/docs/ru/dictionary/enumeration.md +0 -183
- package/docs/ru/dictionary/file.md +0 -166
- package/docs/ru/dictionary/html.md +16 -14
- package/docs/ru/dictionary/markdown.md +10 -3
- package/docs/ru/dictionary/plurial.md +74 -276
- package/docs/ru/dictionary/translation.md +0 -133
- package/docs/ru/dynamic_dictionaries/variants.md +24 -0
- package/docs/ru/formatters.md +0 -158
- package/docs/ru/how_works_intlayer.md +8 -1
- package/docs/ru/intlayer_visual_editor.md +12 -0
- package/docs/ru/intlayer_with_adonisjs.md +5 -3
- package/docs/ru/intlayer_with_analog.md +1 -1
- package/docs/ru/intlayer_with_angular_19.md +1 -1
- package/docs/ru/intlayer_with_angular_21.md +1 -1
- package/docs/ru/intlayer_with_astro.md +25 -1
- package/docs/ru/intlayer_with_astro_lit.md +28 -4
- package/docs/ru/intlayer_with_astro_preact.md +25 -1
- package/docs/ru/intlayer_with_astro_react.md +25 -1
- package/docs/ru/intlayer_with_astro_solid.md +25 -1
- package/docs/ru/intlayer_with_astro_svelte.md +25 -1
- package/docs/ru/intlayer_with_astro_vanilla.md +25 -1
- package/docs/ru/intlayer_with_astro_vue.md +1 -1
- package/docs/ru/intlayer_with_create_react_app.md +55 -32
- package/docs/ru/intlayer_with_elysia.md +343 -0
- package/docs/ru/intlayer_with_express.md +7 -91
- package/docs/ru/intlayer_with_fastify.md +5 -3
- package/docs/ru/intlayer_with_hono.md +48 -3
- package/docs/ru/intlayer_with_lynx+react.md +14 -1
- package/docs/ru/intlayer_with_nestjs.md +19 -3
- package/docs/ru/intlayer_with_nextjs_14.md +244 -37
- package/docs/ru/intlayer_with_nextjs_15.md +181 -5
- package/docs/ru/intlayer_with_nextjs_16.md +106 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +150 -5
- package/docs/ru/intlayer_with_nextjs_page_router.md +12 -85
- package/docs/ru/intlayer_with_nuxt.md +1 -1
- package/docs/ru/intlayer_with_react_native+expo.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +31 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +32 -4
- package/docs/ru/intlayer_with_solid_start.md +13 -1
- package/docs/ru/intlayer_with_storybook.md +1 -1
- package/docs/ru/intlayer_with_svelte_kit.md +7 -1
- package/docs/ru/intlayer_with_tanstack+solid.md +160 -9
- package/docs/ru/intlayer_with_tanstack.md +343 -171
- package/docs/ru/intlayer_with_vanilla.md +1 -1
- package/docs/ru/intlayer_with_vite+lit.md +5 -1
- package/docs/ru/intlayer_with_vite+preact.md +35 -5
- package/docs/ru/intlayer_with_vite+react.md +3 -1
- package/docs/ru/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ru/intlayer_with_vite+solid.md +12 -28
- package/docs/ru/intlayer_with_vite+svelte.md +30 -1
- package/docs/ru/intlayer_with_vite+vanilla.md +3 -1
- package/docs/ru/intlayer_with_vite+vue.md +11 -3
- package/docs/ru/introduction.md +1 -1
- package/docs/ru/mcp_server.md +34 -21
- package/docs/ru/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/ru/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/ru/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/ru/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/ru/packages/elysia-intlayer/exports.md +136 -0
- package/docs/ru/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/ru/packages/intlayer/getDictionary.md +155 -0
- package/docs/ru/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/ru/packages/intlayer/getEnumeration.md +2 -0
- package/docs/ru/packages/intlayer/getIntlayer.md +197 -0
- package/docs/ru/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/ru/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +6 -30
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/ru/packages/intlayer/getTranslation.md +2 -0
- package/docs/ru/packages/next-intlayer/t.md +20 -31
- package/docs/ru/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/ru/packages/next-intlayer/useLocale.md +2 -0
- package/docs/ru/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/ru/packages/react-intlayer/useI18n.md +31 -0
- package/docs/ru/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/ru/packages/react-intlayer/useLocale.md +0 -50
- package/docs/ru/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/ru/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/ru/per_locale_file.md +14 -13
- package/docs/ru/readme.md +3 -2
- package/docs/ru/releases/v6.md +16 -5
- package/docs/ru/releases/v9.md +2 -0
- package/docs/ru/self_hosting.md +61 -30
- package/docs/tr/agent_skills.md +6 -6
- package/docs/tr/analytics.md +28 -5
- package/docs/tr/benchmark/tanstack.md +6 -0
- package/docs/tr/bundle_optimization.md +2 -2
- package/docs/tr/cli/ci.md +2 -0
- package/docs/tr/cli/doc-review.md +7 -1
- package/docs/tr/cli/fill.md +0 -8
- package/docs/tr/cli/index.md +2 -0
- package/docs/tr/cli/list_projects.md +0 -6
- package/docs/tr/cli/login.md +28 -0
- package/docs/tr/cli/watch.md +0 -2
- package/docs/tr/compiler.md +14 -0
- package/docs/tr/configuration.md +19 -17
- package/docs/tr/custom_domains.md +28 -0
- package/docs/tr/custom_url_rewrites.md +7 -5
- package/docs/tr/dictionary/html.md +35 -14
- package/docs/tr/dictionary/markdown.md +31 -14
- package/docs/tr/dictionary/plurial.md +83 -115
- package/docs/tr/dynamic_dictionaries/variants.md +24 -0
- package/docs/tr/formatters.md +0 -145
- package/docs/tr/intlayer_visual_editor.md +12 -0
- package/docs/tr/intlayer_with_adonisjs.md +5 -3
- package/docs/tr/intlayer_with_analog.md +3 -1
- package/docs/tr/intlayer_with_angular_19.md +1 -1
- package/docs/tr/intlayer_with_angular_21.md +1 -1
- package/docs/tr/intlayer_with_astro.md +108 -1
- package/docs/tr/intlayer_with_astro_lit.md +9 -9
- package/docs/tr/intlayer_with_astro_preact.md +15 -9
- package/docs/tr/intlayer_with_astro_react.md +9 -9
- package/docs/tr/intlayer_with_astro_solid.md +9 -9
- package/docs/tr/intlayer_with_astro_svelte.md +9 -9
- package/docs/tr/intlayer_with_astro_vanilla.md +9 -9
- package/docs/tr/intlayer_with_astro_vue.md +1 -1
- package/docs/tr/intlayer_with_create_react_app.md +55 -0
- package/docs/tr/intlayer_with_elysia.md +343 -0
- package/docs/tr/intlayer_with_express.md +5 -3
- package/docs/tr/intlayer_with_fastify.md +5 -3
- package/docs/tr/intlayer_with_hono.md +44 -3
- package/docs/tr/intlayer_with_lynx+react.md +9 -1
- package/docs/tr/intlayer_with_nestjs.md +19 -3
- package/docs/tr/intlayer_with_nextjs_14.md +362 -5
- package/docs/tr/intlayer_with_nextjs_15.md +202 -1
- package/docs/tr/intlayer_with_nextjs_16.md +106 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +124 -14
- package/docs/tr/intlayer_with_nextjs_page_router.md +5 -29
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_native+expo.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +31 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +32 -4
- package/docs/tr/intlayer_with_solid_start.md +13 -1
- package/docs/tr/intlayer_with_storybook.md +1 -1
- package/docs/tr/intlayer_with_svelte_kit.md +7 -1
- package/docs/tr/intlayer_with_tanstack+solid.md +233 -7
- package/docs/tr/intlayer_with_tanstack.md +352 -158
- package/docs/tr/intlayer_with_vanilla.md +1 -1
- package/docs/tr/intlayer_with_vite+lit.md +5 -1
- package/docs/tr/intlayer_with_vite+preact.md +35 -5
- package/docs/tr/intlayer_with_vite+react.md +5 -1
- package/docs/tr/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/tr/intlayer_with_vite+solid.md +12 -28
- package/docs/tr/intlayer_with_vite+svelte.md +30 -1
- package/docs/tr/intlayer_with_vite+vanilla.md +3 -1
- package/docs/tr/intlayer_with_vite+vue.md +16 -43
- package/docs/tr/introduction.md +1 -1
- package/docs/tr/live-sync.md +13 -2
- package/docs/tr/mcp_server.md +34 -21
- package/docs/tr/migration_from_i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_next-intl_to_intlayer.md +1 -1
- package/docs/tr/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/tr/migration_from_react-i18next_to_intlayer.md +1 -1
- package/docs/tr/migration_from_vue-i18n_to_intlayer.md +1 -1
- package/docs/tr/packages/elysia-intlayer/exports.md +136 -0
- package/docs/tr/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/tr/packages/intlayer/getDictionary.md +155 -0
- package/docs/tr/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/tr/packages/intlayer/getEnumeration.md +2 -0
- package/docs/tr/packages/intlayer/getIntlayer.md +197 -0
- package/docs/tr/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/tr/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +11 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +6 -2
- package/docs/tr/packages/intlayer/getTranslation.md +2 -0
- package/docs/tr/packages/next-intlayer/t.md +20 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/tr/packages/next-intlayer/useLocale.md +2 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/tr/packages/react-intlayer/useI18n.md +31 -0
- package/docs/tr/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/tr/packages/solid-intlayer/useRewriteURL.md +0 -2
- package/docs/tr/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/tr/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/tr/per_locale_file.md +13 -13
- package/docs/tr/readme.md +3 -2
- package/docs/tr/releases/v6.md +16 -2
- package/docs/tr/self_hosting.md +68 -25
- package/docs/uk/CI_CD.md +2 -0
- package/docs/uk/agent_skills.md +5 -5
- package/docs/uk/analytics.md +28 -5
- package/docs/uk/benchmark/tanstack.md +6 -0
- package/docs/uk/bundle_optimization.md +2 -2
- package/docs/uk/cli/ci.md +2 -0
- package/docs/uk/cli/doc-review.md +9 -1
- package/docs/uk/cli/fill.md +0 -8
- package/docs/uk/cli/index.md +2 -0
- package/docs/uk/cli/login.md +28 -0
- package/docs/uk/compiler.md +14 -0
- package/docs/uk/configuration.md +19 -17
- package/docs/uk/custom_domains.md +35 -0
- package/docs/uk/custom_url_rewrites.md +7 -5
- package/docs/uk/dictionary/file.md +0 -166
- package/docs/uk/dictionary/gender.md +0 -212
- package/docs/uk/dictionary/html.md +134 -16
- package/docs/uk/dictionary/markdown.md +31 -14
- package/docs/uk/dictionary/plurial.md +85 -116
- package/docs/uk/dynamic_dictionaries/variants.md +24 -0
- package/docs/uk/formatters.md +0 -139
- package/docs/uk/how_works_intlayer.md +2 -0
- package/docs/uk/interest_of_intlayer.md +1 -3
- package/docs/uk/intlayer_with_adonisjs.md +5 -3
- package/docs/uk/intlayer_with_analog.md +3 -1
- package/docs/uk/intlayer_with_angular_19.md +1 -1
- package/docs/uk/intlayer_with_angular_21.md +1 -1
- package/docs/uk/intlayer_with_astro.md +25 -1
- package/docs/uk/intlayer_with_astro_lit.md +1 -1
- package/docs/uk/intlayer_with_astro_preact.md +7 -1
- package/docs/uk/intlayer_with_astro_react.md +1 -1
- package/docs/uk/intlayer_with_astro_solid.md +1 -1
- package/docs/uk/intlayer_with_astro_svelte.md +1 -1
- package/docs/uk/intlayer_with_astro_vanilla.md +1 -1
- package/docs/uk/intlayer_with_astro_vue.md +1 -1
- package/docs/uk/intlayer_with_create_react_app.md +43 -0
- package/docs/uk/intlayer_with_elysia.md +343 -0
- package/docs/uk/intlayer_with_express.md +5 -3
- package/docs/uk/intlayer_with_fastify.md +5 -3
- package/docs/uk/intlayer_with_hono.md +44 -3
- package/docs/uk/intlayer_with_lynx+react.md +1 -3
- package/docs/uk/intlayer_with_nestjs.md +5 -3
- package/docs/uk/intlayer_with_nextjs_14.md +127 -8
- package/docs/uk/intlayer_with_nextjs_15.md +103 -243
- package/docs/uk/intlayer_with_nextjs_16.md +106 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +126 -5
- package/docs/uk/intlayer_with_nextjs_page_router.md +5 -29
- package/docs/uk/intlayer_with_nuxt.md +30 -1
- package/docs/uk/intlayer_with_react_native+expo.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +29 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +32 -4
- package/docs/uk/intlayer_with_solid_start.md +13 -1
- package/docs/uk/intlayer_with_storybook.md +1 -1
- package/docs/uk/intlayer_with_svelte_kit.md +3 -1
- package/docs/uk/intlayer_with_tanstack+solid.md +234 -8
- package/docs/uk/intlayer_with_tanstack.md +382 -160
- package/docs/uk/intlayer_with_vanilla.md +1 -1
- package/docs/uk/intlayer_with_vite+lit.md +5 -1
- package/docs/uk/intlayer_with_vite+preact.md +7 -5
- package/docs/uk/intlayer_with_vite+react.md +5 -1
- package/docs/uk/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/uk/intlayer_with_vite+solid.md +12 -28
- package/docs/uk/intlayer_with_vite+svelte.md +5 -1
- package/docs/uk/intlayer_with_vite+vanilla.md +3 -1
- package/docs/uk/intlayer_with_vite+vue.md +9 -3
- package/docs/uk/introduction.md +1 -1
- package/docs/uk/mcp_server.md +34 -21
- package/docs/uk/migration_from_nuxtjs_i18n_to_intlayer.md +1 -1
- package/docs/uk/packages/elysia-intlayer/exports.md +136 -0
- package/docs/uk/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/uk/packages/intlayer/getDictionary.md +155 -0
- package/docs/uk/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/uk/packages/intlayer/getEnumeration.md +2 -0
- package/docs/uk/packages/intlayer/getIntlayer.md +197 -0
- package/docs/uk/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/uk/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/uk/packages/intlayer/getTranslation.md +2 -0
- package/docs/uk/packages/next-intlayer/t.md +20 -2
- package/docs/uk/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/uk/packages/react-intlayer/useI18n.md +31 -0
- package/docs/uk/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/uk/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/uk/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/uk/readme.md +3 -2
- package/docs/uk/releases/v8.md +2 -4
- package/docs/uk/releases/v9.md +2 -0
- package/docs/uk/self_hosting.md +61 -29
- package/docs/ur/bundle_optimization.md +2 -2
- package/docs/ur/configuration.md +12 -9
- package/docs/ur/intlayer_with_fastify.md +5 -3
- package/docs/ur/intlayer_with_hono.md +5 -3
- package/docs/ur/introduction.md +1 -1
- package/docs/vi/agent_skills.md +6 -6
- package/docs/vi/analytics.md +28 -5
- package/docs/vi/benchmark/tanstack.md +6 -0
- package/docs/vi/bundle_optimization.md +2 -2
- package/docs/vi/cli/ci.md +2 -0
- package/docs/vi/cli/doc-review.md +9 -1
- package/docs/vi/cli/fill.md +0 -8
- package/docs/vi/cli/index.md +2 -0
- package/docs/vi/cli/list_projects.md +0 -2
- package/docs/vi/cli/login.md +28 -2
- package/docs/vi/compiler.md +14 -0
- package/docs/vi/configuration.md +19 -17
- package/docs/vi/custom_domains.md +33 -0
- package/docs/vi/custom_url_rewrites.md +7 -5
- package/docs/vi/dictionary/file.md +0 -166
- package/docs/vi/dictionary/gender.md +0 -2
- package/docs/vi/dictionary/html.md +134 -16
- package/docs/vi/dictionary/insertion.md +0 -14
- package/docs/vi/dictionary/markdown.md +31 -14
- package/docs/vi/dictionary/plurial.md +81 -113
- package/docs/vi/dynamic_dictionaries/variants.md +24 -0
- package/docs/vi/formatters.md +12 -39
- package/docs/vi/interest_of_intlayer.md +1 -3
- package/docs/vi/intlayer_with_adonisjs.md +5 -3
- package/docs/vi/intlayer_with_analog.md +3 -1
- package/docs/vi/intlayer_with_angular_19.md +1 -1
- package/docs/vi/intlayer_with_angular_21.md +1 -1
- package/docs/vi/intlayer_with_astro.md +25 -1
- package/docs/vi/intlayer_with_astro_lit.md +1 -1
- package/docs/vi/intlayer_with_astro_preact.md +7 -1
- package/docs/vi/intlayer_with_astro_react.md +1 -1
- package/docs/vi/intlayer_with_astro_solid.md +1 -1
- package/docs/vi/intlayer_with_astro_svelte.md +1 -1
- package/docs/vi/intlayer_with_astro_vanilla.md +1 -1
- package/docs/vi/intlayer_with_astro_vue.md +1 -1
- package/docs/vi/intlayer_with_create_react_app.md +43 -0
- package/docs/vi/intlayer_with_elysia.md +343 -0
- package/docs/vi/intlayer_with_fastify.md +5 -3
- package/docs/vi/intlayer_with_hono.md +44 -3
- package/docs/vi/intlayer_with_lynx+react.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +127 -8
- package/docs/vi/intlayer_with_nextjs_15.md +138 -148
- package/docs/vi/intlayer_with_nextjs_16.md +106 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +162 -5
- package/docs/vi/intlayer_with_nextjs_page_router.md +68 -30
- package/docs/vi/intlayer_with_nuxt.md +30 -1
- package/docs/vi/intlayer_with_react_native+expo.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +31 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +148 -53
- package/docs/vi/intlayer_with_solid_start.md +13 -1
- package/docs/vi/intlayer_with_storybook.md +1 -1
- package/docs/vi/intlayer_with_svelte_kit.md +7 -1
- package/docs/vi/intlayer_with_tanstack+solid.md +233 -7
- package/docs/vi/intlayer_with_tanstack.md +413 -168
- package/docs/vi/intlayer_with_vanilla.md +1 -1
- package/docs/vi/intlayer_with_vite+lit.md +5 -1
- package/docs/vi/intlayer_with_vite+preact.md +29 -5
- package/docs/vi/intlayer_with_vite+react.md +6 -4
- package/docs/vi/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/vi/intlayer_with_vite+solid.md +12 -28
- package/docs/vi/intlayer_with_vite+svelte.md +28 -1
- package/docs/vi/intlayer_with_vite+vanilla.md +3 -1
- package/docs/vi/intlayer_with_vite+vue.md +14 -3
- package/docs/vi/mcp_server.md +34 -21
- package/docs/vi/packages/elysia-intlayer/exports.md +136 -0
- package/docs/vi/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/vi/packages/intlayer/getDictionary.md +155 -0
- package/docs/vi/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/vi/packages/intlayer/getEnumeration.md +2 -0
- package/docs/vi/packages/intlayer/getIntlayer.md +197 -0
- package/docs/vi/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/vi/packages/intlayer/getLocalizedPath.md +46 -5
- package/docs/vi/packages/intlayer/getLocalizedUrl.md +11 -32
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/vi/packages/intlayer/getTranslation.md +2 -0
- package/docs/vi/packages/next-intlayer/t.md +20 -0
- package/docs/vi/packages/next-intlayer/useIntlayer.md +31 -0
- package/docs/vi/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/vi/packages/react-intlayer/useI18n.md +31 -0
- package/docs/vi/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/vi/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/vi/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/vi/per_locale_file.md +13 -13
- package/docs/vi/readme.md +3 -2
- package/docs/vi/self_hosting.md +61 -30
- package/docs/zh/agent_skills.md +7 -7
- package/docs/zh/analytics.md +57 -13
- package/docs/zh/benchmark/tanstack.md +6 -0
- package/docs/zh/bundle_optimization.md +2 -2
- package/docs/zh/cli/ci.md +2 -0
- package/docs/zh/cli/doc-review.md +7 -1
- package/docs/zh/cli/fill.md +0 -8
- package/docs/zh/cli/index.md +2 -0
- package/docs/zh/cli/list_projects.md +0 -2
- package/docs/zh/cli/login.md +28 -0
- package/docs/zh/cli/push.md +0 -15
- package/docs/zh/compiler.md +14 -0
- package/docs/zh/configuration.md +19 -17
- package/docs/zh/custom_domains.md +27 -0
- package/docs/zh/custom_url_rewrites.md +7 -5
- package/docs/zh/dictionary/content_file.md +0 -10
- package/docs/zh/dictionary/html.md +16 -14
- package/docs/zh/dictionary/markdown.md +7 -3
- package/docs/zh/dictionary/plurial.md +79 -110
- package/docs/zh/dynamic_dictionaries/variants.md +24 -0
- package/docs/zh/formatters.md +0 -146
- package/docs/zh/how_works_intlayer.md +5 -0
- package/docs/zh/interest_of_intlayer.md +19 -0
- package/docs/zh/intlayer_visual_editor.md +12 -0
- package/docs/zh/intlayer_with_adonisjs.md +5 -3
- package/docs/zh/intlayer_with_analog.md +20 -1
- package/docs/zh/intlayer_with_angular_19.md +18 -1
- package/docs/zh/intlayer_with_angular_21.md +18 -1
- package/docs/zh/intlayer_with_astro.md +19 -3
- package/docs/zh/intlayer_with_astro_lit.md +31 -9
- package/docs/zh/intlayer_with_astro_preact.md +37 -9
- package/docs/zh/intlayer_with_astro_react.md +31 -9
- package/docs/zh/intlayer_with_astro_solid.md +31 -9
- package/docs/zh/intlayer_with_astro_svelte.md +31 -9
- package/docs/zh/intlayer_with_astro_vanilla.md +31 -9
- package/docs/zh/intlayer_with_astro_vue.md +23 -1
- package/docs/zh/intlayer_with_create_react_app.md +10 -2
- package/docs/zh/intlayer_with_elysia.md +343 -0
- package/docs/zh/intlayer_with_express.md +11 -3
- package/docs/zh/intlayer_with_fastify.md +5 -3
- package/docs/zh/intlayer_with_hono.md +5 -3
- package/docs/zh/intlayer_with_lynx+react.md +66 -1
- package/docs/zh/intlayer_with_nestjs.md +19 -3
- package/docs/zh/intlayer_with_nextjs_14.md +124 -112
- package/docs/zh/intlayer_with_nextjs_15.md +182 -1
- package/docs/zh/intlayer_with_nextjs_16.md +105 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +51 -9
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +147 -583
- package/docs/zh/intlayer_with_nextjs_page_router.md +15 -28
- package/docs/zh/intlayer_with_nuxt.md +18 -1
- package/docs/zh/intlayer_with_react_native+expo.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +177 -1
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +106 -5
- package/docs/zh/intlayer_with_solid_start.md +13 -1
- package/docs/zh/intlayer_with_storybook.md +18 -1
- package/docs/zh/intlayer_with_svelte_kit.md +18 -1
- package/docs/zh/intlayer_with_tanstack+solid.md +179 -11
- package/docs/zh/intlayer_with_tanstack.md +370 -163
- package/docs/zh/intlayer_with_vanilla.md +18 -1
- package/docs/zh/intlayer_with_vite+lit.md +20 -1
- package/docs/zh/intlayer_with_vite+preact.md +91 -49
- package/docs/zh/intlayer_with_vite+react.md +20 -1
- package/docs/zh/intlayer_with_vite+solid.md +11 -24
- package/docs/zh/intlayer_with_vite+svelte.md +15 -17
- package/docs/zh/intlayer_with_vite+vanilla.md +18 -1
- package/docs/zh/intlayer_with_vite+vue.md +16 -5
- package/docs/zh/live-sync.md +39 -2
- package/docs/zh/mcp_server.md +34 -19
- package/docs/zh/packages/elysia-intlayer/exports.md +136 -0
- package/docs/zh/packages/elysia-intlayer/intlayer.md +139 -0
- package/docs/zh/packages/intlayer/getDictionary.md +155 -0
- package/docs/zh/packages/intlayer/getDictionaryAsync.md +166 -0
- package/docs/zh/packages/intlayer/getEnumeration.md +2 -0
- package/docs/zh/packages/intlayer/getIntlayer.md +197 -0
- package/docs/zh/packages/intlayer/getIntlayerAsync.md +141 -0
- package/docs/zh/packages/intlayer/getLocaleLang.md +0 -2
- package/docs/zh/packages/intlayer/getLocalizedPath.md +45 -5
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +14 -30
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +14 -2
- package/docs/zh/packages/intlayer/getPrefix.md +0 -2
- package/docs/zh/packages/intlayer/getTranslation.md +2 -0
- package/docs/zh/packages/next-intlayer/t.md +20 -0
- package/docs/zh/packages/next-intlayer/useIntlayer.md +32 -0
- package/docs/zh/packages/next-intlayer/useLocale.md +2 -0
- package/docs/zh/packages/react-intlayer/useDictionary.md +0 -2
- package/docs/zh/packages/react-intlayer/useI18n.md +31 -0
- package/docs/zh/packages/react-intlayer/useIntlayer.md +0 -42
- package/docs/zh/packages/vite-intlayer/exports.md +0 -6
- package/docs/zh/packages/vite-intlayer/intlayerMinify.md +1 -1
- package/docs/zh/packages/vite-intlayer/intlayerPrune.md +3 -1
- package/docs/zh/per_locale_file.md +13 -13
- package/docs/zh/releases/v6.md +16 -2
- package/docs/zh/self_hosting.md +61 -29
- package/docs/zh-TW/bundle_optimization.md +2 -2
- package/package.json +7 -7
- package/src/generated/docs.entry.ts +140 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-25
|
|
4
4
|
title: "TanStack Start i18n - Kompletny przewodnik po tłumaczeniu swojej aplikacji"
|
|
5
5
|
description: "Koniec z i18next. Przewodnik 2026 do budowania wielojęzycznej (i18n) aplikacji TanStack Start. Tłumacz z agentami AI i optymalizuj rozmiar bundle, SEO i wydajność."
|
|
6
6
|
keywords:
|
|
@@ -20,6 +20,9 @@ applicationTemplate: https://github.com/aymericzip/intlayer-tanstack-start-templ
|
|
|
20
20
|
applicationShowcase: https://intlayer-tanstack-start-template.vercel.app
|
|
21
21
|
youtubeVideo: https://www.youtube.com/watch?v=_XTdKVWaeqg
|
|
22
22
|
history:
|
|
23
|
+
- version: 9.4.0
|
|
24
|
+
date: 2026-08-25
|
|
25
|
+
changes: "Porównanie statycznego, dynamicznego i buforowanego dynamicznego rozwiązywania słowników metadanych w funkcjach head tras"
|
|
23
26
|
- version: 8.9.0
|
|
24
27
|
date: 2026-05-04
|
|
25
28
|
changes: "Aktualizacja użycia API useIntlayer w Solid do bezpośredniego dostępu do właściwości"
|
|
@@ -59,21 +62,31 @@ Ten przewodnik pokazuje, jak zintegrować **Intlayer** dla płynnej internacjona
|
|
|
59
62
|
|
|
60
63
|
W porównaniu do głównych rozwiązań, takich jak „react-i18next”, „use-intl” lub „paraglide”, Intlayer jest rozwiązaniem wyposażonym w zintegrowane optymalizacje, takie jak:
|
|
61
64
|
|
|
65
|
+
<AccordionGroup>
|
|
66
|
+
|
|
62
67
|
**Pełne pokrycie TanStack Start**
|
|
63
68
|
|
|
64
69
|
Intlayer jest w pełni zoptymalizowany pod kątem TanStack Start, zapewniając **wielojęzyczny routing**, **zarządzanie plikami cookie**, **generowanie mapy witryny**, **dynamiczne ładowanie treści** i wszystkie funkcje potrzebne do skalowania wysiłków związanych z internacjonalizacją (i18n).
|
|
65
70
|
|
|
71
|
+
</Accordion>
|
|
72
|
+
|
|
66
73
|
**Rozmiar bundle'a**
|
|
67
74
|
|
|
68
75
|
Zamiast ładować ogromne pliki JSON na swoje strony, ładuj tylko niezbędną treść. Intlayer pomaga **zmniejszyć rozmiary bundle'a i stron nawet o 50%**.
|
|
69
76
|
|
|
77
|
+
</Accordion>
|
|
78
|
+
|
|
70
79
|
**Łatwość konserwacji**
|
|
71
80
|
|
|
72
81
|
Określanie zakresu zawartości aplikacji **ułatwia konserwację** aplikacji na dużą skalę. Możesz powielić lub usunąć pojedynczy folder funkcji bez obciążania psychicznego koniecznością przeglądania całej bazy kodu zawartości. Dodatkowo Inlayer jest **w pełni napisany**, aby zapewnić dokładność treści.
|
|
73
82
|
|
|
74
83
|
**Agent AI**
|
|
75
84
|
|
|
76
|
-
|
|
85
|
+
<Accordion header="Agent AI">
|
|
86
|
+
|
|
87
|
+
Wspólna lokalizacja treści **zmniejsza potrzebny kontekst** dzięki modelom dużego języka (LLM). Intlayer zawiera także zestaw narzędzi, taki jak **CLI** do sprawdzania brakujących tłumaczeń**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**, **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** i **[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/agent_skills.md)**, aby praca programisty (DX) była jeszcze płynniejsza dla agentów AI.
|
|
88
|
+
|
|
89
|
+
</Accordion>
|
|
77
90
|
|
|
78
91
|
**Automatyzacja**
|
|
79
92
|
|
|
@@ -81,12 +94,19 @@ Korzystaj z automatyzacji, aby tłumaczyć w swoim potoku CI/CD przy użyciu wyb
|
|
|
81
94
|
|
|
82
95
|
**Wydajność**
|
|
83
96
|
|
|
97
|
+
<Accordion header="Wydajność">
|
|
98
|
+
|
|
84
99
|
Łączenie ogromnych plików JSON z komponentami może prowadzić do problemów z wydajnością i reaktywnością. Inlayer optymalizuje ładowanie treści w czasie kompilacji.
|
|
85
100
|
|
|
101
|
+
</Accordion>
|
|
102
|
+
|
|
86
103
|
**Skalowanie bez użycia dewelopera**
|
|
87
104
|
|
|
88
105
|
Więcej niż tylko rozwiązanie i18n, Intlayer zapewnia **samodzielny [edytor wizualny](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** i **[pełny CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)**, który pomoże Ci zarządzać wielojęzyczną treścią w **w czasie rzeczywistym**, dzięki czemu współpraca z tłumaczami, copywriterami i innymi członkami zespołu będzie płynna. Treść może być przechowywana lokalnie i/lub zdalnie.
|
|
89
106
|
|
|
107
|
+
</Accordion>
|
|
108
|
+
</AccordionGroup>
|
|
109
|
+
|
|
90
110
|
---
|
|
91
111
|
|
|
92
112
|
## Przewodnik krok po kroku, jak skonfigurować Intlayer w aplikacji Tanstack Start
|
|
@@ -300,14 +320,6 @@ function RootDocument({ children }: { children: ReactNode }) {
|
|
|
300
320
|
}
|
|
301
321
|
```
|
|
302
322
|
|
|
303
|
-
> Jeśli chcesz użyć swojej zawartości w atrybucie typu `string`, takim jak `alt`, `title`, `href`, `aria-label` itp., musisz wywołać wartość funkcji, na przykład:
|
|
304
|
-
|
|
305
|
-
> ```html
|
|
306
|
-
> <img src="{content.image.src.value}" alt="{content.image.value}" />
|
|
307
|
-
> <img src="{content.image.src.toString()}" alt="{content.image.toString()}" />
|
|
308
|
-
> <img src="{String(content.image.src)}" alt="{String(content.image)}" />
|
|
309
|
-
> ```
|
|
310
|
-
|
|
311
323
|
</Step>
|
|
312
324
|
|
|
313
325
|
<Step number={6} title="Utwórz układ lokalizacji">
|
|
@@ -499,13 +511,14 @@ export const useLocalizedNavigate = () => {
|
|
|
499
511
|
|
|
500
512
|
<Step number={9} title="Wykorzystaj Intlayer na swoich stronach">
|
|
501
513
|
|
|
514
|
+
> Domyślnie używaj **`useIntlayer`**: to zalecany sposób odczytu treści wewnątrz komponentów, a kompilator rozwiązuje go do renderowanej lokalizacji. Po `getIntlayer` / `getIntlayerAsync` sięgaj tylko poza drzewem React: w `head` tras, loaderach i funkcjach serwerowych.
|
|
515
|
+
|
|
502
516
|
Uzyskaj dostęp do swoich słowników treści w całej aplikacji:
|
|
503
517
|
|
|
504
|
-
####
|
|
518
|
+
#### Strona główna zlokalizowana
|
|
505
519
|
|
|
506
520
|
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
507
521
|
import { createFileRoute } from "@tanstack/react-router";
|
|
508
|
-
import { getIntlayer } from "intlayer";
|
|
509
522
|
import { useIntlayer } from "react-intlayer";
|
|
510
523
|
|
|
511
524
|
import LocaleSwitcher from "@/components/locale-switcher";
|
|
@@ -543,13 +556,21 @@ function RouteComponent() {
|
|
|
543
556
|
}
|
|
544
557
|
```
|
|
545
558
|
|
|
546
|
-
>
|
|
559
|
+
> Jeśli chcesz użyć zawartości w atrybucie `string`, takim jak `alt`, `title`, `href`, `aria-label` itd., możesz użyć wartości funkcji, na przykład:
|
|
560
|
+
>
|
|
561
|
+
> ```html
|
|
562
|
+
> <img src="{content.image.src.value}" alt="{content.image.value}" />
|
|
563
|
+
> <img src="{content.image.src.toString()}" alt="{content.image.toString()}" />
|
|
564
|
+
> <img src="{String(content.image.src)}" alt="{String(content.image)}" />
|
|
565
|
+
> ```
|
|
566
|
+
|
|
567
|
+
> Aby dowiedzieć się więcej o hook'u `useIntlayer`, zapoznaj się z [dokumentacją](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useIntlayer.md).
|
|
547
568
|
|
|
548
569
|
</Step>
|
|
549
570
|
|
|
550
|
-
<Step number={
|
|
571
|
+
<Step number={9} title="Utwórz komponent przełącznika języków">
|
|
551
572
|
|
|
552
|
-
Utwórz komponent
|
|
573
|
+
Utwórz komponent umożliwiający użytkownikom zmianę języka:
|
|
553
574
|
|
|
554
575
|
```tsx fileName="src/components/locale-switcher.tsx"
|
|
555
576
|
import { useLocation } from "@tanstack/react-router";
|
|
@@ -583,19 +604,19 @@ export const LocaleSwitcher: FC = () => {
|
|
|
583
604
|
to={pathWithoutLocale as To}
|
|
584
605
|
>
|
|
585
606
|
<span>
|
|
586
|
-
{/*
|
|
607
|
+
{/* Locale - np. FR */}
|
|
587
608
|
{localeEl}
|
|
588
609
|
</span>
|
|
589
610
|
<span>
|
|
590
|
-
{/* Język w
|
|
611
|
+
{/* Język w jego własnym locale - np. Français */}
|
|
591
612
|
{getLocaleName(localeEl, locale)}
|
|
592
613
|
</span>
|
|
593
614
|
<span dir={getHTMLTextDir(localeEl)} lang={localeEl}>
|
|
594
|
-
{/* Język w
|
|
615
|
+
{/* Język w bieżącym locale - np. Francés przy bieżącym locale ustawionym na Locales.SPANISH */}
|
|
595
616
|
{getLocaleName(localeEl)}
|
|
596
617
|
</span>
|
|
597
618
|
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
598
|
-
{/* Język
|
|
619
|
+
{/* Język w angielskim - np. French */}
|
|
599
620
|
{getLocaleName(localeEl, Locales.ENGLISH)}
|
|
600
621
|
</span>
|
|
601
622
|
</LocalizedLink>
|
|
@@ -606,15 +627,17 @@ export const LocaleSwitcher: FC = () => {
|
|
|
606
627
|
};
|
|
607
628
|
```
|
|
608
629
|
|
|
609
|
-
> Aby dowiedzieć się więcej o
|
|
630
|
+
> Aby dowiedzieć się więcej o hook'u `useLocale`, zapoznaj się z [dokumentacją](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useLocale.md).
|
|
610
631
|
|
|
611
632
|
</Step>
|
|
612
633
|
|
|
613
|
-
<Step number={
|
|
634
|
+
<Step number={10} title="Zarządzanie atrybutami HTML">
|
|
614
635
|
|
|
615
|
-
Jak pokazano w
|
|
636
|
+
Jak pokazano w kroku 5, możesz zarządzać atrybutami `lang` i `dir` tagu `html` za pomocą `useParams` w komponencie głównym. Zapewnia to, że prawidłowe atrybuty są ustawione na serwerze i kliencie.
|
|
616
637
|
|
|
617
638
|
```tsx fileName="src/routes/__root.tsx"
|
|
639
|
+
const localeRoute = getRouteApi("/{-$locale}");
|
|
640
|
+
|
|
618
641
|
function RootDocument({ children }: { children: ReactNode }) {
|
|
619
642
|
const params = localeRoute.useParams();
|
|
620
643
|
const locale = params?.locale ?? defaultLocale;
|
|
@@ -631,11 +654,13 @@ function RootDocument({ children }: { children: ReactNode }) {
|
|
|
631
654
|
|
|
632
655
|
</Step>
|
|
633
656
|
|
|
634
|
-
<Step number={
|
|
657
|
+
<Step number={11} title="Dodaj middleware">
|
|
658
|
+
|
|
659
|
+
Możesz także użyć `intlayerProxy` do dodania routingu po stronie serwera do aplikacji. Plugin ten automatycznie wykryje bieżący język na podstawie URL i ustawi odpowiedni plik cookie języka. Jeśli nie zostanie określony żaden język, plugin określi najbardziej odpowiedni język na podstawie preferencji języka przeglądarki użytkownika. Jeśli nie zostanie wykryty żaden język, nastąpi przekierowanie do języka domyślnego.
|
|
635
660
|
|
|
636
|
-
|
|
661
|
+
> Uwaga: aby użyć `intlayerProxy` w środowisku produkcyjnym, musisz przenieść pakiet `vite-intlayer` z `devDependencies` do `dependencies`.
|
|
637
662
|
|
|
638
|
-
>
|
|
663
|
+
> Od Intlayer v9, `intlayerProxy()` jest bezpośrednio dołączony do pluginu `intlayer()` i domyślnie włączony za pośrednictwem opcji `routing.enableProxy` (`true` domyślnie). Rejestrowanie go osobno, jak pokazano poniżej, jest teraz opcjonalne: jest zachowywane dla kompatybilności wstecznej i dla ustawień, które muszą kontrolować kolejność pluginów. Ustaw `routing.enableProxy: false`, aby zrezygnować. Zapoznaj się z [notatkami do wydania v9](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/releases/v9.md).
|
|
639
664
|
|
|
640
665
|
```typescript fileName="vite.config.ts"
|
|
641
666
|
import { tanstackStart } from "@tanstack/react-start/plugin/vite";
|
|
@@ -667,36 +692,45 @@ export default defineConfig({
|
|
|
667
692
|
|
|
668
693
|
</Step>
|
|
669
694
|
|
|
670
|
-
<Step number={
|
|
695
|
+
<Step number={12} title="Internationalizuj swoje metadane">
|
|
696
|
+
|
|
697
|
+
<Tabs>
|
|
671
698
|
|
|
672
|
-
|
|
699
|
+
<Tab label="Rozdzielczość statyczna" value="static">
|
|
700
|
+
|
|
701
|
+
`getIntlayer` rozwiązuje się synchronicznie względem **scalonego** słownika, tego zawierającego każdy zadeklarowany język. `head` pozostaje synchroniczny i nic nie jest oczekiwane, ale cały wielojęzyczny słownik jest pobierany do fragmentu trasy wysyłanego do przeglądarki.
|
|
673
702
|
|
|
674
703
|
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
675
704
|
import { createFileRoute } from "@tanstack/react-router";
|
|
676
|
-
import {
|
|
705
|
+
import {
|
|
706
|
+
defaultLocale,
|
|
707
|
+
getIntlayer,
|
|
708
|
+
getLocalizedUrl,
|
|
709
|
+
localeMap,
|
|
710
|
+
} from "intlayer";
|
|
677
711
|
|
|
678
712
|
export const Route = createFileRoute("/{-$locale}/")({
|
|
679
713
|
component: RouteComponent,
|
|
680
714
|
head: ({ params }) => {
|
|
681
|
-
const { locale } = params;
|
|
682
|
-
const path = "/"; //
|
|
715
|
+
const { locale = defaultLocale } = params;
|
|
716
|
+
const path = "/"; // Ścieżka dla tej trasy
|
|
683
717
|
|
|
684
718
|
const metaContent = getIntlayer("app", locale);
|
|
685
719
|
|
|
686
720
|
return {
|
|
687
721
|
links: [
|
|
688
|
-
//
|
|
722
|
+
// Link kanoniczny: wskazuje na bieżącą stronę zlokalizowaną
|
|
689
723
|
{ rel: "canonical", href: getLocalizedUrl(path, locale) },
|
|
690
724
|
|
|
691
|
-
// Hreflang:
|
|
725
|
+
// Hreflang: powiadomi Google o wszystkich zlokalizowanych wersjach
|
|
692
726
|
...localeMap(({ locale: mapLocale }) => ({
|
|
693
727
|
rel: "alternate",
|
|
694
728
|
hrefLang: mapLocale,
|
|
695
729
|
href: getLocalizedUrl(path, mapLocale),
|
|
696
730
|
})),
|
|
697
731
|
|
|
698
|
-
// x-default:
|
|
699
|
-
//
|
|
732
|
+
// x-default: dla użytkowników w niedopasowanych językach
|
|
733
|
+
// Zdefiniuj domyślny fallback locale (zwykle Twój język podstawowy)
|
|
700
734
|
{
|
|
701
735
|
rel: "alternate",
|
|
702
736
|
hrefLang: "x-default",
|
|
@@ -712,16 +746,153 @@ export const Route = createFileRoute("/{-$locale}/")({
|
|
|
712
746
|
});
|
|
713
747
|
```
|
|
714
748
|
|
|
749
|
+
Najlepsze dla małych słowników metadanych, kilku locale'i lub podczas prototypowania.
|
|
750
|
+
|
|
751
|
+
</Tab>
|
|
752
|
+
|
|
753
|
+
<Tab label="Rozdzielczość dynamiczna" value="dynamic">
|
|
754
|
+
|
|
755
|
+
`getIntlayerAsync` (dostępne od **v9.4**) zachowuje się jak `getIntlayer`, ale plugin budowania wskazuje go na fragment dla konkretnego locale'a w `.intlayer/dynamic_dictionaries/` zamiast scalonego słownika. Strona zatem wysyła tylko locale, który renderuje. Ponieważ fragment jest ładowany na żądanie, `head` staje się `async`:
|
|
756
|
+
|
|
757
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
758
|
+
import { createFileRoute } from "@tanstack/react-router";
|
|
759
|
+
import {
|
|
760
|
+
defaultLocale,
|
|
761
|
+
getIntlayerAsync,
|
|
762
|
+
getLocalizedUrl,
|
|
763
|
+
localeMap,
|
|
764
|
+
} from "intlayer";
|
|
765
|
+
|
|
766
|
+
export const Route = createFileRoute("/{-$locale}/")({
|
|
767
|
+
component: RouteComponent,
|
|
768
|
+
head: async ({ params }) => {
|
|
769
|
+
const { locale = defaultLocale } = params;
|
|
770
|
+
const path = "/"; // Ścieżka dla tej trasy
|
|
771
|
+
|
|
772
|
+
const metaContent = await getIntlayerAsync("app", locale);
|
|
773
|
+
|
|
774
|
+
return {
|
|
775
|
+
links: [
|
|
776
|
+
// Link kanoniczny: wskazuje na bieżącą stronę zlokalizowaną
|
|
777
|
+
{ rel: "canonical", href: getLocalizedUrl(path, locale) },
|
|
778
|
+
|
|
779
|
+
// Hreflang: powiadomi Google o wszystkich zlokalizowanych wersjach
|
|
780
|
+
...localeMap(({ locale: mapLocale }) => ({
|
|
781
|
+
rel: "alternate",
|
|
782
|
+
hrefLang: mapLocale,
|
|
783
|
+
href: getLocalizedUrl(path, mapLocale),
|
|
784
|
+
})),
|
|
785
|
+
|
|
786
|
+
// x-default: dla użytkowników w niedopasowanych językach
|
|
787
|
+
// Zdefiniuj domyślny fallback locale (zwykle Twój język podstawowy)
|
|
788
|
+
{
|
|
789
|
+
rel: "alternate",
|
|
790
|
+
hrefLang: "x-default",
|
|
791
|
+
href: getLocalizedUrl(path, defaultLocale),
|
|
792
|
+
},
|
|
793
|
+
],
|
|
794
|
+
meta: [
|
|
795
|
+
{ title: metaContent.title },
|
|
796
|
+
{ name: "description", content: metaContent.meta.description },
|
|
797
|
+
],
|
|
798
|
+
};
|
|
799
|
+
},
|
|
800
|
+
});
|
|
801
|
+
```
|
|
802
|
+
|
|
803
|
+
> Jeśli `head` odczytuje kilka słowników, rozwiąż je za pomocą `Promise.all`: oczekiwanie każdego `getIntlayerAsync` w oddzielnej linii łańcuchuje żądania zamiast uruchamiać je równolegle.
|
|
804
|
+
|
|
805
|
+
Kompromis: import dynamiczny jest rozwiązywany podczas uruchamiania `head`, na krytycznej ścieżce renderowania dokumentu. Na zimnej trasie opóźnia to head o kilka milisekund i może nieco pogorszyć **LCP**.
|
|
806
|
+
|
|
807
|
+
</Tab>
|
|
808
|
+
|
|
809
|
+
<Tab label="Rozdzielczość dynamiczna buforowana" value="cached">
|
|
810
|
+
|
|
811
|
+
Rozwiąż słownik w `loader` trasy i przeczytaj go z powrotem z `loaderData` w `head`. Loadery dopasowanych tras działają równolegle, a `staleTime: Infinity` mówi TanStack Router, że wynik nigdy się nie starzeje, więc fragment dla konkretnego locale'a jest rozwiązywany raz i podawany z cache'a routera później, pozostawiając `head` synchroniczny.
|
|
812
|
+
|
|
813
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
814
|
+
import { createFileRoute } from "@tanstack/react-router";
|
|
815
|
+
import {
|
|
816
|
+
defaultLocale,
|
|
817
|
+
getIntlayerAsync,
|
|
818
|
+
getLocalizedUrl,
|
|
819
|
+
localeMap,
|
|
820
|
+
} from "intlayer";
|
|
821
|
+
|
|
822
|
+
export const Route = createFileRoute("/{-$locale}/")({
|
|
823
|
+
component: RouteComponent,
|
|
824
|
+
// Rozwiązywany równolegle z innymi dopasowanymi trasami, poza krytyczną ścieżką head
|
|
825
|
+
loader: async ({ params }) => {
|
|
826
|
+
const { locale = defaultLocale } = params;
|
|
827
|
+
|
|
828
|
+
return { metaContent: await getIntlayerAsync("app", locale) };
|
|
829
|
+
},
|
|
830
|
+
// Słownik nigdy się nie zmienia dla danego locale: rozwiąż fragment raz
|
|
831
|
+
staleTime: Infinity,
|
|
832
|
+
head: ({ params, loaderData }) => {
|
|
833
|
+
const { locale = defaultLocale } = params;
|
|
834
|
+
const path = "/"; // Ścieżka dla tej trasy
|
|
835
|
+
|
|
836
|
+
return {
|
|
837
|
+
links: [
|
|
838
|
+
// Link kanoniczny: wskazuje na bieżącą stronę zlokalizowaną
|
|
839
|
+
{ rel: "canonical", href: getLocalizedUrl(path, locale) },
|
|
840
|
+
|
|
841
|
+
// Hreflang: powiadomi Google o wszystkich zlokalizowanych wersjach
|
|
842
|
+
...localeMap(({ locale: mapLocale }) => ({
|
|
843
|
+
rel: "alternate",
|
|
844
|
+
hrefLang: mapLocale,
|
|
845
|
+
href: getLocalizedUrl(path, mapLocale),
|
|
846
|
+
})),
|
|
847
|
+
|
|
848
|
+
// x-default: dla użytkowników w niedopasowanych językach
|
|
849
|
+
// Zdefiniuj domyślny fallback locale (zwykle Twój język podstawowy)
|
|
850
|
+
{
|
|
851
|
+
rel: "alternate",
|
|
852
|
+
hrefLang: "x-default",
|
|
853
|
+
href: getLocalizedUrl(path, defaultLocale),
|
|
854
|
+
},
|
|
855
|
+
],
|
|
856
|
+
meta: [
|
|
857
|
+
{ title: loaderData?.metaContent.title },
|
|
858
|
+
{
|
|
859
|
+
name: "description",
|
|
860
|
+
content: loaderData?.metaContent.meta.description,
|
|
861
|
+
},
|
|
862
|
+
],
|
|
863
|
+
};
|
|
864
|
+
},
|
|
865
|
+
});
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
> `head` może być wywoływany przed osadzeniem loadera, więc `loaderData` jest wpisywana jako możliwie `undefined`. Zachowaj opcjonalne łańcuchowanie lub zwróć tytuł fallback.
|
|
869
|
+
|
|
870
|
+
Zachowujesz fragment dla konkretnego locale'a bez płacenia jego kosztu na krytycznej ścieżce head. Cena to doświadczenie deweloperskie: zawartość musi być jawnie przekazywana z loadera do `head` poprzez `loaderData`.
|
|
871
|
+
|
|
872
|
+
</Tab>
|
|
873
|
+
|
|
874
|
+
</Tabs>
|
|
875
|
+
|
|
876
|
+
### Którą rozdzielczość powinienem wybrać?
|
|
877
|
+
|
|
878
|
+
| | Rozdzielczość statyczna | Rozdzielczość dynamiczna | Rozdzielczość dynamiczna z cache'em |
|
|
879
|
+
| ------------------------ | -------------------------- | ------------------------------------------ | -------------------------------------- |
|
|
880
|
+
| API | `getIntlayer` | `getIntlayerAsync` (v9.4+) | `getIntlayerAsync` w `loader` (v9.4+) |
|
|
881
|
+
| Sygnatura `head` | synchroniczna | `async` | synchroniczna, czyta `loaderData` |
|
|
882
|
+
| Ustawienia regionalne | każdy zadeklarowany locale | tylko żądany locale | tylko żądany locale |
|
|
883
|
+
| Nawigacja na kliencie | nic do rozwiązania | ponownie wznawiane przy każdym dopasowaniu | obsługiwane z cache'u routera |
|
|
884
|
+
| Doświadczenie dewelopera | najprostsze | jedno `await` | zawartość przesłana przez `loaderData` |
|
|
885
|
+
|
|
715
886
|
---
|
|
716
887
|
|
|
717
888
|
</Step>
|
|
718
889
|
|
|
719
|
-
<Step number={
|
|
890
|
+
<Step number={13} title="Pobierz locale w swoich server actions">
|
|
720
891
|
|
|
721
|
-
Możesz chcieć uzyskać dostęp do
|
|
722
|
-
Możesz to zrobić
|
|
892
|
+
Możesz chcieć uzyskać dostęp do bieżącego locale'a z wnętrza twoich server actions lub API endpoints.
|
|
893
|
+
Możesz to zrobić używając helpera `getLocale` z `intlayer`.
|
|
723
894
|
|
|
724
|
-
Oto przykład
|
|
895
|
+
Oto przykład używający server functions TanStack Start:
|
|
725
896
|
|
|
726
897
|
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
727
898
|
import { createServerFn } from "@tanstack/react-start";
|
|
@@ -733,18 +904,18 @@ import { getCookie, getIntlayer, getLocale } from "intlayer";
|
|
|
733
904
|
|
|
734
905
|
export const getLocaleServer = createServerFn().handler(async () => {
|
|
735
906
|
const locale = await getLocale({
|
|
736
|
-
// Pobierz
|
|
907
|
+
// Pobierz cookie z żądania (domyślnie: 'INTLAYER_LOCALE')
|
|
737
908
|
getCookie: (name) => {
|
|
738
909
|
const cookieString = getRequestHeader("cookie");
|
|
739
910
|
|
|
740
911
|
return getCookie(name, cookieString);
|
|
741
912
|
},
|
|
742
913
|
// Pobierz nagłówek z żądania (domyślnie: 'x-intlayer-locale')
|
|
743
|
-
//
|
|
914
|
+
// Fallback używający negocjacji Accept-Language
|
|
744
915
|
getHeader: (name) => getRequestHeader(name),
|
|
745
916
|
});
|
|
746
917
|
|
|
747
|
-
// Pobierz
|
|
918
|
+
// Pobierz zawartość używając getIntlayerAsync()
|
|
748
919
|
const content = getIntlayer("app", locale);
|
|
749
920
|
|
|
750
921
|
return { locale, content };
|
|
@@ -755,101 +926,155 @@ export const getLocaleServer = createServerFn().handler(async () => {
|
|
|
755
926
|
|
|
756
927
|
</Step>
|
|
757
928
|
|
|
758
|
-
<Step number={
|
|
929
|
+
<Step number={14} title="Zarządzaj stronami not found">
|
|
759
930
|
|
|
760
|
-
Gdy użytkownik
|
|
931
|
+
Gdy użytkownik odwiedzi nieistniejącą stronę, możesz wyświetlić niestandardową stronę not found, a prefiks locale'a może wpłynąć na sposób, w jaki strona not found jest wyzwalana.
|
|
761
932
|
|
|
762
|
-
####
|
|
933
|
+
#### Lokalizowana strona główna
|
|
763
934
|
|
|
764
|
-
|
|
935
|
+
> Jeśli chcesz użyć swojej zawartości w atrybucie `string`, takim jak `alt`, `title`, `href`, `aria-label`, itp., możesz użyć wartości funkcji, na przykład:
|
|
936
|
+
>
|
|
937
|
+
> ```html
|
|
938
|
+
> <img src="{content.image.src.value}" alt="{content.image.value}" />
|
|
939
|
+
> <img src="{content.image.src.toString()}" alt="{content.image.toString()}" />
|
|
940
|
+
> <img src="{String(content.image.src)}" alt="{String(content.image)}" />
|
|
941
|
+
> ```
|
|
765
942
|
|
|
766
|
-
|
|
767
|
-
2. **Walidacja na poziomie trasy**: Weryfikuje prefiksy lokalizacji i przekierowuje nieprawidłowe do 404
|
|
768
|
-
3. **Trasa catch-all**: Przechwytuje wszystkie niedopasowane ścieżki w segmencie lokalizacji
|
|
943
|
+
> Aby dowiedzieć się więcej o hooku `useIntlayer`, zapoznaj się z [dokumentacją](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useIntlayer.md).
|
|
769
944
|
|
|
770
|
-
|
|
771
|
-
import { createFileRoute } from "@tanstack/react-router";
|
|
945
|
+
</Step>
|
|
772
946
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
947
|
+
```tsx fileName="src/components/locale-switcher.tsx"
|
|
948
|
+
import { useLocation } from "@tanstack/react-router";
|
|
949
|
+
import {
|
|
950
|
+
getHTMLTextDir,
|
|
951
|
+
getLocaleName,
|
|
952
|
+
getPathWithoutLocale,
|
|
953
|
+
getPrefix,
|
|
954
|
+
Locales,
|
|
955
|
+
} from "intlayer";
|
|
956
|
+
import type { FC } from "react";
|
|
957
|
+
import { useLocale } from "react-intlayer";
|
|
958
|
+
|
|
959
|
+
import { LocalizedLink, type To } from "./localized-link";
|
|
960
|
+
|
|
961
|
+
export const LocaleSwitcher: FC = () => {
|
|
962
|
+
const { pathname } = useLocation();
|
|
963
|
+
|
|
964
|
+
const { availableLocales, locale, setLocale } = useLocale();
|
|
965
|
+
|
|
966
|
+
const pathWithoutLocale = getPathWithoutLocale(pathname);
|
|
778
967
|
|
|
779
|
-
// Eksportowane osobno, aby można było ponownie użyć w notFoundComponent i trasach catch-all
|
|
780
|
-
export function NotFoundComponent() {
|
|
781
968
|
return (
|
|
782
|
-
<
|
|
783
|
-
|
|
784
|
-
|
|
969
|
+
<ol>
|
|
970
|
+
{availableLocales.map((localeEl) => (
|
|
971
|
+
<li key={localeEl}>
|
|
972
|
+
<LocalizedLink
|
|
973
|
+
aria-current={localeEl === locale ? "page" : undefined}
|
|
974
|
+
onClick={() => setLocale(localeEl)}
|
|
975
|
+
params={{ locale: getPrefix(localeEl).localePrefix }}
|
|
976
|
+
to={pathWithoutLocale as To}
|
|
977
|
+
>
|
|
978
|
+
<span>
|
|
979
|
+
{/* Lokalizacja - np. FR */}
|
|
980
|
+
{localeEl}
|
|
981
|
+
</span>
|
|
982
|
+
<span>
|
|
983
|
+
{/* Język w swojej własnej lokalizacji - np. Français */}
|
|
984
|
+
{getLocaleName(localeEl, locale)}
|
|
985
|
+
</span>
|
|
986
|
+
<span dir={getHTMLTextDir(localeEl)} lang={localeEl}>
|
|
987
|
+
{/* Język w bieżącej lokalizacji - np. Francés przy ustawionej lokalizacji Locales.SPANISH */}
|
|
988
|
+
{getLocaleName(localeEl)}
|
|
989
|
+
</span>
|
|
990
|
+
<span dir="ltr" lang={Locales.ENGLISH}>
|
|
991
|
+
{/* Język po angielsku - np. French */}
|
|
992
|
+
{getLocaleName(localeEl, Locales.ENGLISH)}
|
|
993
|
+
</span>
|
|
994
|
+
</LocalizedLink>
|
|
995
|
+
</li>
|
|
996
|
+
))}
|
|
997
|
+
</ol>
|
|
785
998
|
);
|
|
786
|
-
}
|
|
999
|
+
};
|
|
787
1000
|
```
|
|
788
1001
|
|
|
789
|
-
|
|
790
|
-
import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";
|
|
791
|
-
import { validatePrefix } from "intlayer";
|
|
792
|
-
import { NotFoundComponent } from "./404";
|
|
1002
|
+
> Aby dowiedzieć się więcej o hooku `useLocale`, zapoznaj się z [dokumentacją](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useLocale.md).
|
|
793
1003
|
|
|
794
|
-
|
|
795
|
-
// beforeLoad uruchamia się przed renderowaniem trasy (zarówno na serwerze, jak i kliencie)
|
|
796
|
-
// To idealne miejsce do walidacji prefiksu lokalizacji
|
|
797
|
-
beforeLoad: ({ params }) => {
|
|
798
|
-
const localeParam = params.locale;
|
|
1004
|
+
</Step>
|
|
799
1005
|
|
|
800
|
-
|
|
801
|
-
const { isValid, localePrefix } = validatePrefix(localeParam);
|
|
1006
|
+
<Step number={11} title="Zarządzanie atrybutami HTML">
|
|
802
1007
|
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
// notFoundComponent jest wywoływane, gdy trasa potomna nie istnieje
|
|
813
|
-
// np. /en/nieistniejaca-strona wyzwala to w układzie /en
|
|
814
|
-
notFoundComponent: NotFoundComponent,
|
|
815
|
-
});
|
|
816
|
-
```
|
|
1008
|
+
return (
|
|
1009
|
+
<html dir={getHTMLTextDir(locale)} lang={locale}>
|
|
1010
|
+
{/* ... _/}
|
|
1011
|
+
</html>
|
|
1012
|
+
);
|
|
1013
|
+
} {/_ ... */}
|
|
1014
|
+
</html>
|
|
1015
|
+
);
|
|
1016
|
+
}
|
|
817
1017
|
|
|
818
|
-
|
|
819
|
-
|
|
1018
|
+
export const Route = createFileRoute("/{-$locale}/")({
|
|
1019
|
+
component: RouteComponent,
|
|
1020
|
+
head: async ({ params }) => {
|
|
1021
|
+
const { locale = defaultLocale } = params;
|
|
1022
|
+
const path = "/"; // The path for this route
|
|
820
1023
|
|
|
821
|
-
|
|
1024
|
+
const metaContent = await getIntlayerAsync("app", locale);
|
|
822
1025
|
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
1026
|
+
````
|
|
1027
|
+
|
|
1028
|
+
> Jeśli `head` czyta kilka słowników, rozwiąż je przez `Promise.all`; oczekiwanie na każde `getIntlayerAsync` w osobnej linii łańcuchuje żądania zamiast wykonywać je równolegle.
|
|
1029
|
+
|
|
1030
|
+
Kompromis: dynamiczny import jest rozwiązywany w trakcie działania `head`, na ścieżce krytycznej renderowania dokumentu. Na „zimnej” trasie opóźnia to `head` o kilka milisekund i może nieznacznie pogorszyć **LCP**.
|
|
1031
|
+
|
|
1032
|
+
</Tab>
|
|
1033
|
+
|
|
1034
|
+
<Tab label="Buforowane rozwiązywanie dynamiczne" value="cached">
|
|
1035
|
+
|
|
1036
|
+
Rozwiąż słownik w `loaderze` trasy i odczytaj go z `loaderData` w `head`. Loadery dopasowanych tras działają równolegle, a `staleTime: Infinity` informuje TanStack Router, że wynik nigdy się nie dezaktualizuje, fragment per-lokalizacja jest więc rozwiązywany raz, a potem serwowany z cache routera, pozostawiając `head` synchronicznym.
|
|
1037
|
+
|
|
1038
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
1039
|
+
return getCookie(name, cookieString);
|
|
1040
|
+
},
|
|
1041
|
+
// Pobierz nagłówek z żądania (domyślnie: 'x-intlayer-locale')
|
|
1042
|
+
// Rezerwowe rozwiązanie przy użyciu negocjacji Accept-Language
|
|
1043
|
+
getHeader: (name) => getRequestHeader(name),
|
|
1044
|
+
});
|
|
1045
|
+
|
|
1046
|
+
// Pobierz treść za pomocą getIntlayer()
|
|
1047
|
+
const content = getIntlayer("app", locale);
|
|
1048
|
+
|
|
1049
|
+
````
|
|
831
1050
|
|
|
832
1051
|
---
|
|
833
1052
|
|
|
834
1053
|
</Step>
|
|
835
1054
|
|
|
836
|
-
<Step number={
|
|
1055
|
+
<Step number={15} title="Zarządzanie stronami "nie znaleziono"">
|
|
837
1056
|
|
|
838
|
-
|
|
1057
|
+
Gdy użytkownik odwiedza nieistniejącą stronę, możesz wyświetlić niestandardową stronę "nie znaleziono", a prefiks lokalizacji może wpływać na sposób wyzwalania strony "nie znaleziono".
|
|
839
1058
|
|
|
840
|
-
|
|
1059
|
+
#### Zrozumienie obsługi 404 w TanStack Router z prefiksami lokalizacji
|
|
1060
|
+
|
|
1061
|
+
W TanStack Router obsługa stron 404 z zlokalizowanymi trasami wymaga podejścia wielowarstwowego:
|
|
1062
|
+
|
|
1063
|
+
1. **Dedykowana trasa 404**: Konkretna trasa do wyświetlenia interfejsu 404
|
|
1064
|
+
2. **Walidacja na poziomie trasy**: Weryfikuje prefiksy lokalizacji i przekierowuje nieprawidłowe do 404
|
|
1065
|
+
3. **Trasa catch-all**: Przechwytuje wszystkie niedopasowane ścieżki w segmencie lokalizacji
|
|
1066
|
+
|
|
1067
|
+
```tsx fileName="src/routes/{-$locale}/404.tsx"
|
|
841
1068
|
|
|
842
|
-
```json5 fileName="tsconfig.json"
|
|
843
|
-
{
|
|
844
|
-
// ... Twoje istniejące konfiguracje
|
|
845
|
-
include: [
|
|
846
|
-
// ... Twoje istniejące include
|
|
847
|
-
".intlayer/**/*.ts", // Dołącz automatycznie generowane typy
|
|
848
|
-
],
|
|
849
|
-
}
|
|
850
1069
|
```
|
|
851
1070
|
|
|
852
|
-
|
|
1071
|
+
```tsx fileName="src/routes/{-$locale}/route.tsx"
|
|
1072
|
+
|
|
1073
|
+
```
|
|
1074
|
+
|
|
1075
|
+
```tsx fileName="src/routes/{-$locale}/$.tsx"
|
|
1076
|
+
|
|
1077
|
+
```
|
|
853
1078
|
|
|
854
1079
|
</Step>
|
|
855
1080
|
|
|
@@ -864,24 +1089,11 @@ Aby go skonfigurować, możesz dodać sekcję `compiler` w pliku `intlayer.confi
|
|
|
864
1089
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
865
1090
|
import { type IntlayerConfig } from "intlayer";
|
|
866
1091
|
|
|
867
|
-
const config: IntlayerConfig = {
|
|
868
|
-
// ... Reszta Twojej konfiguracji
|
|
869
|
-
compiler: {
|
|
870
|
-
/**
|
|
871
|
-
* Wskazuje, czy kompilator powinien być włączony.
|
|
872
|
-
*/
|
|
873
|
-
enabled: true,
|
|
874
|
-
|
|
875
1092
|
/**
|
|
876
1093
|
* Definiuje ścieżkę plików wyjściowych
|
|
877
1094
|
*/
|
|
878
1095
|
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
879
1096
|
|
|
880
|
-
/**
|
|
881
|
-
* Wskazuje, czy komponenty powinny zostać zapisane po transformacji. W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć.
|
|
882
|
-
*/
|
|
883
|
-
saveComponents: false,
|
|
884
|
-
|
|
885
1097
|
/**
|
|
886
1098
|
* Prefiks klucza słownika
|
|
887
1099
|
*/
|
|
@@ -898,29 +1110,23 @@ export default config;
|
|
|
898
1110
|
Uruchom ekstraktor, aby przetransformować komponenty i wyodrębnić zawartość
|
|
899
1111
|
|
|
900
1112
|
```bash packageManager="npm"
|
|
901
|
-
|
|
1113
|
+
|
|
902
1114
|
```
|
|
903
1115
|
|
|
904
1116
|
```bash packageManager="pnpm"
|
|
905
|
-
|
|
1117
|
+
|
|
906
1118
|
```
|
|
907
1119
|
|
|
908
1120
|
```bash packageManager="yarn"
|
|
909
|
-
|
|
1121
|
+
|
|
910
1122
|
```
|
|
911
1123
|
|
|
912
1124
|
```bash packageManager="bun"
|
|
913
|
-
bun x intlayer extract
|
|
914
|
-
```
|
|
915
1125
|
|
|
916
1126
|
</Tab>
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
> Since v9, the `intlayerCompiler` is included in the `intlayer` plugin. So you don't need to add it manually.
|
|
920
|
-
|
|
921
|
-
Zaktualizuj `vite.config.ts`, aby dołączyć wtyczkę `intlayerCompiler`:
|
|
1127
|
+
</Tabs>
|
|
922
1128
|
|
|
923
|
-
|
|
1129
|
+
bun x intlayer extract
|
|
924
1130
|
import { defineConfig } from "vite";
|
|
925
1131
|
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
926
1132
|
|
|
@@ -945,59 +1151,117 @@ yarn build # Or yarn dev
|
|
|
945
1151
|
```
|
|
946
1152
|
|
|
947
1153
|
```bash packageManager="bun"
|
|
1154
|
+
|
|
1155
|
+
---
|
|
1156
|
+
|
|
948
1157
|
bun run build # Or bun run dev
|
|
1158
|
+
import { localeFlatMap } from "intlayer";
|
|
1159
|
+
// ... inne importy
|
|
1160
|
+
|
|
1161
|
+
export const pathList = ["", "/about", "/404"];
|
|
1162
|
+
|
|
1163
|
+
const localizedPages = localeFlatMap(({ urlPrefix }) =>
|
|
1164
|
+
pathList.map((path) => ({
|
|
1165
|
+
path: `${urlPrefix}${path}`,
|
|
1166
|
+
prerender: {
|
|
1167
|
+
enabled: true,
|
|
1168
|
+
},
|
|
1169
|
+
}))
|
|
1170
|
+
);
|
|
1171
|
+
|
|
1172
|
+
export default defineConfig({
|
|
1173
|
+
plugins: [
|
|
1174
|
+
// ... pozostałe wtyczki
|
|
1175
|
+
tanstackStart({
|
|
1176
|
+
// ... pozostała konfiguracja
|
|
1177
|
+
sitemap: {
|
|
1178
|
+
enabled: false,
|
|
1179
|
+
},
|
|
1180
|
+
prerender: {
|
|
1181
|
+
enabled: true,
|
|
1182
|
+
crawlLinks: false,
|
|
1183
|
+
concurrency: 10,
|
|
1184
|
+
},
|
|
1185
|
+
pages: localizedPages,
|
|
1186
|
+
}),
|
|
1187
|
+
],
|
|
1188
|
+
});
|
|
949
1189
|
```
|
|
950
1190
|
|
|
951
|
-
|
|
952
|
-
</Tabs>
|
|
1191
|
+
Następnie utwórz trasę `src/routes/sitemap[.]xml.ts`, która wykorzystuje funkcję `generateSitemap`:
|
|
953
1192
|
|
|
954
|
-
|
|
1193
|
+
````typescript fileName="src/routes/sitemap[.]xml.ts"
|
|
955
1194
|
|
|
956
|
-
|
|
1195
|
+
---
|
|
957
1196
|
|
|
958
|
-
|
|
1197
|
+
export const Route = createFileRoute("/sitemap.xml")({
|
|
1198
|
+
server: {
|
|
1199
|
+
handlers: {
|
|
1200
|
+
GET: async () => {
|
|
1201
|
+
const sitemap = generateSitemap(
|
|
1202
|
+
[
|
|
1203
|
+
{ path: "/", changefreq: "daily", priority: 1.0 },
|
|
1204
|
+
{ path: "/about", changefreq: "monthly", priority: 0.8 },
|
|
1205
|
+
],
|
|
1206
|
+
{ siteUrl: SITE_URL }
|
|
1207
|
+
);
|
|
1208
|
+
|
|
1209
|
+
return new Response(sitemap, {
|
|
1210
|
+
headers: { "Content-Type": "application/xml" },
|
|
1211
|
+
});
|
|
1212
|
+
},
|
|
1213
|
+
},
|
|
1214
|
+
},
|
|
1215
|
+
});
|
|
1216
|
+
{
|
|
1217
|
+
// ... twoje istniejące konfiguracje
|
|
1218
|
+
include: [
|
|
1219
|
+
// ... twoje istniejące includy
|
|
1220
|
+
".intlayer/**/*.ts", // Dołącz auto-generowane typy
|
|
1221
|
+
],
|
|
1222
|
+
}
|
|
959
1223
|
|
|
960
1224
|
### Konfiguracja Git
|
|
961
1225
|
|
|
962
|
-
Zaleca się
|
|
1226
|
+
Zaleca się ignorować pliki generowane przez Intlayer. Pozwala to uniknąć zatwierdzania ich w repozytorium Git.
|
|
963
1227
|
|
|
964
1228
|
Aby to zrobić, możesz dodać następujące instrukcje do pliku `.gitignore`:
|
|
965
1229
|
|
|
966
1230
|
```plaintext fileName=".gitignore"
|
|
967
1231
|
# Ignoruj pliki generowane przez Intlayer
|
|
968
1232
|
.intlayer
|
|
969
|
-
|
|
1233
|
+
````
|
|
970
1234
|
|
|
971
1235
|
---
|
|
972
1236
|
|
|
973
1237
|
## Rozszerzenie VS Code
|
|
974
1238
|
|
|
975
|
-
Aby
|
|
1239
|
+
Aby ulepszyć doświadczenie programistyczne dzięki Intlayer, możesz zainstalować oficjalne **rozszerzenie Intlayer dla VS Code**.
|
|
976
1240
|
|
|
977
|
-
[Zainstaluj z
|
|
1241
|
+
[Zainstaluj z VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
978
1242
|
|
|
979
|
-
To rozszerzenie
|
|
1243
|
+
To rozszerzenie zapewnia:
|
|
980
1244
|
|
|
981
|
-
- **Autouzupełnianie** kluczy tłumaczeń.
|
|
1245
|
+
- **Autouzupełnianie** dla kluczy tłumaczeń.
|
|
982
1246
|
- **Wykrywanie błędów w czasie rzeczywistym** dla brakujących tłumaczeń.
|
|
983
|
-
- **
|
|
984
|
-
- **Szybkie akcje**
|
|
1247
|
+
- **Podglądy inline** przetłumaczonej zawartości.
|
|
1248
|
+
- **Szybkie akcje** do łatwego tworzenia i aktualizacji tłumaczeń.
|
|
985
1249
|
|
|
986
|
-
Aby uzyskać więcej
|
|
1250
|
+
Aby uzyskać więcej szczegółów na temat korzystania z rozszerzenia, zapoznaj się z [dokumentacją rozszerzenia Intlayer VS Code Extension](https://intlayer.org/doc/vs-code-extension).
|
|
987
1251
|
|
|
988
1252
|
---
|
|
989
1253
|
|
|
990
1254
|
## Idź dalej
|
|
991
1255
|
|
|
992
|
-
Aby pójść dalej, możesz
|
|
1256
|
+
Aby pójść dalej, możesz wdrożyć [edytor wizualny](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_visual_editor.md) lub externalizować swoją zawartość przy użyciu [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/intlayer_CMS.md).
|
|
993
1257
|
|
|
994
1258
|
---
|
|
995
1259
|
|
|
996
|
-
##
|
|
1260
|
+
## Referencje Dokumentacji
|
|
997
1261
|
|
|
998
1262
|
- [Dokumentacja Intlayer](https://intlayer.org)
|
|
999
1263
|
- [Dokumentacja Tanstack Start](https://reactrouter.com/)
|
|
1000
|
-
- [
|
|
1001
|
-
- [useLocale
|
|
1002
|
-
- [Deklaracja
|
|
1264
|
+
- [hook useIntlayer](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useIntlayer.md)
|
|
1265
|
+
- [hook useLocale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/packages/react-intlayer/useLocale.md)
|
|
1266
|
+
- [Deklaracja Zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md)
|
|
1003
1267
|
- [Konfiguracja](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/configuration.md)
|