@intlayer/docs 9.5.4 → 9.5.5
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 +2 -1
- package/blog/ar/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ar/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/de/how_to_pick_react_i18n_library.md +28 -0
- package/blog/de/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/en/how_to_pick_react_i18n_library.md +28 -0
- package/blog/en/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/en-GB/how_to_pick_react_i18n_library.md +28 -0
- package/blog/en-GB/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/es/how_to_pick_react_i18n_library.md +28 -0
- package/blog/es/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/fr/how_to_pick_react_i18n_library.md +28 -0
- package/blog/fr/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/hi/how_to_pick_react_i18n_library.md +28 -0
- package/blog/hi/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/id/how_to_pick_react_i18n_library.md +28 -0
- package/blog/id/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/it/how_to_pick_react_i18n_library.md +28 -0
- package/blog/it/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ja/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ja/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ko/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ko/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/pl/how_to_pick_react_i18n_library.md +28 -0
- package/blog/pl/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/pt/how_to_pick_react_i18n_library.md +28 -0
- package/blog/pt/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/ru/how_to_pick_react_i18n_library.md +28 -0
- package/blog/ru/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/tr/how_to_pick_react_i18n_library.md +28 -0
- package/blog/tr/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/uk/how_to_pick_react_i18n_library.md +28 -0
- package/blog/uk/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/vi/how_to_pick_react_i18n_library.md +28 -0
- package/blog/vi/how_to_pick_solid_i18n_library.md +19 -5
- package/blog/zh/how_to_pick_react_i18n_library.md +28 -0
- package/blog/zh/how_to_pick_solid_i18n_library.md +19 -5
- package/dist/cjs/generated/docs.entry.cjs +220 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +220 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +11 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/how_works_intlayer.md +86 -14
- package/docs/ar/intlayer_visual_editor.md +7 -0
- package/docs/ar/intlayer_with_astro.md +60 -36
- package/docs/ar/intlayer_with_astro_preact.md +7 -0
- package/docs/ar/intlayer_with_astro_react.md +7 -0
- package/docs/ar/intlayer_with_astro_solid.md +7 -0
- package/docs/ar/intlayer_with_astro_svelte.md +7 -0
- package/docs/ar/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ar/intlayer_with_astro_vue.md +7 -0
- package/docs/ar/intlayer_with_nextjs_14.md +7 -0
- package/docs/ar/intlayer_with_nextjs_15.md +7 -0
- package/docs/ar/intlayer_with_nextjs_16.md +7 -0
- package/docs/ar/intlayer_with_react_router_v7.md +7 -0
- package/docs/ar/intlayer_with_remix_3.md +73 -112
- package/docs/ar/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ar/intlayer_with_tanstack.md +7 -0
- package/docs/ar/intlayer_with_vite+preact.md +7 -0
- package/docs/ar/intlayer_with_vite+react.md +7 -0
- package/docs/ar/intlayer_with_vite+solid.md +7 -0
- package/docs/ar/packages/astro-intlayer/exports.md +161 -9
- package/docs/ar/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ar/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ar/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ar/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ar/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ar/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ar/packages/remix-intlayer/exports.md +80 -0
- package/docs/ar/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ar/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ar/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ar/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ar/readme.md +2 -1
- package/docs/de/how_works_intlayer.md +86 -14
- package/docs/de/intlayer_visual_editor.md +7 -0
- package/docs/de/intlayer_with_astro.md +60 -36
- package/docs/de/intlayer_with_astro_preact.md +7 -0
- package/docs/de/intlayer_with_astro_react.md +7 -0
- package/docs/de/intlayer_with_astro_solid.md +7 -0
- package/docs/de/intlayer_with_astro_svelte.md +7 -0
- package/docs/de/intlayer_with_astro_vanilla.md +7 -0
- package/docs/de/intlayer_with_astro_vue.md +7 -0
- package/docs/de/intlayer_with_nextjs_14.md +7 -0
- package/docs/de/intlayer_with_nextjs_15.md +7 -0
- package/docs/de/intlayer_with_nextjs_16.md +7 -0
- package/docs/de/intlayer_with_react_router_v7.md +7 -0
- package/docs/de/intlayer_with_remix_3.md +70 -109
- package/docs/de/intlayer_with_tanstack+solid.md +7 -0
- package/docs/de/intlayer_with_tanstack.md +7 -0
- package/docs/de/intlayer_with_vite+preact.md +7 -0
- package/docs/de/intlayer_with_vite+react.md +7 -0
- package/docs/de/intlayer_with_vite+solid.md +7 -0
- package/docs/de/packages/astro-intlayer/exports.md +164 -12
- package/docs/de/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/de/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/de/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/de/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/de/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/de/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/de/packages/remix-intlayer/exports.md +176 -0
- package/docs/de/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/de/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/de/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/de/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/de/readme.md +2 -1
- package/docs/en/how_works_intlayer.md +86 -14
- package/docs/en/intlayer_visual_editor.md +7 -0
- package/docs/en/intlayer_with_astro.md +63 -41
- package/docs/en/intlayer_with_astro_preact.md +7 -0
- package/docs/en/intlayer_with_astro_react.md +7 -0
- package/docs/en/intlayer_with_astro_solid.md +7 -0
- package/docs/en/intlayer_with_astro_svelte.md +7 -0
- package/docs/en/intlayer_with_astro_vanilla.md +7 -0
- package/docs/en/intlayer_with_astro_vue.md +7 -0
- package/docs/en/intlayer_with_nextjs_14.md +7 -0
- package/docs/en/intlayer_with_nextjs_15.md +7 -0
- package/docs/en/intlayer_with_nextjs_16.md +7 -0
- package/docs/en/intlayer_with_react_router_v7.md +7 -0
- package/docs/en/intlayer_with_remix_3.md +74 -122
- package/docs/en/intlayer_with_tanstack+solid.md +7 -0
- package/docs/en/intlayer_with_tanstack.md +7 -0
- package/docs/en/intlayer_with_vite+preact.md +7 -0
- package/docs/en/intlayer_with_vite+react.md +7 -0
- package/docs/en/intlayer_with_vite+solid.md +7 -0
- package/docs/en/introduction.md +2 -1
- package/docs/en/packages/astro-intlayer/exports.md +161 -9
- package/docs/en/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/en/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/en/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/en/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/en/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/en/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/en/packages/remix-intlayer/exports.md +176 -0
- package/docs/en/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/en/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/en/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/en/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/en/readme.md +2 -1
- package/docs/en-GB/how_works_intlayer.md +86 -14
- package/docs/en-GB/intlayer_visual_editor.md +7 -0
- package/docs/en-GB/intlayer_with_astro.md +60 -36
- package/docs/en-GB/intlayer_with_astro_preact.md +7 -0
- package/docs/en-GB/intlayer_with_astro_react.md +7 -0
- package/docs/en-GB/intlayer_with_astro_solid.md +7 -0
- package/docs/en-GB/intlayer_with_astro_svelte.md +7 -0
- package/docs/en-GB/intlayer_with_astro_vanilla.md +7 -0
- package/docs/en-GB/intlayer_with_astro_vue.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_14.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +7 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +7 -0
- package/docs/en-GB/intlayer_with_react_router_v7.md +7 -0
- package/docs/en-GB/intlayer_with_remix_3.md +66 -105
- package/docs/en-GB/intlayer_with_tanstack+solid.md +7 -0
- package/docs/en-GB/intlayer_with_tanstack.md +7 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -0
- package/docs/en-GB/intlayer_with_vite+react.md +7 -0
- package/docs/en-GB/intlayer_with_vite+solid.md +7 -0
- package/docs/en-GB/packages/astro-intlayer/exports.md +162 -10
- package/docs/en-GB/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/en-GB/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/en-GB/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/en-GB/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/en-GB/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/en-GB/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/en-GB/packages/remix-intlayer/exports.md +176 -0
- package/docs/en-GB/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/en-GB/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/en-GB/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/en-GB/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/en-GB/readme.md +2 -1
- package/docs/es/how_works_intlayer.md +86 -14
- package/docs/es/intlayer_visual_editor.md +7 -0
- package/docs/es/intlayer_with_astro.md +60 -36
- package/docs/es/intlayer_with_astro_preact.md +7 -0
- package/docs/es/intlayer_with_astro_react.md +7 -0
- package/docs/es/intlayer_with_astro_solid.md +7 -0
- package/docs/es/intlayer_with_astro_svelte.md +7 -0
- package/docs/es/intlayer_with_astro_vanilla.md +7 -0
- package/docs/es/intlayer_with_astro_vue.md +7 -0
- package/docs/es/intlayer_with_nextjs_14.md +7 -0
- package/docs/es/intlayer_with_nextjs_15.md +7 -0
- package/docs/es/intlayer_with_nextjs_16.md +7 -0
- package/docs/es/intlayer_with_react_router_v7.md +7 -0
- package/docs/es/intlayer_with_remix_3.md +73 -112
- package/docs/es/intlayer_with_tanstack+solid.md +7 -0
- package/docs/es/intlayer_with_tanstack.md +7 -0
- package/docs/es/intlayer_with_vite+preact.md +7 -0
- package/docs/es/intlayer_with_vite+react.md +7 -0
- package/docs/es/intlayer_with_vite+solid.md +7 -0
- package/docs/es/packages/astro-intlayer/exports.md +162 -10
- package/docs/es/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/es/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/es/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/es/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/es/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/es/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/es/packages/remix-intlayer/exports.md +176 -0
- package/docs/es/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/es/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/es/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/es/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/es/readme.md +2 -1
- package/docs/fr/how_works_intlayer.md +86 -14
- package/docs/fr/intlayer_visual_editor.md +7 -0
- package/docs/fr/intlayer_with_astro.md +60 -36
- package/docs/fr/intlayer_with_astro_preact.md +7 -0
- package/docs/fr/intlayer_with_astro_react.md +7 -0
- package/docs/fr/intlayer_with_astro_solid.md +7 -0
- package/docs/fr/intlayer_with_astro_svelte.md +7 -0
- package/docs/fr/intlayer_with_astro_vanilla.md +7 -0
- package/docs/fr/intlayer_with_astro_vue.md +7 -0
- package/docs/fr/intlayer_with_nextjs_14.md +7 -0
- package/docs/fr/intlayer_with_nextjs_15.md +7 -0
- package/docs/fr/intlayer_with_nextjs_16.md +7 -0
- package/docs/fr/intlayer_with_react_router_v7.md +7 -0
- package/docs/fr/intlayer_with_remix_3.md +74 -122
- package/docs/fr/intlayer_with_tanstack+solid.md +7 -0
- package/docs/fr/intlayer_with_tanstack.md +7 -0
- package/docs/fr/intlayer_with_vite+preact.md +7 -0
- package/docs/fr/intlayer_with_vite+react.md +7 -0
- package/docs/fr/intlayer_with_vite+solid.md +7 -0
- package/docs/fr/packages/astro-intlayer/exports.md +162 -10
- package/docs/fr/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/fr/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/fr/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/fr/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/fr/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/fr/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/fr/packages/remix-intlayer/exports.md +176 -0
- package/docs/fr/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/fr/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/fr/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/fr/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/fr/readme.md +2 -1
- package/docs/hi/how_works_intlayer.md +86 -14
- package/docs/hi/intlayer_visual_editor.md +7 -0
- package/docs/hi/intlayer_with_astro.md +61 -37
- package/docs/hi/intlayer_with_astro_preact.md +7 -0
- package/docs/hi/intlayer_with_astro_react.md +7 -0
- package/docs/hi/intlayer_with_astro_solid.md +7 -0
- package/docs/hi/intlayer_with_astro_svelte.md +7 -0
- package/docs/hi/intlayer_with_astro_vanilla.md +7 -0
- package/docs/hi/intlayer_with_astro_vue.md +7 -0
- package/docs/hi/intlayer_with_nextjs_14.md +7 -0
- package/docs/hi/intlayer_with_nextjs_15.md +7 -0
- package/docs/hi/intlayer_with_nextjs_16.md +7 -0
- package/docs/hi/intlayer_with_react_router_v7.md +7 -0
- package/docs/hi/intlayer_with_remix_3.md +73 -112
- package/docs/hi/intlayer_with_tanstack+solid.md +7 -0
- package/docs/hi/intlayer_with_tanstack.md +7 -0
- package/docs/hi/intlayer_with_vite+preact.md +7 -0
- package/docs/hi/intlayer_with_vite+react.md +7 -0
- package/docs/hi/intlayer_with_vite+solid.md +7 -0
- package/docs/hi/packages/astro-intlayer/exports.md +165 -13
- package/docs/hi/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/hi/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/hi/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/hi/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/hi/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/hi/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/hi/packages/remix-intlayer/exports.md +80 -0
- package/docs/hi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/hi/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/hi/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/hi/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/hi/readme.md +2 -1
- package/docs/id/how_works_intlayer.md +86 -14
- package/docs/id/intlayer_visual_editor.md +7 -0
- package/docs/id/intlayer_with_astro.md +60 -36
- package/docs/id/intlayer_with_astro_preact.md +7 -0
- package/docs/id/intlayer_with_astro_react.md +7 -0
- package/docs/id/intlayer_with_astro_solid.md +7 -0
- package/docs/id/intlayer_with_astro_svelte.md +7 -0
- package/docs/id/intlayer_with_astro_vanilla.md +7 -0
- package/docs/id/intlayer_with_astro_vue.md +7 -0
- package/docs/id/intlayer_with_nextjs_14.md +7 -0
- package/docs/id/intlayer_with_nextjs_15.md +7 -0
- package/docs/id/intlayer_with_nextjs_16.md +7 -0
- package/docs/id/intlayer_with_react_router_v7.md +7 -0
- package/docs/id/intlayer_with_remix_3.md +101 -148
- package/docs/id/intlayer_with_tanstack+solid.md +7 -0
- package/docs/id/intlayer_with_tanstack.md +7 -0
- package/docs/id/intlayer_with_vite+preact.md +7 -0
- package/docs/id/intlayer_with_vite+react.md +7 -0
- package/docs/id/intlayer_with_vite+solid.md +7 -0
- package/docs/id/packages/astro-intlayer/exports.md +163 -11
- package/docs/id/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/id/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/id/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/id/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/id/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/id/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/id/packages/remix-intlayer/exports.md +80 -0
- package/docs/id/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/id/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/id/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/id/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/id/readme.md +2 -1
- package/docs/it/how_works_intlayer.md +86 -14
- package/docs/it/intlayer_visual_editor.md +7 -0
- package/docs/it/intlayer_with_astro.md +60 -36
- package/docs/it/intlayer_with_astro_preact.md +7 -0
- package/docs/it/intlayer_with_astro_react.md +7 -0
- package/docs/it/intlayer_with_astro_solid.md +7 -0
- package/docs/it/intlayer_with_astro_svelte.md +7 -0
- package/docs/it/intlayer_with_astro_vanilla.md +7 -0
- package/docs/it/intlayer_with_astro_vue.md +7 -0
- package/docs/it/intlayer_with_nextjs_14.md +7 -0
- package/docs/it/intlayer_with_nextjs_15.md +7 -0
- package/docs/it/intlayer_with_nextjs_16.md +7 -0
- package/docs/it/intlayer_with_react_router_v7.md +7 -0
- package/docs/it/intlayer_with_remix_3.md +70 -109
- package/docs/it/intlayer_with_tanstack+solid.md +7 -0
- package/docs/it/intlayer_with_tanstack.md +7 -0
- package/docs/it/intlayer_with_vite+preact.md +7 -0
- package/docs/it/intlayer_with_vite+react.md +7 -0
- package/docs/it/intlayer_with_vite+solid.md +7 -0
- package/docs/it/packages/astro-intlayer/exports.md +161 -9
- package/docs/it/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/it/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/it/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/it/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/it/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/it/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/it/packages/remix-intlayer/exports.md +176 -0
- package/docs/it/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/it/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/it/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/it/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/it/readme.md +2 -1
- package/docs/ja/how_works_intlayer.md +86 -14
- package/docs/ja/intlayer_visual_editor.md +7 -0
- package/docs/ja/intlayer_with_astro.md +61 -37
- package/docs/ja/intlayer_with_astro_preact.md +7 -0
- package/docs/ja/intlayer_with_astro_react.md +7 -0
- package/docs/ja/intlayer_with_astro_solid.md +7 -0
- package/docs/ja/intlayer_with_astro_svelte.md +7 -0
- package/docs/ja/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ja/intlayer_with_astro_vue.md +7 -0
- package/docs/ja/intlayer_with_nextjs_14.md +7 -0
- package/docs/ja/intlayer_with_nextjs_15.md +7 -0
- package/docs/ja/intlayer_with_nextjs_16.md +7 -0
- package/docs/ja/intlayer_with_react_router_v7.md +7 -0
- package/docs/ja/intlayer_with_remix_3.md +73 -112
- package/docs/ja/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ja/intlayer_with_tanstack.md +7 -0
- package/docs/ja/intlayer_with_vite+preact.md +7 -0
- package/docs/ja/intlayer_with_vite+react.md +7 -0
- package/docs/ja/intlayer_with_vite+solid.md +7 -0
- package/docs/ja/packages/astro-intlayer/exports.md +163 -11
- package/docs/ja/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ja/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ja/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ja/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ja/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ja/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ja/packages/remix-intlayer/exports.md +80 -0
- package/docs/ja/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ja/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ja/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ja/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ja/readme.md +2 -1
- package/docs/ko/how_works_intlayer.md +86 -14
- package/docs/ko/intlayer_visual_editor.md +7 -0
- package/docs/ko/intlayer_with_astro.md +61 -37
- package/docs/ko/intlayer_with_astro_preact.md +7 -0
- package/docs/ko/intlayer_with_astro_react.md +7 -0
- package/docs/ko/intlayer_with_astro_solid.md +7 -0
- package/docs/ko/intlayer_with_astro_svelte.md +7 -0
- package/docs/ko/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ko/intlayer_with_astro_vue.md +7 -0
- package/docs/ko/intlayer_with_nextjs_14.md +7 -0
- package/docs/ko/intlayer_with_nextjs_15.md +7 -0
- package/docs/ko/intlayer_with_nextjs_16.md +7 -0
- package/docs/ko/intlayer_with_react_router_v7.md +7 -0
- package/docs/ko/intlayer_with_remix_3.md +73 -112
- package/docs/ko/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ko/intlayer_with_tanstack.md +7 -0
- package/docs/ko/intlayer_with_vite+preact.md +7 -0
- package/docs/ko/intlayer_with_vite+react.md +7 -0
- package/docs/ko/intlayer_with_vite+solid.md +7 -0
- package/docs/ko/packages/astro-intlayer/exports.md +163 -11
- package/docs/ko/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ko/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ko/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ko/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ko/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ko/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ko/packages/remix-intlayer/exports.md +80 -0
- package/docs/ko/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ko/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ko/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ko/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ko/readme.md +2 -1
- package/docs/pl/how_works_intlayer.md +86 -14
- package/docs/pl/intlayer_visual_editor.md +7 -0
- package/docs/pl/intlayer_with_astro.md +61 -37
- package/docs/pl/intlayer_with_astro_preact.md +7 -0
- package/docs/pl/intlayer_with_astro_react.md +7 -0
- package/docs/pl/intlayer_with_astro_solid.md +7 -0
- package/docs/pl/intlayer_with_astro_svelte.md +7 -0
- package/docs/pl/intlayer_with_astro_vanilla.md +7 -0
- package/docs/pl/intlayer_with_astro_vue.md +7 -0
- package/docs/pl/intlayer_with_nextjs_14.md +7 -0
- package/docs/pl/intlayer_with_nextjs_15.md +7 -0
- package/docs/pl/intlayer_with_nextjs_16.md +7 -0
- package/docs/pl/intlayer_with_react_router_v7.md +7 -0
- package/docs/pl/intlayer_with_remix_3.md +101 -148
- package/docs/pl/intlayer_with_tanstack+solid.md +7 -0
- package/docs/pl/intlayer_with_tanstack.md +7 -0
- package/docs/pl/intlayer_with_vite+preact.md +7 -0
- package/docs/pl/intlayer_with_vite+react.md +7 -0
- package/docs/pl/intlayer_with_vite+solid.md +7 -0
- package/docs/pl/packages/astro-intlayer/exports.md +162 -10
- package/docs/pl/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/pl/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/pl/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/pl/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/pl/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/pl/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/pl/packages/remix-intlayer/exports.md +80 -0
- package/docs/pl/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/pl/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/pl/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/pl/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/pl/readme.md +2 -1
- package/docs/pt/how_works_intlayer.md +86 -14
- package/docs/pt/intlayer_visual_editor.md +7 -0
- package/docs/pt/intlayer_with_astro.md +61 -37
- package/docs/pt/intlayer_with_astro_preact.md +7 -0
- package/docs/pt/intlayer_with_astro_react.md +7 -0
- package/docs/pt/intlayer_with_astro_solid.md +7 -0
- package/docs/pt/intlayer_with_astro_svelte.md +7 -0
- package/docs/pt/intlayer_with_astro_vanilla.md +7 -0
- package/docs/pt/intlayer_with_astro_vue.md +7 -0
- package/docs/pt/intlayer_with_nextjs_14.md +7 -0
- package/docs/pt/intlayer_with_nextjs_15.md +7 -0
- package/docs/pt/intlayer_with_nextjs_16.md +7 -0
- package/docs/pt/intlayer_with_react_router_v7.md +7 -0
- package/docs/pt/intlayer_with_remix_3.md +73 -112
- package/docs/pt/intlayer_with_tanstack+solid.md +7 -0
- package/docs/pt/intlayer_with_tanstack.md +7 -0
- package/docs/pt/intlayer_with_vite+preact.md +7 -0
- package/docs/pt/intlayer_with_vite+react.md +7 -0
- package/docs/pt/intlayer_with_vite+solid.md +7 -0
- package/docs/pt/packages/astro-intlayer/exports.md +162 -10
- package/docs/pt/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/pt/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/pt/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/pt/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/pt/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/pt/packages/remix-intlayer/Intlayer.md +77 -0
- package/docs/pt/packages/remix-intlayer/exports.md +176 -0
- package/docs/pt/packages/remix-intlayer/intlayerMiddleware.md +101 -0
- package/docs/pt/packages/remix-intlayer/useDictionary.md +94 -0
- package/docs/pt/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/pt/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/pt/readme.md +2 -1
- package/docs/ru/how_works_intlayer.md +86 -14
- package/docs/ru/intlayer_visual_editor.md +7 -0
- package/docs/ru/intlayer_with_astro.md +61 -37
- package/docs/ru/intlayer_with_astro_preact.md +7 -0
- package/docs/ru/intlayer_with_astro_react.md +7 -0
- package/docs/ru/intlayer_with_astro_solid.md +7 -0
- package/docs/ru/intlayer_with_astro_svelte.md +7 -0
- package/docs/ru/intlayer_with_astro_vanilla.md +7 -0
- package/docs/ru/intlayer_with_astro_vue.md +7 -0
- package/docs/ru/intlayer_with_nextjs_14.md +7 -0
- package/docs/ru/intlayer_with_nextjs_15.md +7 -0
- package/docs/ru/intlayer_with_nextjs_16.md +7 -0
- package/docs/ru/intlayer_with_react_router_v7.md +7 -0
- package/docs/ru/intlayer_with_remix_3.md +73 -112
- package/docs/ru/intlayer_with_tanstack+solid.md +7 -0
- package/docs/ru/intlayer_with_tanstack.md +7 -0
- package/docs/ru/intlayer_with_vite+preact.md +7 -0
- package/docs/ru/intlayer_with_vite+react.md +7 -0
- package/docs/ru/intlayer_with_vite+solid.md +7 -0
- package/docs/ru/packages/astro-intlayer/exports.md +164 -12
- package/docs/ru/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/ru/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/ru/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/ru/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/ru/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/ru/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/ru/packages/remix-intlayer/exports.md +80 -0
- package/docs/ru/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/ru/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/ru/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/ru/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/ru/readme.md +2 -1
- package/docs/tr/how_works_intlayer.md +86 -14
- package/docs/tr/intlayer_visual_editor.md +7 -0
- package/docs/tr/intlayer_with_astro.md +60 -36
- package/docs/tr/intlayer_with_astro_preact.md +7 -0
- package/docs/tr/intlayer_with_astro_react.md +7 -0
- package/docs/tr/intlayer_with_astro_solid.md +7 -0
- package/docs/tr/intlayer_with_astro_svelte.md +7 -0
- package/docs/tr/intlayer_with_astro_vanilla.md +7 -0
- package/docs/tr/intlayer_with_astro_vue.md +7 -0
- package/docs/tr/intlayer_with_nextjs_14.md +7 -0
- package/docs/tr/intlayer_with_nextjs_15.md +7 -0
- package/docs/tr/intlayer_with_nextjs_16.md +7 -0
- package/docs/tr/intlayer_with_react_router_v7.md +7 -0
- package/docs/tr/intlayer_with_remix_3.md +101 -148
- package/docs/tr/intlayer_with_tanstack+solid.md +7 -0
- package/docs/tr/intlayer_with_tanstack.md +7 -0
- package/docs/tr/intlayer_with_vite+preact.md +7 -0
- package/docs/tr/intlayer_with_vite+react.md +7 -0
- package/docs/tr/intlayer_with_vite+solid.md +7 -0
- package/docs/tr/packages/astro-intlayer/exports.md +165 -13
- package/docs/tr/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/tr/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/tr/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/tr/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/tr/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/tr/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/tr/packages/remix-intlayer/exports.md +80 -0
- package/docs/tr/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/tr/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/tr/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/tr/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/tr/readme.md +2 -1
- package/docs/uk/how_works_intlayer.md +86 -14
- package/docs/uk/intlayer_visual_editor.md +7 -0
- package/docs/uk/intlayer_with_astro.md +61 -37
- package/docs/uk/intlayer_with_astro_preact.md +7 -0
- package/docs/uk/intlayer_with_astro_react.md +7 -0
- package/docs/uk/intlayer_with_astro_solid.md +7 -0
- package/docs/uk/intlayer_with_astro_svelte.md +7 -0
- package/docs/uk/intlayer_with_astro_vanilla.md +7 -0
- package/docs/uk/intlayer_with_astro_vue.md +7 -0
- package/docs/uk/intlayer_with_nextjs_14.md +7 -0
- package/docs/uk/intlayer_with_nextjs_15.md +7 -0
- package/docs/uk/intlayer_with_nextjs_16.md +7 -0
- package/docs/uk/intlayer_with_react_router_v7.md +7 -0
- package/docs/uk/intlayer_with_remix_3.md +101 -148
- package/docs/uk/intlayer_with_tanstack+solid.md +7 -0
- package/docs/uk/intlayer_with_tanstack.md +7 -0
- package/docs/uk/intlayer_with_vite+preact.md +7 -0
- package/docs/uk/intlayer_with_vite+react.md +7 -0
- package/docs/uk/intlayer_with_vite+solid.md +7 -0
- package/docs/uk/packages/astro-intlayer/exports.md +162 -10
- package/docs/uk/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/uk/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/uk/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/uk/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/uk/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/uk/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/uk/packages/remix-intlayer/exports.md +80 -0
- package/docs/uk/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/uk/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/uk/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/uk/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/uk/readme.md +2 -1
- package/docs/vi/how_works_intlayer.md +86 -14
- package/docs/vi/intlayer_visual_editor.md +7 -0
- package/docs/vi/intlayer_with_astro.md +60 -36
- package/docs/vi/intlayer_with_astro_preact.md +7 -0
- package/docs/vi/intlayer_with_astro_react.md +7 -0
- package/docs/vi/intlayer_with_astro_solid.md +7 -0
- package/docs/vi/intlayer_with_astro_svelte.md +7 -0
- package/docs/vi/intlayer_with_astro_vanilla.md +7 -0
- package/docs/vi/intlayer_with_astro_vue.md +7 -0
- package/docs/vi/intlayer_with_nextjs_14.md +7 -0
- package/docs/vi/intlayer_with_nextjs_15.md +7 -0
- package/docs/vi/intlayer_with_nextjs_16.md +7 -0
- package/docs/vi/intlayer_with_react_router_v7.md +7 -0
- package/docs/vi/intlayer_with_remix_3.md +101 -148
- package/docs/vi/intlayer_with_tanstack+solid.md +7 -0
- package/docs/vi/intlayer_with_tanstack.md +7 -0
- package/docs/vi/intlayer_with_vite+preact.md +7 -0
- package/docs/vi/intlayer_with_vite+react.md +7 -0
- package/docs/vi/intlayer_with_vite+solid.md +7 -0
- package/docs/vi/packages/astro-intlayer/exports.md +167 -15
- package/docs/vi/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/vi/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/vi/packages/astro-intlayer/useDictionary.md +94 -0
- package/docs/vi/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/vi/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/vi/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/vi/packages/remix-intlayer/exports.md +80 -0
- package/docs/vi/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/vi/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/vi/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/vi/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/vi/readme.md +2 -1
- package/docs/zh/how_works_intlayer.md +86 -14
- package/docs/zh/intlayer_visual_editor.md +7 -0
- package/docs/zh/intlayer_with_astro.md +61 -37
- package/docs/zh/intlayer_with_astro_preact.md +7 -0
- package/docs/zh/intlayer_with_astro_react.md +7 -0
- package/docs/zh/intlayer_with_astro_solid.md +7 -0
- package/docs/zh/intlayer_with_astro_svelte.md +7 -0
- package/docs/zh/intlayer_with_astro_vanilla.md +7 -0
- package/docs/zh/intlayer_with_astro_vue.md +7 -0
- package/docs/zh/intlayer_with_nextjs_14.md +7 -0
- package/docs/zh/intlayer_with_nextjs_15.md +7 -0
- package/docs/zh/intlayer_with_nextjs_16.md +7 -0
- package/docs/zh/intlayer_with_react_router_v7.md +7 -0
- package/docs/zh/intlayer_with_remix_3.md +74 -112
- package/docs/zh/intlayer_with_tanstack+solid.md +7 -0
- package/docs/zh/intlayer_with_tanstack.md +7 -0
- package/docs/zh/intlayer_with_vite+preact.md +7 -0
- package/docs/zh/intlayer_with_vite+react.md +7 -0
- package/docs/zh/intlayer_with_vite+solid.md +7 -0
- package/docs/zh/packages/astro-intlayer/exports.md +166 -14
- package/docs/zh/packages/astro-intlayer/intlayer.md +76 -0
- package/docs/zh/packages/astro-intlayer/onRequest.md +76 -0
- package/docs/zh/packages/astro-intlayer/useDictionary.md +95 -0
- package/docs/zh/packages/astro-intlayer/useIntlayer.md +98 -0
- package/docs/zh/packages/astro-intlayer/useLocale.md +126 -0
- package/docs/zh/packages/remix-intlayer/Intlayer.md +55 -0
- package/docs/zh/packages/remix-intlayer/exports.md +80 -0
- package/docs/zh/packages/remix-intlayer/intlayerMiddleware.md +55 -0
- package/docs/zh/packages/remix-intlayer/useDictionary.md +95 -0
- package/docs/zh/packages/remix-intlayer/useIntlayer.md +94 -0
- package/docs/zh/packages/remix-intlayer/useLocale.md +104 -0
- package/docs/zh/readme.md +2 -1
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +223 -0
|
@@ -162,15 +162,17 @@ Build time पर संकलित Scoped सामग्री। Intlayer
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="फ़्रेंच">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="स्पेनिश">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -344,6 +344,20 @@ Struktur yang sama dengan `next-intl` tanpa binding khusus Next.js. Kunci memili
|
|
|
344
344
|
</Tab>
|
|
345
345
|
<Tab label="Lingui" value="lingui">
|
|
346
346
|
|
|
347
|
+
<Tabs group="locale">
|
|
348
|
+
<Tab value="en" label="Inggris">
|
|
349
|
+
|
|
350
|
+
```po fileName="src/locales/en/messages.po"
|
|
351
|
+
msgid "Your cart"
|
|
352
|
+
msgstr "Your cart"
|
|
353
|
+
|
|
354
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
355
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
</Tab>
|
|
359
|
+
<Tab value="fr" label="Prancis">
|
|
360
|
+
|
|
347
361
|
```po fileName="src/locales/fr/messages.po"
|
|
348
362
|
msgid "Your cart"
|
|
349
363
|
msgstr "Votre panier"
|
|
@@ -352,6 +366,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
352
366
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
353
367
|
```
|
|
354
368
|
|
|
369
|
+
</Tab>
|
|
370
|
+
<Tab value="es" label="Spanyol">
|
|
371
|
+
|
|
372
|
+
```po fileName="src/locales/es/messages.po"
|
|
373
|
+
msgid "Your cart"
|
|
374
|
+
msgstr "Tu carrito"
|
|
375
|
+
|
|
376
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
377
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
</Tab>
|
|
381
|
+
</Tabs>
|
|
382
|
+
|
|
355
383
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
356
384
|
import type { FC } from "react";
|
|
357
385
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ Komponen yang sama, ringkasan keranjang belanja dengan judul dan bentuk jamak, d
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="Prancis">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="Spanyol">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -345,6 +345,20 @@ Stessa impostazione di `next-intl` senza i binding specifici per Next.js. Le chi
|
|
|
345
345
|
</Tab>
|
|
346
346
|
<Tab label="Lingui" value="lingui">
|
|
347
347
|
|
|
348
|
+
<Tabs group="locale">
|
|
349
|
+
<Tab value="en" label="Inglese">
|
|
350
|
+
|
|
351
|
+
```po fileName="src/locales/en/messages.po"
|
|
352
|
+
msgid "Your cart"
|
|
353
|
+
msgstr "Your cart"
|
|
354
|
+
|
|
355
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
</Tab>
|
|
360
|
+
<Tab value="fr" label="Francese">
|
|
361
|
+
|
|
348
362
|
```po fileName="src/locales/fr/messages.po"
|
|
349
363
|
msgid "Your cart"
|
|
350
364
|
msgstr "Votre panier"
|
|
@@ -353,6 +367,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
353
367
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
354
368
|
```
|
|
355
369
|
|
|
370
|
+
</Tab>
|
|
371
|
+
<Tab value="es" label="Spagnolo">
|
|
372
|
+
|
|
373
|
+
```po fileName="src/locales/es/messages.po"
|
|
374
|
+
msgid "Your cart"
|
|
375
|
+
msgstr "Tu carrito"
|
|
376
|
+
|
|
377
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
378
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
</Tab>
|
|
382
|
+
</Tabs>
|
|
383
|
+
|
|
356
384
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
357
385
|
import type { FC } from "react";
|
|
358
386
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ Lo stesso componente, un riepilogo del carrello con un titolo e un plurale, scri
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="Francese">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="Spagnolo">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -344,6 +344,20 @@ Next.jsのバインディングがない点を除けば`next-intl`と同じ構
|
|
|
344
344
|
</Tab>
|
|
345
345
|
<Tab label="Lingui" value="lingui">
|
|
346
346
|
|
|
347
|
+
<Tabs group="locale">
|
|
348
|
+
<Tab value="en" label="英語">
|
|
349
|
+
|
|
350
|
+
```po fileName="src/locales/en/messages.po"
|
|
351
|
+
msgid "Your cart"
|
|
352
|
+
msgstr "Your cart"
|
|
353
|
+
|
|
354
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
355
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
</Tab>
|
|
359
|
+
<Tab value="fr" label="フランス語">
|
|
360
|
+
|
|
347
361
|
```po fileName="src/locales/fr/messages.po"
|
|
348
362
|
msgid "Your cart"
|
|
349
363
|
msgstr "Votre panier"
|
|
@@ -352,6 +366,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
352
366
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
353
367
|
```
|
|
354
368
|
|
|
369
|
+
</Tab>
|
|
370
|
+
<Tab value="es" label="スペイン語">
|
|
371
|
+
|
|
372
|
+
```po fileName="src/locales/es/messages.po"
|
|
373
|
+
msgid "Your cart"
|
|
374
|
+
msgstr "Tu carrito"
|
|
375
|
+
|
|
376
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
377
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
</Tab>
|
|
381
|
+
</Tabs>
|
|
382
|
+
|
|
355
383
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
356
384
|
import type { FC } from "react";
|
|
357
385
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ Paraglideのライブラリサイズがほぼゼロである理由は構造に
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="フランス語">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="スペイン語">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -344,6 +344,20 @@ Next.js 바인딩이 제외된 `next-intl`과 동일한 구조입니다. `AppCon
|
|
|
344
344
|
</Tab>
|
|
345
345
|
<Tab label="Lingui" value="lingui">
|
|
346
346
|
|
|
347
|
+
<Tabs group="locale">
|
|
348
|
+
<Tab value="en" label="영어">
|
|
349
|
+
|
|
350
|
+
```po fileName="src/locales/en/messages.po"
|
|
351
|
+
msgid "Your cart"
|
|
352
|
+
msgstr "Your cart"
|
|
353
|
+
|
|
354
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
355
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
</Tab>
|
|
359
|
+
<Tab value="fr" label="프랑스어">
|
|
360
|
+
|
|
347
361
|
```po fileName="src/locales/fr/messages.po"
|
|
348
362
|
msgid "Your cart"
|
|
349
363
|
msgstr "Votre panier"
|
|
@@ -352,6 +366,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
352
366
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
353
367
|
```
|
|
354
368
|
|
|
369
|
+
</Tab>
|
|
370
|
+
<Tab value="es" label="스페인어">
|
|
371
|
+
|
|
372
|
+
```po fileName="src/locales/es/messages.po"
|
|
373
|
+
msgid "Your cart"
|
|
374
|
+
msgstr "Tu carrito"
|
|
375
|
+
|
|
376
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
377
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
</Tab>
|
|
381
|
+
</Tabs>
|
|
382
|
+
|
|
355
383
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
356
384
|
import type { FC } from "react";
|
|
357
385
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ Paraglide의 라이브러리 크기가 거의 0에 가까운 것은 구조적
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="프랑스어">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="스페인어">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -345,6 +345,20 @@ Taka sama struktura jak w `next-intl` bez powiązań z Next.js. Klucze są typow
|
|
|
345
345
|
</Tab>
|
|
346
346
|
<Tab label="Lingui" value="lingui">
|
|
347
347
|
|
|
348
|
+
<Tabs group="locale">
|
|
349
|
+
<Tab value="en" label="Angielski">
|
|
350
|
+
|
|
351
|
+
```po fileName="src/locales/en/messages.po"
|
|
352
|
+
msgid "Your cart"
|
|
353
|
+
msgstr "Your cart"
|
|
354
|
+
|
|
355
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
</Tab>
|
|
360
|
+
<Tab value="fr" label="Francuski">
|
|
361
|
+
|
|
348
362
|
```po fileName="src/locales/fr/messages.po"
|
|
349
363
|
msgid "Your cart"
|
|
350
364
|
msgstr "Votre panier"
|
|
@@ -353,6 +367,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
353
367
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
354
368
|
```
|
|
355
369
|
|
|
370
|
+
</Tab>
|
|
371
|
+
<Tab value="es" label="Hiszpański">
|
|
372
|
+
|
|
373
|
+
```po fileName="src/locales/es/messages.po"
|
|
374
|
+
msgid "Your cart"
|
|
375
|
+
msgstr "Tu carrito"
|
|
376
|
+
|
|
377
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
378
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
</Tab>
|
|
382
|
+
</Tabs>
|
|
383
|
+
|
|
356
384
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
357
385
|
import type { FC } from "react";
|
|
358
386
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ Ten sam komponent, podsumowanie koszyka z tytułem i liczbą mnogą, napisany pr
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="Francuski">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="Hiszpański">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -345,6 +345,20 @@ Mesmo formato do `next-intl` sem os bindings do Next.js. Chaves são tipadas dep
|
|
|
345
345
|
</Tab>
|
|
346
346
|
<Tab label="Lingui" value="lingui">
|
|
347
347
|
|
|
348
|
+
<Tabs group="locale">
|
|
349
|
+
<Tab value="en" label="Inglês">
|
|
350
|
+
|
|
351
|
+
```po fileName="src/locales/en/messages.po"
|
|
352
|
+
msgid "Your cart"
|
|
353
|
+
msgstr "Your cart"
|
|
354
|
+
|
|
355
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
</Tab>
|
|
360
|
+
<Tab value="fr" label="Francês">
|
|
361
|
+
|
|
348
362
|
```po fileName="src/locales/fr/messages.po"
|
|
349
363
|
msgid "Your cart"
|
|
350
364
|
msgstr "Votre panier"
|
|
@@ -353,6 +367,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
353
367
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
354
368
|
```
|
|
355
369
|
|
|
370
|
+
</Tab>
|
|
371
|
+
<Tab value="es" label="Espanhol">
|
|
372
|
+
|
|
373
|
+
```po fileName="src/locales/es/messages.po"
|
|
374
|
+
msgid "Your cart"
|
|
375
|
+
msgstr "Tu carrito"
|
|
376
|
+
|
|
377
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
378
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
</Tab>
|
|
382
|
+
</Tabs>
|
|
383
|
+
|
|
356
384
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
357
385
|
import type { FC } from "react";
|
|
358
386
|
import { Plural, Trans } from "@lingui/react/macro";
|
|
@@ -162,15 +162,17 @@ O mesmo componente, um resumo de carrinho com título e plural, escrito com cada
|
|
|
162
162
|
export const en = {
|
|
163
163
|
cart: { title: "Your cart", items: "{{ count }} items" },
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export type Dict = typeof en;
|
|
165
167
|
```
|
|
166
168
|
|
|
167
169
|
</Tab>
|
|
168
170
|
<Tab value="fr" label="Francês">
|
|
169
171
|
|
|
170
172
|
```ts fileName="src/i18n/fr.ts"
|
|
171
|
-
import type {
|
|
173
|
+
import type { Dict } from "./en";
|
|
172
174
|
|
|
173
|
-
export const fr:
|
|
175
|
+
export const fr: Dict = {
|
|
174
176
|
cart: { title: "Votre panier", items: "{{ count }} articles" },
|
|
175
177
|
};
|
|
176
178
|
```
|
|
@@ -179,9 +181,9 @@ export const fr: typeof en = {
|
|
|
179
181
|
<Tab value="es" label="Espanhol">
|
|
180
182
|
|
|
181
183
|
```ts fileName="src/i18n/es.ts"
|
|
182
|
-
import type {
|
|
184
|
+
import type { Dict } from "./en";
|
|
183
185
|
|
|
184
|
-
export const es:
|
|
186
|
+
export const es: Dict = {
|
|
185
187
|
cart: { title: "Tu carrito", items: "{{ count }} artículos" },
|
|
186
188
|
};
|
|
187
189
|
```
|
|
@@ -190,10 +192,22 @@ export const es: typeof en = {
|
|
|
190
192
|
</Tabs>
|
|
191
193
|
|
|
192
194
|
```ts fileName="src/i18n/index.ts"
|
|
195
|
+
import { createSignal } from "solid-js";
|
|
193
196
|
import * as i18n from "@solid-primitives/i18n";
|
|
194
197
|
import { en } from "./en";
|
|
198
|
+
import { fr } from "./fr";
|
|
199
|
+
import { es } from "./es";
|
|
200
|
+
|
|
201
|
+
export type Locale = "en" | "fr" | "es";
|
|
202
|
+
|
|
203
|
+
const dictionaries = {
|
|
204
|
+
en: i18n.flatten(en),
|
|
205
|
+
fr: i18n.flatten(fr),
|
|
206
|
+
es: i18n.flatten(es),
|
|
207
|
+
};
|
|
195
208
|
|
|
196
|
-
export const
|
|
209
|
+
export const [locale, setLocale] = createSignal<Locale>("en");
|
|
210
|
+
export const dictionary = () => dictionaries[locale()];
|
|
197
211
|
export const t = i18n.translator(dictionary, i18n.resolveTemplate);
|
|
198
212
|
```
|
|
199
213
|
|
|
@@ -344,6 +344,20 @@ export const CartSummary: FC<{ count: number }> = ({ count }) => {
|
|
|
344
344
|
</Tab>
|
|
345
345
|
<Tab label="Lingui" value="lingui">
|
|
346
346
|
|
|
347
|
+
<Tabs group="locale">
|
|
348
|
+
<Tab value="en" label="Английский">
|
|
349
|
+
|
|
350
|
+
```po fileName="src/locales/en/messages.po"
|
|
351
|
+
msgid "Your cart"
|
|
352
|
+
msgstr "Your cart"
|
|
353
|
+
|
|
354
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
355
|
+
msgstr "{count, plural, one {# item} other {# items}}"
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
</Tab>
|
|
359
|
+
<Tab value="fr" label="Французский">
|
|
360
|
+
|
|
347
361
|
```po fileName="src/locales/fr/messages.po"
|
|
348
362
|
msgid "Your cart"
|
|
349
363
|
msgstr "Votre panier"
|
|
@@ -352,6 +366,20 @@ msgid "{count, plural, one {# item} other {# items}}"
|
|
|
352
366
|
msgstr "{count, plural, one {# article} other {# articles}}"
|
|
353
367
|
```
|
|
354
368
|
|
|
369
|
+
</Tab>
|
|
370
|
+
<Tab value="es" label="Испанский">
|
|
371
|
+
|
|
372
|
+
```po fileName="src/locales/es/messages.po"
|
|
373
|
+
msgid "Your cart"
|
|
374
|
+
msgstr "Tu carrito"
|
|
375
|
+
|
|
376
|
+
msgid "{count, plural, one {# item} other {# items}}"
|
|
377
|
+
msgstr "{count, plural, one {# artículo} other {# artículos}}"
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
</Tab>
|
|
381
|
+
</Tabs>
|
|
382
|
+
|
|
355
383
|
```tsx fileName="src/components/CartSummary.tsx"
|
|
356
384
|
import type { FC } from "react";
|
|
357
385
|
import { Plural, Trans } from "@lingui/react/macro";
|