@intlayer/docs 8.5.0 → 8.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_i18next.md +1 -1
- package/blog/ar/intlayer_with_next-i18next.md +1 -1
- package/blog/ar/intlayer_with_next-intl.md +1 -1
- package/blog/ar/intlayer_with_react-i18next.md +1 -1
- package/blog/ar/intlayer_with_react-intl.md +1 -1
- package/blog/ar/intlayer_with_vue-i18n.md +1 -1
- package/blog/de/intlayer_with_i18next.md +1 -1
- package/blog/de/intlayer_with_next-i18next.md +1 -1
- package/blog/de/intlayer_with_next-intl.md +1 -1
- package/blog/de/intlayer_with_react-i18next.md +1 -1
- package/blog/de/intlayer_with_react-intl.md +1 -1
- package/blog/de/intlayer_with_vue-i18n.md +1 -1
- package/blog/en/intlayer_with_i18next.md +1 -1
- package/blog/en/intlayer_with_next-i18next.md +1 -1
- package/blog/en/intlayer_with_next-intl.md +1 -1
- package/blog/en/intlayer_with_react-i18next.md +1 -1
- package/blog/en/intlayer_with_react-intl.md +1 -1
- package/blog/en/intlayer_with_vue-i18n.md +1 -1
- package/blog/en-GB/intlayer_with_i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_next-intl.md +1 -1
- package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_react-intl.md +1 -1
- package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
- package/blog/es/intlayer_with_i18next.md +1 -1
- package/blog/es/intlayer_with_next-i18next.md +1 -1
- package/blog/es/intlayer_with_next-intl.md +1 -1
- package/blog/es/intlayer_with_react-i18next.md +1 -1
- package/blog/es/intlayer_with_react-intl.md +1 -1
- package/blog/es/intlayer_with_vue-i18n.md +1 -1
- package/blog/fr/intlayer_with_i18next.md +1 -1
- package/blog/fr/intlayer_with_next-i18next.md +1 -1
- package/blog/fr/intlayer_with_next-intl.md +1 -1
- package/blog/fr/intlayer_with_react-i18next.md +1 -1
- package/blog/fr/intlayer_with_react-intl.md +1 -1
- package/blog/fr/intlayer_with_vue-i18n.md +1 -1
- package/blog/hi/intlayer_with_i18next.md +1 -1
- package/blog/hi/intlayer_with_next-i18next.md +1 -1
- package/blog/hi/intlayer_with_next-intl.md +1 -1
- package/blog/hi/intlayer_with_react-i18next.md +1 -1
- package/blog/hi/intlayer_with_react-intl.md +1 -1
- package/blog/hi/intlayer_with_vue-i18n.md +1 -1
- package/blog/id/intlayer_with_i18next.md +1 -1
- package/blog/id/intlayer_with_next-i18next.md +1 -1
- package/blog/id/intlayer_with_next-intl.md +1 -1
- package/blog/id/intlayer_with_react-i18next.md +1 -1
- package/blog/id/intlayer_with_react-intl.md +1 -1
- package/blog/id/intlayer_with_vue-i18n.md +1 -1
- package/blog/it/intlayer_with_i18next.md +1 -1
- package/blog/it/intlayer_with_next-i18next.md +1 -1
- package/blog/it/intlayer_with_next-intl.md +1 -1
- package/blog/it/intlayer_with_react-i18next.md +1 -1
- package/blog/it/intlayer_with_react-intl.md +1 -1
- package/blog/it/intlayer_with_vue-i18n.md +1 -1
- package/blog/ja/intlayer_with_i18next.md +1 -1
- package/blog/ja/intlayer_with_next-i18next.md +1 -1
- package/blog/ja/intlayer_with_next-intl.md +1 -1
- package/blog/ja/intlayer_with_react-i18next.md +1 -1
- package/blog/ja/intlayer_with_react-intl.md +1 -1
- package/blog/ja/intlayer_with_vue-i18n.md +1 -1
- package/blog/ko/intlayer_with_i18next.md +1 -1
- package/blog/ko/intlayer_with_next-i18next.md +1 -1
- package/blog/ko/intlayer_with_next-intl.md +1 -1
- package/blog/ko/intlayer_with_react-i18next.md +1 -1
- package/blog/ko/intlayer_with_react-intl.md +1 -1
- package/blog/ko/intlayer_with_vue-i18n.md +1 -1
- package/blog/pl/intlayer_with_i18next.md +1 -1
- package/blog/pl/intlayer_with_next-i18next.md +1 -1
- package/blog/pl/intlayer_with_next-intl.md +1 -1
- package/blog/pl/intlayer_with_react-i18next.md +1 -1
- package/blog/pl/intlayer_with_react-intl.md +1 -1
- package/blog/pl/intlayer_with_vue-i18n.md +1 -1
- package/blog/pt/intlayer_with_i18next.md +1 -1
- package/blog/pt/intlayer_with_next-i18next.md +1 -1
- package/blog/pt/intlayer_with_next-intl.md +1 -1
- package/blog/pt/intlayer_with_react-i18next.md +1 -1
- package/blog/pt/intlayer_with_react-intl.md +1 -1
- package/blog/pt/intlayer_with_vue-i18n.md +1 -1
- package/blog/ru/intlayer_with_i18next.md +1 -1
- package/blog/ru/intlayer_with_next-i18next.md +1 -1
- package/blog/ru/intlayer_with_next-intl.md +1 -1
- package/blog/ru/intlayer_with_react-i18next.md +1 -1
- package/blog/ru/intlayer_with_react-intl.md +1 -1
- package/blog/ru/intlayer_with_vue-i18n.md +1 -1
- package/blog/tr/intlayer_with_i18next.md +1 -1
- package/blog/tr/intlayer_with_next-i18next.md +1 -1
- package/blog/tr/intlayer_with_next-intl.md +1 -1
- package/blog/tr/intlayer_with_react-i18next.md +1 -1
- package/blog/tr/intlayer_with_react-intl.md +1 -1
- package/blog/tr/intlayer_with_vue-i18n.md +1 -1
- package/blog/uk/intlayer_with_i18next.md +1 -1
- package/blog/uk/intlayer_with_next-i18next.md +1 -1
- package/blog/uk/intlayer_with_next-intl.md +1 -1
- package/blog/uk/intlayer_with_react-i18next.md +1 -1
- package/blog/uk/intlayer_with_react-intl.md +1 -1
- package/blog/uk/intlayer_with_vue-i18n.md +1 -1
- package/blog/vi/intlayer_with_i18next.md +1 -1
- package/blog/vi/intlayer_with_next-i18next.md +1 -1
- package/blog/vi/intlayer_with_next-intl.md +1 -1
- package/blog/vi/intlayer_with_react-i18next.md +1 -1
- package/blog/vi/intlayer_with_react-intl.md +1 -1
- package/blog/vi/intlayer_with_vue-i18n.md +1 -1
- package/blog/zh/intlayer_with_i18next.md +1 -1
- package/blog/zh/intlayer_with_next-i18next.md +1 -1
- package/blog/zh/intlayer_with_next-intl.md +1 -1
- package/blog/zh/intlayer_with_react-i18next.md +1 -1
- package/blog/zh/intlayer_with_react-intl.md +1 -1
- package/blog/zh/intlayer_with_vue-i18n.md +1 -1
- package/dist/cjs/generated/docs.entry.cjs +20 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +20 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/dictionary/html.md +10 -3
- package/docs/ar/dictionary/markdown.md +15 -17
- package/docs/ar/intlayer_CMS.md +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +1 -1
- package/docs/ar/intlayer_with_analog.md +9 -15
- package/docs/ar/intlayer_with_angular.md +1 -1
- package/docs/ar/intlayer_with_create_react_app.md +1 -1
- package/docs/ar/intlayer_with_express.md +1 -1
- package/docs/ar/intlayer_with_fastify.md +1 -1
- package/docs/ar/intlayer_with_hono.md +1 -1
- package/docs/ar/intlayer_with_lynx+react.md +1 -1
- package/docs/ar/intlayer_with_nestjs.md +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +1 -1
- package/docs/ar/intlayer_with_next-intl.md +1 -1
- package/docs/ar/intlayer_with_nextjs_14.md +1 -1
- package/docs/ar/intlayer_with_nextjs_15.md +1 -1
- package/docs/ar/intlayer_with_nextjs_16.md +2 -2
- package/docs/ar/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_nuxt.md +1 -1
- package/docs/ar/intlayer_with_react_native+expo.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +2 -2
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ar/intlayer_with_svelte_kit.md +3 -3
- package/docs/ar/intlayer_with_tanstack+solid.md +911 -0
- package/docs/ar/intlayer_with_tanstack.md +2 -2
- package/docs/ar/intlayer_with_vite+lit.md +9 -58
- package/docs/ar/intlayer_with_vite+preact.md +2 -2
- package/docs/ar/intlayer_with_vite+react.md +2 -2
- package/docs/ar/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ar/intlayer_with_vite+solid.md +2 -2
- package/docs/ar/intlayer_with_vite+svelte.md +2 -2
- package/docs/ar/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ar/intlayer_with_vite+vue.md +5 -5
- package/docs/bn/intlayer_with_fastify.md +1 -1
- package/docs/bn/intlayer_with_hono.md +1 -1
- package/docs/bn/intlayer_with_vite+lit.md +9 -58
- package/docs/bn/intlayer_with_vite+vanilla.md +2 -2
- package/docs/cs/intlayer_with_fastify.md +1 -1
- package/docs/cs/intlayer_with_hono.md +1 -1
- package/docs/cs/intlayer_with_vite+lit.md +9 -58
- package/docs/cs/intlayer_with_vite+vanilla.md +2 -2
- package/docs/de/compiler.md +6 -1
- package/docs/de/configuration.md +12 -9
- package/docs/de/dictionary/html.md +11 -8
- package/docs/de/dictionary/markdown.md +17 -23
- package/docs/de/intlayer_CMS.md +1 -1
- package/docs/de/intlayer_with_adonisjs.md +1 -1
- package/docs/de/intlayer_with_analog.md +9 -15
- package/docs/de/intlayer_with_angular.md +1 -1
- package/docs/de/intlayer_with_create_react_app.md +1 -1
- package/docs/de/intlayer_with_express.md +1 -1
- package/docs/de/intlayer_with_fastify.md +1 -1
- package/docs/de/intlayer_with_hono.md +1 -1
- package/docs/de/intlayer_with_lynx+react.md +1 -1
- package/docs/de/intlayer_with_nestjs.md +1 -1
- package/docs/de/intlayer_with_next-i18next.md +1 -1
- package/docs/de/intlayer_with_next-intl.md +1 -1
- package/docs/de/intlayer_with_nextjs_14.md +1 -1
- package/docs/de/intlayer_with_nextjs_15.md +1 -1
- package/docs/de/intlayer_with_nextjs_16.md +2 -2
- package/docs/de/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_nuxt.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +2 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/de/intlayer_with_svelte_kit.md +3 -3
- package/docs/de/intlayer_with_tanstack+solid.md +911 -0
- package/docs/de/intlayer_with_tanstack.md +2 -2
- package/docs/de/intlayer_with_vite+lit.md +9 -58
- package/docs/de/intlayer_with_vite+preact.md +2 -2
- package/docs/de/intlayer_with_vite+react.md +2 -2
- package/docs/de/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/de/intlayer_with_vite+solid.md +2 -2
- package/docs/de/intlayer_with_vite+svelte.md +2 -2
- package/docs/de/intlayer_with_vite+vanilla.md +2 -2
- package/docs/de/intlayer_with_vite+vue.md +5 -5
- package/docs/en/compiler.md +2 -0
- package/docs/en/configuration.md +8 -8
- package/docs/en/dictionary/html.md +12 -9
- package/docs/en/dictionary/markdown.md +18 -24
- package/docs/en/intlayer_CMS.md +1 -1
- package/docs/en/intlayer_with_adonisjs.md +1 -1
- package/docs/en/intlayer_with_analog.md +9 -15
- package/docs/en/intlayer_with_angular.md +1 -1
- package/docs/en/intlayer_with_create_react_app.md +1 -1
- package/docs/en/intlayer_with_express.md +1 -1
- package/docs/en/intlayer_with_fastify.md +1 -1
- package/docs/en/intlayer_with_hono.md +1 -1
- package/docs/en/intlayer_with_lynx+react.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +1 -1
- package/docs/en/intlayer_with_next-i18next.md +1 -1
- package/docs/en/intlayer_with_next-intl.md +1 -1
- package/docs/en/intlayer_with_nextjs_14.md +1 -1
- package/docs/en/intlayer_with_nextjs_15.md +1 -1
- package/docs/en/intlayer_with_nextjs_16.md +2 -2
- package/docs/en/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_nuxt.md +1 -1
- package/docs/en/intlayer_with_react_native+expo.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +2 -2
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/en/intlayer_with_svelte_kit.md +2 -2
- package/docs/en/intlayer_with_tanstack+solid.md +911 -0
- package/docs/en/intlayer_with_tanstack.md +2 -2
- package/docs/en/intlayer_with_vite+lit.md +11 -58
- package/docs/en/intlayer_with_vite+preact.md +2 -2
- package/docs/en/intlayer_with_vite+react.md +2 -2
- package/docs/en/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en/intlayer_with_vite+solid.md +2 -2
- package/docs/en/intlayer_with_vite+svelte.md +2 -2
- package/docs/en/intlayer_with_vite+vanilla.md +2 -2
- package/docs/en/intlayer_with_vite+vue.md +15 -5
- package/docs/en-GB/dictionary/html.md +10 -3
- package/docs/en-GB/dictionary/markdown.md +16 -18
- package/docs/en-GB/intlayer_CMS.md +1 -1
- package/docs/en-GB/intlayer_with_adonisjs.md +1 -1
- package/docs/en-GB/intlayer_with_analog.md +9 -15
- package/docs/en-GB/intlayer_with_angular.md +1 -1
- package/docs/en-GB/intlayer_with_create_react_app.md +2 -2
- package/docs/en-GB/intlayer_with_express.md +1 -1
- package/docs/en-GB/intlayer_with_fastify.md +1 -1
- package/docs/en-GB/intlayer_with_hono.md +1 -1
- package/docs/en-GB/intlayer_with_lynx+react.md +2 -2
- package/docs/en-GB/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/intlayer_with_next-i18next.md +1 -1
- package/docs/en-GB/intlayer_with_next-intl.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_nuxt.md +1 -1
- package/docs/en-GB/intlayer_with_react_native+expo.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
- package/docs/en-GB/intlayer_with_svelte_kit.md +2 -2
- package/docs/en-GB/intlayer_with_tanstack+solid.md +912 -0
- package/docs/en-GB/intlayer_with_tanstack.md +1 -1
- package/docs/en-GB/intlayer_with_vite+lit.md +11 -58
- package/docs/en-GB/intlayer_with_vite+preact.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react.md +1 -1
- package/docs/en-GB/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/en-GB/intlayer_with_vite+solid.md +1 -1
- package/docs/en-GB/intlayer_with_vite+svelte.md +1 -1
- package/docs/en-GB/intlayer_with_vite+vanilla.md +2 -2
- package/docs/en-GB/intlayer_with_vite+vue.md +4 -4
- package/docs/es/compiler.md +6 -1
- package/docs/es/configuration.md +12 -9
- package/docs/es/dictionary/html.md +11 -8
- package/docs/es/dictionary/markdown.md +18 -24
- package/docs/es/intlayer_CMS.md +1 -1
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_analog.md +9 -15
- package/docs/es/intlayer_with_angular.md +1 -1
- package/docs/es/intlayer_with_create_react_app.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_lynx+react.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_next-i18next.md +1 -1
- package/docs/es/intlayer_with_next-intl.md +1 -1
- package/docs/es/intlayer_with_nextjs_14.md +1 -1
- package/docs/es/intlayer_with_nextjs_15.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +2 -2
- package/docs/es/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_native+expo.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +2 -2
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/es/intlayer_with_svelte_kit.md +3 -3
- package/docs/es/intlayer_with_tanstack+solid.md +911 -0
- package/docs/es/intlayer_with_tanstack.md +2 -2
- package/docs/es/intlayer_with_vite+lit.md +9 -58
- package/docs/es/intlayer_with_vite+preact.md +2 -2
- package/docs/es/intlayer_with_vite+react.md +2 -2
- package/docs/es/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/es/intlayer_with_vite+solid.md +2 -2
- package/docs/es/intlayer_with_vite+svelte.md +2 -2
- package/docs/es/intlayer_with_vite+vanilla.md +2 -2
- package/docs/es/intlayer_with_vite+vue.md +5 -5
- package/docs/es/packages/next-intlayer/index.md +1 -1
- package/docs/es/packages/react-intlayer/index.md +1 -1
- package/docs/fr/compiler.md +8 -3
- package/docs/fr/configuration.md +12 -9
- package/docs/fr/dictionary/html.md +11 -8
- package/docs/fr/dictionary/markdown.md +18 -24
- package/docs/fr/intlayer_CMS.md +1 -1
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_analog.md +9 -15
- package/docs/fr/intlayer_with_angular.md +1 -1
- package/docs/fr/intlayer_with_create_react_app.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_lynx+react.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_next-i18next.md +1 -1
- package/docs/fr/intlayer_with_next-intl.md +1 -1
- package/docs/fr/intlayer_with_nextjs_14.md +1 -1
- package/docs/fr/intlayer_with_nextjs_15.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +2 -2
- package/docs/fr/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_nuxt.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +2 -2
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/fr/intlayer_with_svelte_kit.md +3 -3
- package/docs/fr/intlayer_with_tanstack+solid.md +911 -0
- package/docs/fr/intlayer_with_tanstack.md +2 -2
- package/docs/fr/intlayer_with_vite+lit.md +9 -58
- package/docs/fr/intlayer_with_vite+preact.md +2 -2
- package/docs/fr/intlayer_with_vite+react.md +2 -2
- package/docs/fr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/fr/intlayer_with_vite+solid.md +2 -2
- package/docs/fr/intlayer_with_vite+svelte.md +2 -2
- package/docs/fr/intlayer_with_vite+vanilla.md +2 -2
- package/docs/fr/intlayer_with_vite+vue.md +5 -5
- package/docs/fr/packages/react-intlayer/index.md +1 -1
- package/docs/hi/dictionary/html.md +10 -3
- package/docs/hi/dictionary/markdown.md +17 -19
- package/docs/hi/intlayer_CMS.md +1 -1
- package/docs/hi/intlayer_with_adonisjs.md +1 -1
- package/docs/hi/intlayer_with_analog.md +9 -15
- package/docs/hi/intlayer_with_angular.md +1 -1
- package/docs/hi/intlayer_with_create_react_app.md +1 -1
- package/docs/hi/intlayer_with_express.md +1 -1
- package/docs/hi/intlayer_with_fastify.md +1 -1
- package/docs/hi/intlayer_with_hono.md +1 -1
- package/docs/hi/intlayer_with_lynx+react.md +1 -1
- package/docs/hi/intlayer_with_nestjs.md +1 -1
- package/docs/hi/intlayer_with_next-i18next.md +1 -1
- package/docs/hi/intlayer_with_next-intl.md +1 -1
- package/docs/hi/intlayer_with_nextjs_14.md +1 -1
- package/docs/hi/intlayer_with_nextjs_15.md +1 -1
- package/docs/hi/intlayer_with_nextjs_16.md +2 -2
- package/docs/hi/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_nuxt.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +2 -2
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/hi/intlayer_with_svelte_kit.md +3 -3
- package/docs/hi/intlayer_with_tanstack+solid.md +911 -0
- package/docs/hi/intlayer_with_tanstack.md +2 -2
- package/docs/hi/intlayer_with_vite+lit.md +9 -58
- package/docs/hi/intlayer_with_vite+preact.md +2 -2
- package/docs/hi/intlayer_with_vite+react.md +2 -2
- package/docs/hi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/hi/intlayer_with_vite+solid.md +2 -2
- package/docs/hi/intlayer_with_vite+svelte.md +2 -2
- package/docs/hi/intlayer_with_vite+vanilla.md +2 -2
- package/docs/hi/intlayer_with_vite+vue.md +5 -5
- package/docs/hi/packages/intlayer/index.md +1 -1
- package/docs/id/dictionary/html.md +10 -3
- package/docs/id/dictionary/markdown.md +17 -19
- package/docs/id/intlayer_CMS.md +1 -1
- package/docs/id/intlayer_with_adonisjs.md +1 -1
- package/docs/id/intlayer_with_analog.md +9 -15
- package/docs/id/intlayer_with_angular.md +1 -1
- package/docs/id/intlayer_with_create_react_app.md +1 -1
- package/docs/id/intlayer_with_express.md +1 -1
- package/docs/id/intlayer_with_fastify.md +1 -1
- package/docs/id/intlayer_with_hono.md +1 -1
- package/docs/id/intlayer_with_lynx+react.md +1 -1
- package/docs/id/intlayer_with_nestjs.md +1 -1
- package/docs/id/intlayer_with_next-i18next.md +1 -1
- package/docs/id/intlayer_with_next-intl.md +1 -1
- package/docs/id/intlayer_with_nextjs_14.md +1 -1
- package/docs/id/intlayer_with_nextjs_15.md +1 -1
- package/docs/id/intlayer_with_nextjs_16.md +2 -2
- package/docs/id/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/id/intlayer_with_nuxt.md +1 -1
- package/docs/id/intlayer_with_react_native+expo.md +1 -1
- package/docs/id/intlayer_with_react_router_v7.md +2 -2
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/id/intlayer_with_svelte_kit.md +3 -3
- package/docs/id/intlayer_with_tanstack+solid.md +911 -0
- package/docs/id/intlayer_with_tanstack.md +2 -2
- package/docs/id/intlayer_with_vite+lit.md +9 -58
- package/docs/id/intlayer_with_vite+preact.md +2 -2
- package/docs/id/intlayer_with_vite+react.md +2 -2
- package/docs/id/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/id/intlayer_with_vite+solid.md +2 -2
- package/docs/id/intlayer_with_vite+svelte.md +2 -2
- package/docs/id/intlayer_with_vite+vanilla.md +2 -2
- package/docs/id/intlayer_with_vite+vue.md +5 -5
- package/docs/it/compiler.md +8 -3
- package/docs/it/configuration.md +12 -9
- package/docs/it/dictionary/html.md +11 -8
- package/docs/it/dictionary/markdown.md +18 -24
- package/docs/it/intlayer_CMS.md +1 -1
- package/docs/it/intlayer_with_adonisjs.md +1 -1
- package/docs/it/intlayer_with_analog.md +9 -15
- package/docs/it/intlayer_with_angular.md +1 -1
- package/docs/it/intlayer_with_create_react_app.md +1 -1
- package/docs/it/intlayer_with_express.md +1 -1
- package/docs/it/intlayer_with_fastify.md +1 -1
- package/docs/it/intlayer_with_hono.md +1 -1
- package/docs/it/intlayer_with_lynx+react.md +1 -1
- package/docs/it/intlayer_with_nestjs.md +1 -1
- package/docs/it/intlayer_with_next-i18next.md +1 -1
- package/docs/it/intlayer_with_next-intl.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +1 -1
- package/docs/it/intlayer_with_nextjs_15.md +1 -1
- package/docs/it/intlayer_with_nextjs_16.md +2 -2
- package/docs/it/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_nuxt.md +1 -1
- package/docs/it/intlayer_with_react_native+expo.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +2 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/it/intlayer_with_svelte_kit.md +3 -3
- package/docs/it/intlayer_with_tanstack+solid.md +911 -0
- package/docs/it/intlayer_with_tanstack.md +2 -2
- package/docs/it/intlayer_with_vite+lit.md +9 -58
- package/docs/it/intlayer_with_vite+preact.md +2 -2
- package/docs/it/intlayer_with_vite+react.md +2 -2
- package/docs/it/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/it/intlayer_with_vite+solid.md +2 -2
- package/docs/it/intlayer_with_vite+svelte.md +2 -2
- package/docs/it/intlayer_with_vite+vanilla.md +2 -2
- package/docs/it/intlayer_with_vite+vue.md +5 -5
- package/docs/ja/dictionary/html.md +11 -8
- package/docs/ja/dictionary/markdown.md +21 -24
- package/docs/ja/intlayer_CMS.md +1 -1
- package/docs/ja/intlayer_with_adonisjs.md +1 -1
- package/docs/ja/intlayer_with_analog.md +9 -15
- package/docs/ja/intlayer_with_angular.md +1 -1
- package/docs/ja/intlayer_with_create_react_app.md +1 -1
- package/docs/ja/intlayer_with_express.md +1 -1
- package/docs/ja/intlayer_with_fastify.md +1 -1
- package/docs/ja/intlayer_with_hono.md +1 -1
- package/docs/ja/intlayer_with_lynx+react.md +1 -1
- package/docs/ja/intlayer_with_nestjs.md +1 -1
- package/docs/ja/intlayer_with_next-i18next.md +1 -1
- package/docs/ja/intlayer_with_next-intl.md +1 -1
- package/docs/ja/intlayer_with_nextjs_14.md +1 -1
- package/docs/ja/intlayer_with_nextjs_15.md +1 -1
- package/docs/ja/intlayer_with_nextjs_16.md +2 -2
- package/docs/ja/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_nuxt.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ja/intlayer_with_svelte_kit.md +1 -1
- package/docs/ja/intlayer_with_tanstack+solid.md +911 -0
- package/docs/ja/intlayer_with_tanstack.md +1 -1
- package/docs/ja/intlayer_with_vite+lit.md +9 -58
- package/docs/ja/intlayer_with_vite+preact.md +1 -1
- package/docs/ja/intlayer_with_vite+react.md +1 -1
- package/docs/ja/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ja/intlayer_with_vite+solid.md +2 -2
- package/docs/ja/intlayer_with_vite+svelte.md +2 -2
- package/docs/ja/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ja/intlayer_with_vite+vue.md +5 -5
- package/docs/ko/dictionary/html.md +11 -8
- package/docs/ko/dictionary/markdown.md +18 -24
- package/docs/ko/intlayer_CMS.md +1 -1
- package/docs/ko/intlayer_with_adonisjs.md +1 -1
- package/docs/ko/intlayer_with_analog.md +9 -15
- package/docs/ko/intlayer_with_angular.md +1 -1
- package/docs/ko/intlayer_with_create_react_app.md +1 -1
- package/docs/ko/intlayer_with_express.md +1 -1
- package/docs/ko/intlayer_with_fastify.md +1 -1
- package/docs/ko/intlayer_with_hono.md +1 -1
- package/docs/ko/intlayer_with_lynx+react.md +1 -1
- package/docs/ko/intlayer_with_nestjs.md +1 -1
- package/docs/ko/intlayer_with_next-i18next.md +1 -1
- package/docs/ko/intlayer_with_next-intl.md +1 -1
- package/docs/ko/intlayer_with_nextjs_14.md +1 -1
- package/docs/ko/intlayer_with_nextjs_15.md +1 -1
- package/docs/ko/intlayer_with_nextjs_16.md +2 -2
- package/docs/ko/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_nuxt.md +1 -1
- package/docs/ko/intlayer_with_react_native+expo.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +2 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ko/intlayer_with_svelte_kit.md +3 -3
- package/docs/ko/intlayer_with_tanstack+solid.md +911 -0
- package/docs/ko/intlayer_with_tanstack.md +2 -2
- package/docs/ko/intlayer_with_vite+lit.md +9 -58
- package/docs/ko/intlayer_with_vite+preact.md +2 -2
- package/docs/ko/intlayer_with_vite+react.md +2 -2
- package/docs/ko/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ko/intlayer_with_vite+solid.md +2 -2
- package/docs/ko/intlayer_with_vite+svelte.md +2 -2
- package/docs/ko/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ko/intlayer_with_vite+vue.md +5 -5
- package/docs/nl/intlayer_with_fastify.md +1 -1
- package/docs/nl/intlayer_with_hono.md +1 -1
- package/docs/nl/intlayer_with_vite+lit.md +9 -58
- package/docs/nl/intlayer_with_vite+vanilla.md +2 -2
- package/docs/pl/dictionary/html.md +11 -8
- package/docs/pl/dictionary/markdown.md +18 -24
- package/docs/pl/intlayer_CMS.md +1 -1
- package/docs/pl/intlayer_with_adonisjs.md +1 -1
- package/docs/pl/intlayer_with_analog.md +9 -15
- package/docs/pl/intlayer_with_angular.md +1 -1
- package/docs/pl/intlayer_with_create_react_app.md +1 -1
- package/docs/pl/intlayer_with_express.md +1 -1
- package/docs/pl/intlayer_with_fastify.md +1 -1
- package/docs/pl/intlayer_with_hono.md +1 -1
- package/docs/pl/intlayer_with_lynx+react.md +1 -1
- package/docs/pl/intlayer_with_nestjs.md +1 -1
- package/docs/pl/intlayer_with_next-i18next.md +1 -1
- package/docs/pl/intlayer_with_next-intl.md +1 -1
- package/docs/pl/intlayer_with_nextjs_14.md +1 -1
- package/docs/pl/intlayer_with_nextjs_15.md +1 -1
- package/docs/pl/intlayer_with_nextjs_16.md +2 -2
- package/docs/pl/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pl/intlayer_with_nuxt.md +1 -1
- package/docs/pl/intlayer_with_react_native+expo.md +1 -1
- package/docs/pl/intlayer_with_react_router_v7.md +2 -2
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pl/intlayer_with_svelte_kit.md +3 -3
- package/docs/pl/intlayer_with_tanstack+solid.md +911 -0
- package/docs/pl/intlayer_with_tanstack.md +2 -2
- package/docs/pl/intlayer_with_vite+lit.md +9 -58
- package/docs/pl/intlayer_with_vite+preact.md +2 -2
- package/docs/pl/intlayer_with_vite+react.md +2 -2
- package/docs/pl/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/pl/intlayer_with_vite+solid.md +2 -2
- package/docs/pl/intlayer_with_vite+svelte.md +2 -2
- package/docs/pl/intlayer_with_vite+vanilla.md +2 -2
- package/docs/pl/intlayer_with_vite+vue.md +5 -5
- package/docs/pt/compiler.md +7 -2
- package/docs/pt/configuration.md +11 -9
- package/docs/pt/dictionary/html.md +11 -8
- package/docs/pt/dictionary/markdown.md +18 -24
- package/docs/pt/intlayer_CMS.md +1 -1
- package/docs/pt/intlayer_with_adonisjs.md +1 -1
- package/docs/pt/intlayer_with_analog.md +9 -15
- package/docs/pt/intlayer_with_angular.md +1 -1
- package/docs/pt/intlayer_with_create_react_app.md +1 -1
- package/docs/pt/intlayer_with_express.md +1 -1
- package/docs/pt/intlayer_with_fastify.md +1 -1
- package/docs/pt/intlayer_with_hono.md +1 -1
- package/docs/pt/intlayer_with_lynx+react.md +1 -1
- package/docs/pt/intlayer_with_nestjs.md +1 -1
- package/docs/pt/intlayer_with_next-i18next.md +1 -1
- package/docs/pt/intlayer_with_next-intl.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -1
- package/docs/pt/intlayer_with_nextjs_15.md +1 -1
- package/docs/pt/intlayer_with_nextjs_16.md +2 -2
- package/docs/pt/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_nuxt.md +1 -1
- package/docs/pt/intlayer_with_react_native+expo.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +2 -2
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/pt/intlayer_with_svelte_kit.md +3 -3
- package/docs/pt/intlayer_with_tanstack+solid.md +911 -0
- package/docs/pt/intlayer_with_tanstack.md +2 -2
- package/docs/pt/intlayer_with_vite+lit.md +9 -58
- package/docs/pt/intlayer_with_vite+preact.md +2 -2
- package/docs/pt/intlayer_with_vite+react.md +2 -2
- package/docs/pt/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/pt/intlayer_with_vite+solid.md +2 -2
- package/docs/pt/intlayer_with_vite+svelte.md +2 -2
- package/docs/pt/intlayer_with_vite+vanilla.md +2 -2
- package/docs/pt/intlayer_with_vite+vue.md +5 -5
- package/docs/ru/dictionary/html.md +11 -8
- package/docs/ru/dictionary/markdown.md +18 -24
- package/docs/ru/intlayer_CMS.md +1 -1
- package/docs/ru/intlayer_with_adonisjs.md +1 -1
- package/docs/ru/intlayer_with_analog.md +9 -15
- package/docs/ru/intlayer_with_angular.md +1 -1
- package/docs/ru/intlayer_with_create_react_app.md +1 -1
- package/docs/ru/intlayer_with_express.md +1 -1
- package/docs/ru/intlayer_with_fastify.md +1 -1
- package/docs/ru/intlayer_with_hono.md +1 -1
- package/docs/ru/intlayer_with_lynx+react.md +1 -1
- package/docs/ru/intlayer_with_nestjs.md +1 -1
- package/docs/ru/intlayer_with_next-i18next.md +1 -1
- package/docs/ru/intlayer_with_next-intl.md +1 -1
- package/docs/ru/intlayer_with_nextjs_14.md +1 -1
- package/docs/ru/intlayer_with_nextjs_15.md +1 -1
- package/docs/ru/intlayer_with_nextjs_16.md +2 -2
- package/docs/ru/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_nuxt.md +1 -1
- package/docs/ru/intlayer_with_react_native+expo.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +2 -2
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/ru/intlayer_with_svelte_kit.md +3 -3
- package/docs/ru/intlayer_with_tanstack+solid.md +911 -0
- package/docs/ru/intlayer_with_tanstack.md +2 -2
- package/docs/ru/intlayer_with_vite+lit.md +9 -58
- package/docs/ru/intlayer_with_vite+preact.md +2 -2
- package/docs/ru/intlayer_with_vite+react.md +2 -2
- package/docs/ru/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/ru/intlayer_with_vite+solid.md +2 -2
- package/docs/ru/intlayer_with_vite+svelte.md +2 -2
- package/docs/ru/intlayer_with_vite+vanilla.md +2 -2
- package/docs/ru/intlayer_with_vite+vue.md +5 -5
- package/docs/tr/dictionary/html.md +11 -8
- package/docs/tr/dictionary/markdown.md +18 -24
- package/docs/tr/intlayer_CMS.md +1 -1
- package/docs/tr/intlayer_with_adonisjs.md +1 -1
- package/docs/tr/intlayer_with_analog.md +9 -15
- package/docs/tr/intlayer_with_angular.md +1 -1
- package/docs/tr/intlayer_with_create_react_app.md +1 -1
- package/docs/tr/intlayer_with_express.md +1 -1
- package/docs/tr/intlayer_with_fastify.md +1 -1
- package/docs/tr/intlayer_with_hono.md +1 -1
- package/docs/tr/intlayer_with_lynx+react.md +1 -1
- package/docs/tr/intlayer_with_nestjs.md +1 -1
- package/docs/tr/intlayer_with_next-i18next.md +1 -1
- package/docs/tr/intlayer_with_next-intl.md +1 -1
- package/docs/tr/intlayer_with_nextjs_14.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +1 -1
- package/docs/tr/intlayer_with_nextjs_16.md +2 -2
- package/docs/tr/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/tr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/tr/intlayer_with_nuxt.md +1 -1
- package/docs/tr/intlayer_with_react_native+expo.md +1 -1
- package/docs/tr/intlayer_with_react_router_v7.md +2 -2
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/tr/intlayer_with_svelte_kit.md +3 -3
- package/docs/tr/intlayer_with_tanstack+solid.md +912 -0
- package/docs/tr/intlayer_with_tanstack.md +2 -2
- package/docs/tr/intlayer_with_vite+lit.md +9 -58
- package/docs/tr/intlayer_with_vite+preact.md +2 -2
- package/docs/tr/intlayer_with_vite+react.md +2 -2
- package/docs/tr/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/tr/intlayer_with_vite+solid.md +2 -2
- package/docs/tr/intlayer_with_vite+svelte.md +2 -2
- package/docs/tr/intlayer_with_vite+vanilla.md +2 -2
- package/docs/tr/intlayer_with_vite+vue.md +5 -5
- package/docs/uk/dictionary/html.md +10 -3
- package/docs/uk/dictionary/markdown.md +17 -19
- package/docs/uk/intlayer_CMS.md +1 -1
- package/docs/uk/intlayer_with_adonisjs.md +1 -1
- package/docs/uk/intlayer_with_analog.md +9 -15
- package/docs/uk/intlayer_with_angular.md +1 -1
- package/docs/uk/intlayer_with_create_react_app.md +1 -1
- package/docs/uk/intlayer_with_express.md +1 -1
- package/docs/uk/intlayer_with_fastify.md +1 -1
- package/docs/uk/intlayer_with_hono.md +1 -1
- package/docs/uk/intlayer_with_lynx+react.md +1 -1
- package/docs/uk/intlayer_with_nestjs.md +1 -1
- package/docs/uk/intlayer_with_next-i18next.md +1 -1
- package/docs/uk/intlayer_with_next-intl.md +1 -1
- package/docs/uk/intlayer_with_nextjs_14.md +1 -1
- package/docs/uk/intlayer_with_nextjs_15.md +1 -1
- package/docs/uk/intlayer_with_nextjs_16.md +2 -2
- package/docs/uk/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/uk/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/uk/intlayer_with_nuxt.md +1 -1
- package/docs/uk/intlayer_with_react_native+expo.md +1 -1
- package/docs/uk/intlayer_with_react_router_v7.md +2 -2
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/uk/intlayer_with_svelte_kit.md +2 -2
- package/docs/uk/intlayer_with_tanstack+solid.md +911 -0
- package/docs/uk/intlayer_with_tanstack.md +2 -2
- package/docs/uk/intlayer_with_vite+lit.md +9 -58
- package/docs/uk/intlayer_with_vite+preact.md +2 -2
- package/docs/uk/intlayer_with_vite+react.md +2 -2
- package/docs/uk/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/uk/intlayer_with_vite+solid.md +2 -2
- package/docs/uk/intlayer_with_vite+svelte.md +2 -2
- package/docs/uk/intlayer_with_vite+vanilla.md +2 -2
- package/docs/uk/intlayer_with_vite+vue.md +5 -5
- package/docs/ur/intlayer_with_fastify.md +1 -1
- package/docs/ur/intlayer_with_hono.md +1 -1
- package/docs/ur/intlayer_with_vite+lit.md +9 -58
- package/docs/ur/intlayer_with_vite+vanilla.md +1 -1
- package/docs/vi/cli/index.md +1 -1
- package/docs/vi/dictionary/html.md +10 -3
- package/docs/vi/dictionary/markdown.md +17 -19
- package/docs/vi/intlayer_CMS.md +1 -1
- package/docs/vi/intlayer_with_adonisjs.md +1 -1
- package/docs/vi/intlayer_with_analog.md +9 -15
- package/docs/vi/intlayer_with_angular.md +1 -1
- package/docs/vi/intlayer_with_create_react_app.md +1 -1
- package/docs/vi/intlayer_with_express.md +1 -1
- package/docs/vi/intlayer_with_fastify.md +1 -1
- package/docs/vi/intlayer_with_hono.md +1 -1
- package/docs/vi/intlayer_with_lynx+react.md +1 -1
- package/docs/vi/intlayer_with_nestjs.md +1 -1
- package/docs/vi/intlayer_with_next-i18next.md +1 -1
- package/docs/vi/intlayer_with_next-intl.md +1 -1
- package/docs/vi/intlayer_with_nextjs_14.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -1
- package/docs/vi/intlayer_with_nextjs_16.md +2 -2
- package/docs/vi/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/vi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/vi/intlayer_with_nuxt.md +1 -1
- package/docs/vi/intlayer_with_react_native+expo.md +1 -1
- package/docs/vi/intlayer_with_react_router_v7.md +2 -2
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/vi/intlayer_with_svelte_kit.md +3 -3
- package/docs/vi/intlayer_with_tanstack+solid.md +911 -0
- package/docs/vi/intlayer_with_tanstack.md +2 -2
- package/docs/vi/intlayer_with_vite+lit.md +9 -58
- package/docs/vi/intlayer_with_vite+preact.md +2 -2
- package/docs/vi/intlayer_with_vite+react.md +2 -2
- package/docs/vi/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/vi/intlayer_with_vite+solid.md +2 -2
- package/docs/vi/intlayer_with_vite+svelte.md +2 -2
- package/docs/vi/intlayer_with_vite+vanilla.md +2 -2
- package/docs/vi/intlayer_with_vite+vue.md +5 -5
- package/docs/zh/compiler.md +8 -3
- package/docs/zh/configuration.md +4 -1
- package/docs/zh/dictionary/html.md +11 -8
- package/docs/zh/dictionary/markdown.md +18 -24
- package/docs/zh/intlayer_CMS.md +1 -1
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_analog.md +9 -15
- package/docs/zh/intlayer_with_angular.md +1 -1
- package/docs/zh/intlayer_with_create_react_app.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_lynx+react.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_next-i18next.md +1 -1
- package/docs/zh/intlayer_with_next-intl.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +1 -1
- package/docs/zh/intlayer_with_nextjs_15.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +2 -2
- package/docs/zh/intlayer_with_nextjs_compiler.md +2 -2
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1 -1
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_nuxt.md +1 -1
- package/docs/zh/intlayer_with_react_native+expo.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +2 -2
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +2 -2
- package/docs/zh/intlayer_with_svelte_kit.md +3 -3
- package/docs/zh/intlayer_with_tanstack+solid.md +911 -0
- package/docs/zh/intlayer_with_tanstack.md +2 -2
- package/docs/zh/intlayer_with_vite+lit.md +9 -58
- package/docs/zh/intlayer_with_vite+preact.md +2 -2
- package/docs/zh/intlayer_with_vite+react.md +2 -2
- package/docs/zh/intlayer_with_vite+react_compiler.md +1 -1
- package/docs/zh/intlayer_with_vite+solid.md +2 -2
- package/docs/zh/intlayer_with_vite+svelte.md +2 -2
- package/docs/zh/intlayer_with_vite+vanilla.md +2 -2
- package/docs/zh/intlayer_with_vite+vue.md +5 -5
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +20 -0
|
@@ -0,0 +1,912 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-03-25
|
|
3
|
+
updatedAt: 2026-03-25
|
|
4
|
+
title: Tanstack Start i18n - 2026'da Solid.js kullanarak Tanstack Start Uygulamasını Çevirme
|
|
5
|
+
description: Intlayer ve Solid.js kullanarak Tanstack Start uygulamanıza nasıl uluslararasılaştırma (i18n) ekleyeceğinizi öğrenin. Uygulamanızı yerel ayara duyarlı yönlendirme ile çok dilli hale getirmek için bu kapsamlı kılavuzu izleyin.
|
|
6
|
+
keywords:
|
|
7
|
+
- Uluslararasılaştırma
|
|
8
|
+
- Dokümantasyon
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Tanstack Start
|
|
11
|
+
- Solid
|
|
12
|
+
- i18n
|
|
13
|
+
- TypeScript
|
|
14
|
+
- Yerel Ayar Yönlendirmesi
|
|
15
|
+
slugs:
|
|
16
|
+
- doc
|
|
17
|
+
- environment
|
|
18
|
+
- tanstack-start
|
|
19
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-tanstack-start-solid-template
|
|
20
|
+
youtubeVideo: https://www.youtube.com/watch?v=_XTdKVWaeqg
|
|
21
|
+
history:
|
|
22
|
+
- version: 8.5.1
|
|
23
|
+
date: 2026-03-25
|
|
24
|
+
changes: "Tanstack Start Solid.js için eklendi"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Intlayer Kullanarak Tanstack Start + Solid.js Web Sitenizi Çevirin | Uluslararasılaştırma (i18n)
|
|
28
|
+
|
|
29
|
+
## İçindekiler
|
|
30
|
+
|
|
31
|
+
<TOC/>
|
|
32
|
+
|
|
33
|
+
Bu kılavuz, Solid.js içeren Tanstack Start projelerinde sorunsuz uluslararasılaştırma, yerel ayara duyarlı yönlendirme, TypeScript desteği ve modern geliştirme uygulamaları için **Intlayer**'ı nasıl entegre edeceğinizi gösterir.
|
|
34
|
+
|
|
35
|
+
## Intlayer Nedir?
|
|
36
|
+
|
|
37
|
+
**Intlayer**, modern web uygulamalarında çok dilli desteği basitleştirmek için tasarlanmış yenilikçi, açık kaynaklı bir uluslararasılaştırma (i18n) kütüphanesidir.
|
|
38
|
+
|
|
39
|
+
Intlayer ile şunları yapabilirsiniz:
|
|
40
|
+
|
|
41
|
+
- Bileşen düzeyinde bildirimsel sözlükler kullanarak **çevirileri kolayca yönetebilirsiniz**.
|
|
42
|
+
- **Meta verileri, rotaları ve içeriği dinamik olarak yerelleştirebilirsiniz**.
|
|
43
|
+
- Otomatik olarak oluşturulan türlerle **TypeScript desteği sağlayabilir**, otomatik tamamlamayı ve hata tespitini iyileştirebilirsiniz.
|
|
44
|
+
- Dinamik yerel ayar algılama ve değiştirme gibi **gelişmiş özelliklerden yararlanabilirsiniz**.
|
|
45
|
+
- Tanstack Start'ın dosya tabanlı yönlendirme sistemi ile **yerel ayara duyarlı yönlendirmeyi etkinleştirebilirsiniz**.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Tanstack Start Uygulamasında Intlayer Kurulumu İçin Adım Adım Kılavuz
|
|
50
|
+
|
|
51
|
+
<Tabs defaultTab="video">
|
|
52
|
+
<Tab label="Video" value="video">
|
|
53
|
+
|
|
54
|
+
<iframe title="Tanstack Start için en iyi i18n çözümü mü? Intlayer'ı Keşfedin" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/_XTdKVWaeqg?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
55
|
+
|
|
56
|
+
</Tab>
|
|
57
|
+
<Tab label="Kod" value="code">
|
|
58
|
+
|
|
59
|
+
<iframe
|
|
60
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-tanstack-start-solid-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
61
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
62
|
+
title="Demo CodeSandbox - Intlayer kullanarak uygulamanızı nasıl uluslararasılaştırırsınız?"
|
|
63
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
64
|
+
loading="lazy"
|
|
65
|
+
/>
|
|
66
|
+
|
|
67
|
+
</Tab>
|
|
68
|
+
</Tabs>
|
|
69
|
+
|
|
70
|
+
GitHub'daki [Uygulama Şablonu](https://github.com/aymericzip/intlayer-tanstack-start-solid-template)na göz atın.
|
|
71
|
+
|
|
72
|
+
### Adım 1: Proje Oluşturma
|
|
73
|
+
|
|
74
|
+
Öncelikle, TanStack Start web sitesindeki [Yeni Proje Başlat](https://tanstack.com/start/latest/docs/framework/solid/quick-start) kılavuzunu izleyerek yeni bir TanStack Start projesi oluşturun.
|
|
75
|
+
|
|
76
|
+
### Adım 2: Intlayer Paketlerini Kurun
|
|
77
|
+
|
|
78
|
+
Tercih ettiğiniz paket yöneticisini kullanarak gerekli paketleri kurun:
|
|
79
|
+
|
|
80
|
+
```bash packageManager="npm"
|
|
81
|
+
npm install intlayer solid-intlayer
|
|
82
|
+
npm install vite-intlayer --save-dev
|
|
83
|
+
npx intlayer init
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```bash packageManager="pnpm"
|
|
87
|
+
pnpm add intlayer solid-intlayer
|
|
88
|
+
pnpm add vite-intlayer --save-dev
|
|
89
|
+
pnpm intlayer init
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash packageManager="yarn"
|
|
93
|
+
yarn add intlayer solid-intlayer
|
|
94
|
+
yarn add vite-intlayer --save-dev
|
|
95
|
+
yarn intlayer init
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```bash packageManager="bun"
|
|
99
|
+
bun add intlayer solid-intlayer
|
|
100
|
+
bun add vite-intlayer --dev
|
|
101
|
+
bun x intlayer init
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- **intlayer**
|
|
105
|
+
|
|
106
|
+
Yapılandırma yönetimi, çeviri, [içerik bildirimi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md), dönüştürme ve [CLI komutları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/index.md) için uluslararasılaştırma araçları sağlayan temel paket.
|
|
107
|
+
|
|
108
|
+
- **solid-intlayer**
|
|
109
|
+
Intlayer'ı Solid uygulamasına entegre eden paket. Solid uluslararasılaştırması için bağlam sağlayıcıları (context providers) ve hook'lar sunar.
|
|
110
|
+
|
|
111
|
+
- **vite-intlayer**
|
|
112
|
+
Intlayer'ı [Vite paketleyici](https://vite.dev/guide/why.html#why-bundle-for-production) ile entegre etmek için Vite eklentisini ve kullanıcının tercih ettiği yerel ayarı algılamak, çerezleri yönetmek ve URL yönlendirmesini işlemek için ara yazılımı (middleware) içerir.
|
|
113
|
+
|
|
114
|
+
### Adım 3: Projenizin Yapılandırılması
|
|
115
|
+
|
|
116
|
+
Uygulamanızın dillerini ayarlamak için bir yapılandırma dosyası oluşturun:
|
|
117
|
+
|
|
118
|
+
```typescript fileName="intlayer.config.ts"
|
|
119
|
+
import type { IntlayerConfig } from "intlayer";
|
|
120
|
+
|
|
121
|
+
import { Locales } from "intlayer";
|
|
122
|
+
|
|
123
|
+
const config: IntlayerConfig = {
|
|
124
|
+
internationalization: {
|
|
125
|
+
defaultLocale: Locales.ENGLISH,
|
|
126
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export default config;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
> Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'leri, ara yazılım yönlendirmesini, çerez adlarını, içerik bildirimlerinizin konumunu ve uzantısını yapılandırabilir, konsoldaki Intlayer günlüklerini devre dışı bırakabilir ve daha fazlasını yapabilirsiniz. Kullanılabilir parametrelerin tam listesi için [yapılandırma dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md)na bakın.
|
|
134
|
+
|
|
135
|
+
### Adım 4: Intlayer'ı Vite Yapılandırmanıza Entegre Edin
|
|
136
|
+
|
|
137
|
+
Bite yapılandırmanıza intlayer eklentisini ekleyin:
|
|
138
|
+
|
|
139
|
+
```typescript fileName="vite.config.ts"
|
|
140
|
+
import { intlayer } from "vite-intlayer";
|
|
141
|
+
import { defineConfig } from "vite";
|
|
142
|
+
import { devtools } from "@tanstack/devtools-vite";
|
|
143
|
+
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
144
|
+
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
145
|
+
import solidPlugin from "vite-plugin-solid";
|
|
146
|
+
|
|
147
|
+
export default defineConfig({
|
|
148
|
+
plugins: [
|
|
149
|
+
devtools(),
|
|
150
|
+
viteTsConfigPaths({
|
|
151
|
+
projects: ["./tsconfig.json"],
|
|
152
|
+
}),
|
|
153
|
+
tanstackStart({
|
|
154
|
+
router: {
|
|
155
|
+
routeFileIgnorePattern:
|
|
156
|
+
".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
|
|
157
|
+
},
|
|
158
|
+
}),
|
|
159
|
+
solidPlugin({ ssr: true }),
|
|
160
|
+
intlayer(),
|
|
161
|
+
],
|
|
162
|
+
});
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
> `intlayer()` Vite eklentisi, Intlayer'ı Vite ile entegre etmek için kullanılır. İçerik bildirim dosyalarının oluşturulmasını sağlar ve geliştirme modunda bunları izler. Vite uygulaması içinde Intlayer ortam değişkenlerini tanımlar. Ayrıca, performans yükünü azaltmak için takma adlar (aliases) sağlar.
|
|
166
|
+
|
|
167
|
+
### Adım 5: Kök Düzeni (Root Layout) Oluşturma
|
|
168
|
+
|
|
169
|
+
Geçerli yerel ayarı algılamak için `useMatches` kullanarak ve `html` etiketinde `lang` ve `dir` özelliklerini ayarlayarak kök düzeninizi uluslararasılaştırmayı destekleyecek şekilde yapılandırın.
|
|
170
|
+
|
|
171
|
+
```tsx fileName="src/routes/__root.tsx"
|
|
172
|
+
import {
|
|
173
|
+
HeadContent,
|
|
174
|
+
Outlet,
|
|
175
|
+
Scripts,
|
|
176
|
+
createRootRouteWithContext,
|
|
177
|
+
useMatches,
|
|
178
|
+
} from "@tanstack/solid-router";
|
|
179
|
+
import { TanStackRouterDevtools } from "@tanstack/solid-router-devtools";
|
|
180
|
+
import { HydrationScript } from "solid-js/web";
|
|
181
|
+
import { Suspense } from "solid-js";
|
|
182
|
+
import { IntlayerProvider } from "solid-intlayer";
|
|
183
|
+
import { defaultLocale, getHTMLTextDir, type Locale } from "intlayer";
|
|
184
|
+
|
|
185
|
+
export const Route = createRootRouteWithContext()({
|
|
186
|
+
shellComponent: RootComponent,
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
type Params = {
|
|
190
|
+
locale: Locale;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
function RootComponent() {
|
|
194
|
+
const matches = useMatches();
|
|
195
|
+
|
|
196
|
+
// Herhangi bir etkin eşleşmenin parametrelerinde yerel ayarı bulmaya çalışın
|
|
197
|
+
// Bu, rota ağacınızda "/{-$locale}" dinamik segmentini kullandığınızı varsayar
|
|
198
|
+
const locale =
|
|
199
|
+
(
|
|
200
|
+
matches().find((match) => match.routeId === "/{-$locale}/")
|
|
201
|
+
?.params as Params
|
|
202
|
+
)?.locale ?? defaultLocale;
|
|
203
|
+
|
|
204
|
+
return (
|
|
205
|
+
<html dir={getHTMLTextDir(locale)} lang={locale}>
|
|
206
|
+
<head>
|
|
207
|
+
<HydrationScript />
|
|
208
|
+
</head>
|
|
209
|
+
<body>
|
|
210
|
+
<HeadContent />
|
|
211
|
+
<IntlayerProvider locale={locale}>
|
|
212
|
+
<Suspense>
|
|
213
|
+
<Outlet />
|
|
214
|
+
<TanStackRouterDevtools />
|
|
215
|
+
</Suspense>
|
|
216
|
+
</IntlayerProvider>
|
|
217
|
+
<Scripts />
|
|
218
|
+
</body>
|
|
219
|
+
</html>
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
> [!NOTE]
|
|
225
|
+
> Solid'de, `useMatches` bir **signal** (reaktif erişimci) döndürür. Geçerli değere reaktif olarak erişmek için `matches()` (parantezli) kullanın.
|
|
226
|
+
|
|
227
|
+
### Adım 6: Yerel Ayar Düzeni Oluşturma (İsteğe Bağlı)
|
|
228
|
+
|
|
229
|
+
Yerel ayar önekini işleyen ve doğrulama gerçekleştiren bir düzen oluşturun. Bu düzen, yalnızca geçerli yerel ayarların işlenmesini sağlayacaktır.
|
|
230
|
+
|
|
231
|
+
> Rota düzeyinde yerel ayar önekini doğrulamanız gerekmiyorsa bu adım isteğe bağlıdır.
|
|
232
|
+
|
|
233
|
+
```tsx fileName="src/routes/{-$locale}/route.tsx"
|
|
234
|
+
import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
|
|
235
|
+
import { validatePrefix } from "intlayer";
|
|
236
|
+
|
|
237
|
+
export const Route = createFileRoute("/{-$locale}")({
|
|
238
|
+
beforeLoad: ({ params }) => {
|
|
239
|
+
const localeParam = params.locale;
|
|
240
|
+
|
|
241
|
+
// Yerel ayar önekini doğrula
|
|
242
|
+
const { isValid, localePrefix } = validatePrefix(localeParam);
|
|
243
|
+
|
|
244
|
+
if (!isValid) {
|
|
245
|
+
throw redirect({
|
|
246
|
+
to: "/{-$locale}/404",
|
|
247
|
+
params: { locale: localePrefix },
|
|
248
|
+
replace: true,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
component: Outlet,
|
|
253
|
+
});
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
> Burada, `{-$locale}` geçerli yerel ayarla değiştirilen dinamik bir rota parametresidir. Bu gösterim, bu slotu isteğe bağlı hale getirerek `'prefix-no-default'` vb. yönlendirme modlarıyla çalışmasına olanak tanır.
|
|
257
|
+
|
|
258
|
+
> Aynı rotada birden fazla dinamik segment kullanırsanız bu slotun sorunlara neden olabileceğini unutmayın (ör: `/{-$locale}/other-path/$anotherDynamicPath/...`).
|
|
259
|
+
> `'prefix-all'` modu için slotu `$locale` olarak değiştirmeyi tercih edebilirsiniz.
|
|
260
|
+
> `'no-prefix'` veya `'search-params'` modu için slotu tamamen kaldırabilirsiniz.
|
|
261
|
+
|
|
262
|
+
### Adım 7: İçeriğinizi Bildirin
|
|
263
|
+
|
|
264
|
+
Çevirileri depolamak için içerik bildirimlerinizi oluşturun ve yönetin:
|
|
265
|
+
|
|
266
|
+
```tsx fileName="src/contents/page.content.ts"
|
|
267
|
+
import type { Dictionary } from "intlayer";
|
|
268
|
+
|
|
269
|
+
import { t } from "intlayer";
|
|
270
|
+
|
|
271
|
+
const appContent = {
|
|
272
|
+
content: {
|
|
273
|
+
links: {
|
|
274
|
+
about: t({
|
|
275
|
+
en: "About",
|
|
276
|
+
es: "Acerca de",
|
|
277
|
+
fr: "À propos",
|
|
278
|
+
}),
|
|
279
|
+
home: t({
|
|
280
|
+
en: "Home",
|
|
281
|
+
es: "Inicio",
|
|
282
|
+
fr: "Accueil",
|
|
283
|
+
}),
|
|
284
|
+
},
|
|
285
|
+
meta: {
|
|
286
|
+
title: t({
|
|
287
|
+
en: "Welcome to Intlayer + TanStack Router",
|
|
288
|
+
es: "Bienvenido a Intlayer + TanStack Router",
|
|
289
|
+
fr: "Bienvenue à Intlayer + TanStack Router",
|
|
290
|
+
}),
|
|
291
|
+
description: t({
|
|
292
|
+
en: "This is an example of using Intlayer with TanStack Router",
|
|
293
|
+
es: "Este es un ejemplo de uso de Intlayer con TanStack Router",
|
|
294
|
+
fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router",
|
|
295
|
+
}),
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
key: "app",
|
|
299
|
+
} satisfies Dictionary;
|
|
300
|
+
|
|
301
|
+
export default appContent;
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
> İçerik bildirimleriniz, `contentDir` dizinine (varsayılan olarak `./app`) dahil edildiği sürece uygulamanızın herhangi bir yerinde tanımlanabilir. Ve içerik bildirimi dosya uzantısıyla (varsayılan olarak `.content.{json,ts,tsx,js,jsx,mjs,cjs}`) eşleşmelidir.
|
|
305
|
+
|
|
306
|
+
> Daha fazla ayrıntı için [içerik bildirimi dokümantasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md)na bakın.
|
|
307
|
+
|
|
308
|
+
### Adım 8: Yerel Ayara Duyarlı Bileşenleri ve Hook'ları Kullanın
|
|
309
|
+
|
|
310
|
+
Yerel ayara duyarlı navigasyon için bir `LocalizedLink` bileşeni oluşturun:
|
|
311
|
+
|
|
312
|
+
```tsx fileName="src/components/LocalizedLink.tsx"
|
|
313
|
+
import { Link, type LinkProps } from "@tanstack/solid-router";
|
|
314
|
+
import { getPrefix } from "intlayer";
|
|
315
|
+
import { useLocale } from "solid-intlayer";
|
|
316
|
+
import type { JSX } from "solid-js";
|
|
317
|
+
|
|
318
|
+
export const LOCALE_ROUTE = "{-$locale}" as const;
|
|
319
|
+
|
|
320
|
+
export type RemoveLocaleParam<TVal> = TVal extends string
|
|
321
|
+
? RemoveLocaleFromString<TVal>
|
|
322
|
+
: TVal;
|
|
323
|
+
|
|
324
|
+
export type To = RemoveLocaleParam<LinkProps["to"]>;
|
|
325
|
+
|
|
326
|
+
type CollapseDoubleSlashes<TString extends string> =
|
|
327
|
+
TString extends `${infer THead}//${infer TTail}`
|
|
328
|
+
? CollapseDoubleSlashes<`${THead}/${TTail}`>
|
|
329
|
+
: TString;
|
|
330
|
+
|
|
331
|
+
export type LocalizedLinkProps = Omit<LinkProps, "to"> & {
|
|
332
|
+
to?: To;
|
|
333
|
+
} & JSX.AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
334
|
+
|
|
335
|
+
type RemoveAll<
|
|
336
|
+
TString extends string,
|
|
337
|
+
TSub extends string,
|
|
338
|
+
McPherson,
|
|
339
|
+
> = TString extends `${infer THead}${TSub}${infer TTail}`
|
|
340
|
+
? RemoveAll<`${THead}${TTail}`, TSub>
|
|
341
|
+
: TString;
|
|
342
|
+
|
|
343
|
+
type RemoveLocaleFromString<TString extends string> = CollapseDoubleSlashes<
|
|
344
|
+
RemoveAll<TString, typeof LOCALE_ROUTE>
|
|
345
|
+
>;
|
|
346
|
+
|
|
347
|
+
export const LocalizedLink = (props: LocalizedLinkProps) => {
|
|
348
|
+
const { locale } = useLocale();
|
|
349
|
+
|
|
350
|
+
return (
|
|
351
|
+
<Link
|
|
352
|
+
{...props}
|
|
353
|
+
params={{
|
|
354
|
+
locale: getPrefix(locale()).localePrefix,
|
|
355
|
+
...(typeof props.params === "object" ? props.params : {}),
|
|
356
|
+
}}
|
|
357
|
+
to={`/${LOCALE_ROUTE}${props.to ?? ""}` as LinkProps["to"]}
|
|
358
|
+
/>
|
|
359
|
+
);
|
|
360
|
+
};
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Bu bileşen iki amaca hizmet eder:
|
|
364
|
+
|
|
365
|
+
- URL'den gereksiz `{-$locale}` önekini kaldırmak.
|
|
366
|
+
- Kullanıcının doğrudan yerelleştirilmiş rotaya yönlendirilmesini sağlamak için yerel ayar parametresini URL'ye enjekte etmek.
|
|
367
|
+
|
|
368
|
+
Ardından, programatik navigasyon için bir `useLocalizedNavigate` hook'u oluşturabiliriz:
|
|
369
|
+
|
|
370
|
+
```tsx fileName="src/hooks/useLocalizedNavigate.tsx"
|
|
371
|
+
import { useNavigate } from "@tanstack/solid-router";
|
|
372
|
+
import { getLocalizedUrl } from "intlayer";
|
|
373
|
+
import { useLocale } from "solid-intlayer";
|
|
374
|
+
|
|
375
|
+
export const useLocalizedNavigate = () => {
|
|
376
|
+
const navigate = useNavigate();
|
|
377
|
+
const { locale } = useLocale();
|
|
378
|
+
|
|
379
|
+
const localizedNavigate = (to: string) => {
|
|
380
|
+
const localizedTo = getLocalizedUrl(to, locale());
|
|
381
|
+
return navigate({ to: localizedTo });
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
return localizedNavigate;
|
|
385
|
+
};
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Adım 9: Sayfalarınızda Intlayer'ı Kullanın
|
|
389
|
+
|
|
390
|
+
Uygulamanız genelinde içerik sözlüklerinize erişin:
|
|
391
|
+
|
|
392
|
+
#### Yerelleştirilmiş Ana Sayfa
|
|
393
|
+
|
|
394
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
395
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
396
|
+
import { useIntlayer } from "solid-intlayer";
|
|
397
|
+
import { LocalizedLink } from "@/components/LocalizedLink";
|
|
398
|
+
|
|
399
|
+
export const Route = createFileRoute("/{-$locale}/")({
|
|
400
|
+
component: RouteComponent,
|
|
401
|
+
});
|
|
402
|
+
|
|
403
|
+
function RouteComponent() {
|
|
404
|
+
const content = useIntlayer("index-page");
|
|
405
|
+
|
|
406
|
+
return (
|
|
407
|
+
<main>
|
|
408
|
+
<h1>{content().heroTitle}</h1>
|
|
409
|
+
<p>{content().heroDesc}</p>
|
|
410
|
+
<div>
|
|
411
|
+
<LocalizedLink to="/">{content().navHome}</LocalizedLink>
|
|
412
|
+
<LocalizedLink to="/about">{content().navAbout}</LocalizedLink>
|
|
413
|
+
</div>
|
|
414
|
+
</main>
|
|
415
|
+
);
|
|
416
|
+
}
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
> [!NOTE]
|
|
420
|
+
> Solid'de, `useIntlayer` bir **accessor** fonksiyonu (ör: `content()`) döndürür. Reaktif içeriğe erişmek için bu fonksiyonu çağırmalısınız.
|
|
421
|
+
>
|
|
422
|
+
> `useIntlayer` hook'u hakkında daha fazla bilgi edinmek için [dokümantasyon](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/solid-intlayer/useIntlayer.md)a bakın.
|
|
423
|
+
|
|
424
|
+
### Adım 10: Yerel Ayar Değiştirici Bileşeni Oluşturma
|
|
425
|
+
|
|
426
|
+
Kullanıcıların dilleri değiştirmesine olanak tanıyan bir bileşen oluşturun:
|
|
427
|
+
|
|
428
|
+
```tsx fileName="src/components/LocaleSwitcher.tsx"
|
|
429
|
+
import { useLocation } from "@tanstack/solid-router";
|
|
430
|
+
import { getLocaleName, getPathWithoutLocale, getPrefix } from "intlayer";
|
|
431
|
+
import { For } from "solid-js";
|
|
432
|
+
import { useIntlayer, useLocale } from "solid-intlayer";
|
|
433
|
+
import { LocalizedLink, type To } from "./LocalizedLink";
|
|
434
|
+
|
|
435
|
+
export const LocaleSwitcher = () => {
|
|
436
|
+
const content = useIntlayer("locale-switcher");
|
|
437
|
+
const location = useLocation();
|
|
438
|
+
|
|
439
|
+
const { availableLocales, locale, setLocale } = useLocale();
|
|
440
|
+
|
|
441
|
+
const pathWithoutLocale = () => getPathWithoutLocale(location().pathname);
|
|
442
|
+
|
|
443
|
+
return (
|
|
444
|
+
<div class="flex flex-row gap-2">
|
|
445
|
+
<For each={availableLocales}>
|
|
446
|
+
{(localeEl) => (
|
|
447
|
+
<LocalizedLink
|
|
448
|
+
aria-current={localeEl === locale() ? "page" : undefined}
|
|
449
|
+
onClick={() => setLocale(localeEl)}
|
|
450
|
+
params={{ locale: getPrefix(localeEl).localePrefix }}
|
|
451
|
+
to={pathWithoutLocale() as To}
|
|
452
|
+
>
|
|
453
|
+
{getLocaleName(localeEl)}
|
|
454
|
+
</LocalizedLink>
|
|
455
|
+
)}
|
|
456
|
+
</For>
|
|
457
|
+
</div>
|
|
458
|
+
);
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
export default LocaleSwitcher;
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
> [!NOTE]
|
|
465
|
+
> Solid'de, `useLocale`dan gelen `locale` bir **signal accessor**'dur. Reaktif olarak geçerli değerini okumak için `locale()` (parantezli) kullanın.
|
|
466
|
+
>
|
|
467
|
+
> `useLocale` hook'u hakkında daha fazla bilgi edinmek için [dokümantasyon](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/solid-intlayer/useLocale.md)a bakın.
|
|
468
|
+
|
|
469
|
+
### Adım 11: HTML Özniteliklerinin Yönetimi
|
|
470
|
+
|
|
471
|
+
Adım 5'te görüldüğü gibi, kök bileşeninizde `useMatches` kullanarak `html` etiketinin `lang` ve `dir` özniteliklerini yönetebilirsiniz. Bu, hem sunucuda hem de istemcide doğru özniteliklerin ayarlanmasını sağlar.
|
|
472
|
+
|
|
473
|
+
```tsx fileName="src/routes/__root.tsx"
|
|
474
|
+
const RootComponent: ParentComponent = (props) => {
|
|
475
|
+
const matches = useMatches();
|
|
476
|
+
|
|
477
|
+
// Herhangi bir etkin eşleşmenin parametrelerinde yerel ayarı bulmaya çalışın
|
|
478
|
+
const locale =
|
|
479
|
+
(
|
|
480
|
+
matches().find((match) => match.routeId === "/{-$locale}/")
|
|
481
|
+
?.params as Params
|
|
482
|
+
)?.locale ?? defaultLocale;
|
|
483
|
+
|
|
484
|
+
return (
|
|
485
|
+
<html dir={getHTMLTextDir(locale)} lang={locale}>
|
|
486
|
+
{/* ... */}
|
|
487
|
+
</html>
|
|
488
|
+
);
|
|
489
|
+
};
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
### Adım 12: Ara Yazılım Ekleme (İsteğe Bağlı)
|
|
495
|
+
|
|
496
|
+
Uygulamanıza sunucu tarafı yönlendirmesi eklemek için `intlayerProxy`yi de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılayacak ve uygun yerel ayar çerezini ayarlayacaktır. Herhangi bir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dili tercihlerine göre en uygun yerel ayarı belirleyecektir. Hiçbir yerel ayar algılanmazsa varsayılan yerel ayara yönlendirecektir.
|
|
497
|
+
|
|
498
|
+
> Üretimde `intlayerProxy`yi kullanmak için `vite-intlayer` paketini `devDependencies`dan `dependencies`e taşımanız gerektiğini unutmayın.
|
|
499
|
+
|
|
500
|
+
```typescript {7,14-17} fileName="vite.config.ts"
|
|
501
|
+
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
502
|
+
import solid from "vite-plugin-solid";
|
|
503
|
+
import { nitro } from "nitro/vite";
|
|
504
|
+
import { defineConfig } from "vite";
|
|
505
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
506
|
+
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
507
|
+
|
|
508
|
+
export default defineConfig({
|
|
509
|
+
plugins: [
|
|
510
|
+
intlayerProxy(), // Nitro kullanıyorsanız Proxy sunucudan önce yerleştirilmelidir
|
|
511
|
+
nitro(),
|
|
512
|
+
viteTsConfigPaths({
|
|
513
|
+
projects: ["./tsconfig.json"],
|
|
514
|
+
}),
|
|
515
|
+
intlayer(),
|
|
516
|
+
tanstackStart({
|
|
517
|
+
router: {
|
|
518
|
+
routeFileIgnorePattern:
|
|
519
|
+
".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
|
|
520
|
+
},
|
|
521
|
+
}),
|
|
522
|
+
solid(),
|
|
523
|
+
],
|
|
524
|
+
});
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
### Adım 13: Meta Verilerinizi Uluslararasılaştırın (İsteğe Bağlı)
|
|
530
|
+
|
|
531
|
+
Yerel ayara duyarlı meta veriler için `head` yükleyicisi içindeki içerik sözlüklerinize erişmek için `getIntlayer` fonksiyonunu da kullanabilirsiniz:
|
|
532
|
+
|
|
533
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
534
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
535
|
+
import { getIntlayer } from "intlayer";
|
|
536
|
+
|
|
537
|
+
export const Route = createFileRoute("/{-$locale}/")({
|
|
538
|
+
component: RouteComponent,
|
|
539
|
+
head: ({ params }) => {
|
|
540
|
+
const { locale } = params;
|
|
541
|
+
const metaContent = getIntlayer("page-metadata", locale);
|
|
542
|
+
|
|
543
|
+
return {
|
|
544
|
+
meta: [
|
|
545
|
+
{ title: metaContent.title },
|
|
546
|
+
{ content: metaContent.description, name: "description" },
|
|
547
|
+
],
|
|
548
|
+
};
|
|
549
|
+
},
|
|
550
|
+
});
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
### Adım 14: Sunucu aksiyonlarınızda yerel ayarı alın (İsteğe Bağlı)
|
|
556
|
+
|
|
557
|
+
Sunucu aksiyonlarınızın veya API uç noktalarınızın içinden geçerli yerel ayara erişmek isteyebilirsiniz.
|
|
558
|
+
Bunu `intlayer`dan `getLocale` yardımcısını kullanarak yapabilirsiniz.
|
|
559
|
+
|
|
560
|
+
İşte TanStack Start'ın sunucu fonksiyonlarını kullanan bir örnek:
|
|
561
|
+
|
|
562
|
+
```tsx fileName="src/routes/{-$locale}/index.tsx"
|
|
563
|
+
import { createServerFn } from "@tanstack/solid-start";
|
|
564
|
+
import {
|
|
565
|
+
getRequestHeader,
|
|
566
|
+
getRequestHeaders,
|
|
567
|
+
} from "@tanstack/solid-start/server";
|
|
568
|
+
import { getCookie, getIntlayer, getLocale } from "intlayer";
|
|
569
|
+
|
|
570
|
+
export const getLocaleServer = createServerFn().handler(async () => {
|
|
571
|
+
const locale = await getLocale({
|
|
572
|
+
// İstekten çerezi al (varsayılan: 'INTLAYER_LOCALE')
|
|
573
|
+
getCookie: (name) => {
|
|
574
|
+
const cookieString = getRequestHeader("cookie");
|
|
575
|
+
|
|
576
|
+
return getCookie(name, cookieString);
|
|
577
|
+
},
|
|
578
|
+
// İstekten başlığı al (varsayılan: 'x-intlayer-locale')
|
|
579
|
+
// Accept-Language anlaşması kullanılarak geri dönüş (fallback)
|
|
580
|
+
getHeader: (name) => getRequestHeader(name),
|
|
581
|
+
});
|
|
582
|
+
|
|
583
|
+
// getIntlayer() ile alınan bazı içerikler
|
|
584
|
+
const content = getIntlayer("app", locale);
|
|
585
|
+
|
|
586
|
+
return { locale, content };
|
|
587
|
+
});
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
---
|
|
591
|
+
|
|
592
|
+
### Adım 15: Bulunamayan sayfaları yönetme (İsteğe Bağlı)
|
|
593
|
+
|
|
594
|
+
Bir kullanıcı var olmayan bir sayfayı ziyaret ettiğinde, özel bir bulunamadı sayfası görüntüleyebilirsiniz ve yerel ayar öneki bulunamadı sayfasının tetiklenme şeklini etkileyebilir.
|
|
595
|
+
|
|
596
|
+
#### TanStack Router'ın yerel ayar önekleriyle 404 işlemesini anlama
|
|
597
|
+
|
|
598
|
+
TanStack Router'da, yerelleştirilmiş rotalarla 404 sayfalarını işlemek çok katmanlı bir yaklaşım gerektirir:
|
|
599
|
+
|
|
600
|
+
1. **Özel 404 rotası**: 404 kullanıcı arabirimini görüntülemek için belirli bir rota
|
|
601
|
+
2. **Rota düzeyinde doğrulama**: Yerel ayar öneklerini doğrular ve geçersiz olanları 404'e yönlendirir
|
|
602
|
+
3. **Catch-all rotası**: Yerel ayar segmentindeki eşleşmeyen tüm yolları yakalar
|
|
603
|
+
|
|
604
|
+
```tsx fileName="src/routes/{-$locale}/404.tsx"
|
|
605
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
606
|
+
|
|
607
|
+
// Bu, özel bir /[locale]/404 rotası oluşturur
|
|
608
|
+
// Hem doğrudan bir rota olarak kullanılır hem de diğer dosyalarda bir bileşen olarak içe aktarılır
|
|
609
|
+
export const Route = createFileRoute("/{-$locale}/404")({
|
|
610
|
+
component: NotFoundComponent,
|
|
611
|
+
});
|
|
612
|
+
|
|
613
|
+
// notFoundComponent ve catch-all rotalarında yeniden kullanılabilmesi için ayrı olarak dışa aktarıldı
|
|
614
|
+
export function NotFoundComponent() {
|
|
615
|
+
return (
|
|
616
|
+
<div>
|
|
617
|
+
<h1>404</h1>
|
|
618
|
+
</div>
|
|
619
|
+
);
|
|
620
|
+
}
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
```tsx fileName="src/routes/{-$locale}/route.tsx"
|
|
624
|
+
import { createFileRoute, Outlet, redirect } from "@tanstack/solid-router";
|
|
625
|
+
import { validatePrefix } from "intlayer";
|
|
626
|
+
import { NotFoundComponent } from "./404";
|
|
627
|
+
|
|
628
|
+
export const Route = createFileRoute("/{-$locale}")({
|
|
629
|
+
// beforeLoad, rota işlenmeden (render) önce çalışır (hem sunucu hem istemci)
|
|
630
|
+
// Yerel ayar önekini doğrulamak için ideal yerdir
|
|
631
|
+
beforeLoad: ({ params }) => {
|
|
632
|
+
const localeParam = params.locale;
|
|
633
|
+
|
|
634
|
+
// validatePrefix, yerel ayarın intlayer yapılandırmanıza göre geçerli olup olmadığını kontrol eder
|
|
635
|
+
const { isValid, localePrefix } = validatePrefix(localeParam);
|
|
636
|
+
|
|
637
|
+
if (!isValid) {
|
|
638
|
+
// Geçersiz yerel ayar öneki - geçerli bir yerel ayar önekiyle 404 sayfasına yönlendir
|
|
639
|
+
throw redirect({
|
|
640
|
+
to: "/{-$locale}/404",
|
|
641
|
+
params: { locale: localePrefix },
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
component: Outlet,
|
|
646
|
+
// notFoundComponent, bir alt rota mevcut olmadığında çağrılır
|
|
647
|
+
// ör: /en/var-olmayan-sayfa /en düzeni içinde bunu tetikler
|
|
648
|
+
notFoundComponent: NotFoundComponent,
|
|
649
|
+
});
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
```tsx fileName="src/routes/{-$locale}/$.tsx"
|
|
653
|
+
import { createFileRoute } from "@tanstack/solid-router";
|
|
654
|
+
|
|
655
|
+
import { NotFoundComponent } from "./404";
|
|
656
|
+
|
|
657
|
+
// $ (splat/catch-all) rotası, diğer rotalarla eşleşmeyen tüm yollarla eşleşir
|
|
658
|
+
// ör: /en/derin/ic-ice/gecersiz/yol
|
|
659
|
+
// Bu, bir yerel ayar içindeki TÜM eşleşmeyen yolların 404 sayfasını göstermesini sağlar
|
|
660
|
+
// Bu olmadan, derin eşleşmeyen yollar boş bir sayfa veya hata gösterebilir
|
|
661
|
+
export const Route = createFileRoute("/{-$locale}/$")({
|
|
662
|
+
component: NotFoundComponent,
|
|
663
|
+
});
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
### (İsteğe Bağlı) Adım 16: Bileşenlerinizden içeriği çıkartın
|
|
667
|
+
|
|
668
|
+
Mevcut bir kod tabanınız varsa, binlerce dosyayı dönüştürmek zaman alıcı olabilir.
|
|
669
|
+
|
|
670
|
+
Bu süreci kolaylaştırmak için Intlayer, bileşenlerinizi dönüştürmek ve içeriği çıkartmak için bir [derleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/compiler.md) / [çıkartıcı](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/extract.md) önerir.
|
|
671
|
+
|
|
672
|
+
Kurulumu yapmak için `intlayer.config.ts` dosyanıza bir `compiler` bölümü ekleyebilirsiniz:
|
|
673
|
+
|
|
674
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
675
|
+
import { type IntlayerConfig } from "intlayer";
|
|
676
|
+
|
|
677
|
+
const config: IntlayerConfig = {
|
|
678
|
+
// ... Yapılandırmanızın geri kalanı
|
|
679
|
+
compiler: {
|
|
680
|
+
/**
|
|
681
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
682
|
+
*/
|
|
683
|
+
enabled: true,
|
|
684
|
+
|
|
685
|
+
/**
|
|
686
|
+
* Çıkış dosyaları yolunu tanımlar
|
|
687
|
+
*/
|
|
688
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* Dönüştürüldükten sonra bileşenlerin kaydedilip kaydedilmeyeceğini belirtir.
|
|
692
|
+
*
|
|
693
|
+
* - `true` ise, derleyici diskteki bileşen dosyasını yeniden yazacaktır. Böylece dönüşüm kalıcı olacak ve derleyici bir sonraki işlem için dönüşümü atlayacaktır. Bu şekilde, derleyici uygulamayı dönüştürebilir ve ardından kaldırılabilir.
|
|
694
|
+
*
|
|
695
|
+
* - `false` ise, derleyici `useIntlayer()` fonksiyon çağrısını yalnızca derleme çıktısındaki koda enjekte ederek temel kod tabanını olduğu gibi tutacaktır. Dönüşüm yalnızca bellekte yapılacaktır.
|
|
696
|
+
*/
|
|
697
|
+
saveComponents: false,
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* Sözlük anahtarı öneki
|
|
701
|
+
*/
|
|
702
|
+
dictionaryKeyPrefix: "",
|
|
703
|
+
},
|
|
704
|
+
};
|
|
705
|
+
|
|
706
|
+
export default config;
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
710
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
711
|
+
const config = {
|
|
712
|
+
// ... Yapılandırmanızın geri kalanı
|
|
713
|
+
compiler: {
|
|
714
|
+
/**
|
|
715
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
716
|
+
*/
|
|
717
|
+
enabled: true,
|
|
718
|
+
|
|
719
|
+
/**
|
|
720
|
+
* Çıkış dosyaları yolunu tanımlar
|
|
721
|
+
*/
|
|
722
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
723
|
+
|
|
724
|
+
/**
|
|
725
|
+
* Dönüştürüldükten after after components recorded indicate whether.
|
|
726
|
+
*
|
|
727
|
+
* - `true` ise, derleyici diskteki bileşen dosyasını yeniden yazacaktır. Böylece dönüşüm kalıcı olacak ve derleyici bir sonraki işlem için dönüşümü atlayacaktır. Bu şekilde, derleyici uygulamayı dönüştürebilir ve ardından kaldırılabilir.
|
|
728
|
+
*
|
|
729
|
+
* - `false` ise, derleyici `useIntlayer()` fonksiyon çağrısını yalnızca derleme çıktısındaki koda enjekte ederek temel kod tabanını olduğu gibi tutacaktır. Dönüşüm yalnızca bellekte yapılacaktır.
|
|
730
|
+
*/
|
|
731
|
+
saveComponents: false,
|
|
732
|
+
|
|
733
|
+
/**
|
|
734
|
+
* Sözlük anahtarı öneki
|
|
735
|
+
*/
|
|
736
|
+
dictionaryKeyPrefix: "",
|
|
737
|
+
},
|
|
738
|
+
};
|
|
739
|
+
|
|
740
|
+
export default config;
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
744
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
745
|
+
const config = {
|
|
746
|
+
// ... Yapılandırmanızın geri kalanı
|
|
747
|
+
compiler: {
|
|
748
|
+
/**
|
|
749
|
+
* Derleyicinin etkinleştirilip etkinleştirilmeyeceğini belirtir.
|
|
750
|
+
*/
|
|
751
|
+
enabled: true,
|
|
752
|
+
|
|
753
|
+
/**
|
|
754
|
+
* Çıkış dosyaları yolunu tanımlar
|
|
755
|
+
*/
|
|
756
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* Dönüştürüldükten after after components recorded indicate whether.
|
|
760
|
+
*
|
|
761
|
+
* - `true` ise, derleyici diskteki bileşen dosyasını yeniden yazacaktır. Böylece dönüşüm kalıcı olacak ve derleyici bir sonraki işlem için dönüşümü atlayacaktır. Bu şekilde, derleyici uygulamayı dönüştürebilir ve ardından kaldırılabilir.
|
|
762
|
+
*
|
|
763
|
+
* - `false` ise, derleyici `useIntlayer()` fonksiyon çağrısını yalnızca derleme çıktısındaki koda enjekte ederek temel kod tabanını olduğu gibi tutacaktır. Dönüşüm yalnızca bellekte yapılacaktır.
|
|
764
|
+
*/
|
|
765
|
+
saveComponents: false,
|
|
766
|
+
|
|
767
|
+
/**
|
|
768
|
+
* Sözlük anahtarı öneki
|
|
769
|
+
*/
|
|
770
|
+
dictionaryKeyPrefix: "",
|
|
771
|
+
},
|
|
772
|
+
};
|
|
773
|
+
|
|
774
|
+
module.exports = config;
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
<Tabs>
|
|
778
|
+
<Tab value='Extract komutu'>
|
|
779
|
+
|
|
780
|
+
Bileşenlerinizi dönüştürmek ve içeriği çıkartmak için çıkartıcıyı çalıştırın
|
|
781
|
+
|
|
782
|
+
```bash packageManager="npm"
|
|
783
|
+
npx intlayer extract
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
```bash packageManager="pnpm"
|
|
787
|
+
pnpm intlayer extract
|
|
788
|
+
```
|
|
789
|
+
|
|
790
|
+
```bash packageManager="yarn"
|
|
791
|
+
yarn intlayer extract
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
```bash packageManager="bun"
|
|
795
|
+
bun x intlayer extract
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
</Tab>
|
|
799
|
+
<Tab value='Babel derleyicisi'>
|
|
800
|
+
|
|
801
|
+
`intlayerCompiler` eklentisini dahil etmek için `vite.config.ts` dosyanızı güncelleyin:
|
|
802
|
+
|
|
803
|
+
```ts fileName="vite.config.ts"
|
|
804
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
805
|
+
import { defineConfig } from "vite";
|
|
806
|
+
import { devtools } from "@tanstack/devtools-vite";
|
|
807
|
+
import viteTsConfigPaths from "vite-tsconfig-paths";
|
|
808
|
+
import { tanstackStart } from "@tanstack/solid-start/plugin/vite";
|
|
809
|
+
import solidPlugin from "vite-plugin-solid";
|
|
810
|
+
|
|
811
|
+
export default defineConfig({
|
|
812
|
+
plugins: [
|
|
813
|
+
devtools(),
|
|
814
|
+
viteTsConfigPaths({
|
|
815
|
+
projects: ["./tsconfig.json"],
|
|
816
|
+
}),
|
|
817
|
+
tanstackStart({
|
|
818
|
+
router: {
|
|
819
|
+
routeFileIgnorePattern:
|
|
820
|
+
".content.(ts|tsx|js|mjs|cjs|jsx|json|jsonc|json5)$",
|
|
821
|
+
},
|
|
822
|
+
}),
|
|
823
|
+
solidPlugin({ ssr: true }),
|
|
824
|
+
intlayer(),
|
|
825
|
+
intlayerCompiler(),
|
|
826
|
+
],
|
|
827
|
+
});
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
```bash packageManager="npm"
|
|
831
|
+
npm run build # veya npm run dev
|
|
832
|
+
```
|
|
833
|
+
|
|
834
|
+
```bash packageManager="pnpm"
|
|
835
|
+
pnpm run build # veya pnpm run dev
|
|
836
|
+
```
|
|
837
|
+
|
|
838
|
+
```bash packageManager="yarn"
|
|
839
|
+
yarn build # veya yarn dev
|
|
840
|
+
```
|
|
841
|
+
|
|
842
|
+
```bash packageManager="bun"
|
|
843
|
+
bun run build # veya bun run dev
|
|
844
|
+
```
|
|
845
|
+
|
|
846
|
+
</Tab>
|
|
847
|
+
</Tabs>
|
|
848
|
+
|
|
849
|
+
---
|
|
850
|
+
|
|
851
|
+
### Adım 17: TypeScript'i Yapılandırın (İsteğe Bağlı)
|
|
852
|
+
|
|
853
|
+
Intlayer, TypeScript'in avantajlarından yararlanmak ve kod tabanınızı daha güçlü hale getirmek için modül genişletme (module augmentation) kullanır.
|
|
854
|
+
|
|
855
|
+
TypeScript yapılandırmanızın otomatik olarak oluşturulan türleri içerdiğinden emin olun:
|
|
856
|
+
|
|
857
|
+
```json5 fileName="tsconfig.json"
|
|
858
|
+
{
|
|
859
|
+
// ... mevcut ayarlarınız
|
|
860
|
+
include: [
|
|
861
|
+
// ... mevcut içerikleriniz (includes)
|
|
862
|
+
".intlayer/**/*.ts", // Otomatik olarak oluşturulan türleri dahil edin
|
|
863
|
+
],
|
|
864
|
+
}
|
|
865
|
+
```
|
|
866
|
+
|
|
867
|
+
---
|
|
868
|
+
|
|
869
|
+
### Git Yapılandırması
|
|
870
|
+
|
|
871
|
+
Intlayer tarafından oluşturulan dosyaların yoksayılması önerilir. Bu, bunları Git deponuza göndermenizi engeller.
|
|
872
|
+
|
|
873
|
+
Bunu yapmak için `.gitignore` dosyanıza aşağıdaki talimatları ekleyebilirsiniz:
|
|
874
|
+
|
|
875
|
+
```plaintext fileName=".gitignore"
|
|
876
|
+
# Intlayer tarafından oluşturulan dosyaları yoksay
|
|
877
|
+
.intlayer
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
---
|
|
881
|
+
|
|
882
|
+
## VS Code Uzantısı
|
|
883
|
+
|
|
884
|
+
Intlayer ile geliştirme deneyiminizi iyileştirmek için resmi **Intlayer VS Code Uzantısı**nı yükleyebilirsiniz.
|
|
885
|
+
|
|
886
|
+
[VS Code Marketplace'ten Yükle](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
887
|
+
|
|
888
|
+
Bu uzantı şunları sunar:
|
|
889
|
+
|
|
890
|
+
- Çeviri anahtarları için **Otomatik Tamamlama**.
|
|
891
|
+
- Eksik çeviriler için **Gerçek zamanlı hata tespiti**.
|
|
892
|
+
- Çevrilmiş içeriğin **Satır içi önizlemeleri**.
|
|
893
|
+
- Çevirileri kolayca oluşturmak ve güncellemek için **Hızlı eylemler**.
|
|
894
|
+
|
|
895
|
+
Uzantının nasıl kullanılacağı hakkında daha fazla ayrıntı için [Intlayer VS Code Uzantısı dokümantasyonu](https://intlayer.org/doc/vs-code-extension)na bakın.
|
|
896
|
+
|
|
897
|
+
---
|
|
898
|
+
|
|
899
|
+
## Daha İleri Gitmek
|
|
900
|
+
|
|
901
|
+
Daha ileri gitmek için [görsel düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_visual_editor.md)yi uygulayabilir veya [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md) kullanarak içeriğinizi dışsallaştırabilirsiniz.
|
|
902
|
+
|
|
903
|
+
---
|
|
904
|
+
|
|
905
|
+
## Dokümantasyon Referansları
|
|
906
|
+
|
|
907
|
+
- [Intlayer Dokümantasyonu](https://intlayer.org)
|
|
908
|
+
- [Tanstack Start Dokümantasyonu](https://tanstack.com/start/latest)
|
|
909
|
+
- [useIntlayer hook'u](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/solid-intlayer/useIntlayer.md)
|
|
910
|
+
- [useLocale hook'u](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/solid-intlayer/useLocale.md)
|
|
911
|
+
- [İçerik Bildirimi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md)
|
|
912
|
+
- [Yapılandırma](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md)
|