@intlayer/docs 5.8.1 → 6.0.0-canary.1
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/ru/configuration.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-16
|
|
4
4
|
title: Конфигурация
|
|
5
|
-
description: Узнайте, как настроить Intlayer для вашего приложения. Поймите
|
|
5
|
+
description: Узнайте, как настроить Intlayer для вашего приложения. Поймите различные параметры и опции, доступные для настройки Intlayer под ваши нужды.
|
|
6
6
|
keywords:
|
|
7
7
|
- Конфигурация
|
|
8
8
|
- Настройки
|
|
@@ -19,7 +19,7 @@ slugs:
|
|
|
19
19
|
|
|
20
20
|
## Обзор
|
|
21
21
|
|
|
22
|
-
Файлы конфигурации Intlayer позволяют настраивать различные аспекты плагина, такие как интернационализация,
|
|
22
|
+
Файлы конфигурации Intlayer позволяют настраивать различные аспекты плагина, такие как интернационализация, промежуточное ПО и обработка контента. В этом документе приведено подробное описание каждого свойства в конфигурации.
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
@@ -43,23 +43,24 @@ 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", // автозаполнение контента из файла
|
|
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", // URL приложения для редактора
|
|
56
57
|
},
|
|
57
58
|
ai: {
|
|
58
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
59
|
-
applicationContext: "
|
|
59
|
+
apiKey: process.env.OPENAI_API_KEY, // ключ API для AI
|
|
60
|
+
applicationContext: "This is a test application", // контекст приложения для AI
|
|
60
61
|
},
|
|
61
62
|
build: {
|
|
62
|
-
importMode: "dynamic",
|
|
63
|
+
importMode: "dynamic", // режим импорта модулей
|
|
63
64
|
},
|
|
64
65
|
};
|
|
65
66
|
|
|
@@ -72,23 +73,23 @@ const { Locales } = require("intlayer");
|
|
|
72
73
|
/** @type {import('intlayer').IntlayerConfig} */
|
|
73
74
|
const config = {
|
|
74
75
|
internationalization: {
|
|
75
|
-
locales: [Locales.ENGLISH],
|
|
76
|
+
locales: [Locales.ENGLISH], // локали для интернационализации
|
|
76
77
|
},
|
|
77
78
|
content: {
|
|
78
|
-
contentDir: ["src", "../ui-library"],
|
|
79
|
+
contentDir: ["src", "../ui-library"], // директории с контентом
|
|
79
80
|
},
|
|
80
81
|
middleware: {
|
|
81
|
-
noPrefix: false,
|
|
82
|
+
noPrefix: false, // использовать префикс в маршрутах
|
|
82
83
|
},
|
|
83
84
|
editor: {
|
|
84
|
-
applicationURL: "https://example.com",
|
|
85
|
+
applicationURL: "https://example.com", // URL приложения для редактора
|
|
85
86
|
},
|
|
86
87
|
ai: {
|
|
87
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
88
|
-
applicationContext: "Это тестовое приложение", //
|
|
88
|
+
apiKey: process.env.OPENAI_API_KEY, // ключ API для AI
|
|
89
|
+
applicationContext: "Это тестовое приложение", // контекст приложения для AI
|
|
89
90
|
},
|
|
90
91
|
build: {
|
|
91
|
-
importMode: "dynamic",
|
|
92
|
+
importMode: "dynamic", // режим импорта модулей
|
|
92
93
|
},
|
|
93
94
|
};
|
|
94
95
|
|
|
@@ -98,13 +99,23 @@ module.exports = config;
|
|
|
98
99
|
```json5 fileName=".intlayerrc" codeFormat="json"
|
|
99
100
|
{
|
|
100
101
|
"internationalization": {
|
|
101
|
-
"locales": ["en"],
|
|
102
|
+
"locales": ["en"], // локали для интернационализации
|
|
102
103
|
},
|
|
103
104
|
"content": {
|
|
104
|
-
"
|
|
105
|
+
"contentDir": ["src", "../ui-library"], // директории с контентом
|
|
105
106
|
},
|
|
106
107
|
"middleware": {
|
|
107
|
-
"noPrefix": false,
|
|
108
|
+
"noPrefix": false, // использовать префикс в маршрутах
|
|
109
|
+
},
|
|
110
|
+
"editor": {
|
|
111
|
+
"applicationURL": "https://example.com", // URL приложения для редактора
|
|
112
|
+
},
|
|
113
|
+
"ai": {
|
|
114
|
+
"apiKey": "XXXX",
|
|
115
|
+
"applicationContext": "Это тестовое приложение",
|
|
116
|
+
},
|
|
117
|
+
"build": {
|
|
118
|
+
"importMode": "dynamic",
|
|
108
119
|
},
|
|
109
120
|
}
|
|
110
121
|
```
|
|
@@ -139,35 +150,35 @@ module.exports = config;
|
|
|
139
150
|
- **strictMode**:
|
|
140
151
|
- _Тип_: `string`
|
|
141
152
|
- _По умолчанию_: `inclusive`
|
|
142
|
-
- _Описание_: Обеспечивает строгую реализацию интернационализированного контента с использованием
|
|
143
|
-
- _Примечание_: Если установлено значение "strict", функция перевода `t`
|
|
144
|
-
- _Примечание_: Если установлено значение "inclusive", функция перевода `t`
|
|
153
|
+
- _Описание_: Обеспечивает строгую реализацию интернационализированного контента с использованием typescript.
|
|
154
|
+
- _Примечание_: Если установлено значение "strict", функция перевода `t` потребует определения каждой объявленной локали. Если одна локаль отсутствует или не объявлена в вашей конфигурации, будет выброшена ошибка.
|
|
155
|
+
- _Примечание_: Если установлено значение "inclusive", функция перевода `t` потребует определения каждой объявленной локали. Если одна локаль отсутствует, будет выдано предупреждение. Но будет принято, если локаль не объявлена в вашей конфигурации, но существует.
|
|
145
156
|
- _Примечание_: Если установлено значение "loose", функция перевода `t` примет любую существующую локаль.
|
|
146
157
|
|
|
147
158
|
- **defaultLocale**:
|
|
148
159
|
- _Тип_: `string`
|
|
149
160
|
- _По умолчанию_: `'en'`
|
|
150
|
-
- _Описание_: Локаль по умолчанию, используемая в качестве резервной, если
|
|
161
|
+
- _Описание_: Локаль по умолчанию, используемая в качестве резервной, если запрошенная локаль не найдена.
|
|
151
162
|
- _Пример_: `'en'`
|
|
152
|
-
- _Примечание_: Используется для определения локали,
|
|
163
|
+
- _Примечание_: Используется для определения локали, когда она не указана в URL, cookie или заголовке.
|
|
153
164
|
|
|
154
165
|
---
|
|
155
166
|
|
|
156
167
|
### Конфигурация редактора
|
|
157
168
|
|
|
158
|
-
Определяет настройки, связанные с интегрированным редактором, включая порт сервера и
|
|
169
|
+
Определяет настройки, связанные с интегрированным редактором, включая порт сервера и статус активности.
|
|
159
170
|
|
|
160
171
|
#### Свойства
|
|
161
172
|
|
|
162
173
|
- **applicationURL**:
|
|
163
174
|
- _Тип_: `string`
|
|
164
175
|
- _По умолчанию_: `http://localhost:3000`
|
|
165
|
-
- _Описание_: URL приложения. Используется для ограничения
|
|
176
|
+
- _Описание_: URL приложения. Используется для ограничения источника редактора по соображениям безопасности.
|
|
166
177
|
- _Пример_:
|
|
167
178
|
- `'http://localhost:3000'`
|
|
168
179
|
- `'https://example.com'`
|
|
169
180
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
170
|
-
- _Примечание_: URL приложения. Используется для ограничения
|
|
181
|
+
- _Примечание_: URL приложения. Используется для ограничения источника редактора по соображениям безопасности. Если установлено значение `'*'`, редактор доступен с любого источника.
|
|
171
182
|
|
|
172
183
|
- **port**:
|
|
173
184
|
- _Тип_: `number`
|
|
@@ -177,23 +188,23 @@ module.exports = config;
|
|
|
177
188
|
- **editorURL**:
|
|
178
189
|
- _Тип_: `string`
|
|
179
190
|
- _По умолчанию_: `'http://localhost:8000'`
|
|
180
|
-
- _Описание_: URL сервера редактора. Используется для ограничения
|
|
191
|
+
- _Описание_: URL сервера редактора. Используется для ограничения источника редактора по соображениям безопасности.
|
|
181
192
|
- `'http://localhost:3000'`
|
|
182
193
|
- `'https://example.com'`
|
|
183
194
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
184
|
-
- _Примечание_: URL сервера
|
|
195
|
+
- _Примечание_: URL сервера редактора, к которому нужно обращаться из приложения. Используется для ограничения источников, которые могут взаимодействовать с приложением, в целях безопасности. Если установлено значение `'*'`, редактор доступен с любого источника. Должно быть установлено, если порт изменён или если редактор размещён на другом домене.
|
|
185
196
|
|
|
186
197
|
- **cmsURL**:
|
|
187
198
|
- _Тип_: `string`
|
|
188
199
|
- _По умолчанию_: `'https://intlayer.org'`
|
|
189
|
-
- _Описание_: URL CMS
|
|
200
|
+
- _Описание_: URL Intlayer CMS.
|
|
190
201
|
- _Пример_: `'https://intlayer.org'`
|
|
191
|
-
- _Примечание_: URL CMS
|
|
202
|
+
- _Примечание_: URL Intlayer CMS.
|
|
192
203
|
|
|
193
204
|
- **backendURL**:
|
|
194
205
|
- _Тип_: `string`
|
|
195
206
|
- _По умолчанию_: `https://back.intlayer.org`
|
|
196
|
-
- _Описание_: URL сервера
|
|
207
|
+
- _Описание_: URL сервера бэкенда.
|
|
197
208
|
- _Пример_: `http://localhost:4000`
|
|
198
209
|
|
|
199
210
|
- **enabled**:
|
|
@@ -201,39 +212,53 @@ module.exports = config;
|
|
|
201
212
|
- _По умолчанию_: `true`
|
|
202
213
|
- _Описание_: Указывает, взаимодействует ли приложение с визуальным редактором.
|
|
203
214
|
- _Пример_: `process.env.NODE_ENV !== 'production'`
|
|
204
|
-
- _Примечание_: Если true, редактор сможет взаимодействовать с приложением. Если false, редактор не сможет взаимодействовать с приложением. В любом
|
|
215
|
+
- _Примечание_: Если значение true, редактор сможет взаимодействовать с приложением. Если false, редактор не сможет взаимодействовать с приложением. В любом случае, редактор может быть включен только визуальным редактором. Отключение редактора для определённых окружений является способом обеспечения безопасности.
|
|
205
216
|
|
|
206
217
|
- **clientId**:
|
|
207
218
|
- _Тип_: `string` | `undefined`
|
|
208
219
|
- _По умолчанию_: `undefined`
|
|
209
|
-
- _Описание_: clientId и clientSecret позволяют пакетам intlayer аутентифицироваться
|
|
220
|
+
- _Описание_: clientId и clientSecret позволяют пакетам intlayer аутентифицироваться на сервере с использованием аутентификации oAuth2. Токен доступа используется для аутентификации пользователя, связанного с проектом. Чтобы получить токен доступа, перейдите на https://intlayer.org/dashboard/project и создайте учетную запись.
|
|
210
221
|
- _Пример_: `true`
|
|
211
|
-
- _Примечание_: Важно: clientId и clientSecret должны храниться в секрете и не должны быть
|
|
222
|
+
- _Примечание_: Важно: clientId и clientSecret должны храниться в секрете и не должны быть доступны публично. Пожалуйста, убедитесь, что они хранятся в безопасном месте, например, в переменных окружения.
|
|
212
223
|
|
|
213
224
|
- **clientSecret**:
|
|
214
225
|
- _Тип_: `string` | `undefined`
|
|
215
226
|
- _По умолчанию_: `undefined`
|
|
216
|
-
- _Описание_: clientId и clientSecret позволяют пакетам
|
|
227
|
+
- _Описание_: clientId и clientSecret позволяют пакетам intlayer аутентифицироваться на сервере с помощью аутентификации oAuth2. Токен доступа используется для аутентификации пользователя, связанного с проектом. Чтобы получить токен доступа, перейдите на https://intlayer.org/dashboard/project и создайте учетную запись.
|
|
217
228
|
- _Пример_: `true`
|
|
218
|
-
- _Примечание_: Важно: clientId и clientSecret должны храниться в секрете и не должны быть
|
|
229
|
+
- _Примечание_: Важно: clientId и clientSecret должны храниться в секрете и не должны быть доступны публично. Пожалуйста, храните их в безопасном месте, например, в переменных окружения.
|
|
219
230
|
|
|
220
|
-
- **
|
|
231
|
+
- **dictionaryPriorityStrategy**:
|
|
232
|
+
- _Тип_: `string`
|
|
233
|
+
- _По умолчанию_: `'local_first'`
|
|
234
|
+
- _Описание_: Стратегия приоритизации словарей в случае наличия как локальных, так и удалённых словарей. Если установлено значение `'distant_first'`, приложение будет отдавать приоритет удалённым словарям перед локальными. Если установлено значение `'local_first'`, приложение будет отдавать приоритет локальным словарям перед удалёнными.
|
|
235
|
+
- _Пример_: `'distant_first'`
|
|
236
|
+
|
|
237
|
+
- **liveSync**:
|
|
221
238
|
- _Тип_: `boolean`
|
|
222
239
|
- _По умолчанию_: `false`
|
|
223
|
-
- _Описание_: Указывает,
|
|
240
|
+
- _Описание_: Указывает, должен ли сервер приложения автоматически обновлять содержимое приложения при обнаружении изменений в CMS / Визуальном редакторе / Бэкенде.
|
|
224
241
|
- _Пример_: `true`
|
|
225
|
-
- _Примечание_: Например, когда добавляется или обновляется новый словарь, приложение обновит
|
|
226
|
-
- _Примечание_:
|
|
242
|
+
- _Примечание_: Например, когда добавляется или обновляется новый словарь, приложение обновит содержимое для отображения на странице.
|
|
243
|
+
- _Примечание_: Live sync требует внешнего размещения контента приложения на другом сервере. Это может немного повлиять на производительность приложения. Чтобы ограничить это, мы рекомендуем размещать приложение и сервер live sync на одной машине. Также комбинация live sync и `optimize` может привести к значительному количеству запросов к серверу live sync. В зависимости от вашей инфраструктуры, мы рекомендуем протестировать оба варианта и их комбинацию.
|
|
227
244
|
|
|
228
|
-
- **
|
|
245
|
+
- **liveSyncPort**:
|
|
246
|
+
- _Тип_: `number`
|
|
247
|
+
- _По умолчанию_: `4000`
|
|
248
|
+
- _Описание_: Порт сервера live sync.
|
|
249
|
+
- _Пример_: `4000`
|
|
250
|
+
- _Примечание_: Порт сервера live sync.
|
|
251
|
+
|
|
252
|
+
- **liveSyncURL**:
|
|
229
253
|
- _Тип_: `string`
|
|
230
|
-
- _По умолчанию_: `'
|
|
231
|
-
- _Описание_:
|
|
232
|
-
- _Пример_: `'
|
|
254
|
+
- _По умолчанию_: `'http://localhost:{liveSyncPort}'`
|
|
255
|
+
- _Описание_: URL сервера live sync.
|
|
256
|
+
- _Пример_: `'https://example.com'`
|
|
257
|
+
- _Примечание_: По умолчанию указывает на localhost, но может быть изменён на любой URL в случае удалённого сервера live sync.
|
|
233
258
|
|
|
234
259
|
### Конфигурация Middleware
|
|
235
260
|
|
|
236
|
-
Настройки,
|
|
261
|
+
Настройки, управляющие поведением middleware, включая обработку cookies, заголовков и префиксов URL для управления локализацией.
|
|
237
262
|
|
|
238
263
|
#### Свойства
|
|
239
264
|
|
|
@@ -242,7 +267,7 @@ module.exports = config;
|
|
|
242
267
|
- _По умолчанию_: `'x-intlayer-locale'`
|
|
243
268
|
- _Описание_: Имя HTTP-заголовка, используемого для определения локали.
|
|
244
269
|
- _Пример_: `'x-custom-locale'`
|
|
245
|
-
- _Примечание_:
|
|
270
|
+
- _Примечание_: Полезно для определения локали через API.
|
|
246
271
|
|
|
247
272
|
- **cookieName**:
|
|
248
273
|
- _Тип_: `string`
|
|
@@ -257,8 +282,8 @@ module.exports = config;
|
|
|
257
282
|
- _Описание_: Включать ли локаль по умолчанию в URL.
|
|
258
283
|
- _Пример_: `true`
|
|
259
284
|
- _Примечание_:
|
|
260
|
-
- Если `true` и `defaultLocale = 'en'`:
|
|
261
|
-
- Если `false` и `defaultLocale = 'en'`:
|
|
285
|
+
- Если `true` и `defaultLocale = 'en'`: путь = `/en/dashboard` или `/fr/dashboard`
|
|
286
|
+
- Если `false` и `defaultLocale = 'en'`: путь = `/dashboard` или `/fr/dashboard`
|
|
262
287
|
|
|
263
288
|
- **basePath**:
|
|
264
289
|
- _Тип_: `string`
|
|
@@ -266,27 +291,27 @@ module.exports = config;
|
|
|
266
291
|
- _Описание_: Базовый путь для URL приложения.
|
|
267
292
|
- _Пример_: `'/my-app'`
|
|
268
293
|
- _Примечание_:
|
|
269
|
-
- Если приложение размещено
|
|
270
|
-
- Базовый путь `'/my-app'`
|
|
294
|
+
- Если приложение размещено по адресу `https://example.com/my-app`
|
|
295
|
+
- Базовый путь будет `'/my-app'`
|
|
271
296
|
- URL будет `https://example.com/my-app/en`
|
|
272
297
|
- Если базовый путь не установлен, URL будет `https://example.com/en`
|
|
273
298
|
|
|
274
299
|
- **serverSetCookie**:
|
|
275
300
|
- _Тип_: `string`
|
|
276
301
|
- _По умолчанию_: `'always'`
|
|
277
|
-
- _Описание_: Правило
|
|
302
|
+
- _Описание_: Правило установки cookie локали на сервере.
|
|
278
303
|
- _Опции_: `'always'`, `'never'`
|
|
279
304
|
- _Пример_: `'never'`
|
|
280
|
-
- _Примечание_:
|
|
305
|
+
- _Примечание_: Управляет тем, устанавливается ли cookie локали при каждом запросе или никогда.
|
|
281
306
|
|
|
282
307
|
- **noPrefix**:
|
|
283
308
|
- _Тип_: `boolean`
|
|
284
309
|
- _По умолчанию_: `false`
|
|
285
|
-
- _Описание_:
|
|
310
|
+
- _Описание_: Нужно ли опускать префикс локали в URL.
|
|
286
311
|
- _Пример_: `true`
|
|
287
312
|
- _Примечание_:
|
|
288
|
-
- Если `true`:
|
|
289
|
-
- Если `false`:
|
|
313
|
+
- Если `true`: префикс в URL отсутствует
|
|
314
|
+
- Если `false`: префикс в URL присутствует
|
|
290
315
|
- Пример с `basePath = '/my-app'`:
|
|
291
316
|
- Если `noPrefix = false`: URL будет `https://example.com/my-app/en`
|
|
292
317
|
- Если `noPrefix = true`: URL будет `https://example.com`
|
|
@@ -294,22 +319,22 @@ module.exports = config;
|
|
|
294
319
|
- **detectLocaleOnPrefetchNoPrefix**:
|
|
295
320
|
- _Тип_: `boolean`
|
|
296
321
|
- _По умолчанию_: `false`
|
|
297
|
-
- _Описание_:
|
|
322
|
+
- _Описание_: Управляет тем, происходит ли определение локали во время запросов предварительной загрузки (prefetch) в Next.js.
|
|
298
323
|
- _Пример_: `true`
|
|
299
|
-
- _Примечание_: Эта настройка влияет на то, как Next.js обрабатывает предварительную загрузку
|
|
324
|
+
- _Примечание_: Эта настройка влияет на то, как Next.js обрабатывает предварительную загрузку локалей:
|
|
300
325
|
- **Пример сценария:**
|
|
301
|
-
- Язык браузера пользователя `'fr'`
|
|
302
|
-
- Текущая страница `/fr/about`
|
|
326
|
+
- Язык браузера пользователя — `'fr'`
|
|
327
|
+
- Текущая страница — `/fr/about`
|
|
303
328
|
- Ссылка предварительно загружает `/about`
|
|
304
|
-
-
|
|
305
|
-
- Предварительная загрузка
|
|
329
|
+
- **При `detectLocaleOnPrefetchNoPrefix: true`:**
|
|
330
|
+
- Предварительная загрузка определяет локаль `'fr'` из браузера
|
|
306
331
|
- Перенаправляет предварительную загрузку на `/fr/about`
|
|
307
|
-
-
|
|
332
|
+
- **При `detectLocaleOnPrefetchNoPrefix: false` (по умолчанию):**
|
|
308
333
|
- Предварительная загрузка использует локаль по умолчанию
|
|
309
|
-
- Перенаправляет предварительную загрузку на `/en/about` (
|
|
334
|
+
- Перенаправляет предварительную загрузку на `/en/about` (предполагается, что `'en'` — локаль по умолчанию)
|
|
310
335
|
- **Когда использовать `true`:**
|
|
311
|
-
- Ваше приложение использует
|
|
312
|
-
- Вы хотите согласованное поведение
|
|
336
|
+
- Ваше приложение использует внутренние ссылки без локализации (например, `<a href="/about">`)
|
|
337
|
+
- Вы хотите обеспечить согласованное поведение определения локали между обычными и предварительными запросами
|
|
313
338
|
- **Когда использовать `false` (по умолчанию):**
|
|
314
339
|
- Ваше приложение использует ссылки с префиксом локали (например, `<a href="/fr/about">`)
|
|
315
340
|
- Вы хотите оптимизировать производительность предварительной загрузки
|
|
@@ -319,28 +344,40 @@ module.exports = config;
|
|
|
319
344
|
|
|
320
345
|
### Конфигурация контента
|
|
321
346
|
|
|
322
|
-
Настройки, связанные с обработкой контента в приложении, включая имена
|
|
347
|
+
Настройки, связанные с обработкой контента в приложении, включая имена каталогов, расширения файлов и производные конфигурации.
|
|
323
348
|
|
|
324
349
|
#### Свойства
|
|
325
350
|
|
|
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: Пути к файлам для каждой локали
|
|
362
|
+
|
|
326
363
|
- **watch**:
|
|
327
364
|
- _Тип_: `boolean`
|
|
328
365
|
- _По умолчанию_: `process.env.NODE_ENV === 'development'`
|
|
329
|
-
- _Описание_: Указывает, должен ли Intlayer отслеживать изменения в файлах декларации контента в приложении для
|
|
366
|
+
- _Описание_: Указывает, должен ли Intlayer отслеживать изменения в файлах декларации контента в приложении для перестройки соответствующих словарей.
|
|
330
367
|
|
|
331
368
|
- **fileExtensions**:
|
|
332
369
|
- _Тип_: `string[]`
|
|
333
370
|
- _По умолчанию_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
|
|
334
|
-
- _Описание_: Расширения файлов, которые
|
|
371
|
+
- _Описание_: Расширения файлов, которые следует искать при построении словарей.
|
|
335
372
|
- _Пример_: `['.data.ts', '.data.js', '.data.json']`
|
|
336
373
|
- _Примечание_: Настройка расширений файлов может помочь избежать конфликтов.
|
|
337
374
|
|
|
338
375
|
- **baseDir**:
|
|
339
376
|
- _Тип_: `string`
|
|
340
377
|
- _По умолчанию_: `process.cwd()`
|
|
341
|
-
- _Описание_:
|
|
378
|
+
- _Описание_: Базовый каталог проекта.
|
|
342
379
|
- _Пример_: `'/path/to/project'`
|
|
343
|
-
- _Примечание_: Используется для разрешения всех связанных с Intlayer
|
|
380
|
+
- _Примечание_: Используется для разрешения всех директорий, связанных с Intlayer.
|
|
344
381
|
|
|
345
382
|
- **dictionaryOutput**:
|
|
346
383
|
- _Тип_: `string[]`
|
|
@@ -349,14 +386,14 @@ module.exports = config;
|
|
|
349
386
|
|
|
350
387
|
- **contentDir**:
|
|
351
388
|
- _Тип_: `string[]`
|
|
352
|
-
- _По умолчанию_: `['
|
|
389
|
+
- _По умолчанию_: `['.']`
|
|
353
390
|
- _Пример_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
|
|
354
391
|
- _Описание_: Путь к директории, где хранится контент.
|
|
355
392
|
|
|
356
393
|
- **dictionariesDir**:
|
|
357
394
|
- _Тип_: `string`
|
|
358
395
|
- _По умолчанию_: `'.intlayer/dictionaries'`
|
|
359
|
-
- _Описание_: Путь к директории для хранения промежуточных или
|
|
396
|
+
- _Описание_: Путь к директории для хранения промежуточных или итоговых результатов.
|
|
360
397
|
|
|
361
398
|
- **moduleAugmentationDir**:
|
|
362
399
|
- _Тип_: `string`
|
|
@@ -368,43 +405,43 @@ module.exports = config;
|
|
|
368
405
|
- **unmergedDictionariesDir**:
|
|
369
406
|
- _Тип_: `string`
|
|
370
407
|
- _По умолчанию_: `'.intlayer/unmerged_dictionary'`
|
|
371
|
-
- _Описание_: Директория для хранения
|
|
408
|
+
- _Описание_: Директория для хранения неслитых словарей.
|
|
372
409
|
- _Пример_: `'translations'`
|
|
373
410
|
|
|
374
411
|
- **dictionariesDir**:
|
|
375
412
|
- _Тип_: `string`
|
|
376
413
|
- _По умолчанию_: `'.intlayer/dictionary'`
|
|
377
|
-
- _Описание_:
|
|
414
|
+
- _Описание_: Каталог для хранения словарей локализации.
|
|
378
415
|
- _Пример_: `'translations'`
|
|
379
416
|
|
|
380
417
|
- **i18nextResourcesDir**:
|
|
381
418
|
- _Тип_: `string`
|
|
382
419
|
- _По умолчанию_: `'i18next_dictionary'`
|
|
383
|
-
- _Описание_:
|
|
420
|
+
- _Описание_: Каталог для хранения словарей i18n.
|
|
384
421
|
- _Пример_: `'translations'`
|
|
385
|
-
- _Примечание_: Убедитесь, что
|
|
422
|
+
- _Примечание_: Убедитесь, что этот каталог настроен для типа вывода i18next.
|
|
386
423
|
|
|
387
424
|
- **typesDir**:
|
|
388
425
|
- _Тип_: `string`
|
|
389
426
|
- _По умолчанию_: `'types'`
|
|
390
|
-
- _Описание_:
|
|
427
|
+
- _Описание_: Каталог для хранения типов словарей.
|
|
391
428
|
- _Пример_: `'intlayer-types'`
|
|
392
429
|
|
|
393
430
|
- **mainDir**:
|
|
394
431
|
- _Тип_: `string`
|
|
395
432
|
- _По умолчанию_: `'main'`
|
|
396
|
-
- _Описание_:
|
|
433
|
+
- _Описание_: Каталог, где хранятся основные файлы приложения.
|
|
397
434
|
- _Пример_: `'intlayer-main'`
|
|
398
435
|
|
|
399
436
|
- **excludedPath**:
|
|
400
437
|
- _Тип_: `string[]`
|
|
401
438
|
- _По умолчанию_: `['node_modules']`
|
|
402
|
-
- _Описание_:
|
|
439
|
+
- _Описание_: Каталоги, исключённые из поиска контента.
|
|
403
440
|
- _Примечание_: Эта настройка пока не используется, но планируется к реализации в будущем.
|
|
404
441
|
|
|
405
442
|
### Конфигурация логгера
|
|
406
443
|
|
|
407
|
-
Настройки, управляющие логгером, включая
|
|
444
|
+
Настройки, управляющие логгером, включая префикс для использования.
|
|
408
445
|
|
|
409
446
|
#### Свойства
|
|
410
447
|
|
|
@@ -414,7 +451,7 @@ module.exports = config;
|
|
|
414
451
|
- _Описание_: Указывает режим работы логгера.
|
|
415
452
|
- _Опции_: `default`, `verbose`, `disabled`
|
|
416
453
|
- _Пример_: `default`
|
|
417
|
-
- _Примечание_: Режим логгера. Режим verbose
|
|
454
|
+
- _Примечание_: Режим работы логгера. Режим verbose выводит больше информации и может использоваться для отладки. Режим disabled отключает логгер.
|
|
418
455
|
|
|
419
456
|
- **prefix**:
|
|
420
457
|
- _Тип_: `string`
|
|
@@ -423,13 +460,16 @@ module.exports = config;
|
|
|
423
460
|
- _Пример_: `'[my custom prefix] '`
|
|
424
461
|
- _Примечание_: Префикс логгера.
|
|
425
462
|
|
|
426
|
-
### Конфигурация
|
|
463
|
+
### Конфигурация ИИ
|
|
464
|
+
|
|
465
|
+
Настройки, управляющие функциями ИИ в Intlayer, включая провайдера, модель и API-ключ.
|
|
427
466
|
|
|
428
|
-
|
|
429
|
-
Эта конфигурация является необязательной, если вы зарегистрированы на [Intlayer Dashboard](https://intlayer.org/dashboard/project) с использованием ключа доступа. Intlayer автоматически управляет наиболее эффективным и экономичным AI-решением для ваших нужд. Использование настроек по умолчанию обеспечивает лучшую долгосрочную поддержку, так как Intlayer постоянно обновляется для использования наиболее актуальных моделей.
|
|
467
|
+
Эта конфигурация является необязательной, если вы зарегистрированы на [Панели управления Intlayer](https://intlayer.org/dashboard/project) с использованием ключа доступа. Intlayer автоматически управляет наиболее эффективным и экономичным решением ИИ для ваших нужд. Использование настроек по умолчанию обеспечивает лучшую долгосрочную поддержку, поскольку Intlayer постоянно обновляется для использования наиболее актуальных моделей.
|
|
430
468
|
|
|
431
|
-
Если вы предпочитаете использовать
|
|
432
|
-
Intlayer
|
|
469
|
+
Если вы предпочитаете использовать собственный API-ключ или конкретную модель, вы можете определить свою собственную конфигурацию ИИ.
|
|
470
|
+
Эта конфигурация ИИ будет использоваться глобально во всей вашей среде Intlayer. Команды CLI будут использовать эти настройки по умолчанию для команд (например, `fill`), а также SDK, Визуальный редактор и CMS. Вы можете переопределить эти значения по умолчанию для конкретных случаев использования с помощью параметров команд.
|
|
471
|
+
|
|
472
|
+
Intlayer поддерживает несколько провайдеров ИИ для повышения гибкости и выбора. В настоящее время поддерживаются следующие провайдеры:
|
|
433
473
|
|
|
434
474
|
- **OpenAI** (по умолчанию)
|
|
435
475
|
- **Anthropic Claude**
|
|
@@ -443,85 +483,92 @@ Intlayer поддерживает нескольких провайдеров AI
|
|
|
443
483
|
- **provider**:
|
|
444
484
|
- _Тип_: `string`
|
|
445
485
|
- _По умолчанию_: `'openai'`
|
|
446
|
-
- _Описание_: Провайдер, используемый для функций
|
|
486
|
+
- _Описание_: Провайдер, используемый для функций ИИ в Intlayer.
|
|
447
487
|
- _Опции_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`
|
|
448
488
|
- _Пример_: `'anthropic'`
|
|
449
|
-
- _Примечание_: Разные провайдеры могут требовать разные API-ключи и иметь
|
|
489
|
+
- _Примечание_: Разные провайдеры могут требовать разные API-ключи и иметь различные модели ценообразования.
|
|
450
490
|
|
|
451
491
|
- **model**:
|
|
452
492
|
- _Тип_: `string`
|
|
453
493
|
- _По умолчанию_: Нет
|
|
454
|
-
- _Описание_: Модель, используемая для функций
|
|
494
|
+
- _Описание_: Модель, используемая для функций ИИ в Intlayer.
|
|
455
495
|
- _Пример_: `'gpt-4o-2024-11-20'`
|
|
456
496
|
- _Примечание_: Конкретная модель зависит от провайдера.
|
|
457
497
|
|
|
458
498
|
- **temperature**:
|
|
459
499
|
- _Тип_: `number`
|
|
460
500
|
- _По умолчанию_: Нет
|
|
461
|
-
- _Описание_:
|
|
501
|
+
- _Описание_: Параметр temperature контролирует случайность ответов ИИ.
|
|
462
502
|
- _Пример_: `0.1`
|
|
463
|
-
- _Примечание_: Более
|
|
503
|
+
- _Примечание_: Более высокое значение temperature делает ИИ более креативным и менее предсказуемым.
|
|
464
504
|
|
|
465
505
|
- **apiKey**:
|
|
466
506
|
- _Тип_: `string`
|
|
467
507
|
- _По умолчанию_: Нет
|
|
468
508
|
- _Описание_: Ваш API-ключ для выбранного провайдера.
|
|
469
509
|
- _Пример_: `process.env.OPENAI_API_KEY`
|
|
470
|
-
- _Примечание_: Важно: API
|
|
510
|
+
- _Примечание_: Важно: ключи API должны храниться в секрете и не должны быть доступны публично. Пожалуйста, убедитесь, что они хранятся в безопасном месте, например, в переменных окружения.
|
|
471
511
|
|
|
472
512
|
- **applicationContext**:
|
|
473
513
|
- _Тип_: `string`
|
|
474
514
|
- _По умолчанию_: Нет
|
|
475
|
-
- _Описание_: Предоставляет дополнительный контекст о вашем приложении для
|
|
515
|
+
- _Описание_: Предоставляет дополнительный контекст о вашем приложении для модели ИИ, помогая ей генерировать более точные и контекстно уместные переводы. Это может включать информацию о домене вашего приложения, целевой аудитории, тоне или специфической терминологии.
|
|
476
516
|
|
|
477
517
|
### Конфигурация сборки
|
|
478
518
|
|
|
479
519
|
Настройки, которые контролируют, как Intlayer оптимизирует и собирает интернационализацию вашего приложения.
|
|
480
520
|
|
|
481
|
-
|
|
521
|
+
Опции сборки применяются к плагинам `@intlayer/babel` и `@intlayer/swc`.
|
|
482
522
|
|
|
483
|
-
> В режиме разработки Intlayer использует статические импорты для
|
|
523
|
+
> В режиме разработки Intlayer использует статические импорты словарей для упрощения процесса разработки.
|
|
484
524
|
|
|
485
|
-
> При оптимизации Intlayer
|
|
525
|
+
> При оптимизации Intlayer заменяет вызовы словарей для оптимизации разбиения на чанки, так что итоговый бандл импортирует только те словари, которые действительно используются.
|
|
486
526
|
|
|
487
527
|
#### Свойства
|
|
488
528
|
|
|
489
529
|
- **optimize**:
|
|
490
530
|
- _Тип_: `boolean`
|
|
491
531
|
- _По умолчанию_: `process.env.NODE_ENV === 'production'`
|
|
492
|
-
- _Описание_:
|
|
532
|
+
- _Описание_: Управляет тем, должна ли сборка быть оптимизирована.
|
|
493
533
|
- _Пример_: `true`
|
|
494
|
-
- _Примечание_: При включении Intlayer заменит все вызовы словарей для оптимизации
|
|
495
|
-
- _Примечание_: Intlayer заменит все вызовы `useIntlayer` на режим,
|
|
534
|
+
- _Примечание_: При включении Intlayer заменит все вызовы словарей для оптимизации разбиения на чанки. Таким образом, итоговый бандл будет импортировать только используемые словари. Все импорты останутся статическими, чтобы избежать асинхронной обработки при загрузке словарей.
|
|
535
|
+
- _Примечание_: Intlayer заменит все вызовы `useIntlayer` на режим, определённый опцией `importMode`, а `getIntlayer` — на `getDictionary`.
|
|
496
536
|
- _Примечание_: Эта опция зависит от плагинов `@intlayer/babel` и `@intlayer/swc`.
|
|
497
|
-
- _Примечание_: Убедитесь, что все ключи объявлены статически в вызовах `useIntlayer
|
|
537
|
+
- _Примечание_: Убедитесь, что все ключи объявлены статически в вызовах `useIntlayer`, например `useIntlayer('navbar')`.
|
|
498
538
|
|
|
499
539
|
- **importMode**:
|
|
500
|
-
- _Тип_: `'static' | 'dynamic' | '
|
|
540
|
+
- _Тип_: `'static' | 'dynamic' | 'live'`
|
|
501
541
|
- _По умолчанию_: `'static'`
|
|
502
|
-
- _Описание_:
|
|
542
|
+
- _Описание_: Управляет способом импорта словарей.
|
|
503
543
|
- _Пример_: `'dynamic'`
|
|
504
544
|
- _Примечание_: Доступные режимы:
|
|
505
545
|
- "static": Словари импортируются статически. Заменяет `useIntlayer` на `useDictionary`.
|
|
506
546
|
- "dynamic": Словари импортируются динамически с использованием Suspense. Заменяет `useIntlayer` на `useDictionaryDynamic`.
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
- _Примечание_:
|
|
547
|
+
- "live": Словари загружаются динамически с использованием API живой синхронизации. Заменяет `useIntlayer` на `useDictionaryFetch`.
|
|
548
|
+
- _Примечание_: Динамические импорты зависят от Suspense и могут незначительно повлиять на производительность рендеринга.
|
|
549
|
+
- _Примечание_: Если отключено, все локали будут загружены одновременно, даже если они не используются.
|
|
550
|
+
- _Примечание_: Эта опция зависит от плагинов `@intlayer/babel` и `@intlayer/swc`.
|
|
551
|
+
- _Примечание_: Убедитесь, что все ключи объявлены статически в вызовах `useIntlayer`, например `useIntlayer('navbar')`.
|
|
552
|
+
- _Примечание_: Эта опция будет игнорироваться, если `optimize` отключен.
|
|
553
|
+
- _Примечание_: Если установлено значение "live", только словари, содержащие удалённый контент и помеченные флагом "live", будут преобразованы в режим live. Остальные будут импортироваться динамически в режиме "dynamic" для оптимизации количества запросов и производительности загрузки.
|
|
554
|
+
- _Примечание_: Режим live использует API живой синхронизации для получения словарей. Если вызов API не удаётся, словари будут импортированы динамически в режиме "dynamic".
|
|
514
555
|
- _Примечание_: Эта опция не повлияет на функции `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` и `useDictionaryDynamic`.
|
|
515
556
|
|
|
516
557
|
- **traversePattern**:
|
|
517
558
|
- _Тип_: `string[]`
|
|
518
|
-
- _По умолчанию_: `['
|
|
559
|
+
- _По умолчанию_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
|
|
519
560
|
- _Описание_: Шаблоны, определяющие, какие файлы должны быть обработаны во время оптимизации.
|
|
520
|
-
- _Пример_: `['src
|
|
521
|
-
- _Примечание_: Используйте
|
|
522
|
-
- _Примечание_:
|
|
523
|
-
- _Примечание_: Используйте
|
|
561
|
+
- _Пример_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
562
|
+
- _Примечание_: Используйте это, чтобы ограничить оптимизацию только релевантными файлами кода и улучшить производительность сборки.
|
|
563
|
+
- _Примечание_: Этот параметр будет игнорироваться, если `optimize` отключен.
|
|
564
|
+
- _Примечание_: Используйте шаблон glob.
|
|
524
565
|
|
|
525
566
|
## История документации
|
|
526
567
|
|
|
527
|
-
|
|
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 | Изменить значение по умолчанию для contentDir с `['src']` на `['.']` |
|
|
574
|
+
| 5.5.11 | 2025-06-29 | Добавить команды `docs` |
|