@intlayer/docs 9.4.0-canary.0 → 9.4.1
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 +3 -0
- 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/analytics.md +32 -11
- package/docs/ar/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +16 -0
- 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 +17 -0
- package/docs/ar/intlayer_with_angular_19.md +17 -0
- package/docs/ar/intlayer_with_angular_21.md +17 -0
- package/docs/ar/intlayer_with_astro.md +41 -0
- package/docs/ar/intlayer_with_astro_lit.md +17 -0
- package/docs/ar/intlayer_with_astro_preact.md +23 -0
- package/docs/ar/intlayer_with_astro_react.md +17 -0
- package/docs/ar/intlayer_with_astro_solid.md +17 -0
- package/docs/ar/intlayer_with_astro_svelte.md +17 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +17 -0
- package/docs/ar/intlayer_with_astro_vue.md +17 -0
- 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 +30 -0
- 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 +233 -36
- package/docs/ar/intlayer_with_nextjs_15.md +218 -0
- package/docs/ar/intlayer_with_nextjs_16.md +170 -44
- package/docs/ar/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +159 -4
- package/docs/ar/intlayer_with_nextjs_page_router.md +15 -28
- package/docs/ar/intlayer_with_nuxt.md +17 -0
- package/docs/ar/intlayer_with_react_router_v7.md +47 -0
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +191 -52
- package/docs/ar/intlayer_with_solid_start.md +12 -0
- package/docs/ar/intlayer_with_storybook.md +17 -0
- package/docs/ar/intlayer_with_svelte_kit.md +25 -16
- package/docs/ar/intlayer_with_tanstack+solid.md +249 -6
- package/docs/ar/intlayer_with_tanstack.md +283 -49
- package/docs/ar/intlayer_with_vanilla.md +17 -0
- package/docs/ar/intlayer_with_vite+lit.md +21 -0
- package/docs/ar/intlayer_with_vite+preact.md +51 -16
- package/docs/ar/intlayer_with_vite+react.md +21 -12
- package/docs/ar/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ar/intlayer_with_vite+solid.md +28 -48
- package/docs/ar/intlayer_with_vite+svelte.md +42 -12
- package/docs/ar/intlayer_with_vite+vanilla.md +19 -0
- package/docs/ar/intlayer_with_vite+vue.md +32 -14
- package/docs/ar/live-sync.md +13 -2
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/intlayer_with_fastify.md +5 -3
- package/docs/bn/intlayer_with_hono.md +5 -3
- package/docs/cs/intlayer_with_fastify.md +5 -3
- package/docs/cs/intlayer_with_hono.md +5 -3
- package/docs/de/analytics.md +32 -11
- package/docs/de/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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_astro.md +24 -0
- package/docs/de/intlayer_with_astro_preact.md +6 -0
- 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 +13 -26
- 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 +239 -9
- package/docs/de/intlayer_with_nextjs_15.md +200 -0
- package/docs/de/intlayer_with_nextjs_16.md +95 -35
- package/docs/de/intlayer_with_nextjs_compiler.md +467 -10
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +125 -4
- package/docs/de/intlayer_with_nextjs_page_router.md +4 -43
- package/docs/de/intlayer_with_react_router_v7.md +30 -0
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +102 -12
- package/docs/de/intlayer_with_solid_start.md +12 -0
- package/docs/de/intlayer_with_svelte_kit.md +6 -0
- package/docs/de/intlayer_with_tanstack+solid.md +157 -6
- package/docs/de/intlayer_with_tanstack.md +348 -178
- package/docs/de/intlayer_with_vite+lit.md +4 -0
- package/docs/de/intlayer_with_vite+preact.md +8 -4
- package/docs/de/intlayer_with_vite+react.md +4 -2
- package/docs/de/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/de/intlayer_with_vite+solid.md +11 -12
- package/docs/de/intlayer_with_vite+svelte.md +24 -0
- package/docs/de/intlayer_with_vite+vanilla.md +2 -0
- package/docs/de/intlayer_with_vite+vue.md +15 -2
- package/docs/de/live-sync.md +39 -0
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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 +503 -34
- package/docs/en/cli/index.md +2 -0
- package/docs/en/cli/login.md +28 -0
- package/docs/en/custom_domains.md +39 -2
- package/docs/en/dictionary/html.md +16 -16
- package/docs/en/dynamic_dictionaries/variants.md +3 -3
- 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 +2 -7
- package/docs/en/intlayer_with_nextjs_15.md +5 -5
- package/docs/en/intlayer_with_nextjs_16.md +5 -5
- package/docs/en/intlayer_with_nextjs_compiler.md +4 -4
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +7 -7
- 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/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 +10 -9
- package/docs/en/packages/next-intlayer/t.md +2 -4
- package/docs/en/packages/next-intlayer/useIntlayer.md +5 -6
- package/docs/en/readme.md +1 -0
- package/docs/en/self_hosting.md +77 -20
- package/docs/en-GB/benchmark/tanstack.md +6 -0
- 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/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/intlayer_visual_editor.md +12 -0
- package/docs/en-GB/intlayer_with_adonisjs.md +5 -3
- package/docs/en-GB/intlayer_with_astro.md +24 -0
- package/docs/en-GB/intlayer_with_astro_preact.md +6 -0
- 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 +8 -53
- package/docs/en-GB/intlayer_with_nestjs.md +5 -3
- package/docs/en-GB/intlayer_with_nextjs_14.md +180 -9
- package/docs/en-GB/intlayer_with_nextjs_15.md +195 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +225 -0
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +165 -5
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +139 -4
- package/docs/en-GB/intlayer_with_react_router_v7.md +110 -0
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +260 -63
- package/docs/en-GB/intlayer_with_solid_start.md +12 -0
- package/docs/en-GB/intlayer_with_svelte_kit.md +109 -4
- package/docs/en-GB/intlayer_with_tanstack+solid.md +159 -6
- package/docs/en-GB/intlayer_with_tanstack.md +381 -111
- package/docs/en-GB/intlayer_with_vite+lit.md +2 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +103 -4
- package/docs/en-GB/intlayer_with_vite+react.md +109 -0
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/en-GB/intlayer_with_vite+solid.md +80 -17
- package/docs/en-GB/intlayer_with_vite+svelte.md +132 -0
- package/docs/en-GB/intlayer_with_vite+vanilla.md +2 -0
- package/docs/en-GB/intlayer_with_vite+vue.md +168 -23
- package/docs/en-GB/live-sync.md +13 -2
- 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 +33 -6
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +32 -11
- package/docs/es/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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_astro.md +24 -0
- package/docs/es/intlayer_with_astro_preact.md +6 -0
- 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 +13 -0
- package/docs/es/intlayer_with_nestjs.md +19 -3
- package/docs/es/intlayer_with_nextjs_14.md +178 -50
- package/docs/es/intlayer_with_nextjs_15.md +197 -0
- package/docs/es/intlayer_with_nextjs_16.md +129 -66
- package/docs/es/intlayer_with_nextjs_compiler.md +45 -5
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +145 -4
- package/docs/es/intlayer_with_nextjs_page_router.md +15 -28
- package/docs/es/intlayer_with_react_router_v7.md +30 -0
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +28 -28
- package/docs/es/intlayer_with_solid_start.md +12 -0
- package/docs/es/intlayer_with_svelte_kit.md +6 -0
- package/docs/es/intlayer_with_tanstack+solid.md +157 -6
- package/docs/es/intlayer_with_tanstack.md +336 -192
- package/docs/es/intlayer_with_vite+lit.md +4 -0
- package/docs/es/intlayer_with_vite+preact.md +36 -4
- package/docs/es/intlayer_with_vite+react.md +2 -0
- package/docs/es/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/es/intlayer_with_vite+solid.md +11 -36
- package/docs/es/intlayer_with_vite+svelte.md +2 -0
- package/docs/es/intlayer_with_vite+vanilla.md +2 -0
- package/docs/es/intlayer_with_vite+vue.md +15 -2
- package/docs/es/live-sync.md +13 -4
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +54 -11
- package/docs/fr/benchmark/tanstack.md +6 -0
- 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 +7 -10
- 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_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 +12 -0
- 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/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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +16 -0
- 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 +17 -0
- package/docs/hi/intlayer_with_angular_19.md +20 -0
- package/docs/hi/intlayer_with_angular_21.md +17 -0
- package/docs/hi/intlayer_with_astro.md +43 -0
- package/docs/hi/intlayer_with_astro_lit.md +43 -0
- package/docs/hi/intlayer_with_astro_preact.md +49 -0
- package/docs/hi/intlayer_with_astro_react.md +43 -0
- package/docs/hi/intlayer_with_astro_solid.md +43 -0
- package/docs/hi/intlayer_with_astro_svelte.md +43 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +43 -0
- package/docs/hi/intlayer_with_astro_vue.md +19 -0
- 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 +25 -10
- package/docs/hi/intlayer_with_next-i18next.md +21 -0
- package/docs/hi/intlayer_with_nextjs_14.md +233 -34
- package/docs/hi/intlayer_with_nextjs_15.md +223 -8
- package/docs/hi/intlayer_with_nextjs_16.md +134 -10
- package/docs/hi/intlayer_with_nextjs_compiler.md +49 -5
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +162 -4
- package/docs/hi/intlayer_with_nextjs_page_router.md +28 -35
- package/docs/hi/intlayer_with_nuxt.md +46 -0
- package/docs/hi/intlayer_with_react_router_v7.md +49 -0
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +161 -45
- package/docs/hi/intlayer_with_solid_start.md +12 -0
- package/docs/hi/intlayer_with_storybook.md +17 -0
- package/docs/hi/intlayer_with_svelte_kit.md +25 -0
- package/docs/hi/intlayer_with_tanstack+solid.md +252 -6
- package/docs/hi/intlayer_with_tanstack.md +387 -157
- package/docs/hi/intlayer_with_vanilla.md +17 -0
- package/docs/hi/intlayer_with_vite+lit.md +21 -0
- package/docs/hi/intlayer_with_vite+preact.md +32 -99
- package/docs/hi/intlayer_with_vite+react.md +23 -7
- package/docs/hi/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/hi/intlayer_with_vite+solid.md +30 -25
- package/docs/hi/intlayer_with_vite+svelte.md +79 -0
- package/docs/hi/intlayer_with_vite+vanilla.md +19 -68
- package/docs/hi/intlayer_with_vite+vue.md +29 -9
- package/docs/hi/live-sync.md +39 -0
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +0 -2
- package/docs/id/intlayer_with_adonisjs.md +5 -3
- package/docs/id/intlayer_with_astro.md +24 -0
- package/docs/id/intlayer_with_astro_preact.md +6 -0
- 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_nestjs.md +5 -3
- package/docs/id/intlayer_with_nextjs_14.md +126 -7
- package/docs/id/intlayer_with_nextjs_15.md +103 -0
- package/docs/id/intlayer_with_nextjs_16.md +121 -2
- package/docs/id/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +141 -4
- package/docs/id/intlayer_with_nextjs_page_router.md +31 -24
- package/docs/id/intlayer_with_react_router_v7.md +30 -0
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +145 -50
- package/docs/id/intlayer_with_solid_start.md +12 -0
- package/docs/id/intlayer_with_svelte_kit.md +6 -0
- package/docs/id/intlayer_with_tanstack+solid.md +232 -6
- package/docs/id/intlayer_with_tanstack.md +370 -145
- package/docs/id/intlayer_with_vite+lit.md +4 -0
- package/docs/id/intlayer_with_vite+preact.md +34 -4
- package/docs/id/intlayer_with_vite+react.md +4 -0
- package/docs/id/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/id/intlayer_with_vite+solid.md +11 -27
- package/docs/id/intlayer_with_vite+svelte.md +27 -0
- package/docs/id/intlayer_with_vite+vanilla.md +2 -0
- package/docs/id/intlayer_with_vite+vue.md +13 -2
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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_astro.md +24 -0
- package/docs/it/intlayer_with_astro_preact.md +6 -0
- 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 +13 -9
- package/docs/it/intlayer_with_nestjs.md +5 -3
- package/docs/it/intlayer_with_nextjs_14.md +239 -9
- package/docs/it/intlayer_with_nextjs_15.md +196 -20
- package/docs/it/intlayer_with_nextjs_16.md +106 -2
- package/docs/it/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +140 -4
- package/docs/it/intlayer_with_nextjs_page_router.md +6 -28
- package/docs/it/intlayer_with_react_router_v7.md +30 -0
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +30 -0
- package/docs/it/intlayer_with_solid_start.md +12 -0
- package/docs/it/intlayer_with_svelte_kit.md +6 -0
- package/docs/it/intlayer_with_tanstack+solid.md +157 -6
- package/docs/it/intlayer_with_tanstack.md +321 -171
- package/docs/it/intlayer_with_vite+lit.md +4 -0
- package/docs/it/intlayer_with_vite+preact.md +36 -4
- package/docs/it/intlayer_with_vite+react.md +4 -5
- package/docs/it/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/it/intlayer_with_vite+solid.md +11 -31
- package/docs/it/intlayer_with_vite+svelte.md +27 -0
- package/docs/it/intlayer_with_vite+vanilla.md +2 -0
- package/docs/it/intlayer_with_vite+vue.md +21 -2
- package/docs/it/live-sync.md +13 -2
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +32 -11
- package/docs/ja/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +18 -0
- 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 +19 -0
- package/docs/ja/intlayer_with_angular_19.md +17 -0
- package/docs/ja/intlayer_with_angular_21.md +17 -0
- package/docs/ja/intlayer_with_astro.md +41 -0
- package/docs/ja/intlayer_with_astro_lit.md +17 -0
- package/docs/ja/intlayer_with_astro_preact.md +17 -0
- package/docs/ja/intlayer_with_astro_react.md +17 -0
- package/docs/ja/intlayer_with_astro_solid.md +17 -0
- package/docs/ja/intlayer_with_astro_svelte.md +17 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +17 -0
- package/docs/ja/intlayer_with_astro_vue.md +17 -0
- 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 +27 -0
- package/docs/ja/intlayer_with_nestjs.md +19 -3
- package/docs/ja/intlayer_with_nextjs_14.md +198 -90
- package/docs/ja/intlayer_with_nextjs_15.md +217 -0
- package/docs/ja/intlayer_with_nextjs_16.md +123 -2
- package/docs/ja/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +169 -6
- package/docs/ja/intlayer_with_nextjs_page_router.md +2 -24
- package/docs/ja/intlayer_with_nuxt.md +17 -0
- package/docs/ja/intlayer_with_react_router_v7.md +147 -27
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +45 -0
- package/docs/ja/intlayer_with_solid_start.md +12 -0
- package/docs/ja/intlayer_with_storybook.md +17 -0
- package/docs/ja/intlayer_with_svelte_kit.md +527 -12
- package/docs/ja/intlayer_with_tanstack+solid.md +174 -8
- package/docs/ja/intlayer_with_tanstack.md +401 -215
- package/docs/ja/intlayer_with_vanilla.md +17 -0
- package/docs/ja/intlayer_with_vite+lit.md +21 -0
- package/docs/ja/intlayer_with_vite+preact.md +17 -4
- package/docs/ja/intlayer_with_vite+react.md +522 -0
- package/docs/ja/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ja/intlayer_with_vite+solid.md +28 -42
- package/docs/ja/intlayer_with_vite+svelte.md +54 -12
- package/docs/ja/intlayer_with_vite+vanilla.md +19 -0
- package/docs/ja/intlayer_with_vite+vue.md +32 -5
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +32 -11
- package/docs/ko/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +2 -0
- package/docs/ko/intlayer_with_astro.md +108 -66
- package/docs/ko/intlayer_with_astro_lit.md +110 -66
- package/docs/ko/intlayer_with_astro_preact.md +110 -66
- package/docs/ko/intlayer_with_astro_react.md +106 -62
- package/docs/ko/intlayer_with_astro_solid.md +106 -62
- package/docs/ko/intlayer_with_astro_svelte.md +108 -64
- package/docs/ko/intlayer_with_astro_vanilla.md +107 -63
- package/docs/ko/intlayer_with_astro_vue.md +83 -63
- 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 +51 -0
- package/docs/ko/intlayer_with_nestjs.md +19 -3
- package/docs/ko/intlayer_with_nextjs_14.md +199 -50
- package/docs/ko/intlayer_with_nextjs_15.md +156 -2
- package/docs/ko/intlayer_with_nextjs_16.md +107 -0
- package/docs/ko/intlayer_with_nextjs_compiler.md +374 -40
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +152 -10
- package/docs/ko/intlayer_with_nextjs_page_router.md +13 -79
- package/docs/ko/intlayer_with_nuxt.md +29 -29
- package/docs/ko/intlayer_with_react_native+expo.md +2 -2
- package/docs/ko/intlayer_with_react_router_v7.md +138 -106
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +275 -51
- package/docs/ko/intlayer_with_solid_start.md +12 -0
- package/docs/ko/intlayer_with_storybook.md +0 -4
- package/docs/ko/intlayer_with_svelte_kit.md +38 -32
- package/docs/ko/intlayer_with_tanstack+solid.md +159 -8
- package/docs/ko/intlayer_with_tanstack.md +379 -182
- package/docs/ko/intlayer_with_vanilla.md +0 -2
- package/docs/ko/intlayer_with_vite+lit.md +4 -0
- package/docs/ko/intlayer_with_vite+preact.md +36 -4
- package/docs/ko/intlayer_with_vite+react.md +415 -0
- package/docs/ko/intlayer_with_vite+react_compiler.md +2 -2
- package/docs/ko/intlayer_with_vite+solid.md +81 -8
- package/docs/ko/intlayer_with_vite+svelte.md +132 -99
- package/docs/ko/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ko/intlayer_with_vite+vue.md +15 -0
- package/docs/ko/live-sync.md +0 -2
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/intlayer_with_fastify.md +5 -3
- package/docs/nl/intlayer_with_hono.md +5 -3
- package/docs/pl/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +17 -0
- package/docs/pl/intlayer_with_angular_19.md +17 -0
- package/docs/pl/intlayer_with_angular_21.md +17 -0
- package/docs/pl/intlayer_with_astro.md +113 -0
- package/docs/pl/intlayer_with_astro_lit.md +17 -0
- package/docs/pl/intlayer_with_astro_preact.md +23 -0
- package/docs/pl/intlayer_with_astro_react.md +17 -0
- package/docs/pl/intlayer_with_astro_solid.md +17 -0
- package/docs/pl/intlayer_with_astro_svelte.md +17 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +17 -0
- package/docs/pl/intlayer_with_astro_vue.md +17 -0
- 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 +17 -0
- package/docs/pl/intlayer_with_nextjs_14.md +143 -11
- package/docs/pl/intlayer_with_nextjs_15.md +117 -4
- package/docs/pl/intlayer_with_nextjs_16.md +122 -0
- package/docs/pl/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +158 -4
- package/docs/pl/intlayer_with_nextjs_page_router.md +91 -36
- package/docs/pl/intlayer_with_nuxt.md +17 -0
- package/docs/pl/intlayer_with_react_router_v7.md +47 -2
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +29 -25
- package/docs/pl/intlayer_with_solid_start.md +12 -0
- package/docs/pl/intlayer_with_storybook.md +17 -0
- package/docs/pl/intlayer_with_svelte_kit.md +23 -0
- package/docs/pl/intlayer_with_tanstack+solid.md +249 -6
- package/docs/pl/intlayer_with_tanstack.md +415 -151
- package/docs/pl/intlayer_with_vanilla.md +17 -0
- package/docs/pl/intlayer_with_vite+lit.md +21 -0
- package/docs/pl/intlayer_with_vite+preact.md +51 -0
- package/docs/pl/intlayer_with_vite+react.md +21 -0
- package/docs/pl/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/pl/intlayer_with_vite+solid.md +28 -27
- package/docs/pl/intlayer_with_vite+svelte.md +42 -0
- package/docs/pl/intlayer_with_vite+vanilla.md +19 -0
- package/docs/pl/intlayer_with_vite+vue.md +23 -52
- package/docs/pl/migration_from_i18next_to_intlayer.md +99 -0
- package/docs/pl/migration_from_next-intl_to_intlayer.md +0 -2
- package/docs/pl/migration_from_vue-i18n_to_intlayer.md +123 -0
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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_astro.md +96 -0
- package/docs/pt/intlayer_with_astro_lit.md +0 -8
- package/docs/pt/intlayer_with_astro_preact.md +6 -0
- 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 +13 -9
- package/docs/pt/intlayer_with_nestjs.md +19 -3
- package/docs/pt/intlayer_with_nextjs_14.md +237 -7
- package/docs/pt/intlayer_with_nextjs_15.md +200 -0
- package/docs/pt/intlayer_with_nextjs_16.md +105 -0
- package/docs/pt/intlayer_with_nextjs_compiler.md +45 -5
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +141 -4
- package/docs/pt/intlayer_with_nextjs_page_router.md +4 -28
- package/docs/pt/intlayer_with_react_router_v7.md +37 -30
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +30 -2
- package/docs/pt/intlayer_with_solid_start.md +12 -0
- package/docs/pt/intlayer_with_svelte_kit.md +6 -0
- package/docs/pt/intlayer_with_tanstack+solid.md +157 -6
- package/docs/pt/intlayer_with_tanstack.md +332 -188
- package/docs/pt/intlayer_with_vite+lit.md +4 -0
- package/docs/pt/intlayer_with_vite+preact.md +34 -0
- package/docs/pt/intlayer_with_vite+react.md +2 -0
- package/docs/pt/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/pt/intlayer_with_vite+solid.md +11 -36
- package/docs/pt/intlayer_with_vite+svelte.md +4 -0
- package/docs/pt/intlayer_with_vite+vanilla.md +2 -0
- package/docs/pt/intlayer_with_vite+vue.md +24 -52
- package/docs/pt/live-sync.md +13 -2
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +32 -11
- package/docs/ru/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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_astro.md +24 -0
- package/docs/ru/intlayer_with_astro_lit.md +24 -0
- package/docs/ru/intlayer_with_astro_preact.md +24 -0
- package/docs/ru/intlayer_with_astro_react.md +24 -0
- package/docs/ru/intlayer_with_astro_solid.md +24 -0
- package/docs/ru/intlayer_with_astro_svelte.md +24 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +24 -0
- 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 +13 -0
- package/docs/ru/intlayer_with_nestjs.md +19 -3
- package/docs/ru/intlayer_with_nextjs_14.md +243 -36
- package/docs/ru/intlayer_with_nextjs_15.md +180 -4
- package/docs/ru/intlayer_with_nextjs_16.md +105 -0
- package/docs/ru/intlayer_with_nextjs_compiler.md +47 -5
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +149 -4
- package/docs/ru/intlayer_with_nextjs_page_router.md +11 -84
- package/docs/ru/intlayer_with_react_router_v7.md +30 -0
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +30 -2
- package/docs/ru/intlayer_with_solid_start.md +12 -0
- package/docs/ru/intlayer_with_svelte_kit.md +6 -0
- package/docs/ru/intlayer_with_tanstack+solid.md +159 -8
- package/docs/ru/intlayer_with_tanstack.md +342 -170
- package/docs/ru/intlayer_with_vite+lit.md +4 -0
- package/docs/ru/intlayer_with_vite+preact.md +34 -4
- package/docs/ru/intlayer_with_vite+react.md +2 -0
- package/docs/ru/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/ru/intlayer_with_vite+solid.md +11 -27
- package/docs/ru/intlayer_with_vite+svelte.md +29 -0
- package/docs/ru/intlayer_with_vite+vanilla.md +2 -0
- package/docs/ru/intlayer_with_vite+vue.md +10 -2
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +2 -0
- package/docs/tr/intlayer_with_astro.md +107 -0
- package/docs/tr/intlayer_with_astro_lit.md +8 -8
- package/docs/tr/intlayer_with_astro_preact.md +14 -8
- package/docs/tr/intlayer_with_astro_react.md +8 -8
- package/docs/tr/intlayer_with_astro_solid.md +8 -8
- package/docs/tr/intlayer_with_astro_svelte.md +8 -8
- package/docs/tr/intlayer_with_astro_vanilla.md +8 -8
- 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 +8 -0
- package/docs/tr/intlayer_with_nestjs.md +19 -3
- package/docs/tr/intlayer_with_nextjs_14.md +361 -4
- package/docs/tr/intlayer_with_nextjs_15.md +201 -0
- package/docs/tr/intlayer_with_nextjs_16.md +105 -0
- package/docs/tr/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +123 -13
- package/docs/tr/intlayer_with_nextjs_page_router.md +4 -28
- package/docs/tr/intlayer_with_react_router_v7.md +30 -0
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +30 -2
- package/docs/tr/intlayer_with_solid_start.md +12 -0
- package/docs/tr/intlayer_with_svelte_kit.md +6 -0
- package/docs/tr/intlayer_with_tanstack+solid.md +232 -6
- package/docs/tr/intlayer_with_tanstack.md +351 -157
- package/docs/tr/intlayer_with_vite+lit.md +4 -0
- package/docs/tr/intlayer_with_vite+preact.md +34 -4
- package/docs/tr/intlayer_with_vite+react.md +4 -0
- package/docs/tr/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/tr/intlayer_with_vite+solid.md +11 -27
- package/docs/tr/intlayer_with_vite+svelte.md +29 -0
- package/docs/tr/intlayer_with_vite+vanilla.md +2 -0
- package/docs/tr/intlayer_with_vite+vue.md +15 -42
- package/docs/tr/live-sync.md +13 -2
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +0 -2
- package/docs/uk/intlayer_with_adonisjs.md +5 -3
- package/docs/uk/intlayer_with_analog.md +2 -0
- package/docs/uk/intlayer_with_astro.md +24 -0
- package/docs/uk/intlayer_with_astro_preact.md +6 -0
- 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 +0 -2
- package/docs/uk/intlayer_with_nestjs.md +5 -3
- package/docs/uk/intlayer_with_nextjs_14.md +126 -7
- package/docs/uk/intlayer_with_nextjs_15.md +102 -242
- package/docs/uk/intlayer_with_nextjs_16.md +105 -0
- package/docs/uk/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +125 -4
- package/docs/uk/intlayer_with_nextjs_page_router.md +4 -28
- package/docs/uk/intlayer_with_nuxt.md +29 -0
- package/docs/uk/intlayer_with_react_router_v7.md +28 -0
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +30 -2
- package/docs/uk/intlayer_with_solid_start.md +12 -0
- package/docs/uk/intlayer_with_svelte_kit.md +2 -0
- package/docs/uk/intlayer_with_tanstack+solid.md +233 -7
- package/docs/uk/intlayer_with_tanstack.md +381 -159
- package/docs/uk/intlayer_with_vite+lit.md +4 -0
- package/docs/uk/intlayer_with_vite+preact.md +6 -4
- package/docs/uk/intlayer_with_vite+react.md +4 -0
- package/docs/uk/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/uk/intlayer_with_vite+solid.md +11 -27
- package/docs/uk/intlayer_with_vite+svelte.md +4 -0
- package/docs/uk/intlayer_with_vite+vanilla.md +2 -0
- package/docs/uk/intlayer_with_vite+vue.md +8 -2
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/intlayer_with_fastify.md +5 -3
- package/docs/ur/intlayer_with_hono.md +5 -3
- package/docs/vi/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +0 -2
- package/docs/vi/intlayer_with_adonisjs.md +5 -3
- package/docs/vi/intlayer_with_analog.md +2 -0
- package/docs/vi/intlayer_with_astro.md +24 -0
- package/docs/vi/intlayer_with_astro_preact.md +6 -0
- 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_nextjs_14.md +126 -7
- package/docs/vi/intlayer_with_nextjs_15.md +137 -147
- package/docs/vi/intlayer_with_nextjs_16.md +105 -0
- package/docs/vi/intlayer_with_nextjs_compiler.md +72 -5
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +161 -4
- package/docs/vi/intlayer_with_nextjs_page_router.md +67 -29
- package/docs/vi/intlayer_with_nuxt.md +29 -0
- package/docs/vi/intlayer_with_react_router_v7.md +30 -0
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +147 -52
- package/docs/vi/intlayer_with_solid_start.md +12 -0
- package/docs/vi/intlayer_with_svelte_kit.md +6 -0
- package/docs/vi/intlayer_with_tanstack+solid.md +232 -6
- package/docs/vi/intlayer_with_tanstack.md +412 -167
- package/docs/vi/intlayer_with_vite+lit.md +4 -0
- package/docs/vi/intlayer_with_vite+preact.md +28 -4
- package/docs/vi/intlayer_with_vite+react.md +5 -3
- package/docs/vi/intlayer_with_vite+react_compiler.md +2 -0
- package/docs/vi/intlayer_with_vite+solid.md +11 -27
- package/docs/vi/intlayer_with_vite+svelte.md +27 -0
- package/docs/vi/intlayer_with_vite+vanilla.md +2 -0
- package/docs/vi/intlayer_with_vite+vue.md +13 -2
- 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 +34 -7
- 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/intlayerPrune.md +2 -0
- 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/analytics.md +32 -11
- package/docs/zh/benchmark/tanstack.md +6 -0
- 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 +7 -8
- 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 +19 -0
- package/docs/zh/intlayer_with_angular_19.md +17 -0
- package/docs/zh/intlayer_with_angular_21.md +17 -0
- package/docs/zh/intlayer_with_astro.md +18 -2
- package/docs/zh/intlayer_with_astro_lit.md +30 -8
- package/docs/zh/intlayer_with_astro_preact.md +36 -8
- package/docs/zh/intlayer_with_astro_react.md +30 -8
- package/docs/zh/intlayer_with_astro_solid.md +30 -8
- package/docs/zh/intlayer_with_astro_svelte.md +30 -8
- package/docs/zh/intlayer_with_astro_vanilla.md +30 -8
- package/docs/zh/intlayer_with_astro_vue.md +22 -0
- 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 +65 -0
- package/docs/zh/intlayer_with_nestjs.md +19 -3
- package/docs/zh/intlayer_with_nextjs_14.md +123 -111
- package/docs/zh/intlayer_with_nextjs_15.md +181 -0
- package/docs/zh/intlayer_with_nextjs_16.md +104 -0
- package/docs/zh/intlayer_with_nextjs_compiler.md +51 -9
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +146 -582
- package/docs/zh/intlayer_with_nextjs_page_router.md +14 -27
- package/docs/zh/intlayer_with_nuxt.md +17 -0
- package/docs/zh/intlayer_with_react_router_v7.md +176 -0
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +105 -4
- package/docs/zh/intlayer_with_solid_start.md +12 -0
- package/docs/zh/intlayer_with_storybook.md +17 -0
- package/docs/zh/intlayer_with_svelte_kit.md +17 -0
- package/docs/zh/intlayer_with_tanstack+solid.md +178 -10
- package/docs/zh/intlayer_with_tanstack.md +369 -162
- package/docs/zh/intlayer_with_vanilla.md +17 -0
- package/docs/zh/intlayer_with_vite+lit.md +19 -0
- package/docs/zh/intlayer_with_vite+preact.md +90 -48
- package/docs/zh/intlayer_with_vite+react.md +19 -0
- package/docs/zh/intlayer_with_vite+solid.md +11 -24
- package/docs/zh/intlayer_with_vite+svelte.md +14 -16
- package/docs/zh/intlayer_with_vite+vanilla.md +17 -0
- package/docs/zh/intlayer_with_vite+vue.md +15 -4
- package/docs/zh/live-sync.md +39 -2
- 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 +33 -7
- 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/intlayerPrune.md +2 -0
- 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/package.json +7 -7
- package/src/generated/docs.entry.ts +140 -0
|
@@ -21,12 +21,16 @@ author: aymericzip
|
|
|
21
21
|
|
|
22
22
|
Intlayer can run entirely on your own infrastructure. No Intlayer Cloud account required. A single command boots a production-ready stack:
|
|
23
23
|
|
|
24
|
+
One command installs everything:
|
|
25
|
+
|
|
24
26
|
```sh
|
|
25
27
|
curl -fsSL https://intlayer.org/install.sh | sh
|
|
26
28
|
```
|
|
27
29
|
|
|
28
30
|
The installer downloads a `docker-compose.yml` and a `.env`, auto-generates the required secrets, and starts all containers with `docker compose up -d`.
|
|
29
31
|
|
|
32
|
+
The only external dependency is **MongoDB**: the backend connects to a MongoDB **Atlas** cluster, which you provide. Everything else runs inside the container.
|
|
33
|
+
|
|
30
34
|
## Table of Contents
|
|
31
35
|
|
|
32
36
|
<TOC/>
|
|
@@ -60,40 +64,82 @@ Chromium (used for Puppeteer screenshot generation) is bundled inside the backen
|
|
|
60
64
|
- Ports `3000`, `3100`, `8025`, `9000`, and `9001` available on the host.
|
|
61
65
|
- A Linux or macOS host (or WSL2 on Windows).
|
|
62
66
|
|
|
67
|
+
Everything else — Bun, Redis, MinIO, Chromium — ships inside the image.
|
|
68
|
+
|
|
63
69
|
---
|
|
64
70
|
|
|
65
71
|
## Quick start
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
### 1. Run the installer
|
|
74
|
+
|
|
75
|
+
```sh
|
|
76
|
+
curl -fsSL https://intlayer.org/install.sh | sh
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
It verifies Docker is installed and running, writes `./intlayer.env` with `BETTER_AUTH_SECRET` and `S3_SECRET_ACCESS_KEY` already generated, and pulls the image. It does not start the container — the backend cannot boot without your database credentials.
|
|
80
|
+
|
|
81
|
+
Re-running the installer is safe: an existing `intlayer.env` is never overwritten, so it doubles as the upgrade path.
|
|
82
|
+
|
|
83
|
+
### 2. Fill in your credentials
|
|
84
|
+
|
|
85
|
+
Open `intlayer.env` and complete the values marked `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
|
+
The file also carries commented-out blocks for the optional features — [SMTP mailer](#global-mailer), `OPENAI_API_KEY`, and the OAuth providers. Uncomment what you need.
|
|
95
|
+
|
|
96
|
+
> The file is read by `docker run --env-file`, which does not strip quotes and treats everything after `=` as the value. Write bare values, and keep comments on their own lines.
|
|
97
|
+
|
|
98
|
+
### 3. Start the container
|
|
99
|
+
|
|
100
|
+
This is the command the installer prints when it finishes:
|
|
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
|
-
Then open **http://localhost:3000**.
|
|
114
|
+
Then open **http://localhost:3000**. First boot initialises the datastores, so give it a minute.
|
|
86
115
|
|
|
87
116
|
> The dashboard is served on `localhost`. See [Limitations](#limitations) — custom domains are not supported by the published image.
|
|
88
117
|
|
|
89
|
-
|
|
118
|
+
### Installer settings
|
|
90
119
|
|
|
91
|
-
|
|
120
|
+
The installer reads a few environment variables. Because it is piped into `sh`, pass them to the shell rather than to `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 to pull |
|
|
129
|
+
| `INTLAYER_ENV_FILE` | `./intlayer.env` | Where to write the env file |
|
|
130
|
+
| `INTLAYER_CONTAINER_NAME` | `intlayer` | Container name |
|
|
131
|
+
| `INTLAYER_DATA_VOLUME` | `intlayer-data` | Named volume mounted at `/data` |
|
|
132
|
+
| `INTLAYER_APP_PORT` | `3000` | Host port for the dashboard |
|
|
133
|
+
| `INTLAYER_API_PORT` | `3100` | Host port for the API |
|
|
134
|
+
| `INTLAYER_S3_PORT` | `9000` | Host port for the MinIO S3 API |
|
|
135
|
+
| `INTLAYER_CONSOLE_PORT` | `9001` | Host port for the MinIO console |
|
|
136
|
+
|
|
137
|
+
> The four port variables only change the **host** side of the mapping printed in the `docker run` command. The published image has `http://localhost:3000`, `http://localhost:3100` and `http://localhost:9000` compiled into the dashboard bundle at build time, so remapping them leaves the browser pointing at the old ports. Keep the defaults unless you are building your own image — see [Limitations](#limitations).
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Quick start
|
|
142
|
+
|
|
97
143
|
What the installer does:
|
|
98
144
|
|
|
99
145
|
1. Checks that `docker` and `docker compose` are present.
|
|
@@ -117,8 +163,6 @@ After the stack is up, open **http://localhost:3000** and create your first acco
|
|
|
117
163
|
| **minio** | `minio/minio` | `9000` (S3), `9001` (console) | S3-compatible object storage for avatars and screenshots |
|
|
118
164
|
| **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (web UI) | Local transactional email sink |
|
|
119
165
|
|
|
120
|
-
Internal ports (mongo, redis) are not exposed to the host by default.
|
|
121
|
-
|
|
122
166
|
> MinIO port `9000` must be reachable by the browser because uploaded assets (avatars, screenshots) are loaded directly from `S3_PUBLIC_URL=http://localhost:9000/intlayer`.
|
|
123
167
|
|
|
124
168
|
---
|
|
@@ -174,8 +218,6 @@ Internal ports (mongo, redis) are not exposed to the host by default.
|
|
|
174
218
|
| `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | LinkedIn OAuth login |
|
|
175
219
|
| `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Atlassian OAuth login |
|
|
176
220
|
|
|
177
|
-
---
|
|
178
|
-
|
|
179
221
|
### Global mailer
|
|
180
222
|
|
|
181
223
|
By default, all transactional emails are sent through Resend using `RESEND_API_KEY`. Self-hosted deployments can instead route **every** email — including non-organisation emails such as password resets and magic links — through a global mailer configured with environment variables.
|
|
@@ -261,16 +303,8 @@ const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
|
|
|
261
303
|
|
|
262
304
|
## Upgrading
|
|
263
305
|
|
|
264
|
-
Re-running the installer on an existing deployment performs a rolling upgrade:
|
|
265
|
-
|
|
266
|
-
```sh
|
|
267
|
-
curl -fsSL https://intlayer.org/install.sh | sh
|
|
268
|
-
```
|
|
269
|
-
|
|
270
306
|
This pulls the latest images and restarts containers with `docker compose pull && docker compose up -d`. Existing volumes (`mongo-data`, `redis-data`, `minio-data`) are preserved — no data loss.
|
|
271
307
|
|
|
272
|
-
To upgrade manually from inside the `./intlayer/` directory:
|
|
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
|
+
Look for `MongoDB connection error` near the top of the log.
|
|
372
|
+
|
|
337
373
|
### Dashboard cannot reach the API
|
|
338
374
|
|
|
339
375
|
Verify that `VITE_BACKEND_URL` matches the URL where the backend is reachable from the **browser** (not the Docker network). If you changed the backend port or added a reverse proxy, rebuild the dashboard image:
|
|
340
376
|
|
|
341
|
-
```sh
|
|
342
|
-
docker compose build app
|
|
343
|
-
docker compose up -d app
|
|
344
|
-
```
|
|
345
|
-
|
|
346
377
|
### MinIO bucket missing
|
|
347
378
|
|
|
348
379
|
If the `minio-init` one-shot service didn't run (or ran before MinIO was ready), create the bucket manually:
|
package/docs/es/analytics.md
CHANGED
|
@@ -123,17 +123,6 @@ export default config;
|
|
|
123
123
|
|
|
124
124
|
Desinstalar `@intlayer/analytics` tiene el mismo efecto que `enabled: false`. Consulta la [referencia de configuración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/configuration.md) para ver la lista completa de campos.
|
|
125
125
|
|
|
126
|
-
## Soporte de frameworks
|
|
127
|
-
|
|
128
|
-
Analytics está integrado en el `IntlayerProvider` compartido de `react-intlayer`, por lo que está disponible hoy en cualquier lugar donde se use ese proveedor:
|
|
129
|
-
|
|
130
|
-
| Framework | Estado |
|
|
131
|
-
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
132
|
-
| React | ✅ Disponible |
|
|
133
|
-
| Next.js (`next-intlayer`) | ✅ Disponible (a través de `react-intlayer`) |
|
|
134
|
-
| React Native / Expo (`react-native-intlayer`) | ✅ Disponible (a través de `react-intlayer`) |
|
|
135
|
-
| Vue, Svelte, Angular, Solid, Preact, Lit, Astro, Vanilla | 🚧 Planeado — mismo cliente, enlaces a nivel de proveedor siguiendo el modelo de `@intlayer/editor` |
|
|
136
|
-
|
|
137
126
|
## Uso
|
|
138
127
|
|
|
139
128
|
### Seguimiento automático a nivel de proveedor
|
|
@@ -177,6 +166,34 @@ const CTAButton = () => {
|
|
|
177
166
|
|
|
178
167
|
### Resolución de una variante en el lado del cliente
|
|
179
168
|
|
|
169
|
+
</Tab>
|
|
170
|
+
</Tabs>
|
|
171
|
+
|
|
172
|
+
Los pesos son opcionales — pasa uno por variante para sesgar la división, por ejemplo `useExperiment("homepage-hero", ["default", "black_friday"], [9, 1])`.
|
|
173
|
+
|
|
174
|
+
El hijo entonces lee la [Variant](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dynamic_dictionaries/variants.md) del diccionario que coincide:
|
|
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
|
+
> Leer la variante en un **componente hijo** es lo que hace que esto funcione fuera de React: en Vue, Svelte, Solid y Angular, el selector pasado a `useIntlayer` se captura cuando el componente se configura, por lo que la lectura debe ocurrir en un componente que solo se monta una vez que se conoce la variante.
|
|
192
|
+
|
|
193
|
+
Si el experimento cubre una página completa en lugar de un único diccionario, eleva la variante al proveedor en su lugar — consulta [Ambient variant](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dynamic_dictionaries/variants.md#ambient-variant). Cada `useIntlayer` debajo se resuelve contra él sin cambios en el sitio de llamada.
|
|
194
|
+
|
|
195
|
+
Si necesitas la asignación sin procesar fuera de un componente, accede al cliente directamente:
|
|
196
|
+
|
|
180
197
|
```tsx fileName="useHeroVariant.ts" codeFormat="tsx"
|
|
181
198
|
import { getGlobalAnalyticsClient } from "@intlayer/analytics/client";
|
|
182
199
|
|
|
@@ -187,6 +204,8 @@ const variant = client?.getVariant("homepage-hero", [
|
|
|
187
204
|
]);
|
|
188
205
|
```
|
|
189
206
|
|
|
207
|
+
> `getVariant` solo asigna — no registra la exposición. Prefiere `useExperiment()`, de lo contrario la tasa de conversión no tiene denominador.
|
|
208
|
+
|
|
190
209
|
## Privacidad y rendimiento
|
|
191
210
|
|
|
192
211
|
- **Anónimo por diseño**: las sesiones se identifican mediante una ID rotatoria; el backend solo almacena un **hash SHA-256** de esa ID — nunca la ID en crudo, nunca una dirección IP.
|
|
@@ -236,6 +255,8 @@ const cms = createIntlayerCMS();
|
|
|
236
255
|
const { data: audience } = await analyticsEndpoint(cms).getAudience(30);
|
|
237
256
|
```
|
|
238
257
|
|
|
258
|
+
> **Solo en el servidor.** `createIntlayerCMS()` se autentica con `clientId` + `clientSecret`, y el secreto nunca está disponible en el navegador — este fragmento emitiría solicitudes no autenticadas si se ejecutara allí. Mantenlo en un controlador de rutas, una acción del servidor o un script.
|
|
259
|
+
|
|
239
260
|
## Enlaces útiles
|
|
240
261
|
|
|
241
262
|
- [Diccionarios Dinámicos - Colecciones y Variantes](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dynamic_dictionaries/index.md)
|
|
@@ -194,6 +194,8 @@ La idea detrás de `Wuchale` es interesante pero todavía no es una solución vi
|
|
|
194
194
|
|
|
195
195
|
`Tolgee` aborda muchos de los problemas mencionados anteriormente. Me resultó más difícil empezar con ella que con otras herramientas con enfoques similares. No proporciona seguridad de tipos, lo que también dificulta mucho detectar claves faltantes en tiempo de compilación (build time). Tuve que envolver las API de Tolgee con las mías propias para añadir la detección de claves faltantes.
|
|
196
196
|
|
|
197
|
+
El package es bastante pesado (~11.1kb, lo que es más de 2× `react-intlayer`).
|
|
198
|
+
|
|
197
199
|
En TanStack Start también tuve problemas de reactividad: al cambiar de idioma, tuve que forzar el renderizado del proveedor y suscribirme a eventos de cambio de idioma para que la carga en otro idioma se comportara correctamente.
|
|
198
200
|
|
|
199
201
|
**(use-intl)** (`use-intl@4.9.1`):
|
|
@@ -208,6 +210,8 @@ En TanStack Start evitas las trampas específicas de Next.js (`setRequestLocale`
|
|
|
208
210
|
|
|
209
211
|
Aun así, comparte las mismas desventajas principales que los stacks basados en `t('a.b.c')`: las optimizaciones son posibles pero consumen mucho tiempo, y los proyectos grandes corren el riesgo de caer en malas prácticas (namespaces + carga dinámica + tipos).
|
|
210
212
|
|
|
213
|
+
El package es especialmente pesado (~17.3kb, que es aproximadamente 3.5× `react-intlayer`).
|
|
214
|
+
|
|
211
215
|
Los formatos de los mensajes también divergen: `use-intl` usa ICU MessageFormat, mientras que `i18next` usa su propio formato, lo que complica las herramientas o las migraciones si se mezclan.
|
|
212
216
|
|
|
213
217
|
**(Lingui)** (`@lingui/core@5.3.0`):
|
|
@@ -218,6 +222,8 @@ A menudo se elogia a `Lingui`. Personalmente, encontré el flujo de trabajo en t
|
|
|
218
222
|
|
|
219
223
|
`react-intl` es una implementación de alto rendimiento del equipo de Format.js. La DX sigue siendo verbosa: `const intl = useIntl()` + `intl.formatMessage({ id: "xx.xx" })` añade complejidad, trabajo extra de JavaScript y vincula la instancia global de i18n a muchos nodos en el árbol de React.
|
|
220
224
|
|
|
225
|
+
El package también es pesado (~14.4kb, lo que es aproximadamente 3× `react-intlayer`).
|
|
226
|
+
|
|
221
227
|
### 4 - Recomendaciones
|
|
222
228
|
|
|
223
229
|
Este benchmark de TanStack Start no tiene un equivalente directo a `next-translate` (plugin de Next.js + `getStaticProps`). Para los equipos que realmente quieren una API `t()` con un ecosistema maduro, `react-i18next` y `use-intl` siguen siendo opciones "razonables", pero prepárate para invertir mucho tiempo optimizando para evitar fugas.
|
package/docs/es/cli/ci.md
CHANGED
|
@@ -128,6 +128,8 @@ bun x intlayer ci fill --verbose --mode complete
|
|
|
128
128
|
|
|
129
129
|
### Usar en pipelines CI/CD
|
|
130
130
|
|
|
131
|
+
Ejecutar `intlayer init` genera dos flujos de trabajo de GitHub Actions listos para usar (ver [GitHub Actions generados](#scaffolded-github-actions) abajo). El ejemplo aquí muestra la configuración equivalente usando el comando `ci` para un monorepo, donde las credenciales se inyectan por proyecto desde `INTLAYER_PROJECT_CREDENTIALS`.
|
|
132
|
+
|
|
131
133
|
En tu configuración CI/CD (por ejemplo, GitHub Actions, GitLab CI), establece `INTLAYER_PROJECT_CREDENTIALS` como secreto:
|
|
132
134
|
|
|
133
135
|
```yaml
|
|
@@ -91,7 +91,19 @@ Para la mayoría de los casos de uso,
|
|
|
91
91
|
|
|
92
92
|
- **`--log`**: Modo de solo registro. No traduce con IA; en su lugar, registra los bloques que necesitan atención (con números de línea y contenido) para los locales base y destino, para ayudar a otro agente a generar las traducciones.
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
- Insert missing paragraphs, lists, tables, code blocks, and images
|
|
95
|
+
- Correct spelling, grammar, punctuation, and Markdown errors
|
|
96
|
+
- Preserve code blocks while translating comments to Spanish
|
|
97
|
+
- Maintain byte-for-byte identical correct content
|
|
98
|
+
- Transform documentation links appropriately (`/en/` → `/es/`)
|
|
99
|
+
- Handle translation lists with proper `{{locale}}` ordering
|
|
100
|
+
- Respect front-matter and code element metadata
|
|
101
|
+
|
|
102
|
+
> Ejemplo: `npx intlayer doc review --mode report`
|
|
103
|
+
|
|
104
|
+
> Ejemplo: `npx intlayer doc review --log`
|
|
105
|
+
|
|
106
|
+
Sea cual sea el modo, la ejecución finaliza con un resumen que enumera los documentos que están alineados con su documento base y los que aún tienen bloques para editar.
|
|
95
107
|
|
|
96
108
|
**Opciones de salida de entrada:**
|
|
97
109
|
|
package/docs/es/cli/fill.md
CHANGED
|
@@ -39,14 +39,6 @@ bun x intlayer fill
|
|
|
39
39
|
|
|
40
40
|
Este comando analiza tus archivos de declaración de contenido en busca de posibles problemas como traducciones faltantes, inconsistencias estructurales o incompatibilidades de tipo. Si encuentra algún problema, **intlayer fill** propondrá o aplicará actualizaciones para mantener tus diccionarios consistentes y completos.
|
|
41
41
|
|
|
42
|
-
Puntos clave:
|
|
43
|
-
|
|
44
|
-
- Divide archivos JSON grandes en fragmentos para mantenerse dentro de los límites de la ventana de contexto del modelo de IA.
|
|
45
|
-
- Reintenta la traducción si el formato de salida es incorrecto.
|
|
46
|
-
- Incorpora contexto específico de la aplicación y del archivo para mejorar la precisión de la traducción.
|
|
47
|
-
- Preserva las traducciones existentes al no sobrescribirlas.
|
|
48
|
-
- Procesa archivos, fragmentos y locales en paralelo usando un sistema de cola para aumentar la velocidad.
|
|
49
|
-
|
|
50
42
|
## Puntos clave:
|
|
51
43
|
|
|
52
44
|
- Divide archivos JSON grandes en chunks para mantenerse dentro de los límites de la ventana de contexto del modelo de IA.
|
package/docs/es/cli/index.md
CHANGED
|
@@ -127,6 +127,8 @@ Para ver cómo configurar los locales disponibles u otros parámetros, consulte
|
|
|
127
127
|
|
|
128
128
|
- **[Login](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/login.md)** - Autenticarse con el CMS de Intlayer y obtener credenciales de acceso
|
|
129
129
|
|
|
130
|
+
> `intlayer login` emite una **clave de acceso** (`clientId` / `clientSecret`) que utiliza cada comando con credenciales. El secreto es una credencial del lado del servidor y nunca llega a tu paquete cliente — consulta [Keeping the access key safe](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/login.md#keeping-the-access-key-safe).
|
|
131
|
+
|
|
130
132
|
### Comandos principales
|
|
131
133
|
|
|
132
134
|
- **[Build de diccionarios](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/build.md)** - Construya sus diccionarios a partir de archivos de declaración de contenido
|
|
@@ -52,8 +52,6 @@ Este comando busca y lista todos los proyectos de Intlayer encontrando directori
|
|
|
52
52
|
|
|
53
53
|
> Ejemplo: `npx intlayer projects list --base-dir /path/to/workspace`
|
|
54
54
|
|
|
55
|
-
> Ejemplo: `npx intlayer projects list --base-dir /path/to/workspace`
|
|
56
|
-
|
|
57
55
|
- **`--git-root`**: Buscar desde el directorio raíz de git en lugar del directorio base. Esto es útil para encontrar todos los proyectos de Intlayer en un monorepo o repositorio git.
|
|
58
56
|
|
|
59
57
|
> Ejemplo: `npx intlayer projects list --git-root`
|
package/docs/es/cli/login.md
CHANGED
|
@@ -118,6 +118,34 @@ INTLAYER_CLIENT_SECRET=your_client_secret
|
|
|
118
118
|
}
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
+
## Mantener la clave de acceso segura
|
|
122
|
+
|
|
123
|
+
`intlayer login` emite una **clave de acceso**: un par `clientId` / `clientSecret` que cada comando autenticado (`push`, `pull`, `fill`, `configuration push`, `live`, …) utiliza para autenticarse.
|
|
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` es una credencial del lado del servidor.** Otorga acceso completo a la API con alcance de proyecto — lectura y escritura de tus diccionarios, tu proyecto y tu organización. Mantenlo en `.env` (ignorado por git) o en tu almacén de secretos de CI, y nunca lo incluyas en línea en el archivo de configuración.
|
|
139
|
+
|
|
140
|
+
Intlayer lo impone en lugar de solo documentarlo:
|
|
141
|
+
|
|
142
|
+
- `clientSecret` es **eliminado de la configuración que tu bundler incluye**, por lo que no puede llegar a un bundle del navegador sin importar qué integración de framework utilices. Solo se lee del lado del servidor, en tiempo de ejecución, desde el entorno.
|
|
143
|
+
- `clientId` es diferente: es la **clave pública** del proyecto, segura para distribuir, y utilizada por [`@intlayer/analytics`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/analytics.md#how-events-are-authenticated) para obtener un token de corta duración, solo para ingesta.
|
|
144
|
+
|
|
145
|
+
Comentar `clientId` es suficiente para desactivar cada comportamiento autenticado — obtención remota de diccionarios, acceso a CMS, análisis — incluso cuando las variables de entorno aún están definidas.
|
|
146
|
+
|
|
147
|
+
Para pipelines de CI, prefiere el [`comando ci`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/ci.md), que inyecta las credenciales durante la duración de una única ejecución en lugar de persistirlas.
|
|
148
|
+
|
|
121
149
|
## Configuración manual
|
|
122
150
|
|
|
123
151
|
Si el navegador no se abre automáticamente, puedes visitar manualmente la URL que se muestra en el terminal.
|
|
@@ -210,8 +238,6 @@ Después de completar el inicio de sesión:
|
|
|
210
238
|
- [`npx intlayer push`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/push.md) - Enviar diccionarios al CMS
|
|
211
239
|
- [`npx intlayer pull`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/pull.md) - Extraer diccionarios del CMS
|
|
212
240
|
|
|
213
|
-
- [`npx intlayer fill`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/fill.md) - Rellenar traducciones faltantes
|
|
214
|
-
|
|
215
241
|
## Véase también
|
|
216
242
|
|
|
217
243
|
- [Documentación del CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/index.md)
|
|
@@ -57,5 +57,3 @@ Bajo el capó:
|
|
|
57
57
|
- **`useTranslations`:** Se reimplementa para devolver una función tipada que se vincula automáticamente a tus diccionarios de Intlayer.
|
|
58
58
|
- **`getTranslations`:** En funciones del servidor, obtiene acceso tipado a contenido de Intlayer sin hacer solicitudes de red.
|
|
59
59
|
- **Middleware:** Intlayer proporciona un middleware de routing automático que reconoce locales y gestiona redirecciones.
|
|
60
|
-
|
|
61
|
-
Tu aplicación mantiene la misma estructura y sintaxis, pero ahora con el poder de Intlayer dirigiendo las traducciones.
|
package/docs/es/compiler.md
CHANGED
|
@@ -40,6 +40,12 @@ El **Intlayer Compiler** es una herramienta poderosa diseñada para automatizar
|
|
|
40
40
|
|
|
41
41
|
## ¿Por qué usar el Intlayer Compiler?
|
|
42
42
|
|
|
43
|
+
- **Automatización**: Elimina la necesidad de copiar y pegar manualmente contenido en diccionarios.
|
|
44
|
+
|
|
45
|
+
- **Speed**: Extracción de contenido optimizada asegurando que tu proceso de construcción siga siendo rápido.
|
|
46
|
+
|
|
47
|
+
- **Developer Experience**: Mantén las declaraciones de contenido justo donde se usan, mejorando la mantenibilidad.
|
|
48
|
+
|
|
43
49
|
- **Automatización**: Elimina el copiado manual de contenido en los diccionarios.
|
|
44
50
|
- **Velocidad**: Extracción de contenido optimizada que asegura que tu proceso de build siga siendo rápido.
|
|
45
51
|
- **Experiencia del desarrollador**: Mantén las declaraciones de contenido justo donde se usan, mejorando la mantenibilidad.
|
|
@@ -54,6 +60,8 @@ Si bien el compilador ofrece una excelente experiencia de "funciona sin más", t
|
|
|
54
60
|
- **Ambigüedad heurística**: El compilador debe adivinar qué es contenido orientado al usuario frente a la lógica de la aplicación (por ejemplo, `className="active"`, códigos de estado, IDs de productos). En bases de código complejas, esto puede llevar a falsos positivos o cadenas omitidas que requieren anotaciones manuales y excepciones.
|
|
55
61
|
- **Extracción solo estática**: La extracción basada en compilador se basa en análisis estático. Las cadenas que solo existen en runtime (códigos de error de API, campos CMS, etc.) no pueden ser descubiertas o traducidas por el compilador solo, por lo que aún necesitas una estrategia i18n de tiempo de ejecución complementaria.
|
|
56
62
|
|
|
63
|
+
- **Extracción solo estática**: La extracción basada en compilador se basa en análisis estático. Las cadenas que solo existen en tiempo de ejecución (códigos de error de API, campos de CMS, etc.) no pueden ser descubiertas ni traducidas por el compilador solo, por lo que aún necesitas una estrategia complementaria de i18n en tiempo de ejecución.
|
|
64
|
+
|
|
57
65
|
Para una comparación arquitectónica más profunda, consulta el artículo del blog [Compiler vs. Declarative i18n](https://github.com/aymericzip/intlayer/blob/main/docs/blog/es/compiler_vs_declarative_i18n.md).
|
|
58
66
|
|
|
59
67
|
Como alternativa, para automatizar tu proceso i18n mientras mantienes el control total de tu contenido, Intlayer también proporciona un comando de auto-extracción `intlayer extract` (consulta la [documentación CLI](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/cli/extract.md)), o el comando `Intlayer: extract content to Dictionary` de la extensión Intlayer VS Code (consulta la [documentación de la extensión VS Code](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/vs_code_extension.md)).
|
|
@@ -94,12 +102,18 @@ export default defineConfig({
|
|
|
94
102
|
});
|
|
95
103
|
```
|
|
96
104
|
|
|
105
|
+
> El plugin `intlayerCompiler()` independiente sigue siendo exportado para configuraciones avanzadas. Registrarlo junto con `intlayer()` es seguro — el compilador se deduplica a sí mismo y se ejecuta solo una vez.
|
|
106
|
+
|
|
97
107
|
See complete tutorial: [Intlayer Compiler with Vite+React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_vite+react_compiler.md)
|
|
98
108
|
|
|
99
109
|
#### Soporte de Framework
|
|
100
110
|
|
|
101
111
|
El plugin de Vite detecta y maneja automáticamente diferentes tipos de archivos:
|
|
102
112
|
|
|
113
|
+
- **React / JSX / TSX**: Manejado nativamente.
|
|
114
|
+
|
|
115
|
+
- **Vue**: Requiere `@intlayer/vue-compiler`.
|
|
116
|
+
|
|
103
117
|
- **React / JSX / TSX**: Manejado de forma nativa.
|
|
104
118
|
- **Vue**: Requiere `@intlayer/vue-compiler`.
|
|
105
119
|
- **Svelte**: Requiere `@intlayer/svelte-compiler`.
|
|
@@ -174,6 +174,8 @@ Consejo: Para metadatos de página y SEO, también puedes obtener contenido con
|
|
|
174
174
|
- Tree-shaking: Solo se incluye el contenido usado por el componente, manteniendo cargas pequeñas en aplicaciones grandes.
|
|
175
175
|
- DX y herramientas: Middleware incorporado, asistentes de SEO y traducciones opcionales mediante Editor Visual/IA agilizan el trabajo diario.
|
|
176
176
|
|
|
177
|
+
Consulta las comparaciones y patrones en el resumen enfocado en Next.js: https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
|
|
178
|
+
|
|
177
179
|
## Guías y referencias relacionadas
|
|
178
180
|
|
|
179
181
|
- Configuración React (Vite): https://intlayer.org/doc/environment/vite-and-react
|
|
@@ -181,3 +183,5 @@ Consejo: Para metadatos de página y SEO, también puedes obtener contenido con
|
|
|
181
183
|
- TanStack Start: https://intlayer.org/doc/environment/tanstack-start
|
|
182
184
|
- Configuración Next.js: https://intlayer.org/doc/environment/nextjs
|
|
183
185
|
- Por qué Intlayer vs. next-intl vs. next-i18next - https://intlayer.org/blog/next-i18next-vs-next-intl-vs-intlayer
|
|
186
|
+
|
|
187
|
+
Estas páginas incluyen configuración completa, proveedores, enrutamiento y helpers de SEO.
|
package/docs/es/configuration.md
CHANGED
|
@@ -739,8 +739,6 @@ Define los ajustes relacionados con el editor integrado, incluido el puerto del
|
|
|
739
739
|
| `liveSyncPort` | Puerto del servidor de sincronización en vivo (live sync). | `number` | `4000` | `4000` | |
|
|
740
740
|
| `liveSyncURL` | URL del servidor de sincronización en vivo (live sync). | `string` | `'http://localhost:{liveSyncPort}'` | `'https://example.com'` | Apunta a localhost de forma predeterminada; puede cambiarse a un servidor remoto de Live Sync. |
|
|
741
741
|
|
|
742
|
-
---
|
|
743
|
-
|
|
744
742
|
### Configuración de Analíticas (Analytics Configuration)
|
|
745
743
|
|
|
746
744
|
Define los ajustes relacionados con las analíticas de Intlayer: la recopilación de qué contenido se muestra realmente a los usuarios (vistas de página, exposiciones de contenido) y el soporte de pruebas A/B sobre el contenido.
|
|
@@ -989,6 +987,13 @@ Configuración relacionada con rutas internas y resultados de salida de Intlayer
|
|
|
989
987
|
|
|
990
988
|
### Configuración del Diccionario (Dictionary Configuration)
|
|
991
989
|
|
|
990
|
+
Configuración que controla las operaciones del diccionario, incluido el comportamiento de auto-relleno y la generación de contenido.
|
|
991
|
+
|
|
992
|
+
Esta configuración de diccionario sirve dos propósitos principales:
|
|
993
|
+
|
|
994
|
+
1. **Valores por defecto**: Define valores por defecto al crear archivos de declaración de contenido
|
|
995
|
+
2. **Comportamiento de fallback**: Proporciona valores de fallback cuando campos específicos no están definidos, permitiéndote definir el comportamiento de operación del diccionario globalmente
|
|
996
|
+
|
|
992
997
|
Parámetros que controlan las operaciones de diccionarios, incluido el comportamiento de relleno automático y la generación de contenido.
|
|
993
998
|
|
|
994
999
|
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|
|
@@ -1030,8 +1035,6 @@ Parámetros para personalizar la salida de registros (logs) de Intlayer.
|
|
|
1030
1035
|
| `mode` | Indica el modo del registrador. | `'default'` | <br/> `'verbose'` | <br/> `'disabled'` | `'default'` | `'verbose'` | • `'verbose'`: registra más información para depuración.<br/>• `'disabled'`: desactiva completamente el registrador. |
|
|
1031
1036
|
| `prefix` | El prefijo del registrador. | `string` | `'[intlayer] '` | `'[my custom prefix] '` | |
|
|
1032
1037
|
|
|
1033
|
-
---
|
|
1034
|
-
|
|
1035
1038
|
### Configuración de IA (AI Configuration)
|
|
1036
1039
|
|
|
1037
1040
|
Ajustes que controlan las funciones de IA de Intlayer, incluidos el proveedor, el modelo y la clave API.
|
|
@@ -1071,8 +1074,6 @@ Intlayer admite múltiples proveedores de IA para una flexibilidad máxima. Los
|
|
|
1071
1074
|
| `baseURL` | La URL base para la API de IA. | `string` | Ninguno | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | Puede apuntar a un endpoint de API de IA local o personalizado. |
|
|
1072
1075
|
| `dataSerialization` | Formato de serialización de datos para las funciones de IA. | `'json'` | <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: estándar, fiable; usa más tokens.<br/>• `'toon'`: menos tokens, menos consistente.<br/>• Se pasan parámetros adicionales al modelo como contexto (esfuerzo de razonamiento, etc.). |
|
|
1073
1076
|
|
|
1074
|
-
---
|
|
1075
|
-
|
|
1076
1077
|
### Configuración de Compilación (Build Configuration)
|
|
1077
1078
|
|
|
1078
1079
|
Parámetros que controlan cómo Intlayer optimiza y construye la internacionalización de su aplicación.
|
|
@@ -1110,8 +1111,6 @@ Ajustes que controlan el compilador de Intlayer, que extrae diccionarios directa
|
|
|
1110
1111
|
| `noMetadata` | Si es `true`, el compilador omite los metadatos del diccionario (clave, envoltorio de contenido) de la salida. | `boolean` | `false` | `false` → `{"key":"mi-clave","content":{"key":"valor"}}` <br/> `true` → `{"key":"valor"}` | • Útil para salidas JSON i18next o ICU MessageFormat.<br/>• Funciona bien con el plugin `loadJSON`. |
|
|
1111
1112
|
| `dictionaryKeyPrefix` | Prefijo de clave de diccionario | `string` | `''` | | Agregue un prefijo opcional para las llaves de los diccionarios extraídos |
|
|
1112
1113
|
|
|
1113
|
-
---
|
|
1114
|
-
|
|
1115
1114
|
### Esquemas Personalizados (Custom Schemas)
|
|
1116
1115
|
|
|
1117
1116
|
| Campo | Descripción | Tipo |
|
|
@@ -138,6 +138,38 @@ getMultilingualUrls("/about", { currentDomain: "intlayer.org" });
|
|
|
138
138
|
|
|
139
139
|
Estas URL absolutas están listas para usarse en etiquetas `<link rel="alternate" hreflang="...">` para SEO.
|
|
140
140
|
|
|
141
|
+
## Inferencia de Tipos
|
|
142
|
+
|
|
143
|
+
`routing.domains` se serializa en la augmentación de módulo generada, por lo que
|
|
144
|
+
`getLocalizedUrl` y `getLocalizedPath` reducen su tipo de retorno a la URL exacta
|
|
145
|
+
que una locale enrutada por dominio resuelve — incluyendo la supresión de prefijo.
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
// routing: { mode: 'prefix-no-default', domains: { en: 'intlayer.org', zh: 'intlayer.zh' } }
|
|
149
|
+
|
|
150
|
+
getLocalizedUrl("/about", "zh");
|
|
151
|
+
// ^? "https://intlayer.zh/about" | "/about"
|
|
152
|
+
|
|
153
|
+
getLocalizedPath("/about", "zh");
|
|
154
|
+
// ^? "/about" (nunca un origen, y sin prefijo /zh/)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
El tipo de URL es la **unión** de los dos valores que la función puede retornar: la
|
|
158
|
+
URL absoluta en el dominio de la locale, y la relativa que retorna cuando la
|
|
159
|
+
página que se está renderizando ya vive en ese dominio. `getLocalizedPath` no tiene tal
|
|
160
|
+
ambigüedad - nunca emite un origen - así que permanece como un literal único.
|
|
161
|
+
|
|
162
|
+
Las locales que comparten un dominio mantienen su prefijo normal en el tipo también:
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
getLocalizedUrl("/about", "fr");
|
|
166
|
+
// ^? "https://intlayer.org/fr/about" | "/fr/about"
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
> Regenera los tipos (`npx intlayer build`, o cualquier ejecución del servidor de desarrollo) después de
|
|
170
|
+
> cambiar `routing.domains` - la reducción proviene del
|
|
171
|
+
> `__RoutingRegistry` generado, no del archivo de configuración mismo.
|
|
172
|
+
|
|
141
173
|
## Comportamiento del Proxy
|
|
142
174
|
|
|
143
175
|
### Next.js
|
|
@@ -170,6 +202,8 @@ GET intlayer.zh/about
|
|
|
170
202
|
|
|
171
203
|
El complemento Vite `intlayerProxy` aplica la misma lógica durante el desarrollo:
|
|
172
204
|
|
|
205
|
+
> Desde Intlayer v9, `intlayerProxy()` está incluido directamente en el plugin `intlayer()` y habilitado por defecto a través de la opción `routing.enableProxy` (`true` por defecto). Registrarlo por separado como se muestra a continuación ahora es opcional — se mantiene por compatibilidad hacia atrás y para configuraciones que necesitan controlar el orden de los plugins. Establece `routing.enableProxy: false` para optar por no participar. Consulta las [notas de la versión v9](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/releases/v9.md).
|
|
206
|
+
|
|
173
207
|
```typescript fileName="vite.config.ts"
|
|
174
208
|
import { defineConfig } from "vite";
|
|
175
209
|
import { intlayer } from "vite-intlayer";
|
|
@@ -248,7 +248,7 @@ Para asegurarse de que la barra de direcciones del navegador siempre refleje la
|
|
|
248
248
|
|
|
249
249
|
<Tabs group='framework'>
|
|
250
250
|
<Tab label="Next.js" value="nextjs">
|
|
251
|
-
|
|
251
|
+
|
|
252
252
|
```tsx
|
|
253
253
|
'use client';
|
|
254
254
|
|
|
@@ -263,7 +263,7 @@ Para asegurarse de que la barra de direcciones del navegador siempre refleje la
|
|
|
263
263
|
</Tab>
|
|
264
264
|
|
|
265
265
|
<Tab label="React Router" value="reactrouter">
|
|
266
|
-
|
|
266
|
+
|
|
267
267
|
```tsx
|
|
268
268
|
'use client';
|
|
269
269
|
|
|
@@ -279,7 +279,7 @@ Para asegurarse de que la barra de direcciones del navegador siempre refleje la
|
|
|
279
279
|
</Tab>
|
|
280
280
|
|
|
281
281
|
<Tab label="Vue" value="vue">
|
|
282
|
-
|
|
282
|
+
|
|
283
283
|
```vue
|
|
284
284
|
<script setup>
|
|
285
285
|
import { useRewriteURL } from "vue-intlayer";
|
|
@@ -291,7 +291,7 @@ Para asegurarse de que la barra de direcciones del navegador siempre refleje la
|
|
|
291
291
|
|
|
292
292
|
</Tab>
|
|
293
293
|
<Tab label="Solid" value="solid">
|
|
294
|
-
|
|
294
|
+
|
|
295
295
|
```tsx
|
|
296
296
|
import { useRewriteURL } from "solid-intlayer";
|
|
297
297
|
|
|
@@ -303,7 +303,7 @@ Para asegurarse de que la barra de direcciones del navegador siempre refleje la
|
|
|
303
303
|
|
|
304
304
|
</Tab>
|
|
305
305
|
<Tab label="Svelte" value="svelte">
|
|
306
|
-
|
|
306
|
+
|
|
307
307
|
```svelte
|
|
308
308
|
<script>
|
|
309
309
|
import { useRewriteURL } from "svelte-intlayer";
|
|
@@ -340,6 +340,8 @@ export function middleware(request: NextRequest) {
|
|
|
340
340
|
|
|
341
341
|
Para SolidJS, Vue y Svelte, el plugin de Vite `intlayerProxy` gestiona las reescrituras durante el desarrollo.
|
|
342
342
|
|
|
343
|
+
> Desde Intlayer v9, `intlayerProxy()` está integrado directamente en el plugin `intlayer()` y habilitado por defecto a través de la opción `routing.enableProxy` (`true` por defecto). Registrarlo por separado como se muestra a continuación es ahora opcional — se mantiene para compatibilidad hacia atrás y para configuraciones que necesitan controlar el orden de los plugins. Establece `routing.enableProxy: false` para desactivarlo. Consulta las [notas de la versión v9](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/releases/v9.md).
|
|
344
|
+
|
|
343
345
|
```typescript fileName="vite.config.ts"
|
|
344
346
|
import { defineConfig } from "vite";
|
|
345
347
|
import { intlayer } from "vite-intlayer";
|