@intlayer/docs 5.5.8
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/LICENSE +202 -0
- package/ar/CI_CD.md +149 -0
- package/ar/autoFill.md +157 -0
- package/ar/concept/content/file.md +1 -0
- package/ar/configuration.md +492 -0
- package/ar/dictionary/condition.md +213 -0
- package/ar/dictionary/content_extention_customization.md +81 -0
- package/ar/dictionary/enumeration.md +221 -0
- package/ar/dictionary/file.md +209 -0
- package/ar/dictionary/function_fetching.md +190 -0
- package/ar/dictionary/get_started.md +490 -0
- package/ar/dictionary/insertion.md +161 -0
- package/ar/dictionary/markdown.md +343 -0
- package/ar/dictionary/nesting.md +249 -0
- package/ar/dictionary/translation.md +307 -0
- package/ar/header.md +7 -0
- package/ar/how_works_intlayer.md +219 -0
- package/ar/index.md +125 -0
- package/ar/interest_of_intlayer.md +132 -0
- package/ar/intlayer_CMS.md +328 -0
- package/ar/intlayer_cli.md +258 -0
- package/ar/intlayer_visual_editor.md +210 -0
- package/ar/intlayer_with_angular.md +3 -0
- package/ar/intlayer_with_create_react_app.md +1196 -0
- package/ar/intlayer_with_express.md +270 -0
- package/ar/intlayer_with_lynx+react.md +482 -0
- package/ar/intlayer_with_nextjs_14.md +1260 -0
- package/ar/intlayer_with_nextjs_15.md +1311 -0
- package/ar/intlayer_with_nextjs_page_router.md +1099 -0
- package/ar/intlayer_with_react_native+expo.md +539 -0
- package/ar/intlayer_with_vite+preact.md +1679 -0
- package/ar/intlayer_with_vite+react.md +1582 -0
- package/ar/intlayer_with_vite+solid.md +3 -0
- package/ar/intlayer_with_vite+svelte.md +3 -0
- package/ar/intlayer_with_vite+vue.md +989 -0
- package/ar/introduction.md +190 -0
- package/ar/mcp_server.md +150 -0
- package/ar/packages/@intlayer/api/index.md +31 -0
- package/ar/packages/@intlayer/chokidar/index.md +31 -0
- package/ar/packages/@intlayer/cli/index.md +1 -0
- package/ar/packages/@intlayer/config/index.md +116 -0
- package/ar/packages/@intlayer/core/index.md +25 -0
- package/ar/packages/@intlayer/design-system/index.md +21 -0
- package/ar/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/ar/packages/@intlayer/editor/index.md +21 -0
- package/ar/packages/@intlayer/editor-react/index.md +21 -0
- package/ar/packages/@intlayer/webpack/index.md +35 -0
- package/ar/packages/angular-intlayer/index.md +3 -0
- package/ar/packages/express-intlayer/index.md +232 -0
- package/ar/packages/express-intlayer/t.md +448 -0
- package/ar/packages/intlayer/getConfiguration.md +120 -0
- package/ar/packages/intlayer/getEnumeration.md +138 -0
- package/ar/packages/intlayer/getHTMLTextDir.md +97 -0
- package/ar/packages/intlayer/getLocaleLang.md +61 -0
- package/ar/packages/intlayer/getLocaleName.md +93 -0
- package/ar/packages/intlayer/getLocalizedUrl.md +221 -0
- package/ar/packages/intlayer/getMultilingualUrls.md +198 -0
- package/ar/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/ar/packages/intlayer/getTranslation.md +175 -0
- package/ar/packages/intlayer/getTranslationContent.md +175 -0
- package/ar/packages/intlayer/index.md +254 -0
- package/ar/packages/intlayer-cli/index.md +41 -0
- package/ar/packages/intlayer-editor/index.md +113 -0
- package/ar/packages/lynx-intlayer/index.md +58 -0
- package/ar/packages/next-intlayer/index.md +267 -0
- package/ar/packages/next-intlayer/t.md +341 -0
- package/ar/packages/next-intlayer/useDictionary.md +248 -0
- package/ar/packages/next-intlayer/useIntlayer.md +237 -0
- package/ar/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/ar/packages/next-intlayer/useLocale.md +105 -0
- package/ar/packages/preact-intlayer/index.md +3 -0
- package/ar/packages/react-intlayer/index.md +261 -0
- package/ar/packages/react-intlayer/t.md +283 -0
- package/ar/packages/react-intlayer/useDictionary.md +268 -0
- package/ar/packages/react-intlayer/useIntlayer.md +225 -0
- package/ar/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/ar/packages/react-intlayer/useLocale.md +184 -0
- package/ar/packages/react-native-intlayer/index.md +57 -0
- package/ar/packages/react-scripts-intlayer/index.md +57 -0
- package/ar/packages/solid-intlayer/index.md +3 -0
- package/ar/packages/svelte-intlayer/index.md +3 -0
- package/ar/packages/vite-intlayer/index.md +53 -0
- package/ar/packages/vue-intlayer/index.md +3 -0
- package/ar/per_locale_file.md +298 -0
- package/ar/privacy_notice.md +61 -0
- package/ar/roadmap.md +208 -0
- package/ar/terms_of_service.md +33 -0
- package/ar/vs_code_extension.md +139 -0
- package/de/CI_CD.md +149 -0
- package/de/angular-intlayer/index.md +3 -0
- package/de/autoFill.md +157 -0
- package/de/configuration.md +501 -0
- package/de/dictionary/condition.md +213 -0
- package/de/dictionary/content_extention_customization.md +81 -0
- package/de/dictionary/enumeration.md +221 -0
- package/de/dictionary/file.md +207 -0
- package/de/dictionary/function_fetching.md +190 -0
- package/de/dictionary/get_started.md +466 -0
- package/de/dictionary/insertion.md +167 -0
- package/de/dictionary/markdown.md +345 -0
- package/de/dictionary/nesting.md +252 -0
- package/de/dictionary/translation.md +287 -0
- package/de/header.md +5 -0
- package/de/how_works_intlayer.md +216 -0
- package/de/index.md +125 -0
- package/de/insertion.md +0 -0
- package/de/interest_of_intlayer.md +132 -0
- package/de/intlayer_CMS.md +334 -0
- package/de/intlayer_cli.md +274 -0
- package/de/intlayer_visual_editor.md +210 -0
- package/de/intlayer_with_angular.md +3 -0
- package/de/intlayer_with_create_react_app.md +1200 -0
- package/de/intlayer_with_express.md +268 -0
- package/de/intlayer_with_lynx+react.md +482 -0
- package/de/intlayer_with_nextjs_14.md +1258 -0
- package/de/intlayer_with_nextjs_15.md +1306 -0
- package/de/intlayer_with_nextjs_page_router.md +1087 -0
- package/de/intlayer_with_react_native+expo.md +539 -0
- package/de/intlayer_with_vite+preact.md +1701 -0
- package/de/intlayer_with_vite+react.md +1584 -0
- package/de/intlayer_with_vite+solid.md +3 -0
- package/de/intlayer_with_vite+svelte.md +3 -0
- package/de/intlayer_with_vite+vue.md +989 -0
- package/de/introduction.md +186 -0
- package/de/mcp_server.md +150 -0
- package/de/packages/@intlayer/api/index.md +31 -0
- package/de/packages/@intlayer/chokidar/index.md +31 -0
- package/de/packages/@intlayer/cli/index.md +21 -0
- package/de/packages/@intlayer/config/index.md +116 -0
- package/de/packages/@intlayer/core/index.md +25 -0
- package/de/packages/@intlayer/design-system/index.md +21 -0
- package/de/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/de/packages/@intlayer/editor/index.md +21 -0
- package/de/packages/@intlayer/editor-react/index.md +21 -0
- package/de/packages/@intlayer/webpack/index.md +35 -0
- package/de/packages/angular-intlayer/index.md +31 -0
- package/de/packages/express-intlayer/index.md +229 -0
- package/de/packages/express-intlayer/t.md +432 -0
- package/de/packages/intlayer/getConfiguration.md +120 -0
- package/de/packages/intlayer/getEnumeration.md +140 -0
- package/de/packages/intlayer/getHTMLTextDir.md +97 -0
- package/de/packages/intlayer/getLocaleLang.md +57 -0
- package/de/packages/intlayer/getLocaleName.md +93 -0
- package/de/packages/intlayer/getLocalizedUrl.md +221 -0
- package/de/packages/intlayer/getMultilingualUrls.md +198 -0
- package/de/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/de/packages/intlayer/getTranslation.md +166 -0
- package/de/packages/intlayer/getTranslationContent.md +166 -0
- package/de/packages/intlayer/index.md +478 -0
- package/de/packages/intlayer-cli/index.md +41 -0
- package/de/packages/intlayer-editor/index.md +113 -0
- package/de/packages/lynx-intlayer/index.md +58 -0
- package/de/packages/next-intlayer/index.md +263 -0
- package/de/packages/next-intlayer/t.md +325 -0
- package/de/packages/next-intlayer/useDictionary.md +242 -0
- package/de/packages/next-intlayer/useIntlayer.md +237 -0
- package/de/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/de/packages/next-intlayer/useLocale.md +105 -0
- package/de/packages/preact-intlayer/index.md +3 -0
- package/de/packages/react-intlayer/index.md +260 -0
- package/de/packages/react-intlayer/t.md +277 -0
- package/de/packages/react-intlayer/useDictionary.md +260 -0
- package/de/packages/react-intlayer/useIntlayer.md +225 -0
- package/de/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/de/packages/react-intlayer/useLocale.md +184 -0
- package/de/packages/react-native-intlayer/index.md +57 -0
- package/de/packages/react-scripts-intlayer/index.md +57 -0
- package/de/packages/solid-intlayer/index.md +3 -0
- package/de/packages/svelte-intlayer/index.md +3 -0
- package/de/packages/vite-intlayer/index.md +53 -0
- package/de/packages/vue-intlayer/index.md +3 -0
- package/de/per_locale_file.md +298 -0
- package/de/privacy_notice.md +61 -0
- package/de/roadmap.md +206 -0
- package/de/terms_of_service.md +33 -0
- package/de/vs_code_extension.md +139 -0
- package/en/CI_CD.md +149 -0
- package/en/autoFill.md +157 -0
- package/en/configuration.md +506 -0
- package/en/dictionary/condition.md +213 -0
- package/en/dictionary/content_extention_customization.md +81 -0
- package/en/dictionary/enumeration.md +221 -0
- package/en/dictionary/file.md +198 -0
- package/en/dictionary/function_fetching.md +190 -0
- package/en/dictionary/get_started.md +504 -0
- package/en/dictionary/insertion.md +167 -0
- package/en/dictionary/markdown.md +355 -0
- package/en/dictionary/nesting.md +249 -0
- package/en/dictionary/translation.md +285 -0
- package/en/frequent_questions/build_dictionaries.md +37 -0
- package/en/frequent_questions/domain_routing.md +92 -0
- package/en/frequent_questions/esbuild_error.md +9 -0
- package/en/frequent_questions/get_locale_cookie.md +121 -0
- package/en/frequent_questions/intlayer_command_undefined.md +135 -0
- package/en/frequent_questions/locale_incorect_in_url.md +52 -0
- package/en/frequent_questions/static_rendering.md +24 -0
- package/en/frequent_questions/unknown_command.md +76 -0
- package/en/header.md +5 -0
- package/en/how_works_intlayer.md +219 -0
- package/en/index.md +139 -0
- package/en/interest_of_intlayer.md +133 -0
- package/en/intlayer_CMS.md +334 -0
- package/en/intlayer_cli.md +309 -0
- package/en/intlayer_visual_editor.md +244 -0
- package/en/intlayer_with_angular.md +139 -0
- package/en/intlayer_with_create_react_app.md +1209 -0
- package/en/intlayer_with_express.md +391 -0
- package/en/intlayer_with_lynx+react.md +483 -0
- package/en/intlayer_with_nextjs_14.md +1298 -0
- package/en/intlayer_with_nextjs_15.md +1347 -0
- package/en/intlayer_with_nextjs_page_router.md +1126 -0
- package/en/intlayer_with_react_native+expo.md +630 -0
- package/en/intlayer_with_vite+preact.md +1659 -0
- package/en/intlayer_with_vite+react.md +1605 -0
- package/en/intlayer_with_vite+solid.md +254 -0
- package/en/intlayer_with_vite+svelte.md +254 -0
- package/en/intlayer_with_vite+vue.md +1000 -0
- package/en/introduction.md +185 -0
- package/en/mcp_server.md +150 -0
- package/en/packages/@intlayer/api/index.md +31 -0
- package/en/packages/@intlayer/chokidar/index.md +31 -0
- package/en/packages/@intlayer/cli/index.md +21 -0
- package/en/packages/@intlayer/config/index.md +116 -0
- package/en/packages/@intlayer/core/index.md +25 -0
- package/en/packages/@intlayer/design-system/index.md +21 -0
- package/en/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/en/packages/@intlayer/editor/index.md +21 -0
- package/en/packages/@intlayer/editor-react/index.md +21 -0
- package/en/packages/@intlayer/webpack/index.md +35 -0
- package/en/packages/angular-intlayer/index.md +31 -0
- package/en/packages/express-intlayer/index.md +229 -0
- package/en/packages/express-intlayer/t.md +432 -0
- package/en/packages/intlayer/getConfiguration.md +120 -0
- package/en/packages/intlayer/getEnumeration.md +138 -0
- package/en/packages/intlayer/getHTMLTextDir.md +97 -0
- package/en/packages/intlayer/getLocaleLang.md +57 -0
- package/en/packages/intlayer/getLocaleName.md +93 -0
- package/en/packages/intlayer/getLocalizedUrl.md +221 -0
- package/en/packages/intlayer/getMultilingualUrls.md +198 -0
- package/en/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/en/packages/intlayer/getTranslation.md +166 -0
- package/en/packages/intlayer/getTranslationContent.md +166 -0
- package/en/packages/intlayer/index.md +476 -0
- package/en/packages/intlayer-cli/index.md +41 -0
- package/en/packages/intlayer-editor/index.md +113 -0
- package/en/packages/lynx-intlayer/index.md +60 -0
- package/en/packages/next-intlayer/index.md +263 -0
- package/en/packages/next-intlayer/t.md +326 -0
- package/en/packages/next-intlayer/useDictionary.md +242 -0
- package/en/packages/next-intlayer/useIntlayer.md +237 -0
- package/en/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/en/packages/next-intlayer/useLocale.md +105 -0
- package/en/packages/preact-intlayer/index.md +31 -0
- package/en/packages/react-intlayer/index.md +257 -0
- package/en/packages/react-intlayer/t.md +277 -0
- package/en/packages/react-intlayer/useDictionary.md +260 -0
- package/en/packages/react-intlayer/useIntlayer.md +225 -0
- package/en/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/en/packages/react-intlayer/useLocale.md +184 -0
- package/en/packages/react-native-intlayer/index.md +59 -0
- package/en/packages/react-scripts-intlayer/index.md +57 -0
- package/en/packages/solid-intlayer/index.md +31 -0
- package/en/packages/svelte-intlayer/index.md +31 -0
- package/en/packages/vite-intlayer/index.md +53 -0
- package/en/packages/vue-intlayer/index.md +31 -0
- package/en/per_locale_file.md +297 -0
- package/en/privacy_notice.md +61 -0
- package/en/roadmap.md +270 -0
- package/en/t.md +163 -0
- package/en/terms_of_service.md +33 -0
- package/en/vs_code_extension.md +129 -0
- package/en-GB/CI_CD.md +149 -0
- package/en-GB/autoFill.md +0 -0
- package/en-GB/configuration.md +490 -0
- package/en-GB/dictionary/condition.md +213 -0
- package/en-GB/dictionary/content_extention_customization.md +83 -0
- package/en-GB/dictionary/enumeration.md +221 -0
- package/en-GB/dictionary/file.md +201 -0
- package/en-GB/dictionary/function_fetching.md +190 -0
- package/en-GB/dictionary/get_started.md +466 -0
- package/en-GB/dictionary/insertion.md +167 -0
- package/en-GB/dictionary/markdown.md +343 -0
- package/en-GB/dictionary/nesting.md +249 -0
- package/en-GB/dictionary/translation.md +285 -0
- package/en-GB/header.md +1 -0
- package/en-GB/how_works_intlayer.md +217 -0
- package/en-GB/index.md +142 -0
- package/en-GB/interest_of_intlayer.md +123 -0
- package/en-GB/intlayer_CMS.md +334 -0
- package/en-GB/intlayer_cli.md +239 -0
- package/en-GB/intlayer_visual_editor.md +210 -0
- package/en-GB/intlayer_with_angular.md +3 -0
- package/en-GB/intlayer_with_create_react_app.md +1192 -0
- package/en-GB/intlayer_with_express.md +267 -0
- package/en-GB/intlayer_with_lynx+react.md +484 -0
- package/en-GB/intlayer_with_nextjs_14.md +1267 -0
- package/en-GB/intlayer_with_nextjs_15.md +1308 -0
- package/en-GB/intlayer_with_nextjs_page_router.md +1087 -0
- package/en-GB/intlayer_with_react_native+expo.md +539 -0
- package/en-GB/intlayer_with_vite+preact.md +1648 -0
- package/en-GB/intlayer_with_vite+react.md +1430 -0
- package/en-GB/intlayer_with_vite+solid.md +3 -0
- package/en-GB/intlayer_with_vite+svelte.md +3 -0
- package/en-GB/intlayer_with_vite+vue.md +993 -0
- package/en-GB/introduction.md +201 -0
- package/en-GB/mcp_server.md +150 -0
- package/en-GB/packages/@intlayer/api/index.md +31 -0
- package/en-GB/packages/@intlayer/chokidar/index.md +31 -0
- package/en-GB/packages/@intlayer/cli/index.md +21 -0
- package/en-GB/packages/@intlayer/config/index.md +116 -0
- package/en-GB/packages/@intlayer/core/index.md +25 -0
- package/en-GB/packages/@intlayer/design-system/index.md +21 -0
- package/en-GB/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/en-GB/packages/@intlayer/editor/index.md +21 -0
- package/en-GB/packages/@intlayer/editor-react/index.md +21 -0
- package/en-GB/packages/@intlayer/webpack/index.md +35 -0
- package/en-GB/packages/angular-intlayer/index.md +3 -0
- package/en-GB/packages/express-intlayer/index.md +229 -0
- package/en-GB/packages/express-intlayer/t.md +432 -0
- package/en-GB/packages/intlayer/getConfiguration.md +120 -0
- package/en-GB/packages/intlayer/getEnumeration.md +140 -0
- package/en-GB/packages/intlayer/getHTMLTextDir.md +97 -0
- package/en-GB/packages/intlayer/getLocaleLang.md +57 -0
- package/en-GB/packages/intlayer/getLocaleName.md +93 -0
- package/en-GB/packages/intlayer/getLocalizedUrl.md +221 -0
- package/en-GB/packages/intlayer/getMultilingualUrls.md +198 -0
- package/en-GB/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/en-GB/packages/intlayer/getTranslation.md +166 -0
- package/en-GB/packages/intlayer/getTranslationContent.md +166 -0
- package/en-GB/packages/intlayer/index.md +476 -0
- package/en-GB/packages/intlayer-cli/index.md +41 -0
- package/en-GB/packages/intlayer-editor/index.md +113 -0
- package/en-GB/packages/lynx-intlayer/index.md +58 -0
- package/en-GB/packages/next-intlayer/index.md +263 -0
- package/en-GB/packages/next-intlayer/t.md +326 -0
- package/en-GB/packages/next-intlayer/useDictionary.md +242 -0
- package/en-GB/packages/next-intlayer/useIntlayer.md +237 -0
- package/en-GB/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/en-GB/packages/next-intlayer/useLocale.md +105 -0
- package/en-GB/packages/preact-intlayer/index.md +3 -0
- package/en-GB/packages/react-intlayer/index.md +257 -0
- package/en-GB/packages/react-intlayer/t.md +277 -0
- package/en-GB/packages/react-intlayer/useDictionary.md +260 -0
- package/en-GB/packages/react-intlayer/useIntlayer.md +225 -0
- package/en-GB/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/en-GB/packages/react-intlayer/useLocale.md +184 -0
- package/en-GB/packages/react-native-intlayer/index.md +57 -0
- package/en-GB/packages/react-scripts-intlayer/index.md +57 -0
- package/en-GB/packages/solid-intlayer/index.md +3 -0
- package/en-GB/packages/svelte-intlayer/index.md +3 -0
- package/en-GB/packages/vite-intlayer/index.md +53 -0
- package/en-GB/packages/vue-intlayer/index.md +3 -0
- package/en-GB/per_locale_file.md +298 -0
- package/en-GB/privacy_notice.md +57 -0
- package/en-GB/roadmap.md +206 -0
- package/en-GB/terms_of_service.md +33 -0
- package/en-GB/vs_code_extension.md +139 -0
- package/es/CI_CD.md +149 -0
- package/es/autoFill.md +157 -0
- package/es/configuration.md +503 -0
- package/es/dictionary/condition.md +213 -0
- package/es/dictionary/content_extention_customization.md +81 -0
- package/es/dictionary/enumeration.md +221 -0
- package/es/dictionary/file.md +206 -0
- package/es/dictionary/function_fetching.md +190 -0
- package/es/dictionary/get_started.md +466 -0
- package/es/dictionary/insertion.md +161 -0
- package/es/dictionary/markdown.md +338 -0
- package/es/dictionary/nesting.md +249 -0
- package/es/dictionary/translation.md +287 -0
- package/es/header.md +5 -0
- package/es/how_works_intlayer.md +217 -0
- package/es/index.md +122 -0
- package/es/interest_of_intlayer.md +132 -0
- package/es/intlayer_CMS.md +334 -0
- package/es/intlayer_cli.md +274 -0
- package/es/intlayer_visual_editor.md +210 -0
- package/es/intlayer_with_angular.md +3 -0
- package/es/intlayer_with_create_react_app.md +1192 -0
- package/es/intlayer_with_express.md +276 -0
- package/es/intlayer_with_lynx+react.md +475 -0
- package/es/intlayer_with_nextjs_14.md +1258 -0
- package/es/intlayer_with_nextjs_15.md +1308 -0
- package/es/intlayer_with_nextjs_page_router.md +1088 -0
- package/es/intlayer_with_react_native+expo.md +180 -0
- package/es/intlayer_with_vite+preact.md +1637 -0
- package/es/intlayer_with_vite+react.md +1592 -0
- package/es/intlayer_with_vite+solid.md +3 -0
- package/es/intlayer_with_vite+svelte.md +3 -0
- package/es/intlayer_with_vite+vue.md +947 -0
- package/es/introduction.md +184 -0
- package/es/mcp_server.md +150 -0
- package/es/packages/@intlayer/api/index.md +31 -0
- package/es/packages/@intlayer/chokidar/index.md +31 -0
- package/es/packages/@intlayer/cli/index.md +21 -0
- package/es/packages/@intlayer/config/index.md +116 -0
- package/es/packages/@intlayer/core/index.md +25 -0
- package/es/packages/@intlayer/design-system/index.md +21 -0
- package/es/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/es/packages/@intlayer/editor/index.md +21 -0
- package/es/packages/@intlayer/editor-react/index.md +21 -0
- package/es/packages/@intlayer/webpack/index.md +35 -0
- package/es/packages/angular-intlayer/index.md +3 -0
- package/es/packages/express-intlayer/index.md +229 -0
- package/es/packages/express-intlayer/t.md +432 -0
- package/es/packages/intlayer/getConfiguration.md +120 -0
- package/es/packages/intlayer/getEnumeration.md +138 -0
- package/es/packages/intlayer/getHTMLTextDir.md +97 -0
- package/es/packages/intlayer/getLocaleLang.md +57 -0
- package/es/packages/intlayer/getLocaleName.md +93 -0
- package/es/packages/intlayer/getLocalizedUrl.md +221 -0
- package/es/packages/intlayer/getMultilingualUrls.md +198 -0
- package/es/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/es/packages/intlayer/getTranslation.md +166 -0
- package/es/packages/intlayer/getTranslationContent.md +166 -0
- package/es/packages/intlayer/index.md +478 -0
- package/es/packages/intlayer-cli/index.md +41 -0
- package/es/packages/intlayer-editor/index.md +115 -0
- package/es/packages/lynx-intlayer/index.md +58 -0
- package/es/packages/next-intlayer/index.md +263 -0
- package/es/packages/next-intlayer/t.md +325 -0
- package/es/packages/next-intlayer/useDictionary.md +242 -0
- package/es/packages/next-intlayer/useIntlayer.md +237 -0
- package/es/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/es/packages/next-intlayer/useLocale.md +105 -0
- package/es/packages/preact-intlayer/index.md +3 -0
- package/es/packages/react-intlayer/index.md +263 -0
- package/es/packages/react-intlayer/t.md +277 -0
- package/es/packages/react-intlayer/useDictionary.md +270 -0
- package/es/packages/react-intlayer/useIntlayer.md +225 -0
- package/es/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/es/packages/react-intlayer/useLocale.md +184 -0
- package/es/packages/react-native-intlayer/index.md +57 -0
- package/es/packages/react-scripts-intlayer/index.md +57 -0
- package/es/packages/solid-intlayer/index.md +3 -0
- package/es/packages/svelte-intlayer/index.md +5 -0
- package/es/packages/vite-intlayer/index.md +53 -0
- package/es/packages/vue-intlayer/index.md +3 -0
- package/es/per_locale_file.md +293 -0
- package/es/privacy_notice.md +61 -0
- package/es/roadmap.md +157 -0
- package/es/terms_of_service.md +33 -0
- package/es/vs_code_extension.md +139 -0
- package/fr/CI_CD.md +149 -0
- package/fr/autoFill.md +157 -0
- package/fr/configuration.md +481 -0
- package/fr/dictionary/condition.md +213 -0
- package/fr/dictionary/content_extention_customization.md +81 -0
- package/fr/dictionary/enumeration.md +221 -0
- package/fr/dictionary/file.md +206 -0
- package/fr/dictionary/function_fetching.md +190 -0
- package/fr/dictionary/get_started.md +466 -0
- package/fr/dictionary/insertion.md +161 -0
- package/fr/dictionary/markdown.md +335 -0
- package/fr/dictionary/nesting.md +249 -0
- package/fr/dictionary/translation.md +287 -0
- package/fr/header.md +5 -0
- package/fr/how_works_intlayer.md +217 -0
- package/fr/index.md +122 -0
- package/fr/interest_of_intlayer.md +132 -0
- package/fr/intlayer_CMS.md +334 -0
- package/fr/intlayer_cli.md +274 -0
- package/fr/intlayer_visual_editor.md +210 -0
- package/fr/intlayer_with_angular.md +3 -0
- package/fr/intlayer_with_create_react_app.md +1192 -0
- package/fr/intlayer_with_express.md +270 -0
- package/fr/intlayer_with_lynx+react.md +466 -0
- package/fr/intlayer_with_nextjs_14.md +1258 -0
- package/fr/intlayer_with_nextjs_15.md +1308 -0
- package/fr/intlayer_with_nextjs_page_router.md +1085 -0
- package/fr/intlayer_with_react_native+expo.md +535 -0
- package/fr/intlayer_with_vite+preact.md +1621 -0
- package/fr/intlayer_with_vite+react.md +1589 -0
- package/fr/intlayer_with_vite+solid.md +3 -0
- package/fr/intlayer_with_vite+svelte.md +3 -0
- package/fr/intlayer_with_vite+vue.md +947 -0
- package/fr/introduction.md +190 -0
- package/fr/mcp_server.md +152 -0
- package/fr/packages/@intlayer/api/index.md +31 -0
- package/fr/packages/@intlayer/chokidar/index.md +31 -0
- package/fr/packages/@intlayer/cli/index.md +21 -0
- package/fr/packages/@intlayer/config/index.md +116 -0
- package/fr/packages/@intlayer/core/index.md +25 -0
- package/fr/packages/@intlayer/design-system/index.md +21 -0
- package/fr/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/fr/packages/@intlayer/editor/index.md +21 -0
- package/fr/packages/@intlayer/editor-react/index.md +21 -0
- package/fr/packages/@intlayer/webpack/index.md +35 -0
- package/fr/packages/angular-intlayer/index.md +3 -0
- package/fr/packages/express-intlayer/index.md +238 -0
- package/fr/packages/express-intlayer/t.md +432 -0
- package/fr/packages/intlayer/getConfiguration.md +120 -0
- package/fr/packages/intlayer/getEnumeration.md +138 -0
- package/fr/packages/intlayer/getHTMLTextDir.md +97 -0
- package/fr/packages/intlayer/getLocaleLang.md +57 -0
- package/fr/packages/intlayer/getLocaleName.md +93 -0
- package/fr/packages/intlayer/getLocalizedUrl.md +221 -0
- package/fr/packages/intlayer/getMultilingualUrls.md +198 -0
- package/fr/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/fr/packages/intlayer/getTranslation.md +166 -0
- package/fr/packages/intlayer/getTranslationContent.md +166 -0
- package/fr/packages/intlayer/index.md +476 -0
- package/fr/packages/intlayer-cli/index.md +41 -0
- package/fr/packages/intlayer-editor/index.md +115 -0
- package/fr/packages/lynx-intlayer/index.md +58 -0
- package/fr/packages/next-intlayer/index.md +266 -0
- package/fr/packages/next-intlayer/t.md +325 -0
- package/fr/packages/next-intlayer/useDictionary.md +242 -0
- package/fr/packages/next-intlayer/useIntlayer.md +237 -0
- package/fr/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/fr/packages/next-intlayer/useLocale.md +105 -0
- package/fr/packages/preact-intlayer/index.md +3 -0
- package/fr/packages/react-intlayer/index.md +257 -0
- package/fr/packages/react-intlayer/t.md +277 -0
- package/fr/packages/react-intlayer/useDictionary.md +269 -0
- package/fr/packages/react-intlayer/useIntlayer.md +234 -0
- package/fr/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/fr/packages/react-intlayer/useLocale.md +184 -0
- package/fr/packages/react-native-intlayer/index.md +57 -0
- package/fr/packages/react-scripts-intlayer/index.md +57 -0
- package/fr/packages/solid-intlayer/index.md +3 -0
- package/fr/packages/svelte-intlayer/index.md +3 -0
- package/fr/packages/vite-intlayer/index.md +53 -0
- package/fr/packages/vue-intlayer/index.md +3 -0
- package/fr/per_locale_file.md +297 -0
- package/fr/privacy_notice.md +57 -0
- package/fr/roadmap.md +206 -0
- package/fr/terms_of_service.md +33 -0
- package/fr/vs_code_extension.md +139 -0
- package/hi/CI_CD.md +149 -0
- package/hi/autoFill.md +157 -0
- package/hi/configuration.md +509 -0
- package/hi/dictionary/condition.md +213 -0
- package/hi/dictionary/content_extention_customization.md +81 -0
- package/hi/dictionary/enumeration.md +221 -0
- package/hi/dictionary/file.md +209 -0
- package/hi/dictionary/function_fetching.md +188 -0
- package/hi/dictionary/get_started.md +490 -0
- package/hi/dictionary/insertion.md +167 -0
- package/hi/dictionary/markdown.md +344 -0
- package/hi/dictionary/nesting.md +249 -0
- package/hi/dictionary/translation.md +307 -0
- package/hi/header.md +7 -0
- package/hi/how_works_intlayer.md +217 -0
- package/hi/index.md +125 -0
- package/hi/interest_of_intlayer.md +132 -0
- package/hi/intlayer_CMS.md +334 -0
- package/hi/intlayer_cli.md +274 -0
- package/hi/intlayer_visual_editor.md +210 -0
- package/hi/intlayer_with_angular.md +3 -0
- package/hi/intlayer_with_create_react_app.md +1395 -0
- package/hi/intlayer_with_express.md +273 -0
- package/hi/intlayer_with_lynx+react.md +456 -0
- package/hi/intlayer_with_nextjs_14.md +1283 -0
- package/hi/intlayer_with_nextjs_15.md +1319 -0
- package/hi/intlayer_with_nextjs_page_router.md +1097 -0
- package/hi/intlayer_with_react_native+expo.md +554 -0
- package/hi/intlayer_with_vite+preact.md +1538 -0
- package/hi/intlayer_with_vite+react.md +1540 -0
- package/hi/intlayer_with_vite+solid.md +3 -0
- package/hi/intlayer_with_vite+svelte.md +3 -0
- package/hi/intlayer_with_vite+vue.md +840 -0
- package/hi/introduction.md +190 -0
- package/hi/mcp_server.md +150 -0
- package/hi/packages/@intlayer/api/index.md +31 -0
- package/hi/packages/@intlayer/chokidar/index.md +31 -0
- package/hi/packages/@intlayer/cli/index.md +21 -0
- package/hi/packages/@intlayer/config/index.md +116 -0
- package/hi/packages/@intlayer/core/index.md +25 -0
- package/hi/packages/@intlayer/design-system/index.md +21 -0
- package/hi/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/hi/packages/@intlayer/editor/index.md +21 -0
- package/hi/packages/@intlayer/editor-react/index.md +21 -0
- package/hi/packages/@intlayer/webpack/index.md +35 -0
- package/hi/packages/angular-intlayer/index.md +3 -0
- package/hi/packages/express-intlayer/index.md +232 -0
- package/hi/packages/express-intlayer/t.md +445 -0
- package/hi/packages/intlayer/getConfiguration.md +120 -0
- package/hi/packages/intlayer/getEnumeration.md +138 -0
- package/hi/packages/intlayer/getHTMLTextDir.md +97 -0
- package/hi/packages/intlayer/getLocaleLang.md +57 -0
- package/hi/packages/intlayer/getLocaleName.md +93 -0
- package/hi/packages/intlayer/getLocalizedUrl.md +221 -0
- package/hi/packages/intlayer/getMultilingualUrls.md +198 -0
- package/hi/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/hi/packages/intlayer/getTranslation.md +175 -0
- package/hi/packages/intlayer/getTranslationContent.md +175 -0
- package/hi/packages/intlayer/index.md +314 -0
- package/hi/packages/intlayer-cli/index.md +41 -0
- package/hi/packages/intlayer-editor/index.md +113 -0
- package/hi/packages/lynx-intlayer/index.md +58 -0
- package/hi/packages/next-intlayer/index.md +270 -0
- package/hi/packages/next-intlayer/t.md +337 -0
- package/hi/packages/next-intlayer/useDictionary.md +248 -0
- package/hi/packages/next-intlayer/useIntlayer.md +237 -0
- package/hi/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/hi/packages/next-intlayer/useLocale.md +105 -0
- package/hi/packages/preact-intlayer/index.md +3 -0
- package/hi/packages/react-intlayer/index.md +261 -0
- package/hi/packages/react-intlayer/t.md +283 -0
- package/hi/packages/react-intlayer/useDictionary.md +268 -0
- package/hi/packages/react-intlayer/useIntlayer.md +225 -0
- package/hi/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/hi/packages/react-intlayer/useLocale.md +184 -0
- package/hi/packages/react-native-intlayer/index.md +57 -0
- package/hi/packages/react-scripts-intlayer/index.md +57 -0
- package/hi/packages/solid-intlayer/index.md +3 -0
- package/hi/packages/svelte-intlayer/index.md +3 -0
- package/hi/packages/vite-intlayer/index.md +53 -0
- package/hi/packages/vue-intlayer/index.md +3 -0
- package/hi/per_locale_file.md +298 -0
- package/hi/privacy_notice.md +61 -0
- package/hi/roadmap.md +206 -0
- package/hi/terms_of_service.md +33 -0
- package/hi/vs_code_extension.md +139 -0
- package/index.cjs +1265 -0
- package/index.d.ts +100 -0
- package/it/CI_CD.md +149 -0
- package/it/autoFill.md +157 -0
- package/it/configuration.md +503 -0
- package/it/dictionary/condition.md +213 -0
- package/it/dictionary/content_extention_customization.md +81 -0
- package/it/dictionary/enumeration.md +221 -0
- package/it/dictionary/file.md +207 -0
- package/it/dictionary/function_fetching.md +190 -0
- package/it/dictionary/get_started.md +466 -0
- package/it/dictionary/insertion.md +161 -0
- package/it/dictionary/markdown.md +343 -0
- package/it/dictionary/nesting.md +249 -0
- package/it/dictionary/translation.md +287 -0
- package/it/header.md +7 -0
- package/it/how_works_intlayer.md +217 -0
- package/it/index.md +125 -0
- package/it/interest_of_intlayer.md +132 -0
- package/it/intlayer_CMS.md +334 -0
- package/it/intlayer_cli.md +274 -0
- package/it/intlayer_visual_editor.md +210 -0
- package/it/intlayer_with_angular.md +3 -0
- package/it/intlayer_with_create_react_app.md +413 -0
- package/it/intlayer_with_express.md +267 -0
- package/it/intlayer_with_lynx+react.md +482 -0
- package/it/intlayer_with_nextjs_14.md +1269 -0
- package/it/intlayer_with_nextjs_15.md +1319 -0
- package/it/intlayer_with_nextjs_page_router.md +1095 -0
- package/it/intlayer_with_react_native+expo.md +261 -0
- package/it/intlayer_with_vite+preact.md +1681 -0
- package/it/intlayer_with_vite+react.md +1580 -0
- package/it/intlayer_with_vite+solid.md +3 -0
- package/it/intlayer_with_vite+svelte.md +3 -0
- package/it/intlayer_with_vite+vue.md +989 -0
- package/it/introduction.md +192 -0
- package/it/mcp_server.md +152 -0
- package/it/packages/@intlayer/api/index.md +31 -0
- package/it/packages/@intlayer/chokidar/index.md +31 -0
- package/it/packages/@intlayer/cli/index.md +21 -0
- package/it/packages/@intlayer/config/index.md +116 -0
- package/it/packages/@intlayer/core/index.md +25 -0
- package/it/packages/@intlayer/design-system/index.md +21 -0
- package/it/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/it/packages/@intlayer/editor/index.md +21 -0
- package/it/packages/@intlayer/editor-react/index.md +21 -0
- package/it/packages/@intlayer/webpack/index.md +35 -0
- package/it/packages/angular-intlayer/index.md +3 -0
- package/it/packages/express-intlayer/index.md +229 -0
- package/it/packages/express-intlayer/t.md +432 -0
- package/it/packages/intlayer/getConfiguration.md +120 -0
- package/it/packages/intlayer/getEnumeration.md +138 -0
- package/it/packages/intlayer/getHTMLTextDir.md +97 -0
- package/it/packages/intlayer/getLocaleLang.md +57 -0
- package/it/packages/intlayer/getLocaleName.md +93 -0
- package/it/packages/intlayer/getLocalizedUrl.md +221 -0
- package/it/packages/intlayer/getMultilingualUrls.md +200 -0
- package/it/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/it/packages/intlayer/getTranslation.md +166 -0
- package/it/packages/intlayer/getTranslationContent.md +166 -0
- package/it/packages/intlayer/index.md +479 -0
- package/it/packages/intlayer-cli/index.md +41 -0
- package/it/packages/intlayer-editor/index.md +113 -0
- package/it/packages/lynx-intlayer/index.md +58 -0
- package/it/packages/next-intlayer/index.md +267 -0
- package/it/packages/next-intlayer/t.md +326 -0
- package/it/packages/next-intlayer/useDictionary.md +242 -0
- package/it/packages/next-intlayer/useIntlayer.md +237 -0
- package/it/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/it/packages/next-intlayer/useLocale.md +105 -0
- package/it/packages/preact-intlayer/index.md +3 -0
- package/it/packages/react-intlayer/index.md +260 -0
- package/it/packages/react-intlayer/t.md +277 -0
- package/it/packages/react-intlayer/useDictionary.md +260 -0
- package/it/packages/react-intlayer/useIntlayer.md +225 -0
- package/it/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/it/packages/react-intlayer/useLocale.md +184 -0
- package/it/packages/react-native-intlayer/index.md +57 -0
- package/it/packages/react-scripts-intlayer/index.md +57 -0
- package/it/packages/solid-intlayer/index.md +5 -0
- package/it/packages/svelte-intlayer/index.md +3 -0
- package/it/packages/vite-intlayer/index.md +53 -0
- package/it/packages/vue-intlayer/index.md +5 -0
- package/it/per_locale_file.md +298 -0
- package/it/privacy_notice.md +61 -0
- package/it/roadmap.md +206 -0
- package/it/terms_of_service.md +33 -0
- package/it/vs_code_extension.md +139 -0
- package/ja/CI_CD.md +149 -0
- package/ja/autoFill.md +157 -0
- package/ja/configuration.md +507 -0
- package/ja/dictionary/condition.md +213 -0
- package/ja/dictionary/content_extention_customization.md +81 -0
- package/ja/dictionary/enumeration.md +221 -0
- package/ja/dictionary/file.md +209 -0
- package/ja/dictionary/function_fetching.md +190 -0
- package/ja/dictionary/get_started.md +466 -0
- package/ja/dictionary/insertion.md +161 -0
- package/ja/dictionary/markdown.md +343 -0
- package/ja/dictionary/nesting.md +249 -0
- package/ja/dictionary/translation.md +287 -0
- package/ja/header.md +7 -0
- package/ja/how_works_intlayer.md +217 -0
- package/ja/index.md +125 -0
- package/ja/interest_of_intlayer.md +132 -0
- package/ja/intlayer_CMS.md +334 -0
- package/ja/intlayer_cli.md +274 -0
- package/ja/intlayer_visual_editor.md +213 -0
- package/ja/intlayer_with_angular.md +3 -0
- package/ja/intlayer_with_create_react_app.md +1186 -0
- package/ja/intlayer_with_express.md +267 -0
- package/ja/intlayer_with_lynx+react.md +482 -0
- package/ja/intlayer_with_nextjs_14.md +1256 -0
- package/ja/intlayer_with_nextjs_15.md +1308 -0
- package/ja/intlayer_with_nextjs_page_router.md +1085 -0
- package/ja/intlayer_with_react_native+expo.md +537 -0
- package/ja/intlayer_with_vite+preact.md +1601 -0
- package/ja/intlayer_with_vite+react.md +1555 -0
- package/ja/intlayer_with_vite+solid.md +3 -0
- package/ja/intlayer_with_vite+svelte.md +3 -0
- package/ja/intlayer_with_vite+vue.md +990 -0
- package/ja/introduction.md +186 -0
- package/ja/mcp_server.md +150 -0
- package/ja/packages/@intlayer/api/index.md +31 -0
- package/ja/packages/@intlayer/chokidar/index.md +31 -0
- package/ja/packages/@intlayer/cli/index.md +21 -0
- package/ja/packages/@intlayer/config/index.md +116 -0
- package/ja/packages/@intlayer/core/index.md +25 -0
- package/ja/packages/@intlayer/design-system/index.md +21 -0
- package/ja/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/ja/packages/@intlayer/editor/index.md +21 -0
- package/ja/packages/@intlayer/editor-react/index.md +21 -0
- package/ja/packages/@intlayer/webpack/index.md +35 -0
- package/ja/packages/angular-intlayer/index.md +3 -0
- package/ja/packages/express-intlayer/index.md +229 -0
- package/ja/packages/express-intlayer/t.md +432 -0
- package/ja/packages/intlayer/getConfiguration.md +120 -0
- package/ja/packages/intlayer/getEnumeration.md +140 -0
- package/ja/packages/intlayer/getHTMLTextDir.md +97 -0
- package/ja/packages/intlayer/getLocaleLang.md +59 -0
- package/ja/packages/intlayer/getLocaleName.md +93 -0
- package/ja/packages/intlayer/getLocalizedUrl.md +221 -0
- package/ja/packages/intlayer/getMultilingualUrls.md +198 -0
- package/ja/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/ja/packages/intlayer/getTranslation.md +166 -0
- package/ja/packages/intlayer/getTranslationContent.md +166 -0
- package/ja/packages/intlayer/index.md +479 -0
- package/ja/packages/intlayer-cli/index.md +41 -0
- package/ja/packages/intlayer-editor/index.md +115 -0
- package/ja/packages/lynx-intlayer/index.md +58 -0
- package/ja/packages/next-intlayer/index.md +263 -0
- package/ja/packages/next-intlayer/t.md +326 -0
- package/ja/packages/next-intlayer/useDictionary.md +242 -0
- package/ja/packages/next-intlayer/useIntlayer.md +237 -0
- package/ja/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/ja/packages/next-intlayer/useLocale.md +105 -0
- package/ja/packages/preact-intlayer/index.md +3 -0
- package/ja/packages/react-intlayer/index.md +257 -0
- package/ja/packages/react-intlayer/t.md +277 -0
- package/ja/packages/react-intlayer/useDictionary.md +260 -0
- package/ja/packages/react-intlayer/useIntlayer.md +225 -0
- package/ja/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/ja/packages/react-intlayer/useLocale.md +184 -0
- package/ja/packages/react-native-intlayer/index.md +57 -0
- package/ja/packages/react-scripts-intlayer/index.md +57 -0
- package/ja/packages/solid-intlayer/index.md +3 -0
- package/ja/packages/svelte-intlayer/index.md +3 -0
- package/ja/packages/vite-intlayer/index.md +53 -0
- package/ja/packages/vue-intlayer/index.md +3 -0
- package/ja/per_locale_file.md +298 -0
- package/ja/privacy_notice.md +57 -0
- package/ja/roadmap.md +206 -0
- package/ja/terms_of_service.md +33 -0
- package/ja/vs_code_extension.md +139 -0
- package/ko/CI_CD.md +149 -0
- package/ko/autoFill.md +157 -0
- package/ko/configuration.md +507 -0
- package/ko/dictionary/condition.md +213 -0
- package/ko/dictionary/content_extention_customization.md +81 -0
- package/ko/dictionary/enumeration.md +221 -0
- package/ko/dictionary/file.md +207 -0
- package/ko/dictionary/function_fetching.md +190 -0
- package/ko/dictionary/get_started.md +466 -0
- package/ko/dictionary/insertion.md +167 -0
- package/ko/dictionary/markdown.md +343 -0
- package/ko/dictionary/nesting.md +249 -0
- package/ko/dictionary/translation.md +287 -0
- package/ko/header.md +7 -0
- package/ko/how_works_intlayer.md +216 -0
- package/ko/index.md +125 -0
- package/ko/interest_of_intlayer.md +132 -0
- package/ko/intlayer_CMS.md +334 -0
- package/ko/intlayer_cli.md +274 -0
- package/ko/intlayer_visual_editor.md +210 -0
- package/ko/intlayer_with_angular.md +3 -0
- package/ko/intlayer_with_create_react_app.md +1186 -0
- package/ko/intlayer_with_express.md +267 -0
- package/ko/intlayer_with_lynx+react.md +482 -0
- package/ko/intlayer_with_nextjs_14.md +1267 -0
- package/ko/intlayer_with_nextjs_15.md +1319 -0
- package/ko/intlayer_with_nextjs_page_router.md +1097 -0
- package/ko/intlayer_with_react_native+expo.md +537 -0
- package/ko/intlayer_with_vite+preact.md +1682 -0
- package/ko/intlayer_with_vite+react.md +1582 -0
- package/ko/intlayer_with_vite+solid.md +3 -0
- package/ko/intlayer_with_vite+svelte.md +3 -0
- package/ko/intlayer_with_vite+vue.md +988 -0
- package/ko/introduction.md +186 -0
- package/ko/mcp_server.md +150 -0
- package/ko/packages/@intlayer/api/index.md +31 -0
- package/ko/packages/@intlayer/chokidar/index.md +31 -0
- package/ko/packages/@intlayer/cli/index.md +21 -0
- package/ko/packages/@intlayer/config/index.md +116 -0
- package/ko/packages/@intlayer/core/index.md +25 -0
- package/ko/packages/@intlayer/design-system/index.md +21 -0
- package/ko/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/ko/packages/@intlayer/editor/index.md +21 -0
- package/ko/packages/@intlayer/editor-react/index.md +21 -0
- package/ko/packages/@intlayer/webpack/index.md +35 -0
- package/ko/packages/angular-intlayer/index.md +5 -0
- package/ko/packages/express-intlayer/index.md +229 -0
- package/ko/packages/express-intlayer/t.md +432 -0
- package/ko/packages/intlayer/getConfiguration.md +120 -0
- package/ko/packages/intlayer/getEnumeration.md +138 -0
- package/ko/packages/intlayer/getHTMLTextDir.md +97 -0
- package/ko/packages/intlayer/getLocaleLang.md +57 -0
- package/ko/packages/intlayer/getLocaleName.md +93 -0
- package/ko/packages/intlayer/getLocalizedUrl.md +221 -0
- package/ko/packages/intlayer/getMultilingualUrls.md +198 -0
- package/ko/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/ko/packages/intlayer/getTranslation.md +166 -0
- package/ko/packages/intlayer/getTranslationContent.md +166 -0
- package/ko/packages/intlayer/index.md +480 -0
- package/ko/packages/intlayer-cli/index.md +41 -0
- package/ko/packages/intlayer-editor/index.md +113 -0
- package/ko/packages/lynx-intlayer/index.md +58 -0
- package/ko/packages/next-intlayer/index.md +267 -0
- package/ko/packages/next-intlayer/t.md +337 -0
- package/ko/packages/next-intlayer/useDictionary.md +242 -0
- package/ko/packages/next-intlayer/useIntlayer.md +237 -0
- package/ko/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/ko/packages/next-intlayer/useLocale.md +105 -0
- package/ko/packages/preact-intlayer/index.md +3 -0
- package/ko/packages/react-intlayer/index.md +260 -0
- package/ko/packages/react-intlayer/t.md +277 -0
- package/ko/packages/react-intlayer/useDictionary.md +268 -0
- package/ko/packages/react-intlayer/useIntlayer.md +225 -0
- package/ko/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/ko/packages/react-intlayer/useLocale.md +184 -0
- package/ko/packages/react-native-intlayer/index.md +57 -0
- package/ko/packages/react-scripts-intlayer/index.md +57 -0
- package/ko/packages/solid-intlayer/index.md +3 -0
- package/ko/packages/svelte-intlayer/index.md +3 -0
- package/ko/packages/vite-intlayer/index.md +53 -0
- package/ko/packages/vue-intlayer/index.md +3 -0
- package/ko/per_locale_file.md +300 -0
- package/ko/privacy_notice.md +61 -0
- package/ko/roadmap.md +206 -0
- package/ko/terms_of_service.md +33 -0
- package/ko/vs_code_extension.md +139 -0
- package/package.json +96 -0
- package/pt/CI_CD.md +149 -0
- package/pt/autoFill.md +157 -0
- package/pt/configuration.md +503 -0
- package/pt/dictionary/condition.md +213 -0
- package/pt/dictionary/content_extention_customization.md +81 -0
- package/pt/dictionary/enumeration.md +221 -0
- package/pt/dictionary/file.md +210 -0
- package/pt/dictionary/function_fetching.md +190 -0
- package/pt/dictionary/get_started.md +490 -0
- package/pt/dictionary/insertion.md +161 -0
- package/pt/dictionary/markdown.md +339 -0
- package/pt/dictionary/nesting.md +249 -0
- package/pt/dictionary/translation.md +322 -0
- package/pt/header.md +7 -0
- package/pt/how_works_intlayer.md +216 -0
- package/pt/index.md +125 -0
- package/pt/interest_of_intlayer.md +132 -0
- package/pt/intlayer_CMS.md +334 -0
- package/pt/intlayer_cli.md +274 -0
- package/pt/intlayer_visual_editor.md +210 -0
- package/pt/intlayer_with_angular.md +3 -0
- package/pt/intlayer_with_create_react_app.md +1204 -0
- package/pt/intlayer_with_express.md +270 -0
- package/pt/intlayer_with_lynx+react.md +467 -0
- package/pt/intlayer_with_nextjs_14.md +1269 -0
- package/pt/intlayer_with_nextjs_15.md +1319 -0
- package/pt/intlayer_with_nextjs_page_router.md +1109 -0
- package/pt/intlayer_with_react_native+expo.md +259 -0
- package/pt/intlayer_with_vite+preact.md +1663 -0
- package/pt/intlayer_with_vite+react.md +1621 -0
- package/pt/intlayer_with_vite+solid.md +3 -0
- package/pt/intlayer_with_vite+svelte.md +3 -0
- package/pt/intlayer_with_vite+vue.md +989 -0
- package/pt/introduction.md +193 -0
- package/pt/mcp_server.md +150 -0
- package/pt/packages/@intlayer/api/index.md +31 -0
- package/pt/packages/@intlayer/chokidar/index.md +31 -0
- package/pt/packages/@intlayer/cli/index.md +21 -0
- package/pt/packages/@intlayer/config/index.md +116 -0
- package/pt/packages/@intlayer/core/index.md +25 -0
- package/pt/packages/@intlayer/design-system/index.md +21 -0
- package/pt/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/pt/packages/@intlayer/editor/index.md +21 -0
- package/pt/packages/@intlayer/editor-react/index.md +21 -0
- package/pt/packages/@intlayer/webpack/index.md +35 -0
- package/pt/packages/angular-intlayer/index.md +3 -0
- package/pt/packages/express-intlayer/index.md +232 -0
- package/pt/packages/express-intlayer/t.md +267 -0
- package/pt/packages/intlayer/getConfiguration.md +120 -0
- package/pt/packages/intlayer/getEnumeration.md +138 -0
- package/pt/packages/intlayer/getHTMLTextDir.md +97 -0
- package/pt/packages/intlayer/getLocaleLang.md +57 -0
- package/pt/packages/intlayer/getLocaleName.md +93 -0
- package/pt/packages/intlayer/getLocalizedUrl.md +221 -0
- package/pt/packages/intlayer/getMultilingualUrls.md +198 -0
- package/pt/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/pt/packages/intlayer/getTranslation.md +175 -0
- package/pt/packages/intlayer/getTranslationContent.md +177 -0
- package/pt/packages/intlayer/index.md +484 -0
- package/pt/packages/intlayer-cli/index.md +41 -0
- package/pt/packages/intlayer-editor/index.md +113 -0
- package/pt/packages/lynx-intlayer/index.md +58 -0
- package/pt/packages/next-intlayer/index.md +270 -0
- package/pt/packages/next-intlayer/t.md +341 -0
- package/pt/packages/next-intlayer/useDictionary.md +248 -0
- package/pt/packages/next-intlayer/useIntlayer.md +237 -0
- package/pt/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/pt/packages/next-intlayer/useLocale.md +105 -0
- package/pt/packages/preact-intlayer/index.md +3 -0
- package/pt/packages/react-intlayer/index.md +261 -0
- package/pt/packages/react-intlayer/t.md +289 -0
- package/pt/packages/react-intlayer/useDictionary.md +268 -0
- package/pt/packages/react-intlayer/useIntlayer.md +225 -0
- package/pt/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/pt/packages/react-intlayer/useLocale.md +184 -0
- package/pt/packages/react-native-intlayer/index.md +57 -0
- package/pt/packages/react-scripts-intlayer/index.md +57 -0
- package/pt/packages/solid-intlayer/index.md +3 -0
- package/pt/packages/svelte-intlayer/index.md +3 -0
- package/pt/packages/vite-intlayer/index.md +53 -0
- package/pt/packages/vue-intlayer/index.md +3 -0
- package/pt/per_locale_file.md +298 -0
- package/pt/privacy_notice.md +61 -0
- package/pt/roadmap.md +206 -0
- package/pt/terms_of_service.md +33 -0
- package/pt/vs_code_extension.md +139 -0
- package/ru/CI_CD.md +149 -0
- package/ru/autoFill.md +157 -0
- package/ru/configuration.md +507 -0
- package/ru/dictionary/condition.md +213 -0
- package/ru/dictionary/content_extention_customization.md +81 -0
- package/ru/dictionary/enumeration.md +221 -0
- package/ru/dictionary/file.md +209 -0
- package/ru/dictionary/function_fetching.md +188 -0
- package/ru/dictionary/get_started.md +311 -0
- package/ru/dictionary/insertion.md +161 -0
- package/ru/dictionary/markdown.md +339 -0
- package/ru/dictionary/nesting.md +249 -0
- package/ru/dictionary/translation.md +322 -0
- package/ru/environment/angular.md +3 -0
- package/ru/header.md +7 -0
- package/ru/how_works_intlayer.md +217 -0
- package/ru/index.md +125 -0
- package/ru/interest_of_intlayer.md +132 -0
- package/ru/intlayer_CMS.md +334 -0
- package/ru/intlayer_cli.md +274 -0
- package/ru/intlayer_visual_editor.md +210 -0
- package/ru/intlayer_with_angular.md +3 -0
- package/ru/intlayer_with_create_react_app.md +1196 -0
- package/ru/intlayer_with_express.md +273 -0
- package/ru/intlayer_with_lynx+react.md +482 -0
- package/ru/intlayer_with_nextjs_14.md +1274 -0
- package/ru/intlayer_with_nextjs_15.md +1318 -0
- package/ru/intlayer_with_nextjs_page_router.md +1100 -0
- package/ru/intlayer_with_react_native+expo.md +537 -0
- package/ru/intlayer_with_vite+preact.md +1663 -0
- package/ru/intlayer_with_vite+react.md +1546 -0
- package/ru/intlayer_with_vite+solid.md +3 -0
- package/ru/intlayer_with_vite+svelte.md +3 -0
- package/ru/intlayer_with_vite+vue.md +987 -0
- package/ru/introduction.md +190 -0
- package/ru/mcp_server.md +152 -0
- package/ru/packages/@intlayer/api/index.md +31 -0
- package/ru/packages/@intlayer/chokidar/index.md +31 -0
- package/ru/packages/@intlayer/cli/index.md +23 -0
- package/ru/packages/@intlayer/config/index.md +116 -0
- package/ru/packages/@intlayer/core/index.md +25 -0
- package/ru/packages/@intlayer/design-system/index.md +21 -0
- package/ru/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/ru/packages/@intlayer/editor/index.md +21 -0
- package/ru/packages/@intlayer/editor-react/index.md +21 -0
- package/ru/packages/@intlayer/webpack/index.md +35 -0
- package/ru/packages/angular-intlayer/index.md +3 -0
- package/ru/packages/express-intlayer/index.md +235 -0
- package/ru/packages/express-intlayer/t.md +445 -0
- package/ru/packages/intlayer/getConfiguration.md +120 -0
- package/ru/packages/intlayer/getEnumeration.md +140 -0
- package/ru/packages/intlayer/getHTMLTextDir.md +97 -0
- package/ru/packages/intlayer/getLocaleLang.md +59 -0
- package/ru/packages/intlayer/getLocaleName.md +93 -0
- package/ru/packages/intlayer/getLocalizedUrl.md +221 -0
- package/ru/packages/intlayer/getMultilingualUrls.md +198 -0
- package/ru/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/ru/packages/intlayer/getTranslation.md +177 -0
- package/ru/packages/intlayer/getTranslationContent.md +175 -0
- package/ru/packages/intlayer/index.md +275 -0
- package/ru/packages/intlayer-cli/index.md +41 -0
- package/ru/packages/intlayer-editor/index.md +115 -0
- package/ru/packages/lynx-intlayer/index.md +58 -0
- package/ru/packages/next-intlayer/index.md +267 -0
- package/ru/packages/next-intlayer/t.md +340 -0
- package/ru/packages/next-intlayer/useDictionary.md +248 -0
- package/ru/packages/next-intlayer/useIntlayer.md +237 -0
- package/ru/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/ru/packages/next-intlayer/useLocale.md +105 -0
- package/ru/packages/preact-intlayer/index.md +3 -0
- package/ru/packages/react-intlayer/index.md +261 -0
- package/ru/packages/react-intlayer/t.md +289 -0
- package/ru/packages/react-intlayer/useDictionary.md +268 -0
- package/ru/packages/react-intlayer/useIntlayer.md +225 -0
- package/ru/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/ru/packages/react-intlayer/useLocale.md +184 -0
- package/ru/packages/react-native-intlayer/index.md +57 -0
- package/ru/packages/react-scripts-intlayer/index.md +57 -0
- package/ru/packages/solid-intlayer/index.md +3 -0
- package/ru/packages/svelte-intlayer/index.md +3 -0
- package/ru/packages/vite-intlayer/index.md +53 -0
- package/ru/packages/vue-intlayer/index.md +3 -0
- package/ru/per_locale_file.md +298 -0
- package/ru/privacy_notice.md +61 -0
- package/ru/roadmap.md +206 -0
- package/ru/terms_of_service.md +33 -0
- package/ru/vs_code_extension.md +139 -0
- package/zh/CI_CD.md +149 -0
- package/zh/autoFill.md +157 -0
- package/zh/configuration.md +484 -0
- package/zh/dictionary/condition.md +213 -0
- package/zh/dictionary/content_extention_customization.md +81 -0
- package/zh/dictionary/enumeration.md +221 -0
- package/zh/dictionary/file.md +209 -0
- package/zh/dictionary/function_fetching.md +188 -0
- package/zh/dictionary/get_started.md +490 -0
- package/zh/dictionary/insertion.md +161 -0
- package/zh/dictionary/markdown.md +342 -0
- package/zh/dictionary/nesting.md +249 -0
- package/zh/dictionary/translation.md +287 -0
- package/zh/header.md +7 -0
- package/zh/how_works_intlayer.md +217 -0
- package/zh/index.md +125 -0
- package/zh/interest_of_intlayer.md +132 -0
- package/zh/intlayer_CMS.md +334 -0
- package/zh/intlayer_cli.md +274 -0
- package/zh/intlayer_visual_editor.md +210 -0
- package/zh/intlayer_with_angular.md +3 -0
- package/zh/intlayer_with_create_react_app.md +1196 -0
- package/zh/intlayer_with_express.md +267 -0
- package/zh/intlayer_with_lynx+react.md +484 -0
- package/zh/intlayer_with_nextjs_14.md +1286 -0
- package/zh/intlayer_with_nextjs_15.md +1322 -0
- package/zh/intlayer_with_nextjs_page_router.md +1097 -0
- package/zh/intlayer_with_react_native+expo.md +539 -0
- package/zh/intlayer_with_vite+preact.md +1681 -0
- package/zh/intlayer_with_vite+react.md +1577 -0
- package/zh/intlayer_with_vite+solid.md +3 -0
- package/zh/intlayer_with_vite+svelte.md +3 -0
- package/zh/intlayer_with_vite+vue.md +988 -0
- package/zh/introduction.md +186 -0
- package/zh/mcp_server.md +152 -0
- package/zh/packages/@intlayer/api/index.md +31 -0
- package/zh/packages/@intlayer/chokidar/index.md +31 -0
- package/zh/packages/@intlayer/cli/index.md +21 -0
- package/zh/packages/@intlayer/config/index.md +116 -0
- package/zh/packages/@intlayer/core/index.md +25 -0
- package/zh/packages/@intlayer/design-system/index.md +21 -0
- package/zh/packages/@intlayer/dictionary-entry/index.md +21 -0
- package/zh/packages/@intlayer/editor/index.md +21 -0
- package/zh/packages/@intlayer/editor-react/index.md +21 -0
- package/zh/packages/@intlayer/webpack/index.md +35 -0
- package/zh/packages/angular-intlayer/index.md +3 -0
- package/zh/packages/express-intlayer/index.md +229 -0
- package/zh/packages/express-intlayer/t.md +432 -0
- package/zh/packages/intlayer/getConfiguration.md +120 -0
- package/zh/packages/intlayer/getEnumeration.md +140 -0
- package/zh/packages/intlayer/getHTMLTextDir.md +97 -0
- package/zh/packages/intlayer/getLocaleLang.md +57 -0
- package/zh/packages/intlayer/getLocaleName.md +93 -0
- package/zh/packages/intlayer/getLocalizedUrl.md +221 -0
- package/zh/packages/intlayer/getMultilingualUrls.md +198 -0
- package/zh/packages/intlayer/getPathWithoutLocale.md +50 -0
- package/zh/packages/intlayer/getTranslation.md +166 -0
- package/zh/packages/intlayer/getTranslationContent.md +166 -0
- package/zh/packages/intlayer/index.md +360 -0
- package/zh/packages/intlayer-cli/index.md +41 -0
- package/zh/packages/intlayer-editor/index.md +113 -0
- package/zh/packages/lynx-intlayer/index.md +60 -0
- package/zh/packages/next-intlayer/index.md +267 -0
- package/zh/packages/next-intlayer/t.md +338 -0
- package/zh/packages/next-intlayer/useDictionary.md +242 -0
- package/zh/packages/next-intlayer/useIntlayer.md +237 -0
- package/zh/packages/next-intlayer/useIntlayerAsync.md +211 -0
- package/zh/packages/next-intlayer/useLocale.md +105 -0
- package/zh/packages/preact-intlayer/index.md +3 -0
- package/zh/packages/react-intlayer/index.md +257 -0
- package/zh/packages/react-intlayer/t.md +271 -0
- package/zh/packages/react-intlayer/useDictionary.md +260 -0
- package/zh/packages/react-intlayer/useIntlayer.md +225 -0
- package/zh/packages/react-intlayer/useIntlayerAsync.md +226 -0
- package/zh/packages/react-intlayer/useLocale.md +184 -0
- package/zh/packages/react-native-intlayer/index.md +57 -0
- package/zh/packages/react-scripts-intlayer/index.md +57 -0
- package/zh/packages/solid-intlayer/index.md +3 -0
- package/zh/packages/svelte-intlayer/index.md +3 -0
- package/zh/packages/vite-intlayer/index.md +53 -0
- package/zh/packages/vue-intlayer/index.md +3 -0
- package/zh/per_locale_file.md +298 -0
- package/zh/privacy_notice.md +61 -0
- package/zh/roadmap.md +206 -0
- package/zh/terms_of_service.md +33 -0
- package/zh/vs_code_extension.md +139 -0
|
@@ -0,0 +1,989 @@
|
|
|
1
|
+
# Erste Schritte mit der Internationalisierung (i18n) mit Intlayer, Vite und Vue
|
|
2
|
+
|
|
3
|
+
> Dieses Paket befindet sich in der Entwicklung. Siehe das [Issue](https://github.com/aymericzip/intlayer/issues/113) für weitere Informationen. Zeigen Sie Ihr Interesse an Intlayer für Vue, indem Sie das Issue liken.
|
|
4
|
+
|
|
5
|
+
<!-- Siehe [Application Template](https://github.com/aymericzip/intlayer-vue-template) auf GitHub. -->
|
|
6
|
+
|
|
7
|
+
## Was ist Intlayer?
|
|
8
|
+
|
|
9
|
+
**Intlayer** ist eine innovative, Open-Source-Internationalisierungsbibliothek (i18n), die entwickelt wurde, um die Unterstützung mehrerer Sprachen in modernen Webanwendungen zu vereinfachen.
|
|
10
|
+
|
|
11
|
+
Mit Intlayer können Sie:
|
|
12
|
+
|
|
13
|
+
- **Übersetzungen einfach verwalten** mit deklarativen Wörterbüchern auf Komponentenebene.
|
|
14
|
+
- **Metadaten, Routen und Inhalte dynamisch lokalisieren**.
|
|
15
|
+
- **TypeScript-Unterstützung sicherstellen** mit automatisch generierten Typen, die die Autovervollständigung und Fehlererkennung verbessern.
|
|
16
|
+
- **Von erweiterten Funktionen profitieren**, wie dynamische Spracherkennung und -umschaltung.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Schritt-für-Schritt-Anleitung zur Einrichtung von Intlayer in einer Vite- und Vue-Anwendung
|
|
21
|
+
|
|
22
|
+
### Schritt 1: Abhängigkeiten installieren
|
|
23
|
+
|
|
24
|
+
Installieren Sie die notwendigen Pakete mit npm:
|
|
25
|
+
|
|
26
|
+
```bash packageManager="npm"
|
|
27
|
+
npm install intlayer vue-intlayer vite-intlayer
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```bash packageManager="pnpm"
|
|
31
|
+
pnpm add intlayer vue-intlayer vite-intlayer
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```bash packageManager="yarn"
|
|
35
|
+
yarn add intlayer vue-intlayer vite-intlayer
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- **intlayer**
|
|
39
|
+
|
|
40
|
+
Das Kernpaket, das Internationalisierungswerkzeuge für Konfigurationsmanagement, Übersetzung, [Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/get_started.md), Transpilation und [CLI-Befehle](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_cli.md) bereitstellt.
|
|
41
|
+
|
|
42
|
+
- **vue-intlayer**
|
|
43
|
+
Das Paket, das Intlayer in Vue-Anwendungen integriert. Es bietet Kontextanbieter und Composables für die Internationalisierung in Vue.
|
|
44
|
+
|
|
45
|
+
- **vite-intlayer**
|
|
46
|
+
Beinhaltet das Vite-Plugin zur Integration von Intlayer mit dem [Vite-Bundler](https://vite.dev/guide/why.html#why-bundle-for-production) sowie Middleware zur Erkennung der bevorzugten Sprache des Benutzers, Verwaltung von Cookies und URL-Weiterleitung.
|
|
47
|
+
|
|
48
|
+
### Schritt 2: Konfiguration Ihres Projekts
|
|
49
|
+
|
|
50
|
+
Erstellen Sie eine Konfigurationsdatei, um die Sprachen Ihrer Anwendung zu konfigurieren:
|
|
51
|
+
|
|
52
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
53
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
54
|
+
|
|
55
|
+
const config: IntlayerConfig = {
|
|
56
|
+
internationalization: {
|
|
57
|
+
locales: [
|
|
58
|
+
Locales.ENGLISH,
|
|
59
|
+
Locales.FRENCH,
|
|
60
|
+
Locales.SPANISH,
|
|
61
|
+
// Ihre weiteren Sprachen
|
|
62
|
+
],
|
|
63
|
+
defaultLocale: Locales.ENGLISH,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export default config;
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
71
|
+
import { Locales } from "intlayer";
|
|
72
|
+
|
|
73
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
74
|
+
const config = {
|
|
75
|
+
internationalization: {
|
|
76
|
+
locales: [
|
|
77
|
+
Locales.ENGLISH,
|
|
78
|
+
Locales.FRENCH,
|
|
79
|
+
Locales.SPANISH,
|
|
80
|
+
// Ihre weiteren Sprachen
|
|
81
|
+
],
|
|
82
|
+
defaultLocale: Locales.ENGLISH,
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export default config;
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
90
|
+
const { Locales } = require("intlayer");
|
|
91
|
+
|
|
92
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
93
|
+
const config = {
|
|
94
|
+
internationalization: {
|
|
95
|
+
locales: [
|
|
96
|
+
Locales.ENGLISH,
|
|
97
|
+
Locales.FRENCH,
|
|
98
|
+
Locales.SPANISH,
|
|
99
|
+
// Ihre weiteren Sprachen
|
|
100
|
+
],
|
|
101
|
+
defaultLocale: Locales.ENGLISH,
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
module.exports = config;
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
> Über diese Konfigurationsdatei können Sie lokalisierte URLs, Middleware-Weiterleitungen, Cookie-Namen, den Speicherort und die Erweiterung Ihrer Inhaltsdeklarationen einrichten, Intlayer-Logs in der Konsole deaktivieren und mehr. Eine vollständige Liste der verfügbaren Parameter finden Sie in der [Konfigurationsdokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/de/configuration.md).
|
|
109
|
+
|
|
110
|
+
### Schritt 3: Intlayer in Ihre Vite-Konfiguration integrieren
|
|
111
|
+
|
|
112
|
+
Fügen Sie das Intlayer-Plugin in Ihre Konfiguration ein.
|
|
113
|
+
|
|
114
|
+
```typescript fileName="vite.config.ts" codeFormat="typescript"
|
|
115
|
+
import { defineConfig } from "vite";
|
|
116
|
+
import vue from "@vitejs/plugin-vue";
|
|
117
|
+
import { intlayerPlugin } from "vite-intlayer";
|
|
118
|
+
|
|
119
|
+
// https://vitejs.dev/config/
|
|
120
|
+
export default defineConfig({
|
|
121
|
+
plugins: [vue(), intlayerPlugin()],
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```javascript fileName="vite.config.mjs" codeFormat="esm"
|
|
126
|
+
import { defineConfig } from "vite";
|
|
127
|
+
import vue from "@vitejs/plugin-vue";
|
|
128
|
+
import { intlayerPlugin } from "vite-intlayer";
|
|
129
|
+
|
|
130
|
+
// https://vitejs.dev/config/
|
|
131
|
+
export default defineConfig({
|
|
132
|
+
plugins: [vue(), intlayerPlugin()],
|
|
133
|
+
});
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
```javascript fileName="vite.config.cjs" codeFormat="commonjs"
|
|
137
|
+
const { defineConfig } = require("vite");
|
|
138
|
+
const vue = require("@vitejs/plugin-vue");
|
|
139
|
+
const { intlayerPlugin } = require("vite-intlayer");
|
|
140
|
+
|
|
141
|
+
// https://vitejs.dev/config/
|
|
142
|
+
module.exports = defineConfig({
|
|
143
|
+
plugins: [vue(), intlayerPlugin()],
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
> Das `intlayerPlugin()` Vite-Plugin wird verwendet, um Intlayer mit Vite zu integrieren. Es stellt sicher, dass Inhaltsdeklarationsdateien erstellt und im Entwicklungsmodus überwacht werden. Es definiert Intlayer-Umgebungsvariablen innerhalb der Vite-Anwendung. Zusätzlich bietet es Aliase zur Leistungsoptimierung.
|
|
148
|
+
|
|
149
|
+
### Schritt 4: Ihre Inhalte deklarieren
|
|
150
|
+
|
|
151
|
+
Erstellen und verwalten Sie Ihre Inhaltsdeklarationen, um Übersetzungen zu speichern:
|
|
152
|
+
|
|
153
|
+
```tsx fileName="src/helloWorld.content.ts" contentDeclarationFormat="typescript"
|
|
154
|
+
import { t, type Dictionary } from "intlayer";
|
|
155
|
+
|
|
156
|
+
const helloWorldContent = {
|
|
157
|
+
key: "helloworld",
|
|
158
|
+
content: {
|
|
159
|
+
count: t({
|
|
160
|
+
de: "Anzahl ist ",
|
|
161
|
+
en: "count is ",
|
|
162
|
+
fr: "le compte est ",
|
|
163
|
+
es: "el recuento es ",
|
|
164
|
+
}),
|
|
165
|
+
edit: t({
|
|
166
|
+
de: "Bearbeiten Sie <code>components/HelloWorld.vue</code> und speichern Sie, um HMR zu testen",
|
|
167
|
+
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
168
|
+
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
169
|
+
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
170
|
+
}),
|
|
171
|
+
checkOut: t({
|
|
172
|
+
de: "Schauen Sie sich ",
|
|
173
|
+
en: "Check out ",
|
|
174
|
+
fr: "Vérifiez ",
|
|
175
|
+
es: "Compruebe ",
|
|
176
|
+
}),
|
|
177
|
+
officialStarter: t({
|
|
178
|
+
de: ", den offiziellen Vue + Vite Starter",
|
|
179
|
+
en: ", the official Vue + Vite starter",
|
|
180
|
+
fr: ", le starter officiel Vue + Vite",
|
|
181
|
+
es: ", el starter oficial Vue + Vite",
|
|
182
|
+
}),
|
|
183
|
+
learnMore: t({
|
|
184
|
+
de: "Erfahren Sie mehr über IDE-Unterstützung für Vue im ",
|
|
185
|
+
en: "Learn more about IDE Support for Vue in the ",
|
|
186
|
+
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
187
|
+
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
188
|
+
}),
|
|
189
|
+
vueDocs: t({
|
|
190
|
+
de: "Vue-Dokumentation Skalierungsleitfaden",
|
|
191
|
+
en: "Vue Docs Scaling up Guide",
|
|
192
|
+
fr: "Vue Docs Scaling up Guide",
|
|
193
|
+
es: "Vue Docs Scaling up Guide",
|
|
194
|
+
}),
|
|
195
|
+
readTheDocs: t({
|
|
196
|
+
de: "Klicken Sie auf die Vite- und Vue-Logos, um mehr zu erfahren",
|
|
197
|
+
en: "Click on the Vite and Vue logos to learn more",
|
|
198
|
+
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
199
|
+
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
200
|
+
}),
|
|
201
|
+
},
|
|
202
|
+
} satisfies Dictionary;
|
|
203
|
+
|
|
204
|
+
export default helloWorldContent;
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
```javascript fileName="src/helloWorld.content.mjs" contentDeclarationFormat="esm"
|
|
208
|
+
import { t } from "intlayer";
|
|
209
|
+
|
|
210
|
+
/** @type {import('intlayer').Dictionary} */
|
|
211
|
+
const helloWorldContent = {
|
|
212
|
+
key: "helloworld",
|
|
213
|
+
content: {
|
|
214
|
+
count: t({
|
|
215
|
+
de: "Anzahl ist ",
|
|
216
|
+
en: "count is ",
|
|
217
|
+
fr: "le compte est ",
|
|
218
|
+
es: "el recuento es ",
|
|
219
|
+
}),
|
|
220
|
+
edit: t({
|
|
221
|
+
de: "Bearbeiten Sie <code>components/HelloWorld.vue</code> und speichern Sie, um HMR zu testen",
|
|
222
|
+
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
223
|
+
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
224
|
+
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
225
|
+
}),
|
|
226
|
+
checkOut: t({
|
|
227
|
+
de: "Schauen Sie sich ",
|
|
228
|
+
en: "Check out ",
|
|
229
|
+
fr: "Vérifiez ",
|
|
230
|
+
es: "Compruebe ",
|
|
231
|
+
}),
|
|
232
|
+
officialStarter: t({
|
|
233
|
+
de: "den offiziellen Vue + Vite Starter",
|
|
234
|
+
en: "the official Vue + Vite starter",
|
|
235
|
+
fr: "le starter officiel Vue + Vite",
|
|
236
|
+
es: "el starter oficial Vue + Vite",
|
|
237
|
+
}),
|
|
238
|
+
learnMore: t({
|
|
239
|
+
de: "Erfahren Sie mehr über IDE-Unterstützung für Vue im ",
|
|
240
|
+
en: "Learn more about IDE Support for Vue in the ",
|
|
241
|
+
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
242
|
+
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
243
|
+
}),
|
|
244
|
+
vueDocs: t({
|
|
245
|
+
de: "Vue-Dokumentation Skalierungsleitfaden",
|
|
246
|
+
en: "Vue Docs Scaling up Guide",
|
|
247
|
+
fr: "Vue Docs Scaling up Guide",
|
|
248
|
+
es: "Vue Docs Scaling up Guide",
|
|
249
|
+
}),
|
|
250
|
+
readTheDocs: t({
|
|
251
|
+
de: "Klicken Sie auf die Vite- und Vue-Logos, um mehr zu erfahren",
|
|
252
|
+
en: "Click on the Vite and Vue logos to learn more",
|
|
253
|
+
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
254
|
+
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
255
|
+
}),
|
|
256
|
+
},
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export default helloWorldContent;
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
const { t } = require("intlayer");
|
|
265
|
+
|
|
266
|
+
/\*_ @type {import('intlayer').Dictionary} _/
|
|
267
|
+
const appContent = {
|
|
268
|
+
key: "helloworld",
|
|
269
|
+
content: {
|
|
270
|
+
count: t({ de: "Anzahl ist ", en: "count is ", fr: "le compte est ", es: "el recuento es " }),
|
|
271
|
+
edit: t({
|
|
272
|
+
de: "Bearbeiten Sie <code>components/HelloWorld.vue</code> und speichern Sie, um HMR zu testen",
|
|
273
|
+
en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
274
|
+
fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
275
|
+
es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
|
|
276
|
+
}),
|
|
277
|
+
checkOut: t({ de: "Schauen Sie sich ", en: "Check out ", fr: "Vérifiez ", es: "Compruebe " }),
|
|
278
|
+
officialStarter: t({
|
|
279
|
+
de: "den offiziellen Vue + Vite Starter",
|
|
280
|
+
en: "the official Vue + Vite starter",
|
|
281
|
+
fr: "le starter officiel Vue + Vite",
|
|
282
|
+
es: "el starter oficial Vue + Vite",
|
|
283
|
+
}),
|
|
284
|
+
learnMore: t({
|
|
285
|
+
de: "Erfahren Sie mehr über die IDE-Unterstützung für Vue im ",
|
|
286
|
+
en: "Learn more about IDE Support for Vue in the ",
|
|
287
|
+
fr: "En savoir plus sur le support IDE pour Vue dans le ",
|
|
288
|
+
es: "Aprenda más sobre el soporte IDE para Vue en el ",
|
|
289
|
+
}),
|
|
290
|
+
vueDocs: t({
|
|
291
|
+
de: "Vue-Dokumentation Skalierungsleitfaden",
|
|
292
|
+
en: "Vue Docs Scaling up Guide",
|
|
293
|
+
fr: "Vue Docs Scaling up Guide",
|
|
294
|
+
es: "Vue Docs Scaling up Guide",
|
|
295
|
+
}),
|
|
296
|
+
readTheDocs: t({
|
|
297
|
+
de: "Klicken Sie auf die Vite- und Vue-Logos, um mehr zu erfahren",
|
|
298
|
+
en: "Click on the Vite and Vue logos to learn more",
|
|
299
|
+
fr: "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
300
|
+
es: "Haga clic en los logotipos de Vite y Vue para obtener más información",
|
|
301
|
+
}),
|
|
302
|
+
},
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
module.exports = appContent;
|
|
306
|
+
|
|
307
|
+
````
|
|
308
|
+
|
|
309
|
+
```json fileName="src/helloWorld.content.json" contentDeclarationFormat="json"
|
|
310
|
+
{
|
|
311
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
312
|
+
"key": "helloworld",
|
|
313
|
+
"content": {
|
|
314
|
+
"count": {
|
|
315
|
+
"nodeType": "translation",
|
|
316
|
+
"translation": {
|
|
317
|
+
"de": "Anzahl ist ",
|
|
318
|
+
"en": "count is ",
|
|
319
|
+
"fr": "le compte est ",
|
|
320
|
+
"es": "el recuento es "
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"edit": {
|
|
324
|
+
"nodeType": "translation",
|
|
325
|
+
"translation": {
|
|
326
|
+
"de": "Bearbeiten Sie <code>components/HelloWorld.vue</code> und speichern Sie, um HMR zu testen",
|
|
327
|
+
"en": "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
|
|
328
|
+
"fr": "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
|
|
329
|
+
"es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"checkOut": {
|
|
333
|
+
"nodeType": "translation",
|
|
334
|
+
"translation": {
|
|
335
|
+
"de": "Schauen Sie sich ",
|
|
336
|
+
"en": "Check out ",
|
|
337
|
+
"fr": "Vérifiez ",
|
|
338
|
+
"es": "Compruebe "
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
"officialStarter": {
|
|
342
|
+
"nodeType": "translation",
|
|
343
|
+
"translation": {
|
|
344
|
+
"de": "den offiziellen Vue + Vite Starter",
|
|
345
|
+
"en": "the official Vue + Vite starter",
|
|
346
|
+
"fr": "le starter officiel Vue + Vite",
|
|
347
|
+
"es": "el starter oficial Vue + Vite"
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"learnMore": {
|
|
351
|
+
"nodeType": "translation",
|
|
352
|
+
"translation": {
|
|
353
|
+
"de": "Erfahren Sie mehr über die IDE-Unterstützung für Vue im ",
|
|
354
|
+
"en": "Learn more about IDE Support for Vue in the ",
|
|
355
|
+
"fr": "En savoir plus sur le support IDE pour Vue dans le ",
|
|
356
|
+
"es": "Aprenda más sobre el soporte IDE para Vue en el "
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"vueDocs": {
|
|
360
|
+
"nodeType": "translation",
|
|
361
|
+
"translation": {
|
|
362
|
+
"de": "Vue-Dokumentation Skalierungsleitfaden",
|
|
363
|
+
"en": "Vue Docs Scaling up Guide",
|
|
364
|
+
"fr": "Vue Docs Scaling up Guide",
|
|
365
|
+
"es": "Vue Docs Scaling up Guide"
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"readTheDocs": {
|
|
369
|
+
"nodeType": "translation",
|
|
370
|
+
"translation": {
|
|
371
|
+
"de": "Klicken Sie auf die Vite- und Vue-Logos, um mehr zu erfahren",
|
|
372
|
+
"en": "Click on the Vite and Vue logos to learn more",
|
|
373
|
+
"fr": "Cliquez sur les logos Vite et Vue pour en savoir plus",
|
|
374
|
+
"es": "Haga clic en los logotipos de Vite y Vue para obtener más información"
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
````
|
|
380
|
+
|
|
381
|
+
> Ihre Inhaltsdeklarationen können überall in Ihrer Anwendung definiert werden, solange sie im Verzeichnis `contentDir` enthalten sind (standardmäßig `./src`). Und sie müssen mit der Dateierweiterung der Inhaltsdeklaration übereinstimmen (standardmäßig `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
382
|
+
|
|
383
|
+
> Weitere Details finden Sie in der [Dokumentation zur Inhaltsdeklaration](https://github.com/aymericzip/intlayer/blob/main/docs/de/dictionary/get_started.md).
|
|
384
|
+
|
|
385
|
+
### Schritt 5: Nutzen Sie Intlayer in Ihrem Code
|
|
386
|
+
|
|
387
|
+
Um die Internationalisierungsfunktionen von Intlayer in Ihrer Vue-Anwendung zu nutzen, müssen Sie zunächst die Intlayer-Singleton-Instanz in Ihrer Hauptdatei registrieren. Dieser Schritt ist entscheidend, da er den Internationalisierungskontext für alle Komponenten in Ihrer Anwendung bereitstellt und Übersetzungen überall in Ihrer Komponentenstruktur zugänglich macht.
|
|
388
|
+
|
|
389
|
+
```javascript fileName=main.js
|
|
390
|
+
import { createApp } from "vue";
|
|
391
|
+
import { installIntlayer } from "vue-intlayer";
|
|
392
|
+
import App from "./App.vue";
|
|
393
|
+
import "./style.css";
|
|
394
|
+
|
|
395
|
+
const app = createApp(App);
|
|
396
|
+
|
|
397
|
+
// Injektion des Providers auf oberster Ebene
|
|
398
|
+
installIntlayer(app);
|
|
399
|
+
|
|
400
|
+
// App mounten
|
|
401
|
+
app.mount("#app");
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
Greifen Sie auf Ihre Inhaltswörterbücher in Ihrer gesamten Anwendung zu, indem Sie eine Haupt-Vue-Komponente erstellen und die `useIntlayer`-Composables verwenden:
|
|
405
|
+
|
|
406
|
+
```vue fileName="src/HelloWord.vue"
|
|
407
|
+
<script setup lang="ts">
|
|
408
|
+
import { ref } from "vue";
|
|
409
|
+
import { useIntlayer } from "vue-intlayer";
|
|
410
|
+
|
|
411
|
+
defineProps({
|
|
412
|
+
msg: String,
|
|
413
|
+
});
|
|
414
|
+
|
|
415
|
+
const content = useIntlayer("helloworld");
|
|
416
|
+
const count = ref(0);
|
|
417
|
+
</script>
|
|
418
|
+
|
|
419
|
+
<template>
|
|
420
|
+
<h1>{{ msg }}</h1>
|
|
421
|
+
|
|
422
|
+
<div class="card">
|
|
423
|
+
<button type="button" @click="count++">
|
|
424
|
+
{{ content.count }}{{ count }}
|
|
425
|
+
</button>
|
|
426
|
+
<p v-html="content.edit.value"></p>
|
|
427
|
+
</div>
|
|
428
|
+
|
|
429
|
+
<p>
|
|
430
|
+
{{ content.checkOut }}
|
|
431
|
+
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
|
|
432
|
+
>create-vue</a
|
|
433
|
+
>, {{ content.officialStarter }}
|
|
434
|
+
</p>
|
|
435
|
+
<p>
|
|
436
|
+
{{ content.learnMore }}
|
|
437
|
+
<a
|
|
438
|
+
href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
|
|
439
|
+
target="_blank"
|
|
440
|
+
>{{ content.vueDocs }}</a
|
|
441
|
+
>.
|
|
442
|
+
</p>
|
|
443
|
+
<p class="read-the-docs">{{ content.readTheDocs }}</p>
|
|
444
|
+
</template>
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
> Wenn Sie Ihren Inhalt in einem Attribut wie `alt`, `title`, `href`, `aria-label` usw. verwenden möchten, müssen Sie den Wert der Funktion mit `.value` aufrufen, wie:
|
|
448
|
+
|
|
449
|
+
> ```html
|
|
450
|
+
>
|
|
451
|
+
> ```
|
|
452
|
+
|
|
453
|
+
> <img src="./logo.svg" :alt="content.image.value" />
|
|
454
|
+
|
|
455
|
+
> ```
|
|
456
|
+
>
|
|
457
|
+
> ```
|
|
458
|
+
|
|
459
|
+
### (Optional) Schritt 6: Ändern Sie die Sprache Ihres Inhalts
|
|
460
|
+
|
|
461
|
+
Um die Sprache Ihres Inhalts zu ändern, können Sie die Funktion `setLocale` verwenden, die vom `useLocale`-Composable bereitgestellt wird. Diese Funktion ermöglicht es Ihnen, die Sprache der Anwendung festzulegen und den Inhalt entsprechend zu aktualisieren.
|
|
462
|
+
|
|
463
|
+
Erstellen Sie eine Komponente, um zwischen Sprachen zu wechseln:
|
|
464
|
+
|
|
465
|
+
```vue fileName="src/components/LocaleSwitcher.vue"
|
|
466
|
+
<template>
|
|
467
|
+
<div class="locale-switcher">
|
|
468
|
+
<select v-model="selectedLocale" @change="changeLocale">
|
|
469
|
+
<option v-for="loc in availableLocales" :key="loc" :value="loc">
|
|
470
|
+
{{ getLocaleName(loc) }}
|
|
471
|
+
</option>
|
|
472
|
+
</select>
|
|
473
|
+
</div>
|
|
474
|
+
</template>
|
|
475
|
+
|
|
476
|
+
<script setup lang="ts">
|
|
477
|
+
import { ref, watch } from "vue";
|
|
478
|
+
import { getLocaleName } from "intlayer";
|
|
479
|
+
import { useLocale } from "vue-intlayer";
|
|
480
|
+
|
|
481
|
+
// Abrufen von Lokalisierungsinformationen und setLocale-Funktion
|
|
482
|
+
const { locale, availableLocales, setLocale } = useLocale();
|
|
483
|
+
|
|
484
|
+
// Verfolgen der ausgewählten Sprache mit einem Ref
|
|
485
|
+
const selectedLocale = ref(locale.value);
|
|
486
|
+
|
|
487
|
+
// Aktualisieren der Sprache, wenn sich die Auswahl ändert
|
|
488
|
+
const changeLocale = () => setLocale(selectedLocale.value);
|
|
489
|
+
|
|
490
|
+
// Halten Sie selectedLocale synchron mit der globalen Sprache
|
|
491
|
+
watch(
|
|
492
|
+
() => locale.value,
|
|
493
|
+
(newLocale) => {
|
|
494
|
+
selectedLocale.value = newLocale;
|
|
495
|
+
}
|
|
496
|
+
);
|
|
497
|
+
</script>
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
Verwenden Sie diese Komponente dann in Ihrer App.vue:
|
|
501
|
+
|
|
502
|
+
```vue fileName="src/App.vue"
|
|
503
|
+
<script setup lang="ts">
|
|
504
|
+
import { useIntlayer } from "vue-intlayer";
|
|
505
|
+
import HelloWorld from "@components/HelloWorld.vue";
|
|
506
|
+
import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
507
|
+
import { ref, watch } from "vue";
|
|
508
|
+
|
|
509
|
+
const content = useIntlayer("app"); // Erstellen Sie die zugehörige Intlayer-Deklarationsdatei
|
|
510
|
+
</script>
|
|
511
|
+
|
|
512
|
+
<template>
|
|
513
|
+
<div>
|
|
514
|
+
<LocaleSwitcher />
|
|
515
|
+
<a href="https://vite.dev" target="_blank">
|
|
516
|
+
<img src="/vite.svg" class="logo" :alt="content.viteLogo" />
|
|
517
|
+
</a>
|
|
518
|
+
<a href="https://vuejs.org/" target="_blank">
|
|
519
|
+
<img src="./assets/vue.svg" class="logo vue" :alt="content.vueLogo" />
|
|
520
|
+
</a>
|
|
521
|
+
</div>
|
|
522
|
+
<HelloWorld :msg="content.title" />
|
|
523
|
+
</template>
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
### (Optional) Schritt 7: Fügen Sie Ihrer Anwendung lokalisierte Routen hinzu
|
|
527
|
+
|
|
528
|
+
Das Hinzufügen lokalisierter Routen in einer Vue-Anwendung erfolgt typischerweise mit Vue Router und Sprachpräfixen. Dies erstellt eindeutige Routen für jede Sprache, was für SEO und SEO-freundliche URLs nützlich ist.
|
|
529
|
+
|
|
530
|
+
Beispiel:
|
|
531
|
+
|
|
532
|
+
```plaintext
|
|
533
|
+
- https://example.com/about
|
|
534
|
+
|
|
535
|
+
- https://example.com/de/about
|
|
536
|
+
- https://example.com/fr/about
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
Zuerst installieren Sie Vue Router:
|
|
540
|
+
|
|
541
|
+
```bash packageManager="npm"
|
|
542
|
+
npm install intlayer vue-router
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
```bash packageManager="pnpm"
|
|
546
|
+
pnpm add intlayer vue-router
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
```bash packageManager="yarn"
|
|
550
|
+
yarn add intlayer vue-router
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
Erstellen Sie dann eine Router-Konfiguration, die lokalisierungsbasierte Routen behandelt:
|
|
554
|
+
|
|
555
|
+
```js fileName="src/router/index.ts"
|
|
556
|
+
import {
|
|
557
|
+
configuration,
|
|
558
|
+
getPathWithoutLocale,
|
|
559
|
+
localeFlatMap,
|
|
560
|
+
type Locales,
|
|
561
|
+
} from 'intlayer';
|
|
562
|
+
import { createIntlayerClient } from 'vue-intlayer';
|
|
563
|
+
import { createRouter, createWebHistory } from 'vue-router';
|
|
564
|
+
import HomeView from './views/home/HomeView.vue';
|
|
565
|
+
import RootView from './views/root/Root.vue';
|
|
566
|
+
|
|
567
|
+
// Abrufen der Internationalisierungskonfiguration
|
|
568
|
+
const { internationalization, middleware } = configuration;
|
|
569
|
+
const { defaultLocale } = internationalization;
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Deklarieren Sie die Routen mit lokalisierungsspezifischen Pfaden und Metadaten.
|
|
573
|
+
*/
|
|
574
|
+
const routes = localeFlatMap((localizedData) => [
|
|
575
|
+
{
|
|
576
|
+
path: `${localizedData.urlPrefix}/`,
|
|
577
|
+
name: `Root-${localizedData.locale}`,
|
|
578
|
+
component: RootView,
|
|
579
|
+
meta: {
|
|
580
|
+
locale: localizedData.locale,
|
|
581
|
+
},
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
path: `${localizedData.urlPrefix}/home`,
|
|
585
|
+
name: `Home-${localizedData.locale}`,
|
|
586
|
+
component: HomeView,
|
|
587
|
+
meta: {
|
|
588
|
+
locale: localizedData.locale,
|
|
589
|
+
},
|
|
590
|
+
},
|
|
591
|
+
]);
|
|
592
|
+
|
|
593
|
+
// Erstellen Sie die Router-Instanz
|
|
594
|
+
export const router = createRouter({
|
|
595
|
+
history: createWebHistory(),
|
|
596
|
+
routes,
|
|
597
|
+
});
|
|
598
|
+
|
|
599
|
+
// Fügen Sie eine Navigationswächter für die Lokalisierungsbehandlung hinzu
|
|
600
|
+
router.beforeEach((to, _from, next) => {
|
|
601
|
+
const client = createIntlayerClient();
|
|
602
|
+
|
|
603
|
+
const metaLocale = to.meta.locale as Locales | undefined;
|
|
604
|
+
|
|
605
|
+
if (metaLocale) {
|
|
606
|
+
// Wiederverwenden der im Meta der Route definierten Lokalisierung
|
|
607
|
+
client.setLocale(metaLocale);
|
|
608
|
+
next();
|
|
609
|
+
} else {
|
|
610
|
+
// Fallback: keine Lokalisierung im Meta, möglicherweise nicht übereinstimmende Route
|
|
611
|
+
// Optional: 404 behandeln oder zur Standardlokalisierung umleiten
|
|
612
|
+
client.setLocale(defaultLocale);
|
|
613
|
+
|
|
614
|
+
if (middleware.prefixDefault) {
|
|
615
|
+
next(`/${defaultLocale}${getPathWithoutLocale(to.path)}`);
|
|
616
|
+
} else {
|
|
617
|
+
next(getPathWithoutLocale(to.path));
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
});
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
> Der Name wird verwendet, um die Route im Router zu identifizieren. Er sollte eindeutig über alle Routen hinweg sein, um Konflikte zu vermeiden und eine ordnungsgemäße Navigation und Verlinkung zu gewährleisten.
|
|
624
|
+
|
|
625
|
+
Registrieren Sie dann den Router in Ihrer main.js-Datei:
|
|
626
|
+
|
|
627
|
+
```js fileName="src/main.ts"
|
|
628
|
+
import { createApp } from "vue";
|
|
629
|
+
import App from "./App.vue";
|
|
630
|
+
import { router } from "./router";
|
|
631
|
+
import "./style.css";
|
|
632
|
+
|
|
633
|
+
const app = createApp(App);
|
|
634
|
+
|
|
635
|
+
// Fügen Sie den Router zur App hinzu
|
|
636
|
+
app.use(router);
|
|
637
|
+
|
|
638
|
+
// Mounten Sie die App
|
|
639
|
+
app.mount("#app");
|
|
640
|
+
```
|
|
641
|
+
|
|
642
|
+
Aktualisieren Sie dann Ihre `App.vue`-Datei, um die RouterView-Komponente zu rendern. Diese Komponente zeigt die übereinstimmende Komponente für die aktuelle Route an.
|
|
643
|
+
|
|
644
|
+
```vue fileName="src/App.vue"
|
|
645
|
+
<script setup lang="ts">
|
|
646
|
+
import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
647
|
+
</script>
|
|
648
|
+
|
|
649
|
+
<template>
|
|
650
|
+
<nav>
|
|
651
|
+
<LocaleSwitcher />
|
|
652
|
+
</nav>
|
|
653
|
+
<RouterView />
|
|
654
|
+
</template>
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
Parallel dazu können Sie auch das `intLayerMiddlewarePlugin` verwenden, um serverseitiges Routing zu Ihrer Anwendung hinzuzufügen. Dieses Plugin erkennt automatisch die aktuelle Lokalisierung basierend auf der URL und setzt das entsprechende Lokalisierungs-Cookie. Wenn keine Lokalisierung angegeben ist, bestimmt das Plugin die am besten geeignete Lokalisierung basierend auf den Spracheinstellungen des Browsers des Benutzers. Wenn keine Lokalisierung erkannt wird, wird zur Standardlokalisierung umgeleitet.
|
|
658
|
+
|
|
659
|
+
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
660
|
+
import { defineConfig } from "vite";
|
|
661
|
+
import vue from "@vitejs/plugin-vue";
|
|
662
|
+
import { intlayerPlugin, intLayerMiddlewarePlugin } from "vite-intlayer";
|
|
663
|
+
|
|
664
|
+
// https://vitejs.dev/config/
|
|
665
|
+
export default defineConfig({
|
|
666
|
+
plugins: [vue(), intlayerPlugin(), intLayerMiddlewarePlugin()],
|
|
667
|
+
});
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
671
|
+
import { defineConfig } from "vite";
|
|
672
|
+
import vue from "@vitejs/plugin-vue";
|
|
673
|
+
import { intlayerPlugin, intLayerMiddlewarePlugin } from "vite-intlayer";
|
|
674
|
+
|
|
675
|
+
// https://vitejs.dev/config/
|
|
676
|
+
export default defineConfig({
|
|
677
|
+
plugins: [vue(), intlayerPlugin(), intLayerMiddlewarePlugin()],
|
|
678
|
+
});
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
682
|
+
const { defineConfig } = require("vite");
|
|
683
|
+
const vue = require("@vitejs/plugin-vue");
|
|
684
|
+
const { intlayerPlugin, intLayerMiddlewarePlugin } = require("vite-intlayer");
|
|
685
|
+
|
|
686
|
+
// https://vitejs.dev/config/
|
|
687
|
+
module.exports = defineConfig({
|
|
688
|
+
plugins: [vue(), intlayerPlugin(), intLayerMiddlewarePlugin()],
|
|
689
|
+
});
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
### (Optional) Schritt 8: Ändern Sie die URL, wenn sich die Lokalisierung ändert
|
|
693
|
+
|
|
694
|
+
Um die URL automatisch zu aktualisieren, wenn der Benutzer die Sprache ändert, können Sie die `LocaleSwitcher`-Komponente so anpassen, dass sie Vue Router verwendet:
|
|
695
|
+
|
|
696
|
+
```vue fileName="src/components/LocaleSwitcher.vue"
|
|
697
|
+
<template>
|
|
698
|
+
<div class="locale-switcher">
|
|
699
|
+
<select v-model="selectedLocale" @change="changeLocale">
|
|
700
|
+
<option v-for="loc in availableLocales" :key="loc" :value="loc">
|
|
701
|
+
{{ getLocaleName(loc) }}
|
|
702
|
+
</option>
|
|
703
|
+
</select>
|
|
704
|
+
</div>
|
|
705
|
+
</template>
|
|
706
|
+
|
|
707
|
+
<script setup lang="ts">
|
|
708
|
+
import { ref, watch } from "vue";
|
|
709
|
+
import { useRouter } from "vue-router";
|
|
710
|
+
import { Locales, getLocaleName, getLocalizedUrl } from "intlayer";
|
|
711
|
+
import { useLocale } from "vue-intlayer";
|
|
712
|
+
|
|
713
|
+
// Vue Router abrufen
|
|
714
|
+
const router = useRouter();
|
|
715
|
+
|
|
716
|
+
// Lokalisierungsinformationen und setLocale-Funktion abrufen
|
|
717
|
+
const { locale, availableLocales, setLocale } = useLocale({
|
|
718
|
+
onLocaleChange: (newLocale) => {
|
|
719
|
+
// Aktuelle Route abrufen und eine lokalisierte URL erstellen
|
|
720
|
+
const currentPath = router.currentRoute.value.fullPath;
|
|
721
|
+
const localizedPath = getLocalizedUrl(currentPath, newLocale);
|
|
722
|
+
|
|
723
|
+
// Zur lokalisierten Route navigieren, ohne die Seite neu zu laden
|
|
724
|
+
router.push(localizedPath);
|
|
725
|
+
},
|
|
726
|
+
});
|
|
727
|
+
|
|
728
|
+
// Verfolgen Sie die ausgewählte Lokalisierung mit einem Ref
|
|
729
|
+
const selectedLocale = ref(locale.value);
|
|
730
|
+
|
|
731
|
+
// Aktualisieren Sie die Lokalisierung, wenn sich die Auswahl ändert
|
|
732
|
+
const changeLocale = () => {
|
|
733
|
+
setLocale(selectedLocale.value);
|
|
734
|
+
};
|
|
735
|
+
|
|
736
|
+
// Halten Sie die selectedLocale mit der globalen Lokalisierung synchron
|
|
737
|
+
watch(
|
|
738
|
+
() => locale.value,
|
|
739
|
+
(newLocale) => {
|
|
740
|
+
selectedLocale.value = newLocale;
|
|
741
|
+
}
|
|
742
|
+
);
|
|
743
|
+
</script>
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
Tipp: Für bessere SEO und Barrierefreiheit verwenden Sie Tags wie `<a href="/de/home" hreflang="de">`, um auf lokalisierte Seiten zu verlinken, wie in Schritt 10 gezeigt. Dadurch können Suchmaschinen sprachspezifische URLs ordnungsgemäß entdecken und indexieren. Um das Verhalten einer SPA beizubehalten, können Sie die Standardnavigation mit @click.prevent verhindern, die Lokalisierung mit useLocale ändern und programmgesteuert mit Vue Router navigieren.
|
|
747
|
+
|
|
748
|
+
```html
|
|
749
|
+
<ol class="divide-text/20 divide-y divide-dashed overflow-y-auto p-1">
|
|
750
|
+
<li>
|
|
751
|
+
<a
|
|
752
|
+
hreflang="x-default"
|
|
753
|
+
aria-label="Wechseln zu Englisch"
|
|
754
|
+
target="_self"
|
|
755
|
+
aria-current="page"
|
|
756
|
+
href="/de/doc/get-started"
|
|
757
|
+
>
|
|
758
|
+
<div>
|
|
759
|
+
<div><span dir="ltr" lang="en">English</span><span>Englisch</span></div>
|
|
760
|
+
<span>EN</span>
|
|
761
|
+
</div>
|
|
762
|
+
</a>
|
|
763
|
+
</li>
|
|
764
|
+
<li>
|
|
765
|
+
<a
|
|
766
|
+
hreflang="es"
|
|
767
|
+
aria-label="Wechseln zu Spanisch"
|
|
768
|
+
target="_self"
|
|
769
|
+
href="/es/doc/get-started"
|
|
770
|
+
>
|
|
771
|
+
<div>
|
|
772
|
+
<span dir="ltr" lang="es">Español</span><span>Spanisch</span>
|
|
773
|
+
<span>ES</span>
|
|
774
|
+
</div>
|
|
775
|
+
</a>
|
|
776
|
+
</li>
|
|
777
|
+
</ol>
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
### (Optional) Schritt 9: Ändern Sie die HTML-Sprach- und Richtungsattribute
|
|
781
|
+
|
|
782
|
+
Wenn Ihre Anwendung mehrere Sprachen unterstützt, ist es wichtig, die Attribute `lang` und `dir` des `<html>`-Tags an die aktuelle Lokalisierung anzupassen. Dadurch wird sichergestellt:
|
|
783
|
+
|
|
784
|
+
- **Barrierefreiheit**: Screenreader und unterstützende Technologien verlassen sich auf das richtige `lang`-Attribut, um Inhalte korrekt auszusprechen und zu interpretieren.
|
|
785
|
+
- **Textrendering**: Das `dir`-Attribut (Richtung) stellt sicher, dass Text in der richtigen Reihenfolge gerendert wird (z. B. von links nach rechts für Englisch, von rechts nach links für Arabisch oder Hebräisch), was für die Lesbarkeit entscheidend ist.
|
|
786
|
+
- **SEO**: Suchmaschinen verwenden das `lang`-Attribut, um die Sprache Ihrer Seite zu bestimmen und die richtigen lokalisierten Inhalte in den Suchergebnissen bereitzustellen.
|
|
787
|
+
|
|
788
|
+
Durch die dynamische Aktualisierung dieser Attribute bei einem Lokalisierungswechsel gewährleisten Sie eine konsistente und zugängliche Benutzererfahrung für alle unterstützten Sprachen.
|
|
789
|
+
|
|
790
|
+
```js fileName="src/composables/useI18nHTMLAttributes.ts"
|
|
791
|
+
import { watch } from "vue";
|
|
792
|
+
import { useLocale } from "vue-intlayer";
|
|
793
|
+
import { getHTMLTextDir } from "intlayer";
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* Composable, das die `lang`- und `dir`-Attribute des HTML <html>-Elements
|
|
797
|
+
* basierend auf der aktuellen Sprache aktualisiert.
|
|
798
|
+
*
|
|
799
|
+
* @example
|
|
800
|
+
* // In Ihrer App.vue oder einer globalen Komponente
|
|
801
|
+
* import { useI18nHTMLAttributes } from './composables/useI18nHTMLAttributes'
|
|
802
|
+
*
|
|
803
|
+
* useI18nHTMLAttributes()
|
|
804
|
+
*/
|
|
805
|
+
export function useI18nHTMLAttributes() {
|
|
806
|
+
const { locale } = useLocale();
|
|
807
|
+
|
|
808
|
+
// Aktualisieren der HTML-Attribute, wenn sich die Sprache ändert
|
|
809
|
+
watch(
|
|
810
|
+
() => locale.value,
|
|
811
|
+
(newLocale) => {
|
|
812
|
+
if (!newLocale) return;
|
|
813
|
+
|
|
814
|
+
// Aktualisieren des Sprachattributs
|
|
815
|
+
document.documentElement.lang = newLocale;
|
|
816
|
+
|
|
817
|
+
// Festlegen der Textrichtung (ltr für die meisten Sprachen, rtl für Arabisch, Hebräisch usw.)
|
|
818
|
+
document.documentElement.dir = getHTMLTextDir(newLocale);
|
|
819
|
+
},
|
|
820
|
+
{ immediate: true }
|
|
821
|
+
);
|
|
822
|
+
}
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
Verwenden Sie dieses Composable in Ihrer `App.vue` oder einer globalen Komponente:
|
|
826
|
+
|
|
827
|
+
```vue fileName="src/App.vue"
|
|
828
|
+
<script setup lang="ts">
|
|
829
|
+
import { useI18nHTMLAttributes } from "@composables/useI18nHTMLAttributes";
|
|
830
|
+
|
|
831
|
+
// Anwenden der HTML-Attribute basierend auf der aktuellen Sprache
|
|
832
|
+
useI18nHTMLAttributes();
|
|
833
|
+
</script>
|
|
834
|
+
|
|
835
|
+
<template>
|
|
836
|
+
<!-- Ihr App-Template -->
|
|
837
|
+
</template>
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
### (Optional) Schritt 10: Erstellen einer lokalisierten Link-Komponente
|
|
841
|
+
|
|
842
|
+
Um sicherzustellen, dass die Navigation Ihrer Anwendung die aktuelle Sprache berücksichtigt, können Sie eine benutzerdefinierte `Link`-Komponente erstellen. Diese Komponente fügt automatisch interne URLs mit der aktuellen Sprache vor, sodass beispielsweise ein französischsprachiger Benutzer, der auf einen Link zur "Über"-Seite klickt, zu `/fr/about` statt zu `/about` weitergeleitet wird.
|
|
843
|
+
|
|
844
|
+
Dieses Verhalten ist aus mehreren Gründen nützlich:
|
|
845
|
+
|
|
846
|
+
- **SEO und Benutzererfahrung**: Lokalisierte URLs helfen Suchmaschinen, sprachspezifische Seiten korrekt zu indexieren, und bieten Benutzern Inhalte in ihrer bevorzugten Sprache.
|
|
847
|
+
- **Konsistenz**: Durch die Verwendung eines lokalisierten Links in Ihrer gesamten Anwendung stellen Sie sicher, dass die Navigation innerhalb der aktuellen Sprache bleibt und unerwartete Sprachwechsel vermieden werden.
|
|
848
|
+
- **Wartbarkeit**: Die Zentralisierung der Lokalisierungslogik in einer einzigen Komponente vereinfacht die Verwaltung von URLs und macht Ihren Code einfacher zu warten und zu erweitern, wenn Ihre Anwendung wächst.
|
|
849
|
+
|
|
850
|
+
```vue fileName="src/components/Link.vue"
|
|
851
|
+
<template>
|
|
852
|
+
<a :href="localizedHref" v-bind="$attrs">
|
|
853
|
+
<slot />
|
|
854
|
+
</a>
|
|
855
|
+
</template>
|
|
856
|
+
|
|
857
|
+
<script setup lang="ts">
|
|
858
|
+
import { computed } from "vue";
|
|
859
|
+
import { getLocalizedUrl } from "intlayer";
|
|
860
|
+
import { useLocale } from "vue-intlayer";
|
|
861
|
+
|
|
862
|
+
const props = defineProps({
|
|
863
|
+
href: {
|
|
864
|
+
type: String,
|
|
865
|
+
required: true,
|
|
866
|
+
},
|
|
867
|
+
});
|
|
868
|
+
|
|
869
|
+
const { locale } = useLocale();
|
|
870
|
+
|
|
871
|
+
// Prüfen, ob der Link extern ist
|
|
872
|
+
const isExternalLink = computed(() => /^https?:\/\//.test(props.href || ""));
|
|
873
|
+
|
|
874
|
+
// Erstellen eines lokalisierten href für interne Links
|
|
875
|
+
const localizedHref = computed(() =>
|
|
876
|
+
isExternalLink.value ? props.href : getLocalizedUrl(props.href, locale.value)
|
|
877
|
+
);
|
|
878
|
+
</script>
|
|
879
|
+
```
|
|
880
|
+
|
|
881
|
+
Für die Verwendung mit Vue Router erstellen Sie eine router-spezifische Version:
|
|
882
|
+
|
|
883
|
+
```vue fileName="src/components/RouterLink.vue"
|
|
884
|
+
<template>
|
|
885
|
+
<router-link :to="localizedTo" v-bind="$attrs">
|
|
886
|
+
<slot />
|
|
887
|
+
</router-link>
|
|
888
|
+
</template>
|
|
889
|
+
|
|
890
|
+
<script setup lang="ts">
|
|
891
|
+
import { computed } from "vue";
|
|
892
|
+
import { getLocalizedUrl } from "intlayer";
|
|
893
|
+
import { useLocale } from "vue-intlayer";
|
|
894
|
+
|
|
895
|
+
const props = defineProps({
|
|
896
|
+
to: {
|
|
897
|
+
type: [String, Object],
|
|
898
|
+
required: true,
|
|
899
|
+
},
|
|
900
|
+
});
|
|
901
|
+
|
|
902
|
+
const { locale } = useLocale();
|
|
903
|
+
|
|
904
|
+
// Erstellen eines lokalisierten to-Props für router-link
|
|
905
|
+
const localizedTo = computed(() => {
|
|
906
|
+
if (typeof props.to === "string") {
|
|
907
|
+
return getLocalizedUrl(props.to, locale.value);
|
|
908
|
+
} else {
|
|
909
|
+
// Wenn 'to' ein Objekt ist, lokalisieren Sie die path-Eigenschaft
|
|
910
|
+
return {
|
|
911
|
+
...props.to,
|
|
912
|
+
path: getLocalizedUrl(props.to.path ?? "/", locale.value),
|
|
913
|
+
};
|
|
914
|
+
}
|
|
915
|
+
});
|
|
916
|
+
</script>
|
|
917
|
+
```
|
|
918
|
+
|
|
919
|
+
Verwenden Sie diese Komponenten in Ihrer Anwendung:
|
|
920
|
+
|
|
921
|
+
```vue fileName="src/App.vue"
|
|
922
|
+
<template>
|
|
923
|
+
<div>
|
|
924
|
+
<!-- Vue Router -->
|
|
925
|
+
<RouterLink to="/">Root</RouterLink>
|
|
926
|
+
<RouterLink to="/home">Home</RouterLink>
|
|
927
|
+
<!-- Andere -->
|
|
928
|
+
<Link href="/">Root</Link>
|
|
929
|
+
<Link href="/home">Home</Link>
|
|
930
|
+
</div>
|
|
931
|
+
</template>
|
|
932
|
+
|
|
933
|
+
<script setup lang="ts">
|
|
934
|
+
import Link from "@components/Link.vue";
|
|
935
|
+
import RouterLink from "@components/RouterLink.vue";
|
|
936
|
+
</script>
|
|
937
|
+
```
|
|
938
|
+
|
|
939
|
+
### TypeScript konfigurieren
|
|
940
|
+
|
|
941
|
+
Intlayer verwendet Modul-Erweiterungen, um die Vorteile von TypeScript zu nutzen und Ihren Code robuster zu machen.
|
|
942
|
+
|
|
943
|
+

|
|
944
|
+
|
|
945
|
+

|
|
946
|
+
|
|
947
|
+
Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen enthält.
|
|
948
|
+
|
|
949
|
+
```json5 fileName="tsconfig.json"
|
|
950
|
+
{
|
|
951
|
+
// ... Ihre bestehenden TypeScript-Konfigurationen
|
|
952
|
+
"include": [
|
|
953
|
+
// ... Ihre bestehenden TypeScript-Konfigurationen
|
|
954
|
+
".intlayer/**/*.ts", // Einbinden der automatisch generierten Typen
|
|
955
|
+
],
|
|
956
|
+
}
|
|
957
|
+
```
|
|
958
|
+
|
|
959
|
+
### Git-Konfiguration
|
|
960
|
+
|
|
961
|
+
Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. Dadurch vermeiden Sie, diese in Ihr Git-Repository einzuchecken.
|
|
962
|
+
|
|
963
|
+
Fügen Sie dazu die folgenden Anweisungen zu Ihrer `.gitignore`-Datei hinzu:
|
|
964
|
+
|
|
965
|
+
```plaintext
|
|
966
|
+
# Ignorieren der von Intlayer generierten Dateien
|
|
967
|
+
.intlayer
|
|
968
|
+
```
|
|
969
|
+
|
|
970
|
+
### VS Code Erweiterung
|
|
971
|
+
|
|
972
|
+
Um Ihre Entwicklungserfahrung mit Intlayer zu verbessern, können Sie die offizielle **Intlayer VS Code Erweiterung** installieren.
|
|
973
|
+
|
|
974
|
+
[Installieren Sie sie aus dem VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
975
|
+
|
|
976
|
+
Diese Erweiterung bietet:
|
|
977
|
+
|
|
978
|
+
- **Autovervollständigung** für Übersetzungsschlüssel.
|
|
979
|
+
- **Echtzeit-Fehlererkennung** für fehlende Übersetzungen.
|
|
980
|
+
- **Inline-Vorschauen** von übersetzten Inhalten.
|
|
981
|
+
- **Schnellaktionen**, um Übersetzungen einfach zu erstellen und zu aktualisieren.
|
|
982
|
+
|
|
983
|
+
Weitere Details zur Verwendung der Erweiterung finden Sie in der [Intlayer VS Code Erweiterungsdokumentation](https://intlayer.org/doc/vs-code-extension).
|
|
984
|
+
|
|
985
|
+
---
|
|
986
|
+
|
|
987
|
+
### Weiterführende Schritte
|
|
988
|
+
|
|
989
|
+
## Um weiterzugehen, können Sie den [visuellen Editor](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_visual_editor.md) implementieren oder Ihre Inhalte mit dem [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/de/intlayer_CMS.md) auslagern.
|