@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
package/docs/ar/configuration.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2025-
|
|
4
|
-
title:
|
|
5
|
-
description:
|
|
3
|
+
updatedAt: 2025-09-16
|
|
4
|
+
title: التهيئة
|
|
5
|
+
description: تعلّم كيفية تهيئة Intlayer لتطبيقك. فهم الإعدادات والخيارات المختلفة المتاحة لتخصيص Intlayer حسب احتياجاتك.
|
|
6
6
|
keywords:
|
|
7
|
-
-
|
|
7
|
+
- التهيئة
|
|
8
8
|
- الإعدادات
|
|
9
9
|
- التخصيص
|
|
10
10
|
- Intlayer
|
|
@@ -15,17 +15,17 @@ slugs:
|
|
|
15
15
|
- configuration
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
# وثائق
|
|
18
|
+
# وثائق تهيئة Intlayer
|
|
19
19
|
|
|
20
20
|
## نظرة عامة
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
تتيح ملفات تهيئة Intlayer تخصيص جوانب مختلفة من الإضافة، مثل التدويل، والوسائط الوسيطة، والتعامل مع المحتوى. يوفر هذا المستند وصفًا تفصيليًا لكل خاصية في التهيئة.
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
## دعم ملفات
|
|
26
|
+
## دعم ملفات التهيئة
|
|
27
27
|
|
|
28
|
-
يدعم Intlayer تنسيقات ملفات
|
|
28
|
+
يدعم Intlayer تنسيقات ملفات التهيئة JSON و JS و MJS و TS:
|
|
29
29
|
|
|
30
30
|
- `intlayer.config.ts`
|
|
31
31
|
- `intlayer.config.js`
|
|
@@ -36,30 +36,31 @@ slugs:
|
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
|
-
## مثال على ملف
|
|
39
|
+
## مثال على ملف التهيئة
|
|
40
40
|
|
|
41
41
|
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
42
42
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
43
43
|
|
|
44
44
|
const config: IntlayerConfig = {
|
|
45
45
|
internationalization: {
|
|
46
|
-
locales: [Locales.ENGLISH],
|
|
46
|
+
locales: [Locales.ENGLISH], // اللغات المدعومة
|
|
47
47
|
},
|
|
48
48
|
content: {
|
|
49
|
-
|
|
49
|
+
autoFill: "./{{fileName}}.content.json", // تعبئة المحتوى تلقائيًا من ملف JSON
|
|
50
|
+
contentDir: ["src", "../ui-library"], // مجلدات المحتوى
|
|
50
51
|
},
|
|
51
52
|
middleware: {
|
|
52
|
-
noPrefix: false,
|
|
53
|
+
noPrefix: false, // استخدام بادئة في الوسائط الوسيطة
|
|
53
54
|
},
|
|
54
55
|
editor: {
|
|
55
|
-
applicationURL: "https://example.com",
|
|
56
|
+
applicationURL: "https://example.com", // رابط التطبيق للمحرر
|
|
56
57
|
},
|
|
57
58
|
ai: {
|
|
58
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
59
|
-
applicationContext: "This is a test application",
|
|
59
|
+
apiKey: process.env.OPENAI_API_KEY, // مفتاح API للذكاء الاصطناعي
|
|
60
|
+
applicationContext: "This is a test application", // سياق التطبيق للذكاء الاصطناعي
|
|
60
61
|
},
|
|
61
62
|
build: {
|
|
62
|
-
importMode: "dynamic",
|
|
63
|
+
importMode: "dynamic", // وضع الاستيراد أثناء البناء
|
|
63
64
|
},
|
|
64
65
|
};
|
|
65
66
|
|
|
@@ -70,26 +71,25 @@ export default config;
|
|
|
70
71
|
const { Locales } = require("intlayer");
|
|
71
72
|
|
|
72
73
|
/** @type {import('intlayer').IntlayerConfig} */
|
|
73
|
-
// تكوين Intlayer
|
|
74
74
|
const config = {
|
|
75
75
|
internationalization: {
|
|
76
76
|
locales: [Locales.ENGLISH], // اللغات المدعومة
|
|
77
77
|
},
|
|
78
78
|
content: {
|
|
79
|
-
contentDir: ["src", "../ui-library"], //
|
|
79
|
+
contentDir: ["src", "../ui-library"], // مجلدات المحتوى
|
|
80
80
|
},
|
|
81
81
|
middleware: {
|
|
82
|
-
noPrefix: false, //
|
|
82
|
+
noPrefix: false, // استخدام بادئة في الوسائط الوسيطة
|
|
83
83
|
},
|
|
84
84
|
editor: {
|
|
85
|
-
applicationURL: "https://example.com", //
|
|
85
|
+
applicationURL: "https://example.com", // رابط التطبيق للمحرر
|
|
86
86
|
},
|
|
87
87
|
ai: {
|
|
88
|
-
apiKey: process.env.OPENAI_API_KEY, // مفتاح API
|
|
89
|
-
applicationContext: "This is a test application", // سياق التطبيق
|
|
88
|
+
apiKey: process.env.OPENAI_API_KEY, // مفتاح API للذكاء الاصطناعي
|
|
89
|
+
applicationContext: "This is a test application", // سياق التطبيق للذكاء الاصطناعي
|
|
90
90
|
},
|
|
91
91
|
build: {
|
|
92
|
-
importMode: "dynamic", //
|
|
92
|
+
importMode: "dynamic", // وضع الاستيراد أثناء البناء
|
|
93
93
|
},
|
|
94
94
|
};
|
|
95
95
|
|
|
@@ -97,36 +97,44 @@ module.exports = config;
|
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
```json5 fileName=".intlayerrc" codeFormat="json"
|
|
100
|
-
// تكوين Intlayer
|
|
101
100
|
{
|
|
102
101
|
"internationalization": {
|
|
103
102
|
"locales": ["en"], // اللغات المدعومة
|
|
104
103
|
},
|
|
105
104
|
"content": {
|
|
106
|
-
"
|
|
105
|
+
"contentDir": ["src", "../ui-library"], // مجلدات المحتوى
|
|
107
106
|
},
|
|
108
107
|
"middleware": {
|
|
109
|
-
"noPrefix": false,
|
|
108
|
+
"noPrefix": false, // استخدام بادئة في الوسائط الوسيطة
|
|
109
|
+
},
|
|
110
|
+
"editor": {
|
|
111
|
+
"applicationURL": "https://example.com", // رابط التطبيق للمحرر
|
|
112
|
+
},
|
|
113
|
+
"ai": {
|
|
114
|
+
"apiKey": "XXXX",
|
|
115
|
+
"applicationContext": "هذا تطبيق تجريبي",
|
|
116
|
+
},
|
|
117
|
+
"build": {
|
|
118
|
+
"importMode": "dynamic",
|
|
110
119
|
},
|
|
111
120
|
}
|
|
112
121
|
```
|
|
113
122
|
|
|
114
123
|
---
|
|
115
124
|
|
|
116
|
-
## مرجع
|
|
125
|
+
## مرجع التهيئة
|
|
117
126
|
|
|
118
|
-
تصف الأقسام التالية إعدادات
|
|
127
|
+
تصف الأقسام التالية إعدادات التهيئة المختلفة المتاحة لـ Intlayer.
|
|
119
128
|
|
|
120
129
|
---
|
|
121
130
|
|
|
122
|
-
###
|
|
131
|
+
### تهيئة التدويل
|
|
123
132
|
|
|
124
|
-
|
|
133
|
+
تعريف الإعدادات المتعلقة بالتدويل، بما في ذلك اللغات المتاحة واللغة الافتراضية للتطبيق.
|
|
125
134
|
|
|
126
135
|
#### الخصائص
|
|
127
136
|
|
|
128
137
|
- **locales**:
|
|
129
|
-
|
|
130
138
|
- _النوع_: `string[]`
|
|
131
139
|
- _الافتراضي_: `['en']`
|
|
132
140
|
- _الوصف_: قائمة اللغات المدعومة في التطبيق.
|
|
@@ -137,337 +145,331 @@ module.exports = config;
|
|
|
137
145
|
- _الافتراضي_: `[]`
|
|
138
146
|
- _الوصف_: قائمة اللغات المطلوبة في التطبيق.
|
|
139
147
|
- _مثال_: `[]`
|
|
140
|
-
- _ملاحظة_: إذا كانت فارغة،
|
|
141
|
-
- _ملاحظة_: تأكد من أن اللغات المطلوبة
|
|
148
|
+
- _ملاحظة_: إذا كانت فارغة، فكل اللغات مطلوبة في وضع `strict`.
|
|
149
|
+
- _ملاحظة_: تأكد من أن اللغات المطلوبة معرفة أيضًا في حقل `locales`.
|
|
142
150
|
- **strictMode**:
|
|
143
|
-
|
|
144
151
|
- _النوع_: `string`
|
|
145
152
|
- _الافتراضي_: `inclusive`
|
|
146
|
-
- _الوصف_: ضمان تنفيذ قوي للمحتوى الدولي باستخدام
|
|
147
|
-
- _ملاحظة_: إذا تم تعيينها إلى "strict"، فإن دالة الترجمة `t` ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة
|
|
148
|
-
- _ملاحظة_: إذا تم تعيينها إلى "inclusive"، فإن دالة الترجمة `t` ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة
|
|
153
|
+
- _الوصف_: ضمان تنفيذ قوي للمحتوى الدولي باستخدام typescript.
|
|
154
|
+
- _ملاحظة_: إذا تم تعيينها إلى "strict"، فإن دالة الترجمة `t` ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة مفقودة، أو إذا لم يتم إعلان لغة في التهيئة الخاصة بك، فسيتم رمي خطأ.
|
|
155
|
+
- _ملاحظة_: إذا تم تعيينها إلى "inclusive"، فإن دالة الترجمة `t` ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة مفقودة، فستصدر تحذيرًا. لكنها ستقبل إذا كانت اللغة غير معلنة في التهيئة الخاصة بك، لكنها موجودة.
|
|
149
156
|
- _ملاحظة_: إذا تم تعيينها إلى "loose"، فإن دالة الترجمة `t` ستقبل أي لغة موجودة.
|
|
150
157
|
|
|
151
158
|
- **defaultLocale**:
|
|
152
|
-
|
|
153
159
|
- _النوع_: `string`
|
|
154
160
|
- _الافتراضي_: `'en'`
|
|
155
161
|
- _الوصف_: اللغة الافتراضية المستخدمة كخيار احتياطي إذا لم يتم العثور على اللغة المطلوبة.
|
|
156
162
|
- _مثال_: `'en'`
|
|
157
|
-
- _ملاحظة_: يُستخدم هذا لتحديد اللغة عندما لا يتم تحديد أي لغة في عنوان URL أو
|
|
163
|
+
- _ملاحظة_: يُستخدم هذا لتحديد اللغة عندما لا يتم تحديد أي لغة في عنوان URL أو ملف تعريف الارتباط أو الرأس.
|
|
158
164
|
|
|
159
165
|
---
|
|
160
166
|
|
|
161
167
|
### تكوين المحرر
|
|
162
168
|
|
|
163
|
-
يحدد الإعدادات المتعلقة بالمحرر
|
|
169
|
+
يحدد الإعدادات المتعلقة بالمحرر المتكامل، بما في ذلك منفذ الخادم وحالة التفعيل.
|
|
164
170
|
|
|
165
171
|
#### الخصائص
|
|
166
172
|
|
|
167
173
|
- **applicationURL**:
|
|
168
|
-
|
|
169
174
|
- _النوع_: `string`
|
|
170
175
|
- _الافتراضي_: `http://localhost:3000`
|
|
171
|
-
- _الوصف_: عنوان URL
|
|
176
|
+
- _الوصف_: عنوان URL الخاص بالتطبيق. يُستخدم لتقييد أصل المحرر لأسباب أمنية.
|
|
172
177
|
- _مثال_:
|
|
173
178
|
- `'http://localhost:3000'`
|
|
174
179
|
- `'https://example.com'`
|
|
175
180
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
176
|
-
- _ملاحظة_: عنوان URL
|
|
181
|
+
- _ملاحظة_: عنوان URL الخاص بالتطبيق. يُستخدم لتقييد أصل المحرر لأسباب أمنية. إذا تم تعيينه إلى `'*'`، يكون المحرر متاحًا من أي أصل.
|
|
177
182
|
|
|
178
183
|
- **port**:
|
|
179
|
-
|
|
180
184
|
- _النوع_: `number`
|
|
181
185
|
- _الافتراضي_: `8000`
|
|
182
|
-
- _الوصف_: المنفذ المستخدم
|
|
186
|
+
- _الوصف_: المنفذ المستخدم من قبل خادم المحرر المرئي.
|
|
183
187
|
|
|
184
188
|
- **editorURL**:
|
|
185
|
-
|
|
186
189
|
- _النوع_: `string`
|
|
187
190
|
- _الافتراضي_: `'http://localhost:8000'`
|
|
188
|
-
- _الوصف_: عنوان URL
|
|
191
|
+
- _الوصف_: عنوان URL الخاص بخادم المحرر. يُستخدم لتقييد أصل المحرر لأسباب أمنية.
|
|
189
192
|
- `'http://localhost:3000'`
|
|
190
193
|
- `'https://example.com'`
|
|
191
194
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
192
|
-
- _ملاحظة_: عنوان URL
|
|
195
|
+
- _ملاحظة_: عنوان URL الخاص بخادم المحرر الذي يتم الوصول إليه من التطبيق. يُستخدم لتقييد الأصول التي يمكنها التفاعل مع التطبيق لأسباب أمنية. إذا تم تعيينه إلى `'*'`، يكون المحرر متاحًا من أي أصل. يجب تعيينه إذا تم تغيير المنفذ، أو إذا كان المحرر مستضافًا على نطاق مختلف.
|
|
193
196
|
|
|
194
197
|
- **cmsURL**:
|
|
195
|
-
|
|
196
198
|
- _النوع_: `string`
|
|
197
199
|
- _الافتراضي_: `'https://intlayer.org'`
|
|
198
|
-
- _الوصف_: عنوان URL
|
|
200
|
+
- _الوصف_: عنوان URL الخاص بنظام إدارة المحتوى Intlayer.
|
|
199
201
|
- _مثال_: `'https://intlayer.org'`
|
|
200
|
-
- _ملاحظة_: عنوان URL
|
|
202
|
+
- _ملاحظة_: عنوان URL الخاص بنظام إدارة المحتوى Intlayer.
|
|
201
203
|
|
|
202
204
|
- **backendURL**:
|
|
203
|
-
|
|
204
205
|
- _النوع_: `string`
|
|
205
206
|
- _الافتراضي_: `https://back.intlayer.org`
|
|
206
|
-
- _الوصف_: عنوان URL
|
|
207
|
+
- _الوصف_: عنوان URL الخاص بخادم الواجهة الخلفية.
|
|
207
208
|
- _مثال_: `http://localhost:4000`
|
|
208
209
|
|
|
209
210
|
- **enabled**:
|
|
210
|
-
|
|
211
211
|
- _النوع_: `boolean`
|
|
212
212
|
- _الافتراضي_: `true`
|
|
213
213
|
- _الوصف_: يشير إلى ما إذا كان التطبيق يتفاعل مع المحرر المرئي.
|
|
214
214
|
- _مثال_: `process.env.NODE_ENV !== 'production'`
|
|
215
|
-
- _ملاحظة_: إذا كانت القيمة
|
|
215
|
+
- _ملاحظة_: إذا كانت القيمة صحيحة، سيتمكن المحرر من التفاعل مع التطبيق. إذا كانت خاطئة، فلن يتمكن المحرر من التفاعل مع التطبيق. في جميع الأحوال، يمكن تمكين المحرر فقط من خلال المحرر المرئي. تعطيل المحرر لبيئات محددة هو وسيلة لتعزيز الأمان.
|
|
216
216
|
|
|
217
217
|
- **clientId**:
|
|
218
|
-
|
|
219
218
|
- _النوع_: `string` | `undefined`
|
|
220
219
|
- _الافتراضي_: `undefined`
|
|
221
|
-
- _الوصف_: clientId و clientSecret
|
|
220
|
+
- _الوصف_: يسمح كل من clientId و clientSecret لحزم intlayer بالمصادقة مع الخادم الخلفي باستخدام مصادقة oAuth2. يتم استخدام رمز وصول للمصادقة على المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى https://intlayer.org/dashboard/project وأنشئ حسابًا.
|
|
222
221
|
- _مثال_: `true`
|
|
223
222
|
- _ملاحظة_: مهم: يجب الحفاظ على سرية clientId و clientSecret وعدم مشاركتهما علنًا. يرجى التأكد من الاحتفاظ بهما في مكان آمن، مثل متغيرات البيئة.
|
|
224
223
|
|
|
225
224
|
- **clientSecret**:
|
|
226
|
-
|
|
227
225
|
- _النوع_: `string` | `undefined`
|
|
228
226
|
- _الافتراضي_: `undefined`
|
|
229
|
-
- _الوصف_: يسمح كل من clientId و clientSecret لحزم intlayer بالمصادقة مع الخادم الخلفي باستخدام مصادقة oAuth2. يتم استخدام رمز وصول
|
|
227
|
+
- _الوصف_: يسمح كل من clientId و clientSecret لحزم intlayer بالمصادقة مع الخادم الخلفي باستخدام مصادقة oAuth2. يتم استخدام رمز وصول للمصادقة على المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى https://intlayer.org/dashboard/project وأنشئ حسابًا.
|
|
230
228
|
- _مثال_: `true`
|
|
231
229
|
- _ملاحظة_: مهم: يجب الحفاظ على سرية clientId و clientSecret وعدم مشاركتهما علنًا. يرجى التأكد من الاحتفاظ بهما في مكان آمن، مثل متغيرات البيئة.
|
|
232
230
|
|
|
233
|
-
- **
|
|
231
|
+
- **dictionaryPriorityStrategy**:
|
|
232
|
+
- _النوع_: `string`
|
|
233
|
+
- _الافتراضي_: `'local_first'`
|
|
234
|
+
- _الوصف_: الاستراتيجية لتحديد أولوية القواميس في حالة وجود كل من القواميس المحلية والقواميس البعيدة. إذا تم تعيينها إلى `'distant_first'`، ستعطي التطبيق أولوية للقواميس البعيدة على القواميس المحلية. إذا تم تعيينها إلى `'local_first'`، ستعطي التطبيق أولوية للقواميس المحلية على القواميس البعيدة.
|
|
235
|
+
- _مثال_: `'distant_first'`
|
|
234
236
|
|
|
237
|
+
- **liveSync**:
|
|
235
238
|
- _النوع_: `boolean`
|
|
236
239
|
- _الافتراضي_: `false`
|
|
237
|
-
- _الوصف_: يشير إلى ما إذا كان يجب على التطبيق إعادة تحميل
|
|
240
|
+
- _الوصف_: يشير إلى ما إذا كان يجب على خادم التطبيق إعادة تحميل محتوى التطبيق تلقائيًا عند اكتشاف تغيير في نظام إدارة المحتوى / المحرر المرئي / الخلفية.
|
|
238
241
|
- _مثال_: `true`
|
|
239
|
-
- _ملاحظة_: على سبيل المثال، عندما يتم إضافة قاموس جديد أو تحديثه، سيقوم التطبيق بتحديث المحتوى
|
|
240
|
-
- _ملاحظة_:
|
|
242
|
+
- _ملاحظة_: على سبيل المثال، عندما يتم إضافة قاموس جديد أو تحديثه، سيقوم التطبيق بتحديث المحتوى ليتم عرضه في الصفحة.
|
|
243
|
+
- _ملاحظة_: تحتاج المزامنة الحية إلى تعريض محتوى التطبيق على خادم آخر. هذا يعني أنه قد يؤثر قليلاً على أداء التطبيق. للحد من ذلك، نوصي باستضافة التطبيق وخادم المزامنة الحية على نفس الجهاز. أيضًا، يمكن أن يؤدي الجمع بين المزامنة الحية و`optimize` إلى تطبيق عدد كبير من الطلبات على خادم المزامنة الحية. اعتمادًا على البنية التحتية الخاصة بك، نوصي باختبار كلا الخيارين وتركيبتهما.
|
|
241
244
|
|
|
242
|
-
- **
|
|
245
|
+
- **liveSyncPort**:
|
|
246
|
+
- _النوع_: `number`
|
|
247
|
+
- _الافتراضي_: `4000`
|
|
248
|
+
- _الوصف_: منفذ خادم المزامنة الحية.
|
|
249
|
+
- _مثال_: `4000`
|
|
250
|
+
- _ملاحظة_: منفذ خادم المزامنة الحية.
|
|
251
|
+
|
|
252
|
+
- **liveSyncURL**:
|
|
243
253
|
- _النوع_: `string`
|
|
244
|
-
- _الافتراضي_: `'
|
|
245
|
-
- _الوصف_:
|
|
246
|
-
- _مثال_: `'
|
|
254
|
+
- _الافتراضي_: `'http://localhost:{liveSyncPort}'`
|
|
255
|
+
- _الوصف_: عنوان URL الخاص بخادم المزامنة الحية.
|
|
256
|
+
- _مثال_: `'https://example.com'`
|
|
257
|
+
- _ملاحظة_: يشير إلى localhost بشكل افتراضي ولكن يمكن تغييره إلى أي عنوان URL في حالة وجود خادم مزامنة حية عن بُعد.
|
|
247
258
|
|
|
248
259
|
### تكوين الوسيط
|
|
249
260
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
الإعدادات التي تتحكم في سلوك الوسيط، بما في ذلك كيفية تعامل التطبيق مع الكوكيز، والرؤوس، وبادئات عناوين URL لإدارة اللغة.
|
|
261
|
+
الإعدادات التي تتحكم في سلوك الوسيط، بما في ذلك كيفية تعامل التطبيق مع ملفات تعريف الارتباط، والرؤوس، والبادئات في عناوين URL لإدارة اللغة.
|
|
253
262
|
|
|
254
263
|
#### الخصائص
|
|
255
264
|
|
|
256
265
|
- **headerName**:
|
|
257
|
-
|
|
258
266
|
- _النوع_: `string`
|
|
259
267
|
- _الافتراضي_: `'x-intlayer-locale'`
|
|
260
268
|
- _الوصف_: اسم رأس HTTP المستخدم لتحديد اللغة.
|
|
261
269
|
- _مثال_: `'x-custom-locale'`
|
|
262
|
-
- _ملاحظة_: هذا مفيد لتحديد اللغة بناءً على API.
|
|
270
|
+
- _ملاحظة_: هذا مفيد لتحديد اللغة بناءً على واجهة برمجة التطبيقات (API).
|
|
263
271
|
|
|
264
272
|
- **cookieName**:
|
|
265
|
-
|
|
266
273
|
- _النوع_: `string`
|
|
267
274
|
- _الافتراضي_: `'intlayer-locale'`
|
|
268
|
-
- _الوصف_: اسم
|
|
275
|
+
- _الوصف_: اسم ملف تعريف الارتباط المستخدم لتخزين اللغة.
|
|
269
276
|
- _مثال_: `'custom-locale'`
|
|
270
277
|
- _ملاحظة_: يُستخدم للحفاظ على اللغة عبر الجلسات.
|
|
271
278
|
|
|
272
279
|
- **prefixDefault**:
|
|
273
|
-
|
|
274
280
|
- _النوع_: `boolean`
|
|
275
281
|
- _الافتراضي_: `false`
|
|
276
282
|
- _الوصف_: ما إذا كان يجب تضمين اللغة الافتراضية في عنوان URL.
|
|
277
283
|
- _مثال_: `true`
|
|
278
284
|
- _ملاحظة_:
|
|
279
|
-
- إذا كانت القيمة `true` و `defaultLocale = 'en'`:
|
|
280
|
-
- إذا كانت القيمة `false` و `defaultLocale = 'en'`:
|
|
285
|
+
- إذا كانت القيمة `true` و `defaultLocale = 'en'`: المسار = `/en/dashboard` أو `/fr/dashboard`
|
|
286
|
+
- إذا كانت القيمة `false` و `defaultLocale = 'en'`: المسار = `/dashboard` أو `/fr/dashboard`
|
|
281
287
|
|
|
282
288
|
- **basePath**:
|
|
283
|
-
|
|
284
289
|
- _النوع_: `string`
|
|
285
|
-
- _
|
|
290
|
+
- _الافتراضي_: `''`
|
|
286
291
|
- _الوصف_: المسار الأساسي لعناوين URL الخاصة بالتطبيق.
|
|
287
292
|
- _مثال_: `'/my-app'`
|
|
288
293
|
- _ملاحظة_:
|
|
289
294
|
- إذا كان التطبيق مستضافًا على `https://example.com/my-app`
|
|
290
|
-
- المسار الأساسي هو `'/my-app'`
|
|
291
|
-
- سيكون عنوان URL `https://example.com/my-app/en`
|
|
292
|
-
- إذا لم يتم تعيين المسار الأساسي، سيكون عنوان URL `https://example.com/en`
|
|
295
|
+
- يكون المسار الأساسي هو `'/my-app'`
|
|
296
|
+
- سيكون عنوان URL هو `https://example.com/my-app/en`
|
|
297
|
+
- إذا لم يتم تعيين المسار الأساسي، سيكون عنوان URL هو `https://example.com/en`
|
|
293
298
|
|
|
294
299
|
- **serverSetCookie**:
|
|
295
|
-
|
|
296
300
|
- _النوع_: `string`
|
|
297
|
-
- _
|
|
298
|
-
- _الوصف_: قاعدة تعيين
|
|
299
|
-
- _الخيارات_: `'always'
|
|
301
|
+
- _الافتراضي_: `'always'`
|
|
302
|
+
- _الوصف_: قاعدة تعيين ملف تعريف الارتباط للغة على الخادم.
|
|
303
|
+
- _الخيارات_: `'always'`، `'never'`
|
|
300
304
|
- _مثال_: `'never'`
|
|
301
|
-
- _ملاحظة_:
|
|
305
|
+
- _ملاحظة_: تتحكم فيما إذا كان يتم تعيين ملف تعريف الارتباط للغة عند كل طلب أو لا يتم تعيينه أبدًا.
|
|
302
306
|
|
|
303
307
|
- **noPrefix**:
|
|
304
|
-
|
|
305
308
|
- _النوع_: `boolean`
|
|
306
|
-
- _
|
|
309
|
+
- _الافتراضي_: `false`
|
|
307
310
|
- _الوصف_: ما إذا كان يجب حذف بادئة اللغة من عناوين URL.
|
|
308
311
|
- _مثال_: `true`
|
|
309
312
|
- _ملاحظة_:
|
|
310
313
|
- إذا كانت القيمة `true`: لا توجد بادئة في عنوان URL
|
|
311
314
|
- إذا كانت القيمة `false`: توجد بادئة في عنوان URL
|
|
312
315
|
- مثال مع `basePath = '/my-app'`:
|
|
313
|
-
- إذا كانت `noPrefix = false`: سيكون عنوان URL `https://example.com/my-app/en`
|
|
314
|
-
- إذا كانت `noPrefix = true`: سيكون عنوان URL `https://example.com`
|
|
316
|
+
- إذا كانت `noPrefix = false`: سيكون عنوان URL هو `https://example.com/my-app/en`
|
|
317
|
+
- إذا كانت `noPrefix = true`: سيكون عنوان URL هو `https://example.com`
|
|
315
318
|
|
|
316
319
|
- **detectLocaleOnPrefetchNoPrefix**:
|
|
317
|
-
|
|
318
320
|
- _النوع_: `boolean`
|
|
319
|
-
- _
|
|
320
|
-
- _الوصف_: يتحكم
|
|
321
|
+
- _الافتراضي_: `false`
|
|
322
|
+
- _الوصف_: يتحكم فيما إذا كان يتم اكتشاف اللغة أثناء طلبات التحميل المسبق في Next.js.
|
|
321
323
|
- _مثال_: `true`
|
|
322
|
-
- _ملاحظة_:
|
|
324
|
+
- _ملاحظة_: تؤثر هذه الإعدادات على كيفية تعامل Next.js مع التحميل المسبق للغة:
|
|
323
325
|
- **سيناريو المثال:**
|
|
324
326
|
- لغة متصفح المستخدم هي `'fr'`
|
|
325
327
|
- الصفحة الحالية هي `/fr/about`
|
|
326
|
-
- الرابط
|
|
328
|
+
- الرابط يقوم بالتحميل المسبق لـ `/about`
|
|
327
329
|
- **مع `detectLocaleOnPrefetchNoPrefix: true`:**
|
|
328
|
-
- التحميل المسبق
|
|
330
|
+
- يكتشف التحميل المسبق لغة `'fr'` من المتصفح
|
|
329
331
|
- يعيد توجيه التحميل المسبق إلى `/fr/about`
|
|
330
332
|
- **مع `detectLocaleOnPrefetchNoPrefix: false` (الافتراضي):**
|
|
331
|
-
- التحميل المسبق
|
|
332
|
-
- يعيد توجيه التحميل المسبق إلى `/en/about` (بافتراض أن `'en'` هي الافتراضية)
|
|
333
|
-
- **متى تستخدم `true`:**
|
|
334
|
-
- تطبيقك يستخدم روابط داخلية غير
|
|
335
|
-
- تريد سلوك اكتشاف
|
|
336
|
-
- **متى تستخدم `false` (الافتراضي):**
|
|
337
|
-
- تطبيقك يستخدم روابط
|
|
333
|
+
- يستخدم التحميل المسبق اللغة الافتراضية
|
|
334
|
+
- يعيد توجيه التحميل المسبق إلى `/en/about` (بافتراض أن `'en'` هي اللغة الافتراضية)
|
|
335
|
+
- **متى تستخدم القيمة `true`:**
|
|
336
|
+
- تطبيقك يستخدم روابط داخلية غير مخصصة للغة (مثل `<a href="/about">`)
|
|
337
|
+
- تريد سلوك اكتشاف اللغة متسق بين الطلبات العادية وطلبات التحميل المسبق
|
|
338
|
+
- **متى تستخدم القيمة `false` (الافتراضي):**
|
|
339
|
+
- تطبيقك يستخدم روابط مخصصة للغة (مثل `<a href="/fr/about">`)
|
|
338
340
|
- تريد تحسين أداء التحميل المسبق
|
|
339
341
|
- تريد تجنب حلقات إعادة التوجيه المحتملة
|
|
340
342
|
|
|
341
343
|
---
|
|
342
344
|
|
|
343
|
-
###
|
|
345
|
+
### تكوين المحتوى
|
|
344
346
|
|
|
345
|
-
|
|
347
|
+
إعدادات تتعلق بمعالجة المحتوى داخل التطبيق، بما في ذلك أسماء الدلائل، امتدادات الملفات، والتكوينات المشتقة.
|
|
346
348
|
|
|
347
349
|
#### الخصائص
|
|
348
350
|
|
|
349
|
-
- **
|
|
351
|
+
- **autoFill**:
|
|
352
|
+
- _النوع_: `boolean | string | { [key in Locales]?: string }`
|
|
353
|
+
- _الافتراضي_: `undefined`
|
|
354
|
+
- _الوصف_: يشير إلى كيفية ملء المحتوى تلقائيًا باستخدام الذكاء الاصطناعي. يمكن الإعلان عنه عالميًا في ملف `intlayer.config.ts`.
|
|
355
|
+
- _مثال_: true
|
|
356
|
+
- _مثال_: `'./{{fileName}}.content.json'`
|
|
357
|
+
- _مثال_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
|
|
358
|
+
- _ملاحظة_: تكوين الملء التلقائي. يمكن أن يكون:
|
|
359
|
+
- boolean: تمكين الملء التلقائي لجميع اللغات
|
|
360
|
+
- string: مسار إلى ملف واحد أو قالب مع متغيرات
|
|
361
|
+
- object: مسارات ملفات لكل لغة
|
|
350
362
|
|
|
363
|
+
- **watch**:
|
|
351
364
|
- _النوع_: `boolean`
|
|
352
|
-
- _
|
|
353
|
-
- _الوصف_: يشير إلى ما إذا كان
|
|
365
|
+
- _الافتراضي_: `process.env.NODE_ENV === 'development'`
|
|
366
|
+
- _الوصف_: يشير إلى ما إذا كان يجب على Intlayer مراقبة التغييرات في ملفات إعلان المحتوى داخل التطبيق لإعادة بناء القواميس ذات الصلة.
|
|
354
367
|
|
|
355
368
|
- **fileExtensions**:
|
|
356
|
-
|
|
357
369
|
- _النوع_: `string[]`
|
|
358
|
-
- _
|
|
370
|
+
- _الافتراضي_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
|
|
359
371
|
- _الوصف_: امتدادات الملفات التي يجب البحث عنها عند بناء القواميس.
|
|
360
372
|
- _مثال_: `['.data.ts', '.data.js', '.data.json']`
|
|
361
373
|
- _ملاحظة_: تخصيص امتدادات الملفات يمكن أن يساعد في تجنب التعارضات.
|
|
362
374
|
|
|
363
375
|
- **baseDir**:
|
|
364
|
-
|
|
365
376
|
- _النوع_: `string`
|
|
366
|
-
- _
|
|
377
|
+
- _الافتراضي_: `process.cwd()`
|
|
367
378
|
- _الوصف_: الدليل الأساسي للمشروع.
|
|
368
379
|
- _مثال_: `'/path/to/project'`
|
|
369
|
-
- _ملاحظة_: يُستخدم هذا لحل جميع
|
|
380
|
+
- _ملاحظة_: يُستخدم هذا لحل جميع الدلائل المتعلقة بـ Intlayer.
|
|
370
381
|
|
|
371
382
|
- **dictionaryOutput**:
|
|
372
|
-
|
|
373
383
|
- _النوع_: `string[]`
|
|
374
|
-
- _
|
|
384
|
+
- _الافتراضي_: `['intlayer']`
|
|
375
385
|
- _الوصف_: نوع إخراج القاموس المستخدم، مثل `'intlayer'` أو `'i18next'`.
|
|
376
386
|
|
|
377
387
|
- **contentDir**:
|
|
378
|
-
|
|
379
388
|
- _النوع_: `string[]`
|
|
380
|
-
- _
|
|
389
|
+
- _الافتراضي_: `['.']`
|
|
381
390
|
- _مثال_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
|
|
382
391
|
- _الوصف_: مسار الدليل حيث يتم تخزين المحتوى.
|
|
383
392
|
|
|
384
393
|
- **dictionariesDir**:
|
|
385
|
-
|
|
386
394
|
- _النوع_: `string`
|
|
387
|
-
- _
|
|
388
|
-
- _الوصف_: مسار الدليل لتخزين النتائج الوسيطة أو
|
|
395
|
+
- _الافتراضي_: `'.intlayer/dictionaries'`
|
|
396
|
+
- _الوصف_: مسار الدليل لتخزين النتائج الوسيطة أو الناتجة.
|
|
389
397
|
|
|
390
398
|
- **moduleAugmentationDir**:
|
|
391
|
-
|
|
392
399
|
- _النوع_: `string`
|
|
393
|
-
- _
|
|
400
|
+
- _الافتراضي_: `'.intlayer/types'`
|
|
394
401
|
- _الوصف_: دليل لتوسيع الوحدات، مما يسمح بتحسين اقتراحات IDE وفحص الأنواع.
|
|
395
402
|
- _مثال_: `'intlayer-types'`
|
|
396
403
|
- _ملاحظة_: تأكد من تضمين هذا في `tsconfig.json`.
|
|
397
404
|
|
|
398
405
|
- **unmergedDictionariesDir**:
|
|
399
|
-
|
|
400
406
|
- _النوع_: `string`
|
|
401
|
-
- _
|
|
407
|
+
- _الافتراضي_: `'.intlayer/unmerged_dictionary'`
|
|
402
408
|
- _الوصف_: الدليل لتخزين القواميس غير المدمجة.
|
|
403
409
|
- _مثال_: `'translations'`
|
|
404
410
|
|
|
405
411
|
- **dictionariesDir**:
|
|
406
|
-
|
|
407
412
|
- _النوع_: `string`
|
|
408
|
-
- _
|
|
413
|
+
- _الافتراضي_: `'.intlayer/dictionary'`
|
|
409
414
|
- _الوصف_: الدليل لتخزين قواميس التوطين.
|
|
410
415
|
- _مثال_: `'translations'`
|
|
411
416
|
|
|
412
417
|
- **i18nextResourcesDir**:
|
|
413
|
-
|
|
414
418
|
- _النوع_: `string`
|
|
415
|
-
- _
|
|
419
|
+
- _الافتراضي_: `'i18next_dictionary'`
|
|
416
420
|
- _الوصف_: الدليل لتخزين قواميس i18n.
|
|
417
421
|
- _مثال_: `'translations'`
|
|
418
|
-
- _ملاحظة_: تأكد من تكوين هذا الدليل لنوع
|
|
422
|
+
- _ملاحظة_: تأكد من تكوين هذا الدليل لنوع الإخراج i18next.
|
|
419
423
|
|
|
420
424
|
- **typesDir**:
|
|
421
|
-
|
|
422
425
|
- _النوع_: `string`
|
|
423
|
-
- _
|
|
426
|
+
- _الافتراضي_: `'types'`
|
|
424
427
|
- _الوصف_: الدليل لتخزين أنواع القواميس.
|
|
425
428
|
- _مثال_: `'intlayer-types'`
|
|
426
429
|
|
|
427
430
|
- **mainDir**:
|
|
428
|
-
|
|
429
431
|
- _النوع_: `string`
|
|
430
|
-
- _
|
|
431
|
-
- _الوصف_: الدليل
|
|
432
|
+
- _الافتراضي_: `'main'`
|
|
433
|
+
- _الوصف_: الدليل الذي تُخزن فيه ملفات التطبيق الرئيسية.
|
|
432
434
|
- _مثال_: `'intlayer-main'`
|
|
433
435
|
|
|
434
436
|
- **excludedPath**:
|
|
435
437
|
- _النوع_: `string[]`
|
|
436
|
-
- _
|
|
437
|
-
- _الوصف_: الأدلة
|
|
438
|
-
- _ملاحظة_: هذا الإعداد
|
|
438
|
+
- _الافتراضي_: `['node_modules']`
|
|
439
|
+
- _الوصف_: الأدلة المستبعدة من البحث في المحتوى.
|
|
440
|
+
- _ملاحظة_: هذا الإعداد غير مستخدم حالياً، لكنه مخطط لتطبيقه في المستقبل.
|
|
439
441
|
|
|
440
|
-
### إعدادات
|
|
442
|
+
### إعدادات المسجل (Logger)
|
|
441
443
|
|
|
442
|
-
الإعدادات التي تتحكم في
|
|
444
|
+
الإعدادات التي تتحكم في المسجل، بما في ذلك البادئة التي تُستخدم.
|
|
443
445
|
|
|
444
446
|
#### الخصائص
|
|
445
447
|
|
|
446
448
|
- **mode**:
|
|
447
|
-
|
|
448
449
|
- _النوع_: `string`
|
|
449
|
-
- _
|
|
450
|
-
- _الوصف_: يشير إلى وضع
|
|
451
|
-
- _الخيارات_: `default
|
|
450
|
+
- _الافتراضي_: `default`
|
|
451
|
+
- _الوصف_: يشير إلى وضع المسجل.
|
|
452
|
+
- _الخيارات_: `default`، `verbose`، `disabled`
|
|
452
453
|
- _مثال_: `default`
|
|
453
|
-
- _ملاحظة_: وضع
|
|
454
|
+
- _ملاحظة_: وضع المسجل. الوضع المفصل (verbose) يسجل معلومات أكثر، ويمكن استخدامه لأغراض التصحيح. الوضع المعطل (disabled) يعطل المسجل.
|
|
454
455
|
|
|
455
456
|
- **prefix**:
|
|
456
|
-
|
|
457
457
|
- _النوع_: `string`
|
|
458
|
-
- _
|
|
459
|
-
- _الوصف_:
|
|
458
|
+
- _الافتراضي_: `'[intlayer] '`
|
|
459
|
+
- _الوصف_: بادئة المسجل.
|
|
460
460
|
- _مثال_: `'[my custom prefix] '`
|
|
461
|
-
- _ملاحظة_:
|
|
461
|
+
- _ملاحظة_: بادئة المسجل.
|
|
462
|
+
|
|
463
|
+
### تكوين الذكاء الاصطناعي
|
|
462
464
|
|
|
463
|
-
|
|
465
|
+
الإعدادات التي تتحكم في ميزات الذكاء الاصطناعي في Intlayer، بما في ذلك المزود، النموذج، ومفتاح API.
|
|
464
466
|
|
|
465
|
-
|
|
466
|
-
هذا التكوين اختياري إذا كنت مسجلاً في [لوحة تحكم Intlayer](https://intlayer.org/dashboard/project) باستخدام مفتاح وصول. سيقوم Intlayer تلقائيًا بإدارة الحلول الأكثر كفاءة وفعالية من حيث التكلفة لاحتياجاتك. استخدام الخيارات الافتراضية يضمن صيانة أفضل على المدى الطويل حيث يقوم Intlayer بتحديث نفسه باستمرار لاستخدام النماذج الأكثر صلة.
|
|
467
|
+
هذا التكوين اختياري إذا كنت مسجلاً في [لوحة تحكم Intlayer](https://intlayer.org/dashboard/project) باستخدام مفتاح وصول. ستدير Intlayer تلقائيًا الحل الأكثر كفاءة وفعالية من حيث التكلفة لاحتياجاتك في الذكاء الاصطناعي. يضمن استخدام الخيارات الافتراضية صيانة أفضل على المدى الطويل حيث تقوم Intlayer بالتحديث المستمر لاستخدام النماذج الأكثر ملاءمة.
|
|
467
468
|
|
|
468
|
-
إذا كنت تفضل استخدام مفتاح API الخاص بك أو نموذج معين، يمكنك تعريف
|
|
469
|
-
سيتم استخدام هذا
|
|
470
|
-
|
|
469
|
+
إذا كنت تفضل استخدام مفتاح API الخاص بك أو نموذج معين، يمكنك تعريف تكوين الذكاء الاصطناعي المخصص الخاص بك.
|
|
470
|
+
سيتم استخدام تكوين الذكاء الاصطناعي هذا على مستوى بيئة Intlayer الخاصة بك بشكل عام. ستستخدم أوامر CLI هذه الإعدادات كقيم افتراضية للأوامر (مثل `fill`)، وكذلك SDK، والمحرر المرئي، ونظام إدارة المحتوى (CMS). يمكنك تجاوز هذه القيم الافتراضية لحالات استخدام محددة باستخدام معلمات الأوامر.
|
|
471
|
+
|
|
472
|
+
يدعم Intlayer عدة مزودي ذكاء اصطناعي لزيادة المرونة والاختيار. المزودون المدعومون حاليًا هم:
|
|
471
473
|
|
|
472
474
|
- **OpenAI** (الافتراضي)
|
|
473
475
|
- **Anthropic Claude**
|
|
@@ -479,93 +481,94 @@ module.exports = config;
|
|
|
479
481
|
#### الخصائص
|
|
480
482
|
|
|
481
483
|
- **provider**:
|
|
482
|
-
|
|
483
484
|
- _النوع_: `string`
|
|
484
|
-
- _
|
|
485
|
+
- _الافتراضي_: `'openai'`
|
|
485
486
|
- _الوصف_: المزود المستخدم لميزات الذكاء الاصطناعي في Intlayer.
|
|
486
487
|
- _الخيارات_: `'openai'`، `'anthropic'`، `'mistral'`، `'deepseek'`، `'gemini'`
|
|
487
488
|
- _مثال_: `'anthropic'`
|
|
488
|
-
- _ملاحظة_: قد تتطلب
|
|
489
|
+
- _ملاحظة_: قد تتطلب مزودات مختلفة مفاتيح API مختلفة ولها نماذج تسعير مختلفة.
|
|
489
490
|
|
|
490
491
|
- **model**:
|
|
491
|
-
|
|
492
492
|
- _النوع_: `string`
|
|
493
|
-
- _
|
|
493
|
+
- _الافتراضي_: لا شيء
|
|
494
494
|
- _الوصف_: النموذج المستخدم لميزات الذكاء الاصطناعي في Intlayer.
|
|
495
495
|
- _مثال_: `'gpt-4o-2024-11-20'`
|
|
496
|
-
- _ملاحظة_: النموذج المحدد
|
|
496
|
+
- _ملاحظة_: يختلف النموذج المحدد المستخدم حسب المزود.
|
|
497
497
|
|
|
498
498
|
- **temperature**:
|
|
499
|
-
|
|
500
499
|
- _النوع_: `number`
|
|
501
|
-
- _
|
|
500
|
+
- _الافتراضي_: لا شيء
|
|
502
501
|
- _الوصف_: تتحكم درجة الحرارة في عشوائية استجابات الذكاء الاصطناعي.
|
|
503
502
|
- _مثال_: `0.1`
|
|
504
|
-
- _ملاحظة_: درجة حرارة أعلى
|
|
503
|
+
- _ملاحظة_: درجة حرارة أعلى تجعل الذكاء الاصطناعي أكثر إبداعًا وأقل قابلية للتنبؤ.
|
|
505
504
|
|
|
506
505
|
- **apiKey**:
|
|
507
|
-
|
|
508
506
|
- _النوع_: `string`
|
|
509
|
-
- _
|
|
507
|
+
- _الافتراضي_: لا شيء
|
|
510
508
|
- _الوصف_: مفتاح API الخاص بك للمزود المحدد.
|
|
511
509
|
- _مثال_: `process.env.OPENAI_API_KEY`
|
|
512
510
|
- _ملاحظة_: مهم: يجب الحفاظ على سرية مفاتيح API وعدم مشاركتها علنًا. يرجى التأكد من الاحتفاظ بها في مكان آمن، مثل متغيرات البيئة.
|
|
513
511
|
|
|
514
512
|
- **applicationContext**:
|
|
515
513
|
- _النوع_: `string`
|
|
516
|
-
- _
|
|
517
|
-
- _الوصف_: يوفر سياقًا إضافيًا حول تطبيقك لنموذج الذكاء الاصطناعي، مما يساعده على توليد ترجمات أكثر دقة وملاءمة للسياق. يمكن أن يشمل ذلك معلومات حول مجال تطبيقك، الجمهور المستهدف،
|
|
514
|
+
- _الافتراضي_: لا شيء
|
|
515
|
+
- _الوصف_: يوفر سياقًا إضافيًا حول تطبيقك لنموذج الذكاء الاصطناعي، مما يساعده على توليد ترجمات أكثر دقة وملاءمة للسياق. يمكن أن يشمل ذلك معلومات حول مجال تطبيقك، الجمهور المستهدف، النغمة، أو المصطلحات الخاصة.
|
|
518
516
|
|
|
519
|
-
###
|
|
517
|
+
### إعدادات البناء
|
|
520
518
|
|
|
521
|
-
الإعدادات التي تتحكم في كيفية تحسين وبناء التدويل في تطبيقك.
|
|
519
|
+
الإعدادات التي تتحكم في كيفية تحسين Intlayer وبناء التدويل في تطبيقك.
|
|
522
520
|
|
|
523
|
-
تنطبق خيارات البناء على
|
|
521
|
+
تنطبق خيارات البناء على الإضافات `@intlayer/babel` و `@intlayer/swc`.
|
|
524
522
|
|
|
525
|
-
> في وضع التطوير، يستخدم Intlayer
|
|
523
|
+
> في وضع التطوير، يستخدم Intlayer الاستيراد الثابت للقواميس لتبسيط تجربة التطوير.
|
|
526
524
|
|
|
527
|
-
> عند
|
|
525
|
+
> عند التهيئة للتحسين، سيقوم Intlayer باستبدال استدعاءات القواميس لتحسين تقسيم الحزم، بحيث يقوم الحزمة النهائية باستيراد القواميس التي يتم استخدامها فقط.
|
|
528
526
|
|
|
529
527
|
#### الخصائص
|
|
530
528
|
|
|
531
529
|
- **optimize**:
|
|
532
|
-
|
|
533
530
|
- _النوع_: `boolean`
|
|
534
|
-
- _
|
|
535
|
-
- _الوصف_: يتحكم
|
|
536
|
-
- _
|
|
537
|
-
- _ملاحظة_: عند
|
|
538
|
-
- _ملاحظة_: سيقوم Intlayer باستبدال جميع استدعاءات `useIntlayer`
|
|
539
|
-
- _ملاحظة_:
|
|
540
|
-
- _ملاحظة_: تأكد من
|
|
531
|
+
- _الافتراضي_: `process.env.NODE_ENV === 'production'`
|
|
532
|
+
- _الوصف_: يتحكم فيما إذا كان يجب تحسين عملية البناء.
|
|
533
|
+
- _المثال_: `true`
|
|
534
|
+
- _ملاحظة_: عند التفعيل، سيقوم Intlayer باستبدال جميع استدعاءات القواميس لتحسين تقسيم الحزم. بهذه الطريقة، ستقوم الحزمة النهائية باستيراد القواميس المستخدمة فقط. ستبقى جميع الاستيرادات استيرادًا ثابتًا لتجنب المعالجة غير المتزامنة عند تحميل القواميس.
|
|
535
|
+
- _ملاحظة_: سيقوم Intlayer باستبدال جميع استدعاءات `useIntlayer` بالنمط المحدد بواسطة خيار `importMode` و`getIntlayer` بـ `getDictionary`.
|
|
536
|
+
- _ملاحظة_: يعتمد هذا الخيار على الإضافات `@intlayer/babel` و `@intlayer/swc`.
|
|
537
|
+
- _ملاحظة_: تأكد من إعلان جميع المفاتيح بشكل ثابت في استدعاءات `useIntlayer`، على سبيل المثال `useIntlayer('navbar')`.
|
|
541
538
|
|
|
542
539
|
- **importMode**:
|
|
543
|
-
|
|
544
|
-
- _
|
|
545
|
-
- _القيمة الافتراضية_: `'static'`
|
|
540
|
+
- _النوع_: `'static' | 'dynamic' | 'live'`
|
|
541
|
+
- _الافتراضي_: `'static'`
|
|
546
542
|
- _الوصف_: يتحكم في كيفية استيراد القواميس.
|
|
547
543
|
- _مثال_: `'dynamic'`
|
|
548
|
-
- _ملاحظة_:
|
|
544
|
+
- _ملاحظة_: الأنماط المتاحة:
|
|
549
545
|
- "static": يتم استيراد القواميس بشكل ثابت. يستبدل `useIntlayer` بـ `useDictionary`.
|
|
550
|
-
- "dynamic": يتم استيراد القواميس
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
- _ملاحظة_:
|
|
558
|
-
- _ملاحظة_:
|
|
546
|
+
- "dynamic": يتم استيراد القواميس بشكل ديناميكي باستخدام Suspense. يستبدل `useIntlayer` بـ `useDictionaryDynamic`.
|
|
547
|
+
- "live": يتم جلب القواميس ديناميكيًا باستخدام واجهة برمجة التطبيقات للمزامنة الحية. يستبدل `useIntlayer` بـ `useDictionaryFetch`.
|
|
548
|
+
- _ملاحظة_: تعتمد الاستيرادات الديناميكية على Suspense وقد تؤثر قليلاً على أداء العرض.
|
|
549
|
+
- _ملاحظة_: إذا تم تعطيلها، سيتم تحميل جميع اللغات مرة واحدة، حتى لو لم تُستخدم.
|
|
550
|
+
- _ملاحظة_: تعتمد هذه الخيار على الإضافات `@intlayer/babel` و `@intlayer/swc`.
|
|
551
|
+
- _ملاحظة_: تأكد من إعلان جميع المفاتيح بشكل ثابت في استدعاءات `useIntlayer`، مثل `useIntlayer('navbar')`.
|
|
552
|
+
- _ملاحظة_: سيتم تجاهل هذا الخيار إذا تم تعطيل `optimize`.
|
|
553
|
+
- _ملاحظة_: إذا تم تعيينه إلى "live"، فسيتم تحويل القواميس التي تحتوي على محتوى عن بُعد والمحددة كعلامات "live" فقط إلى وضع البث المباشر. وسيتم استيراد القواميس الأخرى ديناميكيًا كـ "dynamic" لتحسين عدد استعلامات الجلب وأداء التحميل.
|
|
554
|
+
- _ملاحظة_: سيستخدم وضع البث المباشر واجهة برمجة التطبيقات للمزامنة الحية لجلب القواميس. إذا فشل استدعاء واجهة برمجة التطبيقات، فسيتم استيراد القواميس ديناميكيًا كـ "dynamic".
|
|
555
|
+
- _ملاحظة_: لن تؤثر هذه الخيار على الدوال `getIntlayer`، `getDictionary`، `useDictionary`، `useDictionaryAsync` و `useDictionaryDynamic`.
|
|
559
556
|
|
|
560
557
|
- **traversePattern**:
|
|
561
558
|
- _النوع_: `string[]`
|
|
562
|
-
- _
|
|
563
|
-
- _الوصف_:
|
|
564
|
-
- _مثال_: `['src
|
|
565
|
-
- _ملاحظة_: استخدم هذا
|
|
559
|
+
- _الافتراضي_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
|
|
560
|
+
- _الوصف_: أنماط تحدد الملفات التي يجب استعراضها أثناء التحسين.
|
|
561
|
+
- _مثال_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
562
|
+
- _ملاحظة_: استخدم هذا لتحديد التحسين لملفات الكود ذات الصلة وتحسين أداء البناء.
|
|
566
563
|
- _ملاحظة_: سيتم تجاهل هذا الخيار إذا تم تعطيل `optimize`.
|
|
567
564
|
- _ملاحظة_: استخدم نمط glob.
|
|
568
565
|
|
|
569
566
|
## تاريخ الوثيقة
|
|
570
567
|
|
|
571
|
-
|
|
568
|
+
| الإصدار | التاريخ | التغييرات |
|
|
569
|
+
| ------- | ---------- | -------------------------------------------------------------------------------- |
|
|
570
|
+
| 6.0.0 | 2025-09-16 | إضافة وضع الاستيراد `live` |
|
|
571
|
+
| 6.0.0 | 2025-09-04 | استبدال حقل `hotReload` بـ `liveSync` وإضافة حقلي `liveSyncPort` و `liveSyncURL` |
|
|
572
|
+
| 5.6.1 | 2025-07-25 | استبدال `activateDynamicImport` بخيار `importMode` |
|
|
573
|
+
| 5.6.0 | 2025-07-13 | تغيير الدليل الافتراضي للمحتوى من `['src']` إلى `['.']` |
|
|
574
|
+
| 5.5.11 | 2025-06-29 | إضافة أوامر `docs` |
|