@intlayer/docs 9.4.0-canary.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +5 -5
- package/src/generated/docs.entry.ts +140 -0
|
@@ -63,34 +63,51 @@ author: aymericzip
|
|
|
63
63
|
|
|
64
64
|
بالمقارنة مع الحلول الرئيسية مثل `astro-i18n` أو `i18next`، يعد Intlayer حلاً يأتي مزودًا بتحسينات متكاملة مثل:
|
|
65
65
|
|
|
66
|
+
<AccordionGroup>
|
|
67
|
+
|
|
66
68
|
** تغطية استرو كاملة **
|
|
67
69
|
|
|
68
70
|
تم تحسين Intlayer للعمل بشكل مثالي مع Astro من خلال تقديم **توجيه متعدد اللغات** و**خريطة الموقع** وجميع الميزات اللازمة لتوسيع نطاق التدويل (i18n).
|
|
69
71
|
|
|
70
72
|
**حجم البندل**
|
|
71
73
|
|
|
74
|
+
<Accordion header="حجم الحزمة">
|
|
75
|
+
|
|
72
76
|
بدلاً من تحميل ملفات JSON ضخمة إلى صفحاتك، قم بتحميل المحتوى الضروري فقط. يساعد Intlayer **في تقليل أحجام البندل وصفحاتك بنسبة تصل إلى 50%**.
|
|
73
77
|
|
|
74
78
|
** الصيانة **
|
|
75
79
|
|
|
80
|
+
<Accordion header="قابلية الصيانة">
|
|
81
|
+
|
|
76
82
|
يؤدي تحديد نطاق محتوى تطبيقك ** إلى تسهيل الصيانة ** للتطبيقات واسعة النطاق. يمكنك تكرار أو حذف مجلد ميزات واحد دون العبء العقلي لمراجعة قاعدة بيانات المحتوى بالكامل. بالإضافة إلى ذلك، تتم كتابة Intlayer **بالكامل** لضمان دقة المحتوى الخاص بك.
|
|
77
83
|
|
|
84
|
+
</Accordion>
|
|
85
|
+
|
|
78
86
|
** وكيل الذكاء الاصطناعي **
|
|
79
87
|
|
|
80
88
|
يؤدي تحديد موقع المحتوى المشترك ** إلى تقليل السياق المطلوب ** بواسطة نماذج اللغات الكبيرة (LLMs). يأتي Intlayer أيضًا مزودًا بمجموعة من الأدوات، مثل **CLI** لاختبار الترجمات المفقودة،**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**، **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** و**[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/agent_skills.md)**، لجعل تجربة المطور (DX) أكثر سلاسة للذكاء الاصطناعي وكلاء.
|
|
81
89
|
|
|
82
90
|
**الأتمتة**
|
|
83
91
|
|
|
92
|
+
<Accordion header="الأتمتة">
|
|
93
|
+
|
|
84
94
|
استخدم الأتمتة للترجمة في مسار CI/CD الخاص بك باستخدام LLM من اختيارك على حساب مزود الذكاء الاصطناعي الخاص بك. يقدم Intlayer أيضًا **مترجمًا** لأتمتة استخراج المحتوى، بالإضافة إلى [منصة ويب](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) للمساعدة في **الترجمة في الخلفية**.
|
|
85
95
|
|
|
96
|
+
</Accordion>
|
|
97
|
+
|
|
86
98
|
**أداء**
|
|
87
99
|
|
|
88
100
|
يمكن أن يؤدي ربط ملفات JSON الضخمة بالمكونات إلى حدوث مشكلات في الأداء والتفاعل. يعمل Intlayer على تحسين تحميل المحتوى الخاص بك في وقت الإنشاء.
|
|
89
101
|
|
|
102
|
+
</Accordion>
|
|
103
|
+
|
|
90
104
|
**التحجيم مع عدم وجود مطور**
|
|
91
105
|
|
|
92
106
|
أكثر من مجرد حل i18n، يوفر Intlayer **[محررًا مرئيًا] مستضافًا ذاتيًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** و**[كامل CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** لمساعدتك في إدارة المحتوى متعدد اللغات في **الوقت الفعلي**، مما يجعل التعاون مع المترجمين ومؤلفي النصوص وأعضاء الفريق الآخرين سلسًا. يمكن تخزين المحتوى محليًا و/أو عن بعد.
|
|
93
107
|
|
|
108
|
+
</Accordion>
|
|
109
|
+
</AccordionGroup>
|
|
110
|
+
|
|
94
111
|
---
|
|
95
112
|
|
|
96
113
|
## دليل خطوة بخطوة لتهيئة Intlayer في Astro + Vanilla JS
|
|
@@ -63,34 +63,51 @@ author: aymericzip
|
|
|
63
63
|
|
|
64
64
|
بالمقارنة مع الحلول الرئيسية مثل `astro-i18n` أو `i18next`، يعد Intlayer حلاً يأتي مزودًا بتحسينات متكاملة مثل:
|
|
65
65
|
|
|
66
|
+
<AccordionGroup>
|
|
67
|
+
|
|
66
68
|
** تغطية استرو كاملة **
|
|
67
69
|
|
|
68
70
|
تم تحسين Intlayer للعمل بشكل مثالي مع Astro من خلال تقديم **توجيه متعدد اللغات** و**خريطة الموقع** وجميع الميزات اللازمة لتوسيع نطاق التدويل (i18n).
|
|
69
71
|
|
|
70
72
|
**حجم البندل**
|
|
71
73
|
|
|
74
|
+
<Accordion header="حجم الحزمة">
|
|
75
|
+
|
|
72
76
|
بدلاً من تحميل ملفات JSON ضخمة إلى صفحاتك، قم بتحميل المحتوى الضروري فقط. يساعد Intlayer **في تقليل أحجام البندل وصفحاتك بنسبة تصل إلى 50%**.
|
|
73
77
|
|
|
74
78
|
** الصيانة **
|
|
75
79
|
|
|
80
|
+
<Accordion header="قابلية الصيانة">
|
|
81
|
+
|
|
76
82
|
يؤدي تحديد نطاق محتوى تطبيقك ** إلى تسهيل الصيانة ** للتطبيقات واسعة النطاق. يمكنك تكرار أو حذف مجلد ميزات واحد دون العبء العقلي لمراجعة قاعدة بيانات المحتوى بالكامل. بالإضافة إلى ذلك، تتم كتابة Intlayer **بالكامل** لضمان دقة المحتوى الخاص بك.
|
|
77
83
|
|
|
84
|
+
</Accordion>
|
|
85
|
+
|
|
78
86
|
** وكيل الذكاء الاصطناعي **
|
|
79
87
|
|
|
80
88
|
يؤدي تحديد موقع المحتوى المشترك ** إلى تقليل السياق المطلوب ** بواسطة نماذج اللغات الكبيرة (LLMs). يأتي Intlayer أيضًا مزودًا بمجموعة من الأدوات، مثل **CLI** لاختبار الترجمات المفقودة،**[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/lsp.md)**، **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md)** و**[agent skills](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/agent_skills.md)**، لجعل تجربة المطور (DX) أكثر سلاسة للذكاء الاصطناعي وكلاء.
|
|
81
89
|
|
|
82
90
|
**الأتمتة**
|
|
83
91
|
|
|
92
|
+
<Accordion header="أتمتة">
|
|
93
|
+
|
|
84
94
|
استخدم الأتمتة للترجمة في مسار CI/CD الخاص بك باستخدام LLM من اختيارك على حساب مزود الذكاء الاصطناعي الخاص بك. يقدم Intlayer أيضًا **مترجمًا** لأتمتة استخراج المحتوى، بالإضافة إلى [منصة ويب](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) للمساعدة في **الترجمة في الخلفية**.
|
|
85
95
|
|
|
96
|
+
</Accordion>
|
|
97
|
+
|
|
86
98
|
**أداء**
|
|
87
99
|
|
|
88
100
|
يمكن أن يؤدي ربط ملفات JSON الضخمة بالمكونات إلى حدوث مشكلات في الأداء والتفاعل. يعمل Intlayer على تحسين تحميل المحتوى الخاص بك في وقت الإنشاء.
|
|
89
101
|
|
|
102
|
+
</Accordion>
|
|
103
|
+
|
|
90
104
|
**التحجيم مع عدم وجود مطور**
|
|
91
105
|
|
|
92
106
|
أكثر من مجرد حل i18n، يوفر Intlayer **[محررًا مرئيًا] مستضافًا ذاتيًا](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md)** و**[كامل CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md)** لمساعدتك في إدارة المحتوى متعدد اللغات في **الوقت الفعلي**، مما يجعل التعاون مع المترجمين ومؤلفي النصوص وأعضاء الفريق الآخرين سلسًا. يمكن تخزين المحتوى محليًا و/أو عن بعد.
|
|
93
107
|
|
|
108
|
+
</Accordion>
|
|
109
|
+
</AccordionGroup>
|
|
110
|
+
|
|
94
111
|
---
|
|
95
112
|
|
|
96
113
|
## دليل خطوة بخطوة لتهيئة Intlayer في Astro + Vue
|
|
@@ -31,6 +31,14 @@ author: aymericzip
|
|
|
31
31
|
|
|
32
32
|
# ترجم Create React App باستخدام Intlayer | التدويل (i18n)
|
|
33
33
|
|
|
34
|
+
<iframe
|
|
35
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-react-cra-template?file=intlayer.config.ts"
|
|
36
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
37
|
+
title="عرض توضيحي CodeSandbox - كيفية دولية تطبيقك باستخدام Intlayer"
|
|
38
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
39
|
+
loading="lazy"
|
|
40
|
+
/>
|
|
41
|
+
|
|
34
42
|
انظر [Application Template](https://github.com/aymericzip/intlayer-react-cra-template) على GitHub.
|
|
35
43
|
|
|
36
44
|
## ما هو Intlayer؟
|
|
@@ -39,11 +47,54 @@ author: aymericzip
|
|
|
39
47
|
|
|
40
48
|
مع Intlayer، يمكنك:
|
|
41
49
|
|
|
50
|
+
<Accordion header="تغطية React كاملة">
|
|
51
|
+
|
|
52
|
+
Intlayer مُحسَّن للعمل بشكل مثالي مع React من خلال توفير **نطاق محتوى على مستوى المكون**، و**الترجمات المحملة بطريقة كسولة**، وجميع الميزات المطلوبة لتوسيع التدويل (i18n).
|
|
53
|
+
|
|
54
|
+
</Accordion>
|
|
55
|
+
|
|
56
|
+
<Accordion header="حجم الحزمة">
|
|
57
|
+
|
|
58
|
+
بدلاً من تحميل ملفات JSON ضخمة في صفحاتك، حمّل فقط المحتوى الضروري. يساعدك Intlayer على **تقليل حجم الحزم وأحجام الصفحات بنسبة تصل إلى 50%**.
|
|
59
|
+
|
|
60
|
+
</Accordion>
|
|
61
|
+
|
|
62
|
+
<Accordion header="الصيانة">
|
|
63
|
+
|
|
42
64
|
- **إدارة الترجمات بسهولة** باستخدام قواميس تصريحية على مستوى المكونات.
|
|
43
65
|
- **توطين البيانات الوصفية والمسارات والمحتوى ديناميكيًا**.
|
|
44
66
|
- **ضمان دعم TypeScript** مع الأنواع المولدة تلقائيًا، مما يحسن الإكمال التلقائي واكتشاف الأخطاء.
|
|
45
67
|
- **الاستفادة من الميزات المتقدمة**، مثل اكتشاف اللغة الديناميكي والتبديل.
|
|
46
68
|
|
|
69
|
+
</Accordion>
|
|
70
|
+
|
|
71
|
+
<Accordion header="وكيل الذكاء الاصطناعي">
|
|
72
|
+
|
|
73
|
+
يقلل تجميع المحتوى **السياق المطلوب** من نماذج اللغة الكبيرة (LLMs). يأتي Intlayer أيضًا مع مجموعة من الأدوات، مثل **CLI** للتحقق من الترجمات المفقودة، **[LSP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/lsp.md)**، **[MCP](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/mcp_server.md)**، و**[مهارات الوكيل](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/agent_skills.md)**، لجعل تجربة المطور (DX) أكثر سلاسة حتى للوكلاء الذين يعتمدون على الذكاء الاصطناعي.
|
|
74
|
+
|
|
75
|
+
</Accordion>
|
|
76
|
+
|
|
77
|
+
<Accordion header="الأتمتة">
|
|
78
|
+
|
|
79
|
+
استخدم الأتمتة لترجمة في خط أنابيب CI/CD الخاص بك باستخدام نموذج اللغة من اختيارك بتكلفة من موفر AI الخاص بك. يوفر Intlayer أيضًا **مُترجمًا** لأتمتة استخراج المحتوى، بالإضافة إلى [منصة ويب](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md) لمساعدتك في **الترجمة في الخلفية**.
|
|
80
|
+
|
|
81
|
+
</Accordion>
|
|
82
|
+
|
|
83
|
+
<Accordion header="الأداء">
|
|
84
|
+
|
|
85
|
+
قد يؤدي ربط ملفات JSON الضخمة بالمكونات إلى مشاكل في الأداء والاستجابة. يحسّن Intlayer تحميل المحتوى الخاص بك في وقت البناء.
|
|
86
|
+
|
|
87
|
+
</Accordion>
|
|
88
|
+
|
|
89
|
+
<Accordion header="التوسع مع non-dev">
|
|
90
|
+
|
|
91
|
+
أكثر من مجرد حل i18n، يوفر Intlayer **[محرر بصري](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_visual_editor.md) مستضاف ذاتيًا** و**[نظام CMS كامل](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/intlayer_CMS.md)** لمساعدتك في إدارة محتواك متعدد اللغات في **الوقت الفعلي**، مما يجعل التعاون مع المترجمين والمحررين وأعضاء الفريق الآخرين سلسًا. يمكن تخزين المحتوى محليًا و/أو عن بعد.
|
|
92
|
+
|
|
93
|
+
</Accordion>
|
|
94
|
+
</AccordionGroup>
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
47
98
|
## دليل خطوة بخطوة لإعداد Intlayer في تطبيق React
|
|
48
99
|
|
|
49
100
|
<Steps>
|
|
@@ -234,14 +285,6 @@ const App: FC = () => (
|
|
|
234
285
|
export default App;
|
|
235
286
|
```
|
|
236
287
|
|
|
237
|
-
```jsx fileName="src/App.msx" codeFormat="esm"
|
|
238
|
-
const App = () => (
|
|
239
|
-
<IntlayerProvider>
|
|
240
|
-
<AppContent />
|
|
241
|
-
</IntlayerProvider>
|
|
242
|
-
);
|
|
243
|
-
```
|
|
244
|
-
|
|
245
288
|
> ملاحظة: إذا كنت ترغب في استخدام المحتوى الخاص بك في سمة `string`، مثل `alt`، `title`، `href`، `aria-label`، وما إلى ذلك، يجب عليك استدعاء قيمة الوظيفة، مثل:
|
|
246
289
|
|
|
247
290
|
> ```html
|
|
@@ -252,6 +295,8 @@ const App = () => (
|
|
|
252
295
|
>
|
|
253
296
|
> لمعرفة المزيد عن الخطاف `useIntlayer`، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useIntlayer.md).
|
|
254
297
|
|
|
298
|
+
> لمعرفة المزيد حول hook `useIntlayer`، راجع [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/useIntlayer.md).
|
|
299
|
+
|
|
255
300
|
</Step>
|
|
256
301
|
|
|
257
302
|
<Step number={6} title="تغيير لغة المحتوى الخاص بك" isOptional={true}>
|
|
@@ -408,117 +453,6 @@ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
|
|
|
408
453
|
);
|
|
409
454
|
```
|
|
410
455
|
|
|
411
|
-
```jsx fileName="src/components/LocaleRouter.csx" codeFormat="commonjs"
|
|
412
|
-
// استيراد التبعيات والوظائف اللازمة
|
|
413
|
-
import { configuration, getPathWithoutLocale } from "intlayer"; // وظائف وأدوات من 'intlayer'
|
|
414
|
-
// وظائف وأدوات من 'intlayer'
|
|
415
|
-
import { IntlayerProvider } from "react-intlayer"; // مزود لسياق التدويل
|
|
416
|
-
import {
|
|
417
|
-
BrowserRouter,
|
|
418
|
-
Routes,
|
|
419
|
-
Route,
|
|
420
|
-
Navigate,
|
|
421
|
-
useLocation,
|
|
422
|
-
} from "react-router-dom"; // مكونات التوجيه لإدارة التنقل
|
|
423
|
-
|
|
424
|
-
// تفكيك التكوين من Intlayer
|
|
425
|
-
const { internationalization, middleware } = configuration;
|
|
426
|
-
const { locales, defaultLocale } = internationalization;
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* مكون يتعامل مع التوطين ويغلف العناصر الفرعية بسياق اللغة المناسب.
|
|
430
|
-
* يدير الكشف عن اللغة والتحقق منها بناءً على عنوان URL.
|
|
431
|
-
*/
|
|
432
|
-
const AppLocalized = ({ children, locale }) => {
|
|
433
|
-
const { pathname, search } = useLocation(); // الحصول على مسار URL الحالي
|
|
434
|
-
|
|
435
|
-
// تحديد اللغة الحالية، مع الرجوع إلى اللغة الافتراضية إذا لم يتم توفيرها
|
|
436
|
-
const currentLocale = locale ?? defaultLocale;
|
|
437
|
-
|
|
438
|
-
// إزالة بادئة اللغة من المسار لإنشاء مسار أساسي
|
|
439
|
-
const pathWithoutLocale = getPathWithoutLocale(
|
|
440
|
-
pathname // مسار URL الحالي
|
|
441
|
-
);
|
|
442
|
-
|
|
443
|
-
/**
|
|
444
|
-
* إذا كانت middleware.prefixDefault صحيحة، يجب دائمًا أن تكون اللغة الافتراضية مسبوقة.
|
|
445
|
-
*/
|
|
446
|
-
if (middleware.prefixDefault) {
|
|
447
|
-
// التحقق من صحة اللغة
|
|
448
|
-
if (!locale || !locales.includes(locale)) {
|
|
449
|
-
// إعادة التوجيه إلى اللغة الافتراضية مع المسار المحدث
|
|
450
|
-
return (
|
|
451
|
-
<Navigate
|
|
452
|
-
to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
|
|
453
|
-
replace // استبدال الإدخال الحالي في السجل بالإدخال الجديد
|
|
454
|
-
/>
|
|
455
|
-
);
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
// تغليف العناصر الفرعية بـ IntlayerProvider وتعيين اللغة الحالية
|
|
459
|
-
return (
|
|
460
|
-
<IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
|
|
461
|
-
);
|
|
462
|
-
} else {
|
|
463
|
-
/**
|
|
464
|
-
* عندما تكون middleware.prefixDefault خاطئة، لا يتم إضافة بادئة للغة الافتراضية.
|
|
465
|
-
* تأكد من أن اللغة الحالية صالحة وليست اللغة الافتراضية.
|
|
466
|
-
*/
|
|
467
|
-
if (
|
|
468
|
-
currentLocale.toString() !== defaultLocale.toString() &&
|
|
469
|
-
!locales
|
|
470
|
-
.filter(
|
|
471
|
-
(locale) => locale.toString() !== defaultLocale.toString() // استبعاد اللغة الافتراضية
|
|
472
|
-
)
|
|
473
|
-
.includes(currentLocale) // تحقق إذا كانت اللغة الحالية ضمن قائمة اللغات الصالحة
|
|
474
|
-
) {
|
|
475
|
-
// إعادة التوجيه إلى المسار بدون بادئة اللغة
|
|
476
|
-
return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
// تغليف العناصر الفرعية بـ IntlayerProvider وتعيين اللغة الحالية
|
|
480
|
-
return (
|
|
481
|
-
<IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
|
|
482
|
-
);
|
|
483
|
-
}
|
|
484
|
-
};
|
|
485
|
-
|
|
486
|
-
/**
|
|
487
|
-
* مكون موجه يقوم بإعداد مسارات مخصصة للغات.
|
|
488
|
-
* يستخدم React Router لإدارة التنقل وعرض المكونات الموطنة.
|
|
489
|
-
*/
|
|
490
|
-
export const LocaleRouter = ({ children }) => (
|
|
491
|
-
<BrowserRouter>
|
|
492
|
-
<Routes>
|
|
493
|
-
{locales
|
|
494
|
-
.filter(
|
|
495
|
-
(locale) => middleware.prefixDefault || locale !== defaultLocale
|
|
496
|
-
)
|
|
497
|
-
.map((locale) => (
|
|
498
|
-
<Route
|
|
499
|
-
// نمط المسار لالتقاط اللغة (مثل /en/، /fr/) ومطابقة جميع المسارات اللاحقة
|
|
500
|
-
path={`/${locale}/*`}
|
|
501
|
-
key={locale}
|
|
502
|
-
element={<AppLocalized locale={locale}>{children}</AppLocalized>} // يغلف العناصر الفرعية بإدارة اللغة
|
|
503
|
-
/>
|
|
504
|
-
))}
|
|
505
|
-
|
|
506
|
-
{
|
|
507
|
-
// إذا تم تعطيل إضافة بادئة للغة الافتراضية، قم بعرض العناصر الفرعية مباشرة في المسار الجذر
|
|
508
|
-
!middleware.prefixDefault && (
|
|
509
|
-
<Route
|
|
510
|
-
path="*"
|
|
511
|
-
element={
|
|
512
|
-
<AppLocalized locale={defaultLocale}>{children}</AppLocalized>
|
|
513
|
-
} // يغلف العناصر الفرعية بإدارة اللغة
|
|
514
|
-
/>
|
|
515
|
-
)
|
|
516
|
-
}
|
|
517
|
-
</Routes>
|
|
518
|
-
</BrowserRouter>
|
|
519
|
-
);
|
|
520
|
-
```
|
|
521
|
-
|
|
522
456
|
ثم يمكنك استخدام مكون `LocaleRouter` في تطبيقك:
|
|
523
457
|
|
|
524
458
|
```tsx fileName="src/App.tsx" codeFormat={["typescript", "esm"]}
|
|
@@ -725,6 +659,8 @@ export default App;
|
|
|
725
659
|
|
|
726
660
|
### إضافة VS Code
|
|
727
661
|
|
|
662
|
+
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **Intlayer VS Code Extension** الرسمي.
|
|
663
|
+
|
|
728
664
|
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **امتداد Intlayer الرسمي لـ VS Code**.
|
|
729
665
|
[التثبيت من سوق VS Code](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
730
666
|
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2026-08-23
|
|
3
|
+
updatedAt: 2026-08-24
|
|
4
|
+
title: "Elysia i18n - دليل شامل لترجمة تطبيقك"
|
|
5
|
+
description: "لا مزيد من i18next. دليل عام 2026 لبناء تطبيق Elysia متعدد اللغات (i18n). ترجم باستخدام وكلاء AI وحسّن حجم الحزمة وSEO والأداء."
|
|
6
|
+
keywords:
|
|
7
|
+
- Internationalization
|
|
8
|
+
- Documentation
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Elysia
|
|
11
|
+
- JavaScript
|
|
12
|
+
- Backend
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- environment
|
|
16
|
+
- elysia
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-elysia-template
|
|
18
|
+
history:
|
|
19
|
+
- version: 9.4.0
|
|
20
|
+
date: 2026-08-24
|
|
21
|
+
changes: "مواءمة الدليل مع قالب Elysia (كتابة أنواع السياق، إعداد Bun، السكربتات)"
|
|
22
|
+
- version: 9.4.0
|
|
23
|
+
date: 2026-08-23
|
|
24
|
+
changes: "init Elysia plugin"
|
|
25
|
+
author: aymericzip
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# ترجم موقع Elysia الخلفي الخاص بك باستخدام Intlayer | التدويل (i18n)
|
|
29
|
+
|
|
30
|
+
`elysia-intlayer` هو plugin قوي للتدويل (i18n) لتطبيقات Elysia، مصمم لجعل خدماتك الخلفية في متناول العالم من خلال توفير استجابات محلية بناءً على تفضيلات العميل.
|
|
31
|
+
|
|
32
|
+
> اطلع على تنفيذ الحزمة على GitHub: https://github.com/aymericzip/intlayer/tree/main/packages/elysia-intlayer
|
|
33
|
+
|
|
34
|
+
### حالات الاستخدام العملية
|
|
35
|
+
|
|
36
|
+
- **عرض أخطاء Backend بلغة المستخدم**: عند حدوث خطأ، يؤدي عرض الرسائل باللغة الأم للمستخدم إلى تحسين الفهم وتقليل الإحباط. وهذا مفيد بشكل خاص للرسائل الديناميكية التي قد تُعرض في مكونات front-end مثل toasts أو modals.
|
|
37
|
+
- **استرجاع محتوى متعدد اللغات**: بالنسبة للتطبيقات التي تسحب المحتوى من قاعدة بيانات، يضمن التدويل أنه يمكنك تقديم هذا المحتوى بلغات متعددة. وهذا أمر حاسم للمنصات مثل مواقع التجارة الإلكترونية أو أنظمة إدارة المحتوى التي تحتاج إلى عرض وصفات المنتجات والمقالات والمحتويات الأخرى باللغة المفضلة للمستخدم.
|
|
38
|
+
- **إرسال رسائل بريد إلكترونية متعددة اللغات**: سواء كانت رسائل معاملات أو حملات تسويقية أو إشعارات، فإن إرسال رسائل بريد إلكترونية بلغة المستقبل يمكن أن يزيد بشكل كبير من الارتباط والفعالية.
|
|
39
|
+
- **إشعارات Push متعددة اللغات**: بالنسبة للتطبيقات المحمولة، يمكن لإرسال إشعارات push بلغة المستخدم المفضلة أن يعزز التفاعل والاحتفاظ. يمكن لهذا اللمس الشخصي أن يجعل الإشعارات تبدو أكثر ملاءمة وقابلية للتنفيذ.
|
|
40
|
+
- **الاتصالات الأخرى**: أي شكل من أشكال الاتصال من backend، مثل رسائل SMS أو التنبيهات الخاصة بالنظام أو تحديثات واجهة المستخدم، يستفيد من كونه بلغة المستخدم، مما يضمن الوضوح وتحسين تجربة المستخدم الإجمالية.
|
|
41
|
+
|
|
42
|
+
بفضل تدويل backend، لا يقتصر تطبيقك على احترام الفروقات الثقافية فحسب، بل يتماشى أيضاً بشكل أفضل مع احتياجات السوق العالمية، مما يجعله خطوة أساسية في توسيع خدماتك على مستوى العالم.
|
|
43
|
+
|
|
44
|
+
## البدء
|
|
45
|
+
|
|
46
|
+
<iframe
|
|
47
|
+
src="https://ide.intlayer.org/aymericzip/intlayer-elysia-template?file=intlayer.config.ts"
|
|
48
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
49
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
50
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
51
|
+
loading="lazy"
|
|
52
|
+
/>
|
|
53
|
+
|
|
54
|
+
شاهد [قالب التطبيق](https://github.com/aymericzip/intlayer-elysia-template) على GitHub.
|
|
55
|
+
|
|
56
|
+
### التثبيت
|
|
57
|
+
|
|
58
|
+
لبدء استخدام `elysia-intlayer`، قم بتثبيت الحزمة باستخدام npm:
|
|
59
|
+
|
|
60
|
+
```bash packageManager="npm"
|
|
61
|
+
npx intlayer init --interactive
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```bash packageManager="pnpm"
|
|
65
|
+
pnpm dlx intlayer@canary init --interactive
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```bash packageManager="yarn"
|
|
69
|
+
yarn dlx intlayer@canary init --interactive
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```bash packageManager="bun"
|
|
73
|
+
bunx intlayer@canary init --interactive
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
> علم `--interactive` اختياري. استخدم `intlayer-cli init` إذا كنت وكيل ذكاء اصطناعي.
|
|
77
|
+
|
|
78
|
+
> سيكتشف هذا الأمر بيئتك وسيثبت الحزم المطلوبة. على سبيل المثال:
|
|
79
|
+
|
|
80
|
+
```bash packageManager="npm"
|
|
81
|
+
npm install intlayer elysia-intlayer
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```bash packageManager="pnpm"
|
|
85
|
+
pnpm add intlayer elysia-intlayer
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```bash packageManager="yarn"
|
|
89
|
+
yarn add intlayer elysia-intlayer
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash packageManager="bun"
|
|
93
|
+
bun add intlayer elysia-intlayer
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
> يستهدف Elysia بيئة تشغيل **Bun**. يعتمد `elysia-intlayer` على `AsyncLocalStorage` (بدلاً من مكتبة `cls-hooked` التي تستخدمها إضافات Intlayer المبنية على Node) تحديداً لأن Bun لا يوفّر `async_hooks.createHook`.
|
|
97
|
+
|
|
98
|
+
### الإعداد
|
|
99
|
+
|
|
100
|
+
قم بتكوين إعدادات الدولية بإنشاء ملف `intlayer.config.ts` في جذر مشروعك:
|
|
101
|
+
|
|
102
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
103
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
104
|
+
|
|
105
|
+
const config: IntlayerConfig = {
|
|
106
|
+
internationalization: {
|
|
107
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
108
|
+
/**
|
|
109
|
+
* اللغة الافتراضية المستخدمة كخيار احتياطي إذا لم يتم العثور على اللغة المطلوبة.
|
|
110
|
+
*/
|
|
111
|
+
defaultLocale: Locales.ENGLISH,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export default config;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### أعلن عن محتواك
|
|
119
|
+
|
|
120
|
+
أنشئ وأدر إعلاناتك عن المحتوى لتخزين الترجمات:
|
|
121
|
+
|
|
122
|
+
```typescript fileName="src/index.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
123
|
+
import { t, type Dictionary } from "intlayer";
|
|
124
|
+
|
|
125
|
+
const indexContent = {
|
|
126
|
+
key: "index",
|
|
127
|
+
content: {
|
|
128
|
+
exampleOfContent: t({
|
|
129
|
+
ar: "مثال على المحتوى المرجع باللغة العربية",
|
|
130
|
+
en: "Example of returned content in English",
|
|
131
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
132
|
+
es: "Ejemplo de contenido devuelto en español",
|
|
133
|
+
}),
|
|
134
|
+
},
|
|
135
|
+
} satisfies Dictionary;
|
|
136
|
+
|
|
137
|
+
export default indexContent;
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
```json fileName="src/index.content.json" contentDeclarationFormat="json"
|
|
141
|
+
{
|
|
142
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
143
|
+
"key": "index",
|
|
144
|
+
"content": {
|
|
145
|
+
"exampleOfContent": {
|
|
146
|
+
"nodeType": "translation",
|
|
147
|
+
"translation": {
|
|
148
|
+
"ar": "مثال على المحتوى المرجع باللغة العربية",
|
|
149
|
+
"en": "Example of returned content in English",
|
|
150
|
+
"fr": "Exemple de contenu renvoyé en français",
|
|
151
|
+
"es": "Ejemplo de contenido devuelto en español"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> يمكن تعريف إعلانات المحتوى الخاص بك في أي مكان في التطبيق الخاص بك طالما تم تضمينها في دليل `contentDir` (افتراضياً، `./src`). وتطابق امتداد ملف إعلان المحتوى (افتراضياً، `.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}`).
|
|
159
|
+
|
|
160
|
+
> للحصول على مزيد من التفاصيل، راجع [وثائق إعلان المحتوى](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/dictionary/content_file.md).
|
|
161
|
+
|
|
162
|
+
### إعداد تطبيق Elysia
|
|
163
|
+
|
|
164
|
+
قم بإعداد تطبيق Elysia الخاص بك لاستخدام `elysia-intlayer`:
|
|
165
|
+
|
|
166
|
+
```typescript fileName="src/index.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
167
|
+
import { Elysia } from "elysia";
|
|
168
|
+
import { intlayer } from "elysia-intlayer";
|
|
169
|
+
|
|
170
|
+
const app = new Elysia()
|
|
171
|
+
// تحميل إضافة التدويل
|
|
172
|
+
.use(intlayer())
|
|
173
|
+
// المسارات
|
|
174
|
+
.get("/", ({ intlayer }) => ({
|
|
175
|
+
// اللغة المستخدمة لهذا الطلب، تم التفاوض عليها من `Accept-Language` أو قراءتها من التخزين
|
|
176
|
+
locale: intlayer!.locale,
|
|
177
|
+
greeting: intlayer!.t({
|
|
178
|
+
ar: "مرحبًا",
|
|
179
|
+
en: "Hello",
|
|
180
|
+
fr: "Bonjour",
|
|
181
|
+
es: "Hola",
|
|
182
|
+
}),
|
|
183
|
+
content: intlayer!.getIntlayer("index").exampleOfContent,
|
|
184
|
+
}))
|
|
185
|
+
.listen(3000);
|
|
186
|
+
|
|
187
|
+
console.log(
|
|
188
|
+
`🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`
|
|
189
|
+
);
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
> تسجّل الإضافة سياقها عبر `derive` **عام**، والذي يعطيه Elysia النوع `Partial<{ intlayer: IntlayerContext }>`. تكون القيمة موجودة دائماً وقت التشغيل للمسارات المسجَّلة بعد `.use(intlayer())`، لذا استخدم تأكيد عدم الفراغ (`intlayer!.locale`) — أو التسلسل الاختياري — لإرضاء TypeScript في الوضع `strict`.
|
|
193
|
+
|
|
194
|
+
يوفّر سياق المسار ما يلي:
|
|
195
|
+
|
|
196
|
+
| الخاصية | الوصف |
|
|
197
|
+
| ----------------- | --------------------------------------------------------------------------------- |
|
|
198
|
+
| `locale` | الـ locale المستخدم لهذا الطلب، مع أولوية `locale_storage` على `locale_detected`. |
|
|
199
|
+
| `locale_storage` | الـ locale الذي طلبه العميل صراحةً عبر كوكي أو هيدر. |
|
|
200
|
+
| `locale_detected` | الـ locale المتفاوض عليه من رؤوس الطلب. |
|
|
201
|
+
| `defaultLocale` | الـ locale المُعد كخيار احتياطي في `intlayer.config.ts`. |
|
|
202
|
+
| `t` | دالة ترجمة. |
|
|
203
|
+
| `getIntlayer` | دالة لاسترجاع القواميس عبر المفتاح. |
|
|
204
|
+
| `getDictionary` | دالة لمعالجة كائنات القواميس. |
|
|
205
|
+
|
|
206
|
+
تُصدَّر نفس الدوال المساعدة أيضاً بشكل مستقل. فهي تحلّ الطلب الحالي عبر `AsyncLocalStorage`، لذا يمكنك استدعاؤها دون تفكيك السياق:
|
|
207
|
+
|
|
208
|
+
```typescript fileName="src/index.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
209
|
+
import { Elysia } from "elysia";
|
|
210
|
+
import { intlayer, t, getDictionary, getIntlayer } from "elysia-intlayer";
|
|
211
|
+
import dictionaryExample from "./index.content";
|
|
212
|
+
|
|
213
|
+
const app = new Elysia()
|
|
214
|
+
.use(intlayer())
|
|
215
|
+
.get("/t_example", () =>
|
|
216
|
+
t({
|
|
217
|
+
ar: "مثال على المحتوى المرجع باللغة العربية",
|
|
218
|
+
en: "Example of returned content in English",
|
|
219
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
220
|
+
es: "Ejemplo de contenido devuelto en español",
|
|
221
|
+
})
|
|
222
|
+
)
|
|
223
|
+
.get("/getIntlayer_example", () => getIntlayer("index").exampleOfContent)
|
|
224
|
+
.get(
|
|
225
|
+
"/getDictionary_example",
|
|
226
|
+
() => getDictionary(dictionaryExample).exampleOfContent
|
|
227
|
+
)
|
|
228
|
+
.listen(3000);
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
> يتم تحرير سياق الطلب بمجرد تعيين الاستجابة، بحيث لا تُحلّ الدوال المساعدة المستقلة أبدًا مقابل طلب انتهى بالفعل. وعند استدعائها خارج طلب يعالجه المكوّن، تعود إلى الـ locale الافتراضي المُعد.
|
|
232
|
+
|
|
233
|
+
### تشغيل تطبيقك
|
|
234
|
+
|
|
235
|
+
أضف سكربتات Intlayer إلى ملف `package.json`. يقوم `intlayer build` بترجمة تصريحات المحتوى إلى مجلد `.intlayer` وتوليد أنواع TypeScript:
|
|
236
|
+
|
|
237
|
+
```json fileName="package.json"
|
|
238
|
+
{
|
|
239
|
+
"scripts": {
|
|
240
|
+
"dev": "intlayer build && bun run --watch src/index.ts",
|
|
241
|
+
"build": "intlayer build",
|
|
242
|
+
"start": "bun run src/index.ts",
|
|
243
|
+
"i18n:fill": "intlayer fill",
|
|
244
|
+
"i18n:test": "intlayer test"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
ثم شغّل الخادم:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
bun run dev
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
اختبر التفاوض على اللغة باستخدام `Accept-Language`:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
curl -H "Accept-Language: fr" http://localhost:3000/
|
|
259
|
+
# {"locale":"fr","greeting":"Bonjour","content":"Exemple de contenu renvoyé en français"}
|
|
260
|
+
|
|
261
|
+
curl -H "Accept-Language: es" http://localhost:3000/
|
|
262
|
+
# {"locale":"es","greeting":"Hola","content":"Ejemplo de contenido devuelto en español"}
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
> ليس `intlayer build` مطلوباً بالضرورة قبل `bun run src/index.ts`: فالإضافة تجهّز القواميس أيضاً عند إقلاع تطبيق Elysia. تشغيله مسبقاً يبقي الأنواع المولَّدة متزامنة مع محرّرك ويتجنّب تكلفة البناء عند أول طلب.
|
|
266
|
+
|
|
267
|
+
### التوافق
|
|
268
|
+
|
|
269
|
+
`elysia-intlayer` متوافق بشكل كامل مع:
|
|
270
|
+
|
|
271
|
+
- [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/react-intlayer/index.md) لتطبيقات React
|
|
272
|
+
- [`next-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/next-intlayer/index.md) لتطبيقات Next.js
|
|
273
|
+
- [`vite-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/packages/vite-intlayer/index.md) لتطبيقات Vite
|
|
274
|
+
|
|
275
|
+
يعمل أيضًا بسلاسة مع أي حل internationalization عبر بيئات مختلفة، بما في ذلك المتصفحات وطلبات API.
|
|
276
|
+
|
|
277
|
+
بشكل افتراضي، تحلّ الإضافة اللغة بالترتيب التالي:
|
|
278
|
+
|
|
279
|
+
1. كوكي `INTLAYER_LOCALE`.
|
|
280
|
+
2. ترويسة `x-intlayer-locale`.
|
|
281
|
+
3. التفاوض عبر ترويسة `Accept-Language`.
|
|
282
|
+
|
|
283
|
+
يمكنك تخصيص الكوكي والترويسة المستخدمَين في اكتشاف اللغة:
|
|
284
|
+
|
|
285
|
+
```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
|
|
286
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
287
|
+
|
|
288
|
+
const config: IntlayerConfig = {
|
|
289
|
+
// ... خيارات الإعدادات الأخرى
|
|
290
|
+
routing: {
|
|
291
|
+
storage: [
|
|
292
|
+
{ type: "header", name: "my-locale-header" },
|
|
293
|
+
{ type: "cookie", name: "my-locale-cookie" },
|
|
294
|
+
],
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
|
|
298
|
+
export default config;
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
> للحصول على مزيد من المعلومات حول الإعدادات والمواضيع المتقدمة، تفضل بزيارة [التوثيق](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/configuration.md) الخاص بنا.
|
|
302
|
+
|
|
303
|
+
### تكوين TypeScript
|
|
304
|
+
|
|
305
|
+
يستفيد `elysia-intlayer` من القدرات القوية لـ TypeScript لتحسين عملية التدويل. يضمن التكتيب الثابت في TypeScript أن كل مفتاح ترجمة يتم حسابه، مما يقلل من خطر الترجمات المفقودة ويحسن القابلية للصيانة.
|
|
306
|
+
|
|
307
|
+
تأكد من تضمين الأنواع المُنشأة تلقائيًا (افتراضيًا في ./types/intlayer.d.ts) في ملف tsconfig.json الخاص بك.
|
|
308
|
+
|
|
309
|
+
```json5 fileName="tsconfig.json"
|
|
310
|
+
{
|
|
311
|
+
// ... تكوينات TypeScript الموجودة لديك
|
|
312
|
+
"include": [
|
|
313
|
+
// ... تكوينات TypeScript الموجودة لديك
|
|
314
|
+
".intlayer/**/*.ts", // تضمين الأنواع المُنشأة تلقائيًا
|
|
315
|
+
],
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### امتداد VS Code
|
|
320
|
+
|
|
321
|
+
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت **امتداد Intlayer VS Code** الرسمي.
|
|
322
|
+
|
|
323
|
+
[التثبيت من سوق VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
324
|
+
|
|
325
|
+
يوفر هذا الامتداد:
|
|
326
|
+
|
|
327
|
+
- **الإكمال التلقائي** لمفاتيح الترجمة.
|
|
328
|
+
- **كشف الأخطاء في الوقت الفعلي** للترجمات المفقودة.
|
|
329
|
+
- **معاينات مضمنة** للمحتوى المترجم.
|
|
330
|
+
- **إجراءات سريعة** لإنشاء وتحديث الترجمات بسهولة.
|
|
331
|
+
|
|
332
|
+
للمزيد من التفاصيل حول كيفية استخدام الامتداد، راجع [توثيق امتداد Intlayer VS Code](https://intlayer.org/doc/vs-code-extension).
|
|
333
|
+
|
|
334
|
+
### إعدادات Git
|
|
335
|
+
|
|
336
|
+
يُنصح بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. يتيح لك ذلك تجنب التزام بها في مستودع Git الخاص بك.
|
|
337
|
+
|
|
338
|
+
للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف `.gitignore` الخاص بك:
|
|
339
|
+
|
|
340
|
+
```plaintext fileName=".gitignore"
|
|
341
|
+
# تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer
|
|
342
|
+
.intlayer
|
|
343
|
+
```
|