@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
|
@@ -31,48 +31,6 @@ Hook `useIntlayer` cho phép bạn truy xuất nội dung được bản địa
|
|
|
31
31
|
|
|
32
32
|
## Ví dụ sử dụng trong React
|
|
33
33
|
|
|
34
|
-
Minh họa hook `useIntlayer` trong một component React:
|
|
35
|
-
|
|
36
|
-
```tsx fileName="src/app.tsx" codeFormat={["typescript", "esm"]}
|
|
37
|
-
import type { FC } from "react";
|
|
38
|
-
import { ClientComponentExample, ServerComponentExample } from "@components";
|
|
39
|
-
import { IntlayerProvider } from "react-intlayer";
|
|
40
|
-
import { useIntlayer, IntlayerServerProvider } from "react-intlayer/server";
|
|
41
|
-
import { Locales } from "intlayer";
|
|
42
|
-
|
|
43
|
-
const App: FC<{ locale: Locales }> = ({ locale }) => {
|
|
44
|
-
const content = useIntlayer("homepage", locale);
|
|
45
|
-
|
|
46
|
-
return (
|
|
47
|
-
<>
|
|
48
|
-
<p>{content.introduction}</p>
|
|
49
|
-
<IntlayerProvider locale={locale}>
|
|
50
|
-
<ClientComponentExample />
|
|
51
|
-
</IntlayerProvider>
|
|
52
|
-
<IntlayerServerProvider locale={locale}>
|
|
53
|
-
<ServerComponentExample />
|
|
54
|
-
</IntlayerServerProvider>
|
|
55
|
-
</>
|
|
56
|
-
);
|
|
57
|
-
};
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
```tsx fileName="src/components/ComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
61
|
-
import type { FC } from "react";
|
|
62
|
-
import { useIntlayer } from "react-intlayer";
|
|
63
|
-
|
|
64
|
-
const ComponentExample: FC = () => {
|
|
65
|
-
const content = useIntlayer("component-example");
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<div>
|
|
69
|
-
<h1>{content.title}</h1>
|
|
70
|
-
<p>{content.description}</p>
|
|
71
|
-
</div>
|
|
72
|
-
);
|
|
73
|
-
};
|
|
74
|
-
```
|
|
75
|
-
|
|
76
34
|
```tsx fileName="src/components/ServerComponentExample.tsx" codeFormat={["typescript", "esm"]}
|
|
77
35
|
import { useIntlayer } from "react-intlayer/server";
|
|
78
36
|
|
|
@@ -56,7 +56,7 @@ export default defineConfig({
|
|
|
56
56
|
2. Tùy chọn `build.optimize` là `true` (hoặc `undefined`, mặc định sẽ là `true` đối với tiến trình build).
|
|
57
57
|
3. Tùy chọn `build.minify` được đặt là `true` trong cấu hình Intlayer của bạn.
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
Khi `editor.enabled` là `true`, plugin vẫn chạy nhưng **bỏ qua bước đổi tên trường**: việc đổi tên viết lại các khóa nội dung mà trình thông dịch duyệt qua, khiến `keyPath` mà trình soạn thảo trực quan nhận được sẽ không còn khớp với các từ điển chưa hợp nhất mà nó đang chỉnh sửa. Việc nén khoảng trắng và loại bỏ metadata cấp cao nhất vẫn được giữ nguyên.
|
|
60
60
|
|
|
61
61
|
## Những gì được nén
|
|
62
62
|
|
|
@@ -28,6 +28,8 @@ author: aymericzip
|
|
|
28
28
|
|
|
29
29
|
Plugin Vite `intlayerPrune` được sử dụng để thực hiện tree-shaking và loại bỏ các từ điển không được sử dụng khỏi bundle ứng dụng của bạn. Điều này giúp giảm kích thước bundle cuối cùng bằng cách chỉ bao gồm nội dung đa ngôn ngữ cần thiết.
|
|
30
30
|
|
|
31
|
+
> Plugin đã được bao gồm và cấu hình tự động khi bạn sử dụng [`intlayer()`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/vi/packages/vite-intlayer/intlayer.md). Bạn chỉ cần đăng ký nó theo cách thủ công nếu bạn đang soạn plugin stack của riêng mình.
|
|
32
|
+
|
|
31
33
|
## Cách sử dụng
|
|
32
34
|
|
|
33
35
|
### Như một phần của `intlayer()` (được khuyến nghị)
|
|
@@ -115,4 +117,4 @@ Khi pruning thành công, `intlayerPrune` cũng ghi `pruneContext.dictionaryKeyT
|
|
|
115
117
|
2. `build.optimize` là `true` (hoặc `undefined`, mặc định là `true` cho các bản build).
|
|
116
118
|
3. `build.purge` là `true` trong cấu hình Intlayer của bạn.
|
|
117
119
|
|
|
118
|
-
Nó
|
|
120
|
+
Nó vẫn hoạt động khi `editor.enabled` là `true`: trình soạn thảo trực quan phân giải mỗi chỉnh sửa thông qua `dictionaryKey` + `keyPath` dựa trên các từ điển chưa hợp nhất, mà plugin này không bao giờ đụng đến, và một trường đã bị loại bỏ là trường mà không component nào đọc — vì vậy nó không bao giờ được render và cũng không thể chọn được trên trang.
|
|
@@ -77,6 +77,17 @@ const helloWorldContent = {
|
|
|
77
77
|
module.exports = helloWorldContent;
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
+
```json5 fileName="hello-world.vi.content.json" contentDeclarationFormat="json"
|
|
81
|
+
{
|
|
82
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
83
|
+
"key": "hello-world",
|
|
84
|
+
"locale": "vi", // Quan trọng
|
|
85
|
+
"content": {
|
|
86
|
+
"multilingualContent": "Tiêu đề của thành phần của tôi",
|
|
87
|
+
},
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
80
91
|
```json fileName="hello-world.content.ts" contentDeclarationFormat="json"
|
|
81
92
|
{
|
|
82
93
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -95,6 +106,8 @@ module.exports = helloWorldContent;
|
|
|
95
106
|
|
|
96
107
|
> Khuyến nghị: Định dạng này là tốt nhất khi sử dụng trình chỉnh sửa trực quan của Intlayer hoặc quản lý bản dịch trực tiếp trong mã.
|
|
97
108
|
|
|
109
|
+
> Lưu ý: Trong cả hai trường hợp, tệp khai báo nội dung phải tuân theo mẫu đặt tên `*.content.{ts,tsx,js,jsx,mjs,cjs,json}` để được Intlayer nhận diện. Hậu tố `.[locale]` là tùy chọn và chỉ được sử dụng như một quy ước đặt tên.
|
|
110
|
+
|
|
98
111
|
### Cấu hình toàn cầu cho các tệp theo từng Locale
|
|
99
112
|
|
|
100
113
|
Bạn có thể cấu hình cấu hình toàn cầu cho các tệp theo từng locale bằng cách thêm nội dung sau vào tệp `intlayer.config.ts` của bạn:
|
|
@@ -146,17 +159,6 @@ const helloWorldContent = {
|
|
|
146
159
|
export default helloWorldContent;
|
|
147
160
|
```
|
|
148
161
|
|
|
149
|
-
```json5 fileName="hello-world.en.content.json" contentDeclarationFormat="json"
|
|
150
|
-
{
|
|
151
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
152
|
-
"key": "hello-world",
|
|
153
|
-
"locale": "en", // Quan trọng
|
|
154
|
-
"content": {
|
|
155
|
-
"multilingualContent": "Tiêu đề của thành phần của tôi",
|
|
156
|
-
},
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
162
|
```json5 fileName="hello-world.es.content.json" contentDeclarationFormat="json"
|
|
161
163
|
{
|
|
162
164
|
"$schema": "https://intlayer.org/schema.json",
|
|
@@ -170,8 +172,6 @@ export default helloWorldContent;
|
|
|
170
172
|
|
|
171
173
|
> Quan trọng: Hãy chắc chắn rằng trường locale được định nghĩa. Nó cho Intlayer biết ngôn ngữ mà file đại diện.
|
|
172
174
|
|
|
173
|
-
> Lưu ý: Trong cả hai trường hợp, file khai báo nội dung phải tuân theo mẫu đặt tên `*.content.{ts,tsx,js,jsx,mjs,cjs,json}` để được Intlayer nhận diện. Phần hậu tố `.[locale]` là tùy chọn và chỉ được sử dụng như một quy ước đặt tên.
|
|
174
|
-
|
|
175
175
|
## Kết hợp các định dạng
|
|
176
176
|
|
|
177
177
|
Bạn có thể kết hợp cả hai cách khai báo cho cùng một khóa nội dung. Ví dụ:
|
package/docs/vi/readme.md
CHANGED
|
@@ -225,8 +225,8 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
|
|
|
225
225
|
<li><a href="https://intlayer.org/doc/environment/vite-and-vue" rel=''>Vite + Vue</a></li>
|
|
226
226
|
<li><a href="https://intlayer.org/doc/environment/nuxt-and-vue" rel=''>Vite + Nuxt</a></li>
|
|
227
227
|
<li><a href="https://intlayer.org/doc/environment/vite-and-solid" rel=''>Vite + Solid</a></li>
|
|
228
|
-
<li><a href="https://intlayer.org/doc/environment/
|
|
229
|
-
<li>
|
|
228
|
+
<li><a href="https://intlayer.org/doc/environment/solid-start" rel=''>Solid Start</a></li>
|
|
229
|
+
<li><a href="https://intlayer.org/doc/environment/angular" rel=''>Angular</a></li> <li>
|
|
230
230
|
<a href="https://intlayer.org/doc/environment/express" rel=''>Backend</a>
|
|
231
231
|
<ul>
|
|
232
232
|
<li><a href="https://intlayer.org/doc/environment/express" rel=''>Express</a></li>
|
|
@@ -234,6 +234,7 @@ Khám phá tài liệu toàn diện của chúng tôi để bắt đầu với I
|
|
|
234
234
|
<li><a href="https://intlayer.org/doc/environment/fastify" rel=''>Fastify</a></li>
|
|
235
235
|
<li><a href="https://intlayer.org/doc/environment/adonisjs" rel=''>AdonisJS</a></li>
|
|
236
236
|
<li><a href="https://intlayer.org/doc/environment/hono" rel=''>Hono</a></li>
|
|
237
|
+
<li><a href="https://intlayer.org/doc/environment/elysia" rel=''>Elysia</a></li>
|
|
237
238
|
</ul>
|
|
238
239
|
</li>
|
|
239
240
|
</ul>
|
package/docs/vi/self_hosting.md
CHANGED
|
@@ -21,12 +21,16 @@ author: aymericzip
|
|
|
21
21
|
|
|
22
22
|
Intlayer có thể chạy hoàn toàn trên hạ tầng của riêng bạn — không yêu cầu tài khoản Intlayer Cloud. Chỉ một lệnh duy nhất sẽ khởi động một stack sẵn sàng cho production:
|
|
23
23
|
|
|
24
|
+
Một lệnh cài đặt mọi thứ:
|
|
25
|
+
|
|
24
26
|
```sh
|
|
25
27
|
curl -fsSL https://intlayer.org/install.sh | sh
|
|
26
28
|
```
|
|
27
29
|
|
|
28
30
|
Trình cài đặt sẽ tải xuống `docker-compose.yml` và `.env`, tự động tạo các secret cần thiết, và khởi động tất cả các container với `docker compose up -d`.
|
|
29
31
|
|
|
32
|
+
Sự phụ thuộc duy nhất bên ngoài là **MongoDB**: backend kết nối với một cluster **Atlas** MongoDB mà bạn cung cấp. Mọi thứ khác chạy bên trong container.
|
|
33
|
+
|
|
30
34
|
## Mục lục
|
|
31
35
|
|
|
32
36
|
<TOC/>
|
|
@@ -60,40 +64,82 @@ Chromium (được sử dụng để tạo ảnh chụp màn hình Puppeteer) đ
|
|
|
60
64
|
- Các cổng `3000`, `3100`, `8025`, `9000`, và `9001` phải khả dụng trên host.
|
|
61
65
|
- Host chạy Linux hoặc macOS (hoặc WSL2 trên Windows).
|
|
62
66
|
|
|
67
|
+
Mọi thứ khác — Bun, Redis, MinIO, Chromium — đều được đóng gói trong image.
|
|
68
|
+
|
|
63
69
|
---
|
|
64
70
|
|
|
65
71
|
## Bắt đầu nhanh
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
### 1. Chạy trình cài đặt
|
|
74
|
+
|
|
75
|
+
```sh
|
|
76
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Nó xác minh Docker đã được cài đặt và đang chạy, ghi `./intlayer.env` với `BETTER_AUTH_SECRET` và `S3_SECRET_ACCESS_KEY` đã được tạo sẵn, và kéo image. Nó không khởi động container — backend không thể khởi động mà không có thông tin đăng nhập cơ sở dữ liệu của bạn.
|
|
80
|
+
|
|
81
|
+
Chạy lại trình cài đặt là an toàn: một `intlayer.env` hiện có sẽ không bao giờ bị ghi đè, vì vậy nó cũng đóng vai trò là đường dâng cập nhật.
|
|
82
|
+
|
|
83
|
+
### 2. Điền thông tin đăng nhập của bạn
|
|
84
|
+
|
|
85
|
+
Mở `intlayer.env` và hoàn thành các giá trị được đánh dấu `TODO`:
|
|
86
|
+
|
|
87
|
+
```sh fileName="intlayer.env"
|
|
88
|
+
DB_ID=<atlas-user>
|
|
89
|
+
DB_MDP=<atlas-password>
|
|
90
|
+
DB_CLUSTER=<cluster>.xxxxx.mongodb.net
|
|
91
|
+
RESEND_API_KEY=<your-resend-key>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Tệp này cũng chứa các khối được comment cho các tính năng tùy chọn — [SMTP mailer](#global-mailer), `OPENAI_API_KEY`, và các nhà cung cấp OAuth. Bỏ comment những tính năng bạn cần.
|
|
95
|
+
|
|
96
|
+
> Tệp được đọc bởi `docker run --env-file`, tệp này không loại bỏ dấu ngoặc kép và xem mọi thứ sau `=` là giá trị. Viết các giá trị không có dấu ngoặc kép, và giữ các comment trên các dòng riêng biệt.
|
|
97
|
+
|
|
98
|
+
### 3. Khởi động container
|
|
99
|
+
|
|
100
|
+
Đây là lệnh mà trình cài đặt in ra khi hoàn thành:
|
|
68
101
|
|
|
69
102
|
```sh
|
|
70
103
|
docker run -d --name intlayer \
|
|
104
|
+
--restart unless-stopped \
|
|
71
105
|
-p 3000:3000 \
|
|
72
106
|
-p 3100:3100 \
|
|
73
107
|
-p 9000:9000 \
|
|
74
108
|
-p 9001:9001 \
|
|
75
109
|
-v intlayer-data:/data \
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-e DB_CLUSTER="<cluster>.xxxxx.mongodb.net" \
|
|
79
|
-
-e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
|
|
80
|
-
-e S3_SECRET_ACCESS_KEY="$(openssl rand -hex 16)" \
|
|
81
|
-
-e RESEND_API_KEY="<your-resend-key>" \
|
|
82
|
-
aymericzip/intlayer-selfhost
|
|
110
|
+
--env-file ./intlayer.env \
|
|
111
|
+
ghcr.io/aymericzip/intlayer-selfhost:latest
|
|
83
112
|
```
|
|
84
113
|
|
|
85
|
-
Sau đó mở **http://localhost:3000**.
|
|
114
|
+
Sau đó mở **http://localhost:3000**. Lần khởi động đầu tiên sẽ khởi tạo các datastores, vì vậy hãy chờ một phút.
|
|
86
115
|
|
|
87
|
-
> Dashboard được phục vụ trên `localhost`. Xem [Limitations](#limitations) — các
|
|
116
|
+
> Dashboard được phục vụ trên `localhost`. Xem [Limitations](#limitations) — các custom domains không được hỗ trợ bởi image được công bố.
|
|
88
117
|
|
|
89
|
-
|
|
118
|
+
### Cài đặt Installer
|
|
90
119
|
|
|
91
|
-
|
|
120
|
+
Installer đọc một số biến môi trường. Vì nó được pipe vào `sh`, hãy truyền chúng cho shell thay vì cho `curl`:
|
|
92
121
|
|
|
93
122
|
```sh
|
|
94
|
-
curl -fsSL https://intlayer.org/install.sh | sh
|
|
123
|
+
curl -fsSL https://intlayer.org/install.sh | INTLAYER_ENV_FILE=./config/intlayer.env sh
|
|
95
124
|
```
|
|
96
125
|
|
|
126
|
+
| Variable | Default | Description |
|
|
127
|
+
| ------------------------- | --------------------------------------------- | -------------------------------- |
|
|
128
|
+
| `INTLAYER_IMAGE` | `ghcr.io/aymericzip/intlayer-selfhost:latest` | Image để pull |
|
|
129
|
+
| `INTLAYER_ENV_FILE` | `./intlayer.env` | Nơi ghi file env |
|
|
130
|
+
| `INTLAYER_CONTAINER_NAME` | `intlayer` | Tên container |
|
|
131
|
+
| `INTLAYER_DATA_VOLUME` | `intlayer-data` | Named volume mounted tại `/data` |
|
|
132
|
+
| `INTLAYER_APP_PORT` | `3000` | Host port cho dashboard |
|
|
133
|
+
| `INTLAYER_API_PORT` | `3100` | Host port cho API |
|
|
134
|
+
| `INTLAYER_S3_PORT` | `9000` | Host port cho MinIO S3 API |
|
|
135
|
+
| `INTLAYER_CONSOLE_PORT` | `9001` | Host port cho MinIO console |
|
|
136
|
+
|
|
137
|
+
> Bốn biến port chỉ thay đổi phía **host** của mapping được in trong lệnh `docker run`. Image được công bố có `http://localhost:3000`, `http://localhost:3100` và `http://localhost:9000` được biên dịch vào dashboard bundle tại thời điểm build, vì vậy việc ánh xạ lại chúng làm cho trình duyệt chỉ đến các port cũ. Giữ các giá trị mặc định trừ khi bạn đang xây dựng image của riêng mình — xem [Limitations](#limitations).
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Bắt đầu nhanh
|
|
142
|
+
|
|
97
143
|
Những gì trình cài đặt thực hiện:
|
|
98
144
|
|
|
99
145
|
1. Kiểm tra xem `docker` và `docker compose` có tồn tại không.
|
|
@@ -117,8 +163,6 @@ Sau khi stack hoạt động, mở **http://localhost:3000** và tạo tài kho
|
|
|
117
163
|
| **minio** | `minio/minio` | `9000` (S3), `9001` (console) | Lưu trữ đối tượng tương thích S3 cho avatar và ảnh chụp màn hình |
|
|
118
164
|
| **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (web UI) | Nơi nhận email giao dịch cục bộ |
|
|
119
165
|
|
|
120
|
-
Các cổng nội bộ (mongo, redis) không được phơi bày ra host theo mặc định.
|
|
121
|
-
|
|
122
166
|
> Cổng MinIO `9000` phải có thể truy cập được bởi trình duyệt vì các tài sản được tải lên (avatars, ảnh chụp màn hình) được tải trực tiếp từ `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
|
|
123
167
|
|
|
124
168
|
---
|
|
@@ -174,8 +218,6 @@ Các cổng nội bộ (mongo, redis) không được phơi bày ra host theo m
|
|
|
174
218
|
| `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | Đăng nhập LinkedIn OAuth |
|
|
175
219
|
| `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Đăng nhập Atlassian OAuth |
|
|
176
220
|
|
|
177
|
-
---
|
|
178
|
-
|
|
179
221
|
### Mailer toàn cầu
|
|
180
222
|
|
|
181
223
|
Theo mặc định, tất cả các email giao dịch được gửi qua Resend sử dụng `RESEND_API_KEY`. Các triển khai tự lưu trữ có thể thay vào đó định tuyến **mọi** email — bao gồm các email không thuộc tổ chức như đặt lại mật khẩu và liên kết ma thuật — qua một mailer toàn cầu được định cấu hình bằng các biến môi trường.
|
|
@@ -261,16 +303,8 @@ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
|
261
303
|
|
|
262
304
|
## Nâng cấp
|
|
263
305
|
|
|
264
|
-
Chạy lại trình cài đặt trên một triển khai hiện có sẽ thực hiện nâng cấp cuốn chiếu (rolling upgrade):
|
|
265
|
-
|
|
266
|
-
```sh
|
|
267
|
-
curl -fsSL https://intlayer.org/install.sh | sh
|
|
268
|
-
```
|
|
269
|
-
|
|
270
306
|
Thao tác này sẽ kéo các image mới nhất và khởi động lại các container với `docker compose pull && docker compose up -d`. Các volume hiện có (`mongo-data`, `redis-data`, `minio-data`) được bảo toàn — không mất dữ liệu.
|
|
271
307
|
|
|
272
|
-
Để nâng cấp thủ công từ bên trong thư mục `./intlayer/`:
|
|
273
|
-
|
|
274
308
|
```sh
|
|
275
309
|
docker compose pull
|
|
276
310
|
docker compose up -d
|
|
@@ -334,15 +368,12 @@ docker compose logs mongo
|
|
|
334
368
|
docker compose logs redis
|
|
335
369
|
```
|
|
336
370
|
|
|
371
|
+
Tìm kiếm `MongoDB connection error` gần phía trên của log.
|
|
372
|
+
|
|
337
373
|
### Dashboard không thể kết nối tới API
|
|
338
374
|
|
|
339
375
|
Xác minh rằng `VITE_BACKEND_URL` khớp với URL mà backend có thể truy cập được từ **trình duyệt** (không phải mạng Docker). Nếu bạn đã thay đổi cổng backend hoặc thêm reverse proxy, hãy build lại image dashboard:
|
|
340
376
|
|
|
341
|
-
```sh
|
|
342
|
-
docker compose build app
|
|
343
|
-
docker compose up -d app
|
|
344
|
-
```
|
|
345
|
-
|
|
346
377
|
### Thiếu MinIO bucket
|
|
347
378
|
|
|
348
379
|
Nếu dịch vụ một lần chạy `minio-init` không chạy (hoặc chạy trước khi MinIO sẵn sàng), hãy tạo bucket thủ công:
|
package/docs/zh/agent_skills.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-02-09
|
|
3
3
|
updatedAt: 2026-03-03
|
|
4
|
-
title:
|
|
5
|
-
description: 了解如何使用 Intlayer
|
|
4
|
+
title: Agent Skills
|
|
5
|
+
description: 了解如何使用 Intlayer Agent Skills 来提高 AI 代理对项目的理解,包括元数据 (Metadata)、站点地图 (Sitemaps) 和服务器操作 (Server Actions) 的全面设置指南。
|
|
6
6
|
keywords:
|
|
7
7
|
- Intlayer
|
|
8
|
-
-
|
|
8
|
+
- Agent Skills
|
|
9
9
|
- AI 代理
|
|
10
10
|
- 国际化
|
|
11
11
|
- 文档
|
|
@@ -19,13 +19,13 @@ history:
|
|
|
19
19
|
author: aymericzip
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
-
#
|
|
22
|
+
# Agent Skills
|
|
23
23
|
|
|
24
24
|
## 设置
|
|
25
25
|
|
|
26
26
|
### 使用 CLI
|
|
27
27
|
|
|
28
|
-
`intlayer init skills`
|
|
28
|
+
`intlayer init skills` 命令是在项目中设置 Agent Skills 的最简单方法。它会检测您的环境并为您喜欢的平台安装必要的配置文件。
|
|
29
29
|
|
|
30
30
|
```bash packageManager="npm"
|
|
31
31
|
npx intlayer init skills
|
|
@@ -54,10 +54,10 @@ npx skills add aymericzip/intlayer-skills
|
|
|
54
54
|
1. 打开命令面板 (Ctrl+Shift+P 或 Cmd+Shift+P)。
|
|
55
55
|
2. 输入 `Intlayer: Setup AI Agent Skills`
|
|
56
56
|
3. 选择您使用的平台(例如 `VS Code`、`Cursor`、`Windsurf`、`OpenCode`、`Claude Code`、`GitHub Copilot Workspace` 等)。
|
|
57
|
-
4.
|
|
57
|
+
4. 选择您要安装的 Agent Skills(例如 `Next.js`、`React`、`Vite`、`Compiler`、`Configuration`)。
|
|
58
58
|
5. 按 Enter 键。
|
|
59
59
|
|
|
60
|
-
##
|
|
60
|
+
## Agent Skills 列表
|
|
61
61
|
|
|
62
62
|
**intlayer-config**
|
|
63
63
|
|
package/docs/zh/analytics.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-07-08
|
|
3
|
-
updatedAt: 2026-
|
|
3
|
+
updatedAt: 2026-08-22
|
|
4
4
|
title: Intlayer Analytics | 跟踪内容曝光并运行 A/B 测试
|
|
5
5
|
description: 探索 @intlayer/analytics 如何跟踪页面/区域设置浏览量和内容曝光,以及如何使用它对您的 Intlayer 内容运行 A/B 测试。
|
|
6
6
|
keywords:
|
|
@@ -18,6 +18,9 @@ slugs:
|
|
|
18
18
|
- concept
|
|
19
19
|
- analytics
|
|
20
20
|
history:
|
|
21
|
+
- version: 9.3.3
|
|
22
|
+
date: 2026-08-22
|
|
23
|
+
changes: "安装 `@intlayer/analytics` 后默认启用分析功能"
|
|
21
24
|
- version: 9.0.0
|
|
22
25
|
date: 2026-07-08
|
|
23
26
|
changes: "Init doc — @intlayer/analytics 包,Provider/Node级别跟踪,A/B 测试,仪表板"
|
|
@@ -57,7 +60,7 @@ Intlayer 已经允许您声明内容 [变体 (Variants)](https://github.com/ayme
|
|
|
57
60
|
|
|
58
61
|
## 安装
|
|
59
62
|
|
|
60
|
-
`@intlayer/analytics`
|
|
63
|
+
`@intlayer/analytics` 是每个框架包(`react-intlayer`、`next-intlayer`、`vue-intlayer` 等)的**可选依赖(optional dependency)**,因此大多数项目已经安装了它。如果你的安装流程跳过可选依赖(例如 `npm install --no-optional`),请显式安装:
|
|
61
64
|
|
|
62
65
|
```bash packageManager="npm"
|
|
63
66
|
npm install @intlayer/analytics
|
|
@@ -75,11 +78,11 @@ pnpm add @intlayer/analytics
|
|
|
75
78
|
bun add @intlayer/analytics
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
|
|
81
|
+
只需安装该包即可启用分析功能:`analytics.enabled` 默认为 `true`,当在你的项目中找不到该包时,`@intlayer/config` 会将其解析为 `false`。如果您不安装它,每个集成点都将解析为空操作 (no-op) —— 请参阅下文的[未安装时零成本](#未安装时零成本)。
|
|
79
82
|
|
|
80
83
|
## 配置
|
|
81
84
|
|
|
82
|
-
|
|
85
|
+
分析功能无需任何配置即可启动:它**默认启用**,并**复用现有的 `editor` 配置块**作为其上报地址和项目密钥。
|
|
83
86
|
|
|
84
87
|
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
85
88
|
import type { IntlayerConfig } from "intlayer";
|
|
@@ -100,16 +103,25 @@ export default config;
|
|
|
100
103
|
|
|
101
104
|
如果您自托管 Intlayer,分析会自动指向您自己的实例,因为它共享 `editor.backendURL`。
|
|
102
105
|
|
|
103
|
-
|
|
106
|
+
### 如何关闭
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
可选的 `analytics` 配置块用于调整——或关闭——数据收集:
|
|
106
109
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
111
|
+
import type { IntlayerConfig } from "intlayer";
|
|
112
|
+
|
|
113
|
+
const config: IntlayerConfig = {
|
|
114
|
+
analytics: {
|
|
115
|
+
enabled: false, // 默认值:true —— 将整个集成排除在打包结果之外
|
|
116
|
+
flushInterval: 20_000, // 两次批量发送之间的毫秒数
|
|
117
|
+
sampleRate: 1, // 要记录的会话比例,从 0(不记录)到 1(全部记录)
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export default config;
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
卸载 `@intlayer/analytics` 与设置 `enabled: false` 效果相同。完整字段列表请参阅[配置参考](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/configuration.md)。
|
|
113
125
|
|
|
114
126
|
## 使用方法
|
|
115
127
|
|
|
@@ -154,6 +166,34 @@ const CTAButton = () => {
|
|
|
154
166
|
|
|
155
167
|
### 在客户端解析变体
|
|
156
168
|
|
|
169
|
+
</Tab>
|
|
170
|
+
</Tabs>
|
|
171
|
+
|
|
172
|
+
权重是可选的 — 为每个变体传递一个权重来改变分割比例,例如 `useExperiment("homepage-hero", ["default", "black_friday"], [9, 1])`。
|
|
173
|
+
|
|
174
|
+
子应用随后读取与之匹配的字典的 [Variant](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dynamic_dictionaries/variants.md):
|
|
175
|
+
|
|
176
|
+
```tsx fileName="HeroBanner.tsx"
|
|
177
|
+
import { useIntlayer } from "react-intlayer";
|
|
178
|
+
|
|
179
|
+
export const HeroBanner = ({ variant }: { variant: string }) => {
|
|
180
|
+
const { headline, cta } = useIntlayer("hero-banner", { variant });
|
|
181
|
+
|
|
182
|
+
return (
|
|
183
|
+
<section>
|
|
184
|
+
<h1>{headline}</h1>
|
|
185
|
+
<a>{cta}</a>
|
|
186
|
+
</section>
|
|
187
|
+
);
|
|
188
|
+
};
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
> 在**子组件**中读取 variant 是使其在 React 之外工作的关键:在 Vue、Svelte、Solid 和 Angular 中,传递给 `useIntlayer` 的选择器在组件设置时被捕获,所以读取必须发生在仅在 variant 已知时才挂载的组件中。
|
|
192
|
+
|
|
193
|
+
如果实验涵盖整个页面而不是单个字典,请将变体提升到提供者上——参见 [Ambient variant](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dynamic_dictionaries/variants.md#ambient-variant)。下面的每个 `useIntlayer` 都会针对它进行解析,无需更改调用站点。
|
|
194
|
+
|
|
195
|
+
如果你需要在组件外部获取原始赋值,直接访问客户端:
|
|
196
|
+
|
|
157
197
|
```tsx fileName="useHeroVariant.ts" codeFormat="tsx"
|
|
158
198
|
import { getGlobalAnalyticsClient } from "@intlayer/analytics/client";
|
|
159
199
|
|
|
@@ -164,6 +204,8 @@ const variant = client?.getVariant("homepage-hero", [
|
|
|
164
204
|
]);
|
|
165
205
|
```
|
|
166
206
|
|
|
207
|
+
> `getVariant` 只进行分配——它不记录曝光。优先使用 `useExperiment()`,否则转化率将没有分母。
|
|
208
|
+
|
|
167
209
|
## 隐私与性能
|
|
168
210
|
|
|
169
211
|
- **设计上匿名**:会话由轮换 ID 标识;后端永远只存储该 ID 的 **SHA-256 哈希值** —— 从不存储原始 ID,从不存储 IP 地址。
|
|
@@ -177,7 +219,7 @@ const variant = client?.getVariant("homepage-hero", [
|
|
|
177
219
|
`@intlayer/analytics` 遵循与 `@intlayer/editor` 完全相同的可选依赖模式:
|
|
178
220
|
|
|
179
221
|
- 每个集成点通过**包裹在 `try/catch` 中的动态 `import()`** 加载包 —— 从未安装 `@intlayer/analytics` 的应用程序永远不会支付包大小或运行时成本,也永远不会看到错误;
|
|
180
|
-
- 一个编译时环境变量(`INTLAYER_ANALYTICS_ENABLED
|
|
222
|
+
- 一个编译时环境变量(`INTLAYER_ANALYTICS_ENABLED`),当该包未安装、`analytics.enabled` 为 `false`,或未配置 `editor.clientId` 时,它会由 `@intlayer/config` 自动设置为 `'false'`,允许打包器 (bundlers) **将整个集成作为死代码消除 (dead-code-eliminate)**;
|
|
181
223
|
- 分析在 Intlayer 编辑器/CMS 预览 iframe 中被禁用,因此编辑器会话永远不会算作真实流量。
|
|
182
224
|
|
|
183
225
|
## 仪表板:Analytics 页面
|
|
@@ -213,6 +255,8 @@ const cms = createIntlayerCMS();
|
|
|
213
255
|
const { data: audience } = await analyticsEndpoint(cms).getAudience(30);
|
|
214
256
|
```
|
|
215
257
|
|
|
258
|
+
> **仅限服务器端。** `createIntlayerCMS()` 使用 `clientId` + `clientSecret` 进行身份验证,secret 永远不会在浏览器中可用 — 如果此代码片段在浏览器中运行,它将发出未经身份验证的请求。请将其保留在路由处理程序、服务器操作或脚本中。
|
|
259
|
+
|
|
216
260
|
## 有用的链接
|
|
217
261
|
|
|
218
262
|
- [动态字典 - 集合与变体 (Collections & Variants)](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dynamic_dictionaries/index.md)
|
|
@@ -196,6 +196,8 @@ GitHub 星数是项目受欢迎程度、社区信任和长期相关性的有力
|
|
|
196
196
|
|
|
197
197
|
在 TanStack Start 上我也遇到了响应性问题:切换语言环境时,我必须强制 Provider 重新渲染并订阅语言环境更改事件,切换后的加载才能正常进行。
|
|
198
198
|
|
|
199
|
+
在 TanStack Start 上,我也遇到了响应性问题:当locale改变时,我必须强制提供者重新渲染并订阅locale-change事件,以便在另一种语言中加载时行为正确。
|
|
200
|
+
|
|
199
201
|
**(use-intl)** (`use-intl@4.9.1`):
|
|
200
202
|
|
|
201
203
|
`use-intl` 是 React 生态中最时髦的“intl”成员(与 `next-intl` 同系),常被 AI Agent 推荐,但在我看来,在性能优先的环境下这是错误的。入门相对简单,但在实践中,优化和限制泄漏的过程相当复杂。同样,结合动态加载 + 命名空间 + TypeScript 类型会极大降低开发速度。
|
|
@@ -208,6 +210,8 @@ GitHub 星数是项目受欢迎程度、社区信任和长期相关性的有力
|
|
|
208
210
|
|
|
209
211
|
尽管如此,它与基于 `t('a.b.c')` 的技术栈有着相同的重大缺点:优化是可能的,但非常耗时,且大型项目容易陷入不良实践(命名空间 + 动态加载 + 类型)。
|
|
210
212
|
|
|
213
|
+
该 package 特别重(~17.3kb,约为 `react-intlayer` 的 3.5 倍)。
|
|
214
|
+
|
|
211
215
|
消息格式也不同:`use-intl` 使用 ICU MessageFormat,而 `i18next` 使用自己的格式--如果混合使用它们,会增加工具链或迁移的复杂度。
|
|
212
216
|
|
|
213
217
|
**(Lingui)** (`@lingui/core@5.3.0`):
|
|
@@ -218,6 +222,8 @@ GitHub 星数是项目受欢迎程度、社区信任和长期相关性的有力
|
|
|
218
222
|
|
|
219
223
|
`react-intl` 是来自 Format.js 团队的高性能实现。但 DX 依然繁琐:`const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` 增加了复杂度和额外的 JavaScript 开销,并将全局 i18n 实例绑定到了 React 树中的许多节点。
|
|
220
224
|
|
|
225
|
+
该 package 也很重(~14.4kb,大约是 `react-intlayer` 的 3 倍)。
|
|
226
|
+
|
|
221
227
|
### 4 - 推荐方案
|
|
222
228
|
|
|
223
229
|
在本次 TanStack Start 基准测试中,没有与 `next-translate`(Next.js 插件 + `getStaticProps`)直接对应的方案。对于那些确实想要 `t()` API 且拥有成熟生态的团队,`react-i18next` 和 `use-intl` 仍是“合理”的选择,但要做好投入大量时间进行优化以避免泄漏的准备。
|
|
@@ -476,7 +476,7 @@ const config: IntlayerConfig = {
|
|
|
476
476
|
export default config;
|
|
477
477
|
```
|
|
478
478
|
|
|
479
|
-
>
|
|
479
|
+
> 当 `optimize` 为 `false` 时,压缩会被跳过。当 `editor.enabled` 为 `true` 时,压缩仍会运行,但不执行字段重命名步骤——可视化编辑器通过 `keyPath` 解析编辑内容,因此原始字段名称必须保留。
|
|
480
480
|
|
|
481
481
|
> 在 Next.js 上,当 `@intlayer/swc` 未安装或无法加载时(Next.js 低于 16.1.0),压缩同样会被跳过。重写源码访问的正是这个插件,因此在没有它的情况下重命名字典,会让你的代码读取已不存在的字段名。
|
|
482
482
|
|
|
@@ -508,7 +508,7 @@ export default config;
|
|
|
508
508
|
{ "title": "…", "subtitle": "…" }
|
|
509
509
|
```
|
|
510
510
|
|
|
511
|
-
>
|
|
511
|
+
> 当 `optimize` 为 `false` 时,清除(Purge)会被跳过。当 `editor.enabled` 为 `true` 时,它仍保持启用——被清除的字段不会被任何组件读取,因此编辑器永远不会渲染它。在 Next.js 上,当 `@intlayer/swc` 不可用以及配置了兼容适配器调用方时,还会被额外跳过。
|
|
512
512
|
|
|
513
513
|
> 当检测到某份代码因为异常无法顺利解析、又或者当把由 `useIntlayer` 输出的值以静态解析器难以预测分析的模式在不同组件中来回丢(比如被打包成对象传入等而未被进行解构)的时候,它同样会跳过,以此保守地保留整部字典的全部信息,避免意外发生。
|
|
514
514
|
|
package/docs/zh/cli/ci.md
CHANGED
|
@@ -128,6 +128,8 @@ bun x intlayer ci fill --verbose --mode complete
|
|
|
128
128
|
|
|
129
129
|
### 在 CI/CD 管道中使用
|
|
130
130
|
|
|
131
|
+
运行 `intlayer init` 为你生成两个可立即使用的 GitHub Actions 工作流(参见下面的 [Scaffolded GitHub Actions](#scaffolded-github-actions))。这个例子展示了在 monorepo 中使用 `ci` 命令的等效设置,其中凭证从 `INTLAYER_PROJECT_CREDENTIALS` 按项目注入。
|
|
132
|
+
|
|
131
133
|
在您的 CI/CD 配置中(例如,GitHub Actions、GitLab CI),将 `INTLAYER_PROJECT_CREDENTIALS` 设置为密钥:
|
|
132
134
|
|
|
133
135
|
```yaml
|
|
@@ -91,7 +91,13 @@ bun x intlayer doc review
|
|
|
91
91
|
|
|
92
92
|
- **`--log`**:仅记录模式。不使用 AI 进行翻译;而是记录需要关注的块(带有行号和内容),供基础语言环境和目标语言环境参考,以帮助另一个代理生成翻译。
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
2. **For `report` mode**: Log blocks requiring attention without using AI, noting line numbers and content for both source and target.
|
|
95
|
+
|
|
96
|
+
> 示例: `npx intlayer doc review --mode report`
|
|
97
|
+
|
|
98
|
+
> 示例:`npx intlayer doc review --log`
|
|
99
|
+
|
|
100
|
+
无论采用哪种模式,运行都会以一份综合报告结束,该报告列出与其基础文档对齐的文档和仍有需要编辑的块的文档。
|
|
95
101
|
|
|
96
102
|
**入口输出选项:**
|
|
97
103
|
|
package/docs/zh/cli/fill.md
CHANGED
|
@@ -39,14 +39,6 @@ bun x intlayer fill
|
|
|
39
39
|
|
|
40
40
|
此命令会分析您的内容声明文件,查找潜在问题,例如缺失的翻译、结构不一致或类型不匹配。如果发现任何问题,**intlayer fill** 将建议或应用更新,以保持您的字典一致且完整。
|
|
41
41
|
|
|
42
|
-
关键要点:
|
|
43
|
-
|
|
44
|
-
- 将大型 JSON 文件拆分为块,以保持在 AI 模型的上下文窗口限制内。
|
|
45
|
-
- 如果输出格式不正确,会重试翻译。
|
|
46
|
-
- 结合应用程序和文件特定的上下文以提高翻译准确性。
|
|
47
|
-
- 通过不覆盖现有翻译来保留它们。
|
|
48
|
-
- 使用队列系统并行处理文件、块和语言环境以提高速度。
|
|
49
|
-
|
|
50
42
|
## 关键要点:
|
|
51
43
|
|
|
52
44
|
- 将大型 JSON 文件分割成块,以保持在 AI 模型的上下文窗口限制内。
|
package/docs/zh/cli/index.md
CHANGED
|
@@ -127,6 +127,8 @@ Intlayer 接受多种配置文件格式:
|
|
|
127
127
|
|
|
128
128
|
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/login.md)** - 在 Intlayer CMS 中进行身份验证并获取访问凭据
|
|
129
129
|
|
|
130
|
+
> `intlayer login` 生成一个**访问密钥** (`clientId` / `clientSecret`),每个需要凭证的命令都会使用它。该密钥是服务器端凭证,永远不会到达您的客户端 bundle — 请参阅[保持访问密钥安全](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/login.md#keeping-the-access-key-safe)。
|
|
131
|
+
|
|
130
132
|
### 核心命令
|
|
131
133
|
|
|
132
134
|
- **[Build Dictionaries](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/build.md)** - 从内容声明文件构建字典
|
|
@@ -52,8 +52,6 @@ bun x intlayer projects list
|
|
|
52
52
|
|
|
53
53
|
> 示例:`npx intlayer projects list --base-dir /path/to/workspace`
|
|
54
54
|
|
|
55
|
-
> 示例:`npx intlayer projects list --base-dir /path/to/workspace`
|
|
56
|
-
|
|
57
55
|
- **`--git-root`**:从 git 根目录开始搜索,而不是基目录。这对于在 monorepo 或 git 仓库中查找所有 Intlayer 项目很有用。
|
|
58
56
|
|
|
59
57
|
> 示例:`npx intlayer projects list --git-root`
|
package/docs/zh/cli/login.md
CHANGED
|
@@ -118,6 +118,34 @@ INTLAYER_CLIENT_SECRET=your_client_secret
|
|
|
118
118
|
}
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
+
## 保持访问密钥安全
|
|
122
|
+
|
|
123
|
+
`intlayer login` 颁发一个**访问密钥**:一个 `clientId` / `clientSecret` 对,每个需要凭证的命令(`push`、`pull`、`fill`、`configuration push`、`live` 等)都使用它来进行身份验证。
|
|
124
|
+
|
|
125
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
126
|
+
import type { IntlayerConfig } from "intlayer";
|
|
127
|
+
|
|
128
|
+
const config: IntlayerConfig = {
|
|
129
|
+
editor: {
|
|
130
|
+
clientId: process.env.INTLAYER_CLIENT_ID,
|
|
131
|
+
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export default config;
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
> **`clientSecret` 是一个服务器端凭证。** 它授予完整的项目范围 API 访问权限——读取和写入您的字典、项目和组织。将其保存在 `.env`(被 git 忽略)或您的 CI 密钥存储中,切勿在配置文件中直接内联。
|
|
139
|
+
|
|
140
|
+
Intlayer 强制执行此操作,而不仅仅是记录它:
|
|
141
|
+
|
|
142
|
+
- `clientSecret` **从您的 bundler 内联的配置中被删除**,因此无论您使用何种框架集成,它都无法到达浏览器包。它仅在服务器端、运行时从环境中读取。
|
|
143
|
+
- `clientId` 不同:它是**公开的**项目密钥,可以安全地交付,并由 [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/analytics.md#how-events-are-authenticated) 使用以获取短期的、仅供摄取的 token。
|
|
144
|
+
|
|
145
|
+
注释掉 `clientId` 足以禁用每个需要凭证的行为——远程字典获取、CMS 访问、分析——即使环境变量仍然已定义。
|
|
146
|
+
|
|
147
|
+
对于 CI 管道,推荐使用 [`ci` 命令](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/cli/ci.md),它在单次运行期间注入凭证,而不是持久化它们。
|
|
148
|
+
|
|
121
149
|
## 手动配置
|
|
122
150
|
|
|
123
151
|
如果浏览器没有自动打开,您可以手动访问终端中显示的 URL。
|