@intlayer/docs 5.8.1 → 6.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/rag_powered_documentation_assistant.md +282 -0
- package/blog/de/rag_powered_documentation_assistant.md +282 -0
- package/blog/en/rag_powered_documentation_assistant.md +289 -0
- package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
- package/blog/es/rag_powered_documentation_assistant.md +308 -0
- package/blog/fr/rag_powered_documentation_assistant.md +308 -0
- package/blog/hi/rag_powered_documentation_assistant.md +284 -0
- package/blog/it/rag_powered_documentation_assistant.md +284 -0
- package/blog/ja/rag_powered_documentation_assistant.md +284 -0
- package/blog/ko/rag_powered_documentation_assistant.md +283 -0
- package/blog/pt/rag_powered_documentation_assistant.md +284 -0
- package/blog/ru/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/index.md +69 -0
- package/blog/tr/internationalization_and_SEO.md +273 -0
- package/blog/tr/intlayer_with_i18next.md +162 -0
- package/blog/tr/intlayer_with_next-i18next.md +367 -0
- package/blog/tr/intlayer_with_next-intl.md +392 -0
- package/blog/tr/intlayer_with_react-i18next.md +346 -0
- package/blog/tr/intlayer_with_react-intl.md +345 -0
- package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
- package/blog/tr/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
- package/blog/tr/what_is_internationalization.md +166 -0
- package/blog/zh/rag_powered_documentation_assistant.md +284 -0
- package/dist/cjs/generated/blog.entry.cjs +212 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +660 -132
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +6 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +212 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +660 -132
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +6 -0
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +5 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/autoFill.md +41 -40
- package/docs/ar/configuration.md +202 -199
- package/docs/ar/dictionary/content_file.md +1059 -0
- package/docs/ar/intlayer_CMS.md +4 -4
- package/docs/ar/intlayer_with_nestjs.md +271 -0
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +533 -0
- package/docs/ar/intlayer_with_tanstack.md +465 -299
- package/docs/ar/intlayer_with_vite+preact.md +7 -7
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/ar/packages/vite-intlayer/index.md +3 -3
- package/docs/ar/readme.md +261 -0
- package/docs/ar/testing.md +199 -0
- package/docs/de/autoFill.md +42 -19
- package/docs/de/configuration.md +155 -147
- package/docs/de/dictionary/content_file.md +1059 -0
- package/docs/de/intlayer_CMS.md +4 -5
- package/docs/de/intlayer_with_nestjs.md +270 -0
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +537 -0
- package/docs/de/intlayer_with_tanstack.md +469 -302
- package/docs/de/intlayer_with_vite+preact.md +7 -7
- package/docs/de/intlayer_with_vite+react.md +7 -7
- package/docs/de/intlayer_with_vite+vue.md +9 -9
- package/docs/de/packages/vite-intlayer/index.md +3 -3
- package/docs/de/readme.md +261 -0
- package/docs/de/testing.md +200 -0
- package/docs/en/CI_CD.md +4 -6
- package/docs/en/autoFill.md +25 -5
- package/docs/en/configuration.md +45 -54
- package/docs/en/dictionary/content_file.md +1054 -0
- package/docs/en/intlayer_CMS.md +8 -7
- package/docs/en/intlayer_cli.md +112 -5
- package/docs/en/intlayer_with_nestjs.md +268 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +531 -0
- package/docs/en/intlayer_with_tanstack.md +463 -294
- package/docs/en/intlayer_with_vite+preact.md +8 -8
- package/docs/en/intlayer_with_vite+react.md +8 -8
- package/docs/en/intlayer_with_vite+vue.md +8 -8
- package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
- package/docs/en/packages/vite-intlayer/index.md +3 -3
- package/docs/en/readme.md +261 -0
- package/docs/en/testing.md +200 -0
- package/docs/en-GB/autoFill.md +29 -6
- package/docs/en-GB/configuration.md +79 -71
- package/docs/en-GB/dictionary/content_file.md +1084 -0
- package/docs/en-GB/intlayer_CMS.md +4 -5
- package/docs/en-GB/intlayer_with_nestjs.md +268 -0
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
- package/docs/en-GB/intlayer_with_tanstack.md +466 -299
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
- package/docs/en-GB/intlayer_with_vite+react.md +7 -7
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
- package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
- package/docs/en-GB/readme.md +261 -0
- package/docs/en-GB/testing.md +200 -0
- package/docs/es/autoFill.md +45 -23
- package/docs/es/configuration.md +171 -167
- package/docs/es/dictionary/content_file.md +1088 -0
- package/docs/es/intlayer_CMS.md +4 -5
- package/docs/es/intlayer_with_nestjs.md +268 -0
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +533 -0
- package/docs/es/intlayer_with_tanstack.md +469 -280
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/es/packages/vite-intlayer/index.md +3 -3
- package/docs/es/readme.md +261 -0
- package/docs/es/testing.md +200 -0
- package/docs/fr/autoFill.md +47 -24
- package/docs/fr/configuration.md +213 -198
- package/docs/fr/dictionary/content_file.md +1054 -0
- package/docs/fr/intlayer_CMS.md +4 -5
- package/docs/fr/intlayer_with_nestjs.md +268 -0
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +549 -0
- package/docs/fr/intlayer_with_tanstack.md +465 -279
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/packages/vite-intlayer/index.md +3 -3
- package/docs/fr/readme.md +261 -0
- package/docs/fr/testing.md +200 -0
- package/docs/hi/autoFill.md +47 -25
- package/docs/hi/configuration.md +194 -189
- package/docs/hi/dictionary/content_file.md +1056 -0
- package/docs/hi/intlayer_CMS.md +4 -5
- package/docs/hi/intlayer_with_nestjs.md +269 -0
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +533 -0
- package/docs/hi/intlayer_with_tanstack.md +467 -282
- package/docs/hi/intlayer_with_vite+preact.md +7 -7
- package/docs/hi/intlayer_with_vite+react.md +7 -7
- package/docs/hi/intlayer_with_vite+vue.md +9 -9
- package/docs/hi/packages/vite-intlayer/index.md +3 -3
- package/docs/hi/readme.md +261 -0
- package/docs/hi/testing.md +200 -0
- package/docs/it/autoFill.md +46 -24
- package/docs/it/configuration.md +169 -161
- package/docs/it/dictionary/content_file.md +1061 -0
- package/docs/it/intlayer_CMS.md +4 -5
- package/docs/it/intlayer_with_nestjs.md +268 -0
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +535 -0
- package/docs/it/intlayer_with_tanstack.md +467 -301
- package/docs/it/intlayer_with_vite+preact.md +7 -7
- package/docs/it/intlayer_with_vite+react.md +7 -7
- package/docs/it/intlayer_with_vite+vue.md +9 -9
- package/docs/it/packages/vite-intlayer/index.md +3 -3
- package/docs/it/readme.md +261 -0
- package/docs/it/testing.md +200 -0
- package/docs/ja/autoFill.md +45 -23
- package/docs/ja/configuration.md +243 -204
- package/docs/ja/dictionary/content_file.md +1064 -0
- package/docs/ja/intlayer_CMS.md +4 -5
- package/docs/ja/intlayer_with_nestjs.md +268 -0
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +534 -0
- package/docs/ja/intlayer_with_tanstack.md +467 -303
- package/docs/ja/intlayer_with_vite+preact.md +7 -7
- package/docs/ja/intlayer_with_vite+react.md +7 -7
- package/docs/ja/intlayer_with_vite+vue.md +9 -9
- package/docs/ja/packages/vite-intlayer/index.md +3 -3
- package/docs/ja/readme.md +263 -0
- package/docs/ja/testing.md +200 -0
- package/docs/ko/autoFill.md +39 -16
- package/docs/ko/configuration.md +217 -197
- package/docs/ko/dictionary/content_file.md +1060 -0
- package/docs/ko/intlayer_CMS.md +4 -5
- package/docs/ko/intlayer_with_nestjs.md +268 -0
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +540 -0
- package/docs/ko/intlayer_with_tanstack.md +466 -302
- package/docs/ko/intlayer_with_vite+preact.md +7 -7
- package/docs/ko/intlayer_with_vite+react.md +7 -7
- package/docs/ko/intlayer_with_vite+vue.md +9 -9
- package/docs/ko/packages/vite-intlayer/index.md +3 -3
- package/docs/ko/readme.md +261 -0
- package/docs/ko/testing.md +200 -0
- package/docs/pt/autoFill.md +39 -15
- package/docs/pt/configuration.md +165 -147
- package/docs/pt/dictionary/content_file.md +1062 -0
- package/docs/pt/intlayer_CMS.md +4 -5
- package/docs/pt/intlayer_with_nestjs.md +271 -0
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +535 -0
- package/docs/pt/intlayer_with_tanstack.md +469 -300
- package/docs/pt/intlayer_with_vite+preact.md +7 -7
- package/docs/pt/intlayer_with_vite+react.md +7 -7
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/pt/packages/vite-intlayer/index.md +3 -3
- package/docs/pt/readme.md +261 -0
- package/docs/pt/testing.md +200 -0
- package/docs/ru/autoFill.md +52 -30
- package/docs/ru/configuration.md +164 -117
- package/docs/ru/dictionary/content_file.md +1064 -0
- package/docs/ru/intlayer_CMS.md +4 -4
- package/docs/ru/intlayer_with_nestjs.md +270 -0
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +534 -0
- package/docs/ru/intlayer_with_tanstack.md +470 -305
- package/docs/ru/intlayer_with_vite+preact.md +7 -7
- package/docs/ru/intlayer_with_vite+react.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +9 -9
- package/docs/ru/packages/vite-intlayer/index.md +3 -3
- package/docs/ru/readme.md +261 -0
- package/docs/ru/testing.md +202 -0
- package/docs/tr/CI_CD.md +198 -0
- package/docs/tr/autoFill.md +201 -0
- package/docs/tr/configuration.md +585 -0
- package/docs/tr/dictionary/condition.md +243 -0
- package/docs/tr/dictionary/content_file.md +1055 -0
- package/docs/tr/dictionary/enumeration.md +251 -0
- package/docs/tr/dictionary/file.md +228 -0
- package/docs/tr/dictionary/function_fetching.md +218 -0
- package/docs/tr/dictionary/gender.md +279 -0
- package/docs/tr/dictionary/insertion.md +191 -0
- package/docs/tr/dictionary/markdown.md +385 -0
- package/docs/tr/dictionary/nesting.md +279 -0
- package/docs/tr/dictionary/translation.md +315 -0
- package/docs/tr/formatters.md +618 -0
- package/docs/tr/how_works_intlayer.md +254 -0
- package/docs/tr/index.md +168 -0
- package/docs/tr/interest_of_intlayer.md +288 -0
- package/docs/tr/intlayer_CMS.md +347 -0
- package/docs/tr/intlayer_cli.md +570 -0
- package/docs/tr/intlayer_visual_editor.md +269 -0
- package/docs/tr/intlayer_with_angular.md +694 -0
- package/docs/tr/intlayer_with_create_react_app.md +1218 -0
- package/docs/tr/intlayer_with_express.md +415 -0
- package/docs/tr/intlayer_with_lynx+react.md +511 -0
- package/docs/tr/intlayer_with_nestjs.md +268 -0
- package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
- package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
- package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
- package/docs/tr/intlayer_with_nuxt.md +773 -0
- package/docs/tr/intlayer_with_react_native+expo.md +660 -0
- package/docs/tr/intlayer_with_react_router_v7.md +531 -0
- package/docs/tr/intlayer_with_tanstack.md +452 -0
- package/docs/tr/intlayer_with_vite+preact.md +1673 -0
- package/docs/tr/intlayer_with_vite+react.md +1632 -0
- package/docs/tr/intlayer_with_vite+solid.md +288 -0
- package/docs/tr/intlayer_with_vite+svelte.md +288 -0
- package/docs/tr/intlayer_with_vite+vue.md +1042 -0
- package/docs/tr/introduction.md +209 -0
- package/docs/tr/locale_mapper.md +244 -0
- package/docs/tr/mcp_server.md +207 -0
- package/docs/tr/packages/@intlayer/api/index.md +58 -0
- package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
- package/docs/tr/packages/@intlayer/cli/index.md +47 -0
- package/docs/tr/packages/@intlayer/config/index.md +142 -0
- package/docs/tr/packages/@intlayer/core/index.md +51 -0
- package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
- package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
- package/docs/tr/packages/@intlayer/editor/index.md +47 -0
- package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
- package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
- package/docs/tr/packages/angular-intlayer/index.md +59 -0
- package/docs/tr/packages/express-intlayer/index.md +258 -0
- package/docs/tr/packages/express-intlayer/t.md +459 -0
- package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
- package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
- package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
- package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
- package/docs/tr/packages/intlayer/getTranslation.md +196 -0
- package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
- package/docs/tr/packages/intlayer/index.md +505 -0
- package/docs/tr/packages/intlayer-cli/index.md +71 -0
- package/docs/tr/packages/intlayer-editor/index.md +139 -0
- package/docs/tr/packages/lynx-intlayer/index.md +85 -0
- package/docs/tr/packages/next-intlayer/index.md +154 -0
- package/docs/tr/packages/next-intlayer/t.md +354 -0
- package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
- package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
- package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
- package/docs/tr/packages/preact-intlayer/index.md +55 -0
- package/docs/tr/packages/react-intlayer/index.md +148 -0
- package/docs/tr/packages/react-intlayer/t.md +304 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
- package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
- package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
- package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
- package/docs/tr/packages/react-native-intlayer/index.md +85 -0
- package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
- package/docs/tr/packages/solid-intlayer/index.md +56 -0
- package/docs/tr/packages/svelte-intlayer/index.md +55 -0
- package/docs/tr/packages/vite-intlayer/index.md +82 -0
- package/docs/tr/packages/vue-intlayer/index.md +59 -0
- package/docs/tr/per_locale_file.md +321 -0
- package/docs/tr/readme.md +261 -0
- package/docs/tr/roadmap.md +338 -0
- package/docs/tr/testing.md +200 -0
- package/docs/tr/vs_code_extension.md +154 -0
- package/docs/zh/autoFill.md +40 -18
- package/docs/zh/configuration.md +245 -226
- package/docs/zh/dictionary/content_file.md +1064 -0
- package/docs/zh/intlayer_CMS.md +4 -5
- package/docs/zh/intlayer_with_nestjs.md +268 -0
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +535 -0
- package/docs/zh/intlayer_with_tanstack.md +468 -278
- package/docs/zh/intlayer_with_vite+preact.md +7 -7
- package/docs/zh/intlayer_with_vite+react.md +7 -7
- package/docs/zh/intlayer_with_vite+vue.md +7 -7
- package/docs/zh/packages/vite-intlayer/index.md +3 -3
- package/docs/zh/readme.md +261 -0
- package/docs/zh/testing.md +198 -0
- package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
- package/frequent_questions/tr/array_as_content_declaration.md +72 -0
- package/frequent_questions/tr/build_dictionaries.md +59 -0
- package/frequent_questions/tr/build_error_CI_CD.md +75 -0
- package/frequent_questions/tr/customized_locale_list.md +65 -0
- package/frequent_questions/tr/domain_routing.md +114 -0
- package/frequent_questions/tr/esbuild_error.md +30 -0
- package/frequent_questions/tr/get_locale_cookie.md +142 -0
- package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
- package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
- package/frequent_questions/tr/static_rendering.md +45 -0
- package/frequent_questions/tr/translated_path_url.md +56 -0
- package/frequent_questions/tr/unknown_command.md +98 -0
- package/legal/tr/privacy_notice.md +83 -0
- package/legal/tr/terms_of_service.md +55 -0
- package/package.json +12 -12
- package/src/generated/blog.entry.ts +212 -0
- package/src/generated/docs.entry.ts +663 -135
- package/src/generated/frequentQuestions.entry.ts +85 -1
- package/src/generated/legal.entry.ts +7 -1
- package/docs/ar/dictionary/content_extention_customization.md +0 -100
- package/docs/ar/dictionary/get_started.md +0 -527
- package/docs/de/dictionary/content_extention_customization.md +0 -100
- package/docs/de/dictionary/get_started.md +0 -531
- package/docs/en/dictionary/content_extention_customization.md +0 -102
- package/docs/en/dictionary/get_started.md +0 -529
- package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
- package/docs/en-GB/dictionary/get_started.md +0 -591
- package/docs/es/dictionary/content_extention_customization.md +0 -100
- package/docs/es/dictionary/get_started.md +0 -527
- package/docs/fr/dictionary/content_extention_customization.md +0 -100
- package/docs/fr/dictionary/get_started.md +0 -527
- package/docs/hi/dictionary/content_extention_customization.md +0 -100
- package/docs/hi/dictionary/get_started.md +0 -527
- package/docs/it/dictionary/content_extention_customization.md +0 -113
- package/docs/it/dictionary/get_started.md +0 -573
- package/docs/ja/dictionary/content_extention_customization.md +0 -113
- package/docs/ja/dictionary/get_started.md +0 -576
- package/docs/ko/dictionary/content_extention_customization.md +0 -100
- package/docs/ko/dictionary/get_started.md +0 -530
- package/docs/pt/dictionary/content_extention_customization.md +0 -100
- package/docs/pt/dictionary/get_started.md +0 -532
- package/docs/ru/dictionary/content_extention_customization.md +0 -100
- package/docs/ru/dictionary/get_started.md +0 -575
- package/docs/zh/dictionary/content_extention_customization.md +0 -117
- package/docs/zh/dictionary/get_started.md +0 -533
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-03-01
|
|
3
|
+
updatedAt: 2025-09-20
|
|
4
|
+
title: اختبار المحتوى الخاص بك
|
|
5
|
+
description: اكتشف كيفية اختبار المحتوى الخاص بك باستخدام Intlayer.
|
|
6
|
+
keywords:
|
|
7
|
+
- اختبار
|
|
8
|
+
- Intlayer
|
|
9
|
+
- التدويل
|
|
10
|
+
- نظام إدارة المحتوى
|
|
11
|
+
- محرر بصري
|
|
12
|
+
slugs:
|
|
13
|
+
- doc
|
|
14
|
+
- testing
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# اختبار المحتوى الخاص بك
|
|
18
|
+
|
|
19
|
+
يوضح هذا الدليل كيفية التحقق تلقائيًا من اكتمال قواميسك، واكتشاف الترجمات المفقودة قبل النشر، واختبار واجهة المستخدم المحلية في تطبيقك.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## ما يمكنك اختباره
|
|
24
|
+
|
|
25
|
+
- **الترجمات المفقودة**: فشل في CI إذا كانت هناك أي لغات مطلوبة مفقودة لأي قاموس.
|
|
26
|
+
- **عرض واجهة المستخدم المحلية**: عرض المكونات باستخدام مزود لغة محدد والتحقق من النصوص/السمات المرئية.
|
|
27
|
+
- **تدقيق وقت البناء**: إجراء تدقيق سريع محليًا عبر CLI.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## بداية سريعة: التدقيق عبر CLI
|
|
32
|
+
|
|
33
|
+
شغّل التدقيق من جذر مشروعك:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx intlayer content test
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
علامات مفيدة:
|
|
40
|
+
|
|
41
|
+
- `--env-file [path]`: تحميل متغيرات البيئة من ملف.
|
|
42
|
+
- `-e, --env [name]`: اختيار ملف تعريف البيئة.
|
|
43
|
+
- `--base-dir [path]`: تعيين الدليل الأساسي للتطبيق لحل المسارات.
|
|
44
|
+
- `--verbose`: عرض سجلات مفصلة.
|
|
45
|
+
- `--prefix [label]`: إضافة بادئة لأسطر السجل.
|
|
46
|
+
|
|
47
|
+
ملاحظة: يقوم CLI بطباعة تقرير مفصل لكنه لا يخرج برمز خطأ عند الفشل. لاستخدامه في CI، أضف اختبار وحدة (أسفله) يؤكد عدم وجود لغات مطلوبة مفقودة.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## اختبار برمجي (Vitest/Jest)
|
|
52
|
+
|
|
53
|
+
استخدم واجهة برمجة تطبيقات Intlayer CLI للتأكد من عدم وجود ترجمات مفقودة للغات المطلوبة.
|
|
54
|
+
|
|
55
|
+
```ts file=i18n.test.ts
|
|
56
|
+
/* @vitest-environment node */
|
|
57
|
+
import { listMissingTranslations } from "intlayer/cli";
|
|
58
|
+
import { describe, expect, it } from "vitest";
|
|
59
|
+
|
|
60
|
+
describe("الترجمات", () => {
|
|
61
|
+
it("لا توجد لغات مطلوبة مفقودة", () => {
|
|
62
|
+
const result = listMissingTranslations();
|
|
63
|
+
|
|
64
|
+
if (result.missingRequiredLocales.length > 0) {
|
|
65
|
+
// مفيد عند فشل الاختبار محليًا أو في CI
|
|
66
|
+
console.log(result.missingTranslations);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
expect(result.missingRequiredLocales).toHaveLength(0);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
المكافئ في Jest:
|
|
75
|
+
|
|
76
|
+
```ts file=i18n.test.ts
|
|
77
|
+
import { listMissingTranslations } from "intlayer/cli";
|
|
78
|
+
|
|
79
|
+
test("لا توجد لغات مطلوبة مفقودة", () => {
|
|
80
|
+
const result = listMissingTranslations();
|
|
81
|
+
|
|
82
|
+
if (result.missingRequiredLocales.length > 0) {
|
|
83
|
+
// eslint-disable-next-line no-console
|
|
84
|
+
console.log(result.missingTranslations);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
expect(result.missingRequiredLocales).toHaveLength(0);
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
كيف يعمل:
|
|
92
|
+
|
|
93
|
+
- يقرأ Intlayer تكوينك (اللغات locales، اللغات المطلوبة requiredLocales) والقواميس المعلنة، ثم يبلغ عن:
|
|
94
|
+
- `missingTranslations`: لكل مفتاح، أي اللغات مفقودة ومن أي ملف.
|
|
95
|
+
- `missingLocales`: اتحاد جميع اللغات المفقودة.
|
|
96
|
+
- `missingRequiredLocales`: مجموعة فرعية محدودة بـ `requiredLocales` (أو جميع اللغات إذا لم يتم تعيين `requiredLocales`).
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## اختبار واجهة المستخدم المحلية (React / Next.js)
|
|
101
|
+
|
|
102
|
+
قم بعرض المكونات تحت مزود Intlayer وتحقق من المحتوى المرئي.
|
|
103
|
+
|
|
104
|
+
مثال React (Testing Library):
|
|
105
|
+
|
|
106
|
+
```tsx
|
|
107
|
+
import { IntlayerProvider } from "react-intlayer/client";
|
|
108
|
+
import { render, screen } from "@testing-library/react";
|
|
109
|
+
import { MyComponent } from "./MyComponent";
|
|
110
|
+
|
|
111
|
+
test("renders localized title in English", () => {
|
|
112
|
+
render(
|
|
113
|
+
<IntlayerProvider locale="en-US">
|
|
114
|
+
<MyComponent />
|
|
115
|
+
</IntlayerProvider>
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
expect(screen.getByText("العنوان الإنجليزي المتوقع")).toBeInTheDocument();
|
|
119
|
+
});
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
مثال Next.js (App Router): استخدم غلاف الإطار:
|
|
123
|
+
|
|
124
|
+
```tsx
|
|
125
|
+
import { IntlayerClientProvider } from "next-intlayer/client";
|
|
126
|
+
import { render, screen } from "@testing-library/react";
|
|
127
|
+
import { MyPage } from "./MyPage";
|
|
128
|
+
|
|
129
|
+
test("يعرض العنوان المحلي بالفرنسية", () => {
|
|
130
|
+
render(
|
|
131
|
+
<IntlayerClientProvider locale="fr-FR">
|
|
132
|
+
<MyPage />
|
|
133
|
+
</IntlayerClientProvider>
|
|
134
|
+
);
|
|
135
|
+
expect(
|
|
136
|
+
screen.getByRole("heading", { name: "العنوان المتوقع" })
|
|
137
|
+
).toBeInTheDocument();
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
نصائح:
|
|
142
|
+
|
|
143
|
+
- عندما تحتاج إلى قيم نصية خام للسمات (مثل `aria-label`)، قم بالوصول إلى الحقل `.value` الذي يتم إرجاعه بواسطة `useIntlayer` في React.
|
|
144
|
+
- احتفظ بالقواميس بجانب المكونات لتسهيل اختبار الوحدة والتنظيف.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## التكامل المستمر
|
|
149
|
+
|
|
150
|
+
أضف اختبارًا يفشل البناء عندما تكون الترجمات المطلوبة مفقودة.
|
|
151
|
+
|
|
152
|
+
`package.json`:
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"scripts": {
|
|
157
|
+
"test:i18n": "vitest run -c"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
مثال على GitHub Actions:
|
|
163
|
+
|
|
164
|
+
```yaml
|
|
165
|
+
name: CI
|
|
166
|
+
on: [push, pull_request]
|
|
167
|
+
jobs:
|
|
168
|
+
test:
|
|
169
|
+
runs-on: ubuntu-latest
|
|
170
|
+
steps:
|
|
171
|
+
- uses: actions/checkout@v4
|
|
172
|
+
- uses: actions/setup-node@v4
|
|
173
|
+
with:
|
|
174
|
+
node-version: 20
|
|
175
|
+
- run: npm ci
|
|
176
|
+
- run: npm run test:i18n
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
اختياري: قم بتشغيل تدقيق CLI للحصول على ملخص قابل للقراءة البشرية إلى جانب الاختبارات:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
npx intlayer content test --verbose
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## استكشاف الأخطاء وإصلاحها
|
|
188
|
+
|
|
189
|
+
- تأكد من أن تكوين Intlayer الخاص بك يحدد `locales` و (اختياريًا) `requiredLocales`.
|
|
190
|
+
- إذا كان تطبيقك يستخدم قواميس ديناميكية أو عن بُعد، فقم بتشغيل الاختبارات في بيئة تتوفر فيها القواميس.
|
|
191
|
+
- بالنسبة للمستودعات المختلطة (monorepos)، استخدم `--base-dir` لتوجيه CLI إلى جذر التطبيق الصحيح.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## تاريخ الوثيقة
|
|
196
|
+
|
|
197
|
+
| الإصدار | التاريخ | التغييرات |
|
|
198
|
+
| ------- | ---------- | ---------------- |
|
|
199
|
+
| 6.0.0 | 2025-09-20 | تقديم الاختبارات |
|
package/docs/de/autoFill.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-20
|
|
4
4
|
title: Automatisches Ausfüllen
|
|
5
|
-
description: Erfahren Sie, wie Sie die Funktion zum automatischen Ausfüllen in Intlayer verwenden, um Inhalte basierend auf vordefinierten Mustern automatisch zu befüllen. Folgen Sie dieser Dokumentation, um
|
|
5
|
+
description: Erfahren Sie, wie Sie die Funktion zum automatischen Ausfüllen in Intlayer verwenden, um Inhalte basierend auf vordefinierten Mustern automatisch zu befüllen. Folgen Sie dieser Dokumentation, um Funktionen zum automatischen Ausfüllen effizient in Ihrem Projekt zu implementieren.
|
|
6
6
|
keywords:
|
|
7
7
|
- Automatisches Ausfüllen
|
|
8
8
|
- Inhaltsautomatisierung
|
|
@@ -17,10 +17,11 @@ slugs:
|
|
|
17
17
|
- auto-fill
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
# Übersetzungen der
|
|
20
|
+
# Übersetzungen der Deklarationsdatei für automatisches Ausfüllen von Inhalten
|
|
21
21
|
|
|
22
|
-
**
|
|
23
|
-
|
|
22
|
+
**Deklarationsdateien für automatisches Ausfüllen von Inhalten** sind eine Möglichkeit, Ihren Entwicklungsworkflow zu beschleunigen.
|
|
23
|
+
|
|
24
|
+
Der Mechanismus des automatischen Ausfüllens funktioniert durch eine _Master-Slave_-Beziehung zwischen Inhaltsdeklarationsdateien. Wenn die Hauptdatei (Master) aktualisiert wird, wendet Intlayer diese Änderungen automatisch auf die abgeleiteten (automatisch ausgefüllten) Deklarationsdateien an.
|
|
24
25
|
|
|
25
26
|
```ts fileName="src/components/example/example.content.ts"
|
|
26
27
|
import { Locales, type Dictionary } from "intlayer";
|
|
@@ -30,7 +31,7 @@ const exampleContent = {
|
|
|
30
31
|
locale: Locales.ENGLISH,
|
|
31
32
|
autoFill: "./example.content.json",
|
|
32
33
|
content: {
|
|
33
|
-
contentExample: "Dies ist ein Beispielinhalt",
|
|
34
|
+
contentExample: "Dies ist ein Beispielinhalt", // Beispielinhalt
|
|
34
35
|
},
|
|
35
36
|
} satisfies Dictionary;
|
|
36
37
|
|
|
@@ -62,11 +63,11 @@ Intlayer generiert automatisch die abgeleitete Deklarationsdatei unter `src/comp
|
|
|
62
63
|
}
|
|
63
64
|
```
|
|
64
65
|
|
|
65
|
-
Anschließend werden beide Deklarationsdateien zu einem einzigen Wörterbuch zusammengeführt, das über den
|
|
66
|
+
Anschließend werden beide Deklarationsdateien zu einem einzigen Wörterbuch zusammengeführt, das über den Standard-`useIntlayer("example")` Hook (React) / Composable (Vue) zugänglich ist.
|
|
66
67
|
|
|
67
|
-
##
|
|
68
|
+
## Automatisch ausgefülltes Dateiformat
|
|
68
69
|
|
|
69
|
-
Das empfohlene Format für automatisch ausgefüllte Deklarationsdateien ist **JSON**, da
|
|
70
|
+
Das empfohlene Format für automatisch ausgefüllte Deklarationsdateien ist **JSON**, da es Formatierungsbeschränkungen vermeidet. Intlayer unterstützt jedoch auch `.ts`, `.js`, `.mjs`, `.cjs` und andere Formate.
|
|
70
71
|
|
|
71
72
|
```ts fileName="src/components/example/example.content.ts"
|
|
72
73
|
const exampleContent = {
|
|
@@ -86,8 +87,8 @@ src/components/example/example.filled.content.ts
|
|
|
86
87
|
|
|
87
88
|
> Die Generierung von `.js`, `.ts` und ähnlichen Dateien funktioniert wie folgt:
|
|
88
89
|
>
|
|
89
|
-
> - Wenn die Datei bereits existiert, analysiert Intlayer sie
|
|
90
|
-
> - Wenn die Datei nicht existiert,
|
|
90
|
+
> - Wenn die Datei bereits existiert, analysiert Intlayer sie mithilfe des AST (Abstract Syntax Tree), um jedes Feld zu finden und fehlende Übersetzungen einzufügen.
|
|
91
|
+
> - Wenn die Datei nicht existiert, generiert Intlayer sie mit der Standardvorlage für Inhaltsdeklarationsdateien.
|
|
91
92
|
|
|
92
93
|
## Absolute Pfade
|
|
93
94
|
|
|
@@ -109,9 +110,9 @@ Dies erzeugt die Datei unter:
|
|
|
109
110
|
/messages/example.content.json
|
|
110
111
|
```
|
|
111
112
|
|
|
112
|
-
## Automatische Generierung von pro
|
|
113
|
+
## Automatische Generierung von Inhaltsdeklarationsdateien pro Locale
|
|
113
114
|
|
|
114
|
-
Das Feld `autoFill` unterstützt auch die Generierung von **pro
|
|
115
|
+
Das Feld `autoFill` unterstützt auch die Generierung von **pro Locale** Inhaltsdeklarationsdateien.
|
|
115
116
|
|
|
116
117
|
```ts fileName="src/components/example/example.content.ts"
|
|
117
118
|
const exampleContent = {
|
|
@@ -131,9 +132,11 @@ Dies erzeugt zwei separate Dateien:
|
|
|
131
132
|
- `src/components/example/example.fr.content.json`
|
|
132
133
|
- `src/components/example/example.es.content.json`
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
> In diesem Fall, wenn das Objekt nicht alle Sprachen enthält, überspringt Intlayer die Generierung der verbleibenden Sprachen.
|
|
136
|
+
|
|
137
|
+
## Filter für bestimmte Sprach-Autofill
|
|
135
138
|
|
|
136
|
-
Die Verwendung eines Objekts für das Feld `autoFill` ermöglicht es Ihnen, Filter anzuwenden und nur bestimmte
|
|
139
|
+
Die Verwendung eines Objekts für das Feld `autoFill` ermöglicht es Ihnen, Filter anzuwenden und nur bestimmte Sprachdateien zu generieren.
|
|
137
140
|
|
|
138
141
|
```ts fileName="src/components/example/example.content.ts"
|
|
139
142
|
const exampleContent = {
|
|
@@ -147,7 +150,7 @@ const exampleContent = {
|
|
|
147
150
|
};
|
|
148
151
|
```
|
|
149
152
|
|
|
150
|
-
Dies
|
|
153
|
+
Dies generiert nur die französische Übersetzungsdatei.
|
|
151
154
|
|
|
152
155
|
## Pfadvariablen
|
|
153
156
|
|
|
@@ -155,10 +158,11 @@ Sie können Variablen im `autoFill`-Pfad verwenden, um die Zielpfade für die ge
|
|
|
155
158
|
|
|
156
159
|
**Verfügbare Variablen:**
|
|
157
160
|
|
|
158
|
-
- `{{locale}}` –
|
|
161
|
+
- `{{locale}}` – Sprachcode (z. B. `fr`, `es`)
|
|
162
|
+
- `{{fileName}}` – Dateiname (z. B. `index`)
|
|
159
163
|
- `{{key}}` – Wörterbuchschlüssel (z. B. `example`)
|
|
160
164
|
|
|
161
|
-
```ts fileName="src/components/example/
|
|
165
|
+
```ts fileName="src/components/example/index.content.ts"
|
|
162
166
|
const exampleContent = {
|
|
163
167
|
key: "example",
|
|
164
168
|
autoFill: "/messages/{{locale}}/{{key}}.content.json",
|
|
@@ -173,6 +177,25 @@ Dies erzeugt:
|
|
|
173
177
|
- `/messages/fr/example.content.json`
|
|
174
178
|
- `/messages/es/example.content.json`
|
|
175
179
|
|
|
180
|
+
```ts fileName="src/components/example/index.content.ts"
|
|
181
|
+
const exampleContent = {
|
|
182
|
+
key: "example",
|
|
183
|
+
autoFill: "./{{fileName}}.content.json",
|
|
184
|
+
content: {
|
|
185
|
+
// Ihr Inhalt
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Dies erzeugt:
|
|
191
|
+
|
|
192
|
+
- `./index.content.json`
|
|
193
|
+
- `./index.content.json`
|
|
194
|
+
|
|
176
195
|
## Dokumentationsverlauf
|
|
177
196
|
|
|
178
|
-
|
|
197
|
+
| Version | Datum | Änderungen |
|
|
198
|
+
| ------- | ---------- | ----------------------------------- |
|
|
199
|
+
| 6.0.0 | 2025-09-20 | Globale Konfiguration hinzugefügt |
|
|
200
|
+
| 6.0.0 | 2025-09-17 | Variable `{{fileName}}` hinzugefügt |
|
|
201
|
+
| 5.5.10 | 2025-06-29 | Historie initialisiert |
|