@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/es/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: Configuración
|
|
5
|
-
description:
|
|
5
|
+
description: Aprende cómo configurar Intlayer para tu aplicación. Entiende las diversas configuraciones y opciones disponibles para personalizar Intlayer según tus necesidades.
|
|
6
6
|
keywords:
|
|
7
7
|
- Configuración
|
|
8
8
|
- Ajustes
|
|
@@ -17,7 +17,7 @@ slugs:
|
|
|
17
17
|
|
|
18
18
|
# Documentación de Configuración de Intlayer
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Visión General
|
|
21
21
|
|
|
22
22
|
Los archivos de configuración de Intlayer permiten la personalización de varios aspectos del plugin, como la internacionalización, middleware y manejo de contenido. Este documento proporciona una descripción detallada de cada propiedad en la configuración.
|
|
23
23
|
|
|
@@ -36,30 +36,31 @@ Intlayer acepta formatos de archivo de configuración JSON, JS, MJS y TS:
|
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## Archivo de configuración de ejemplo
|
|
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], // locales soportados
|
|
47
47
|
},
|
|
48
48
|
content: {
|
|
49
|
-
|
|
49
|
+
autoFill: "./{{fileName}}.content.json", // archivo de contenido para autocompletar
|
|
50
|
+
contentDir: ["src", "../ui-library"], // directorios de contenido
|
|
50
51
|
},
|
|
51
52
|
middleware: {
|
|
52
|
-
noPrefix: false,
|
|
53
|
+
noPrefix: false, // si se debe usar prefijo en middleware
|
|
53
54
|
},
|
|
54
55
|
editor: {
|
|
55
|
-
applicationURL: "https://example.com",
|
|
56
|
+
applicationURL: "https://example.com", // URL de la aplicación para el editor
|
|
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, // clave API para AI
|
|
60
|
+
applicationContext: "This is a test application", // contexto de la aplicación para AI
|
|
60
61
|
},
|
|
61
62
|
build: {
|
|
62
|
-
importMode: "dynamic",
|
|
63
|
+
importMode: "dynamic", // modo de importación para build
|
|
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], // locales soportados
|
|
76
77
|
},
|
|
77
78
|
content: {
|
|
78
|
-
contentDir: ["src", "../ui-library"],
|
|
79
|
+
contentDir: ["src", "../ui-library"], // directorios de contenido
|
|
79
80
|
},
|
|
80
81
|
middleware: {
|
|
81
|
-
noPrefix: false,
|
|
82
|
+
noPrefix: false, // si se debe usar prefijo en middleware
|
|
82
83
|
},
|
|
83
84
|
editor: {
|
|
84
|
-
applicationURL: "https://example.com",
|
|
85
|
+
applicationURL: "https://example.com", // URL de la aplicación para el editor
|
|
85
86
|
},
|
|
86
87
|
ai: {
|
|
87
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
88
|
-
applicationContext: "
|
|
88
|
+
apiKey: process.env.OPENAI_API_KEY, // clave API para AI
|
|
89
|
+
applicationContext: "Esta es una aplicación de prueba", // contexto de la aplicación para AI
|
|
89
90
|
},
|
|
90
91
|
build: {
|
|
91
|
-
importMode: "dynamic",
|
|
92
|
+
importMode: "dynamic", // modo de importación para la construcción
|
|
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"], // locales soportados
|
|
102
103
|
},
|
|
103
104
|
"content": {
|
|
104
|
-
"
|
|
105
|
+
"contentDir": ["src", "../ui-library"], // directorios de contenido
|
|
105
106
|
},
|
|
106
107
|
"middleware": {
|
|
107
|
-
"noPrefix": false,
|
|
108
|
+
"noPrefix": false, // si se debe usar prefijo en middleware
|
|
109
|
+
},
|
|
110
|
+
"editor": {
|
|
111
|
+
"applicationURL": "https://example.com", // URL de la aplicación para el editor
|
|
112
|
+
},
|
|
113
|
+
"ai": {
|
|
114
|
+
"apiKey": "XXXX",
|
|
115
|
+
"applicationContext": "Esta es una aplicación de prueba",
|
|
116
|
+
},
|
|
117
|
+
"build": {
|
|
118
|
+
"importMode": "dynamic",
|
|
108
119
|
},
|
|
109
120
|
}
|
|
110
121
|
```
|
|
@@ -119,40 +130,37 @@ Las siguientes secciones describen las diversas configuraciones disponibles para
|
|
|
119
130
|
|
|
120
131
|
### Configuración de Internacionalización
|
|
121
132
|
|
|
122
|
-
Define configuraciones relacionadas con la internacionalización, incluyendo los
|
|
133
|
+
Define configuraciones relacionadas con la internacionalización, incluyendo los locales disponibles y el local predeterminado para la aplicación.
|
|
123
134
|
|
|
124
135
|
#### Propiedades
|
|
125
136
|
|
|
126
137
|
- **locales**:
|
|
127
|
-
|
|
128
138
|
- _Tipo_: `string[]`
|
|
129
139
|
- _Por defecto_: `['en']`
|
|
130
|
-
- _Descripción_: La lista de
|
|
140
|
+
- _Descripción_: La lista de locales soportados en la aplicación.
|
|
131
141
|
- _Ejemplo_: `['en', 'fr', 'es']`
|
|
132
142
|
|
|
133
143
|
- **requiredLocales**:
|
|
134
144
|
- _Tipo_: `string[]`
|
|
135
145
|
- _Por defecto_: `[]`
|
|
136
|
-
- _Descripción_: La lista de
|
|
146
|
+
- _Descripción_: La lista de locales requeridos en la aplicación.
|
|
137
147
|
- _Ejemplo_: `[]`
|
|
138
|
-
- _Nota_: Si está vacío, todos los
|
|
139
|
-
- _Nota_: Asegúrese de que los
|
|
148
|
+
- _Nota_: Si está vacío, todos los locales son obligatorios en modo `strict`.
|
|
149
|
+
- _Nota_: Asegúrese de que los locales requeridos también estén definidos en el campo `locales`.
|
|
140
150
|
- **strictMode**:
|
|
141
|
-
|
|
142
151
|
- _Tipo_: `string`
|
|
143
152
|
- _Por defecto_: `inclusive`
|
|
144
|
-
- _Descripción_:
|
|
145
|
-
- _Nota_: Si se establece en "strict", la función de traducción `t` requerirá que cada
|
|
146
|
-
- _Nota_: Si se establece en "inclusive", la función de traducción `t` requerirá que cada
|
|
147
|
-
- _Nota_: Si se establece en "loose", la función de traducción `t` aceptará cualquier
|
|
153
|
+
- _Descripción_: Garantiza implementaciones sólidas de contenido internacionalizado usando typescript.
|
|
154
|
+
- _Nota_: Si se establece en "strict", la función de traducción `t` requerirá que cada uno de los locales declarados esté definido. Si falta un locale, o si un locale no está declarado en su configuración, lanzará un error.
|
|
155
|
+
- _Nota_: Si se establece en "inclusive", la función de traducción `t` requerirá que cada uno de los locales declarados esté definido. Si falta un locale, lanzará una advertencia. Pero aceptará si un locale no está declarado en su configuración, pero existe.
|
|
156
|
+
- _Nota_: Si se establece en "loose", la función de traducción `t` aceptará cualquier locale existente.
|
|
148
157
|
|
|
149
158
|
- **defaultLocale**:
|
|
150
|
-
|
|
151
159
|
- _Tipo_: `string`
|
|
152
160
|
- _Por defecto_: `'en'`
|
|
153
|
-
- _Descripción_: El
|
|
161
|
+
- _Descripción_: El locale predeterminado que se usa como respaldo si no se encuentra el locale solicitado.
|
|
154
162
|
- _Ejemplo_: `'en'`
|
|
155
|
-
- _Nota_: Esto se
|
|
163
|
+
- _Nota_: Esto se usa para determinar el locale cuando no se especifica ninguno en la URL, cookie o encabezado.
|
|
156
164
|
|
|
157
165
|
---
|
|
158
166
|
|
|
@@ -163,34 +171,30 @@ Define configuraciones relacionadas con el editor integrado, incluyendo el puert
|
|
|
163
171
|
#### Propiedades
|
|
164
172
|
|
|
165
173
|
- **applicationURL**:
|
|
166
|
-
|
|
167
174
|
- _Tipo_: `string`
|
|
168
175
|
- _Por defecto_: `http://localhost:3000`
|
|
169
|
-
- _Descripción_: La URL de la aplicación. Se
|
|
176
|
+
- _Descripción_: La URL de la aplicación. Se usa para restringir el origen del editor por razones de seguridad.
|
|
170
177
|
- _Ejemplo_:
|
|
171
178
|
- `'http://localhost:3000'`
|
|
172
179
|
- `'https://example.com'`
|
|
173
180
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
174
|
-
- _Nota_: La URL de la aplicación. Se
|
|
181
|
+
- _Nota_: La URL de la aplicación. Se usa para restringir el origen del editor por razones de seguridad. Si se establece en `'*'`, el editor es accesible desde cualquier origen.
|
|
175
182
|
|
|
176
183
|
- **port**:
|
|
177
|
-
|
|
178
184
|
- _Tipo_: `number`
|
|
179
185
|
- _Por defecto_: `8000`
|
|
180
186
|
- _Descripción_: El puerto utilizado por el servidor del editor visual.
|
|
181
187
|
|
|
182
188
|
- **editorURL**:
|
|
183
|
-
|
|
184
189
|
- _Tipo_: `string`
|
|
185
190
|
- _Por defecto_: `'http://localhost:8000'`
|
|
186
|
-
- _Descripción_: La URL del servidor del editor. Se
|
|
191
|
+
- _Descripción_: La URL del servidor del editor. Se usa para restringir el origen del editor por razones de seguridad.
|
|
187
192
|
- `'http://localhost:3000'`
|
|
188
193
|
- `'https://example.com'`
|
|
189
194
|
- `process.env.INTLAYER_EDITOR_URL`
|
|
190
|
-
- _Nota_: La URL del servidor del editor
|
|
195
|
+
- _Nota_: La URL del servidor del editor a la que se accede desde la aplicación. Se usa para restringir los orígenes que pueden interactuar con la aplicación por razones de seguridad. Si se establece en `'*'`, el editor es accesible desde cualquier origen. Debe configurarse si se cambia el puerto o si el editor está alojado en un dominio diferente.
|
|
191
196
|
|
|
192
197
|
- **cmsURL**:
|
|
193
|
-
|
|
194
198
|
- _Tipo_: `string`
|
|
195
199
|
- _Por defecto_: `'https://intlayer.org'`
|
|
196
200
|
- _Descripción_: La URL del CMS de Intlayer.
|
|
@@ -198,14 +202,12 @@ Define configuraciones relacionadas con el editor integrado, incluyendo el puert
|
|
|
198
202
|
- _Nota_: La URL del CMS de Intlayer.
|
|
199
203
|
|
|
200
204
|
- **backendURL**:
|
|
201
|
-
|
|
202
205
|
- _Tipo_: `string`
|
|
203
206
|
- _Por defecto_: `https://back.intlayer.org`
|
|
204
207
|
- _Descripción_: La URL del servidor backend.
|
|
205
208
|
- _Ejemplo_: `http://localhost:4000`
|
|
206
209
|
|
|
207
210
|
- **enabled**:
|
|
208
|
-
|
|
209
211
|
- _Tipo_: `boolean`
|
|
210
212
|
- _Por defecto_: `true`
|
|
211
213
|
- _Descripción_: Indica si la aplicación interactúa con el editor visual.
|
|
@@ -213,70 +215,77 @@ Define configuraciones relacionadas con el editor integrado, incluyendo el puert
|
|
|
213
215
|
- _Nota_: Si es verdadero, el editor podrá interactuar con la aplicación. Si es falso, el editor no podrá interactuar con la aplicación. En cualquier caso, el editor solo puede ser habilitado por el editor visual. Deshabilitar el editor para entornos específicos es una forma de reforzar la seguridad.
|
|
214
216
|
|
|
215
217
|
- **clientId**:
|
|
216
|
-
|
|
217
218
|
- _Tipo_: `string` | `undefined`
|
|
218
219
|
- _Por defecto_: `undefined`
|
|
219
|
-
- _Descripción_: clientId y clientSecret permiten que los paquetes de
|
|
220
|
+
- _Descripción_: clientId y clientSecret permiten que los paquetes de intlayer se autentiquen con el backend utilizando la autenticación oAuth2. Un token de acceso se usa para autenticar al usuario relacionado con el proyecto. Para obtener un token de acceso, visite https://intlayer.org/dashboard/project y cree una cuenta.
|
|
220
221
|
- _Ejemplo_: `true`
|
|
221
|
-
- _Nota_: Importante: El clientId y clientSecret deben mantenerse en secreto y no compartirse públicamente. Asegúrese de
|
|
222
|
+
- _Nota_: Importante: El clientId y clientSecret deben mantenerse en secreto y no compartirse públicamente. Asegúrese de guardarlos en un lugar seguro, como variables de entorno.
|
|
222
223
|
|
|
223
224
|
- **clientSecret**:
|
|
224
|
-
|
|
225
225
|
- _Tipo_: `string` | `undefined`
|
|
226
226
|
- _Por defecto_: `undefined`
|
|
227
|
-
- _Descripción_: clientId y clientSecret permiten que los paquetes de intlayer se autentiquen con el backend utilizando autenticación oAuth2. Se utiliza un token de acceso para autenticar al usuario relacionado con el proyecto. Para obtener un token de acceso, vaya a https://intlayer.org/dashboard/project y cree una cuenta.
|
|
227
|
+
- _Descripción_: clientId y clientSecret permiten que los paquetes de intlayer se autentiquen con el backend utilizando la autenticación oAuth2. Se utiliza un token de acceso para autenticar al usuario relacionado con el proyecto. Para obtener un token de acceso, vaya a https://intlayer.org/dashboard/project y cree una cuenta.
|
|
228
228
|
- _Ejemplo_: `true`
|
|
229
|
-
- _Nota_: Importante: El clientId y clientSecret deben mantenerse en secreto y no compartirse públicamente.
|
|
229
|
+
- _Nota_: Importante: El clientId y clientSecret deben mantenerse en secreto y no compartirse públicamente. Por favor, asegúrese de mantenerlos en un lugar seguro, como variables de entorno.
|
|
230
230
|
|
|
231
|
-
- **
|
|
231
|
+
- **dictionaryPriorityStrategy**:
|
|
232
|
+
- _Tipo_: `string`
|
|
233
|
+
- _Por defecto_: `'local_first'`
|
|
234
|
+
- _Descripción_: La estrategia para priorizar los diccionarios en caso de que estén presentes tanto diccionarios locales como remotos. Si se establece en `'distant_first'`, la aplicación priorizará los diccionarios remotos sobre los locales. Si se establece en `'local_first'`, la aplicación priorizará los diccionarios locales sobre los remotos.
|
|
235
|
+
- _Ejemplo_: `'distant_first'`
|
|
232
236
|
|
|
237
|
+
- **liveSync**:
|
|
233
238
|
- _Tipo_: `boolean`
|
|
234
239
|
- _Por defecto_: `false`
|
|
235
|
-
- _Descripción_: Indica si la aplicación debe recargar
|
|
240
|
+
- _Descripción_: Indica si el servidor de la aplicación debe recargar en caliente el contenido de la aplicación cuando se detecta un cambio en el CMS / Editor Visual / Backend.
|
|
236
241
|
- _Ejemplo_: `true`
|
|
237
|
-
- _Nota_: Por ejemplo, cuando se
|
|
238
|
-
- _Nota_:
|
|
242
|
+
- _Nota_: Por ejemplo, cuando se añade o actualiza un nuevo diccionario, la aplicación actualizará el contenido para mostrarlo en la página.
|
|
243
|
+
- _Nota_: La sincronización en vivo necesita externalizar el contenido de la aplicación a otro servidor. Esto significa que puede afectar ligeramente el rendimiento de la aplicación. Para limitar esto, recomendamos alojar la aplicación y el servidor de sincronización en vivo en la misma máquina. Además, la combinación de sincronización en vivo y `optimize` puede generar un número considerable de solicitudes al servidor de sincronización en vivo. Dependiendo de su infraestructura, recomendamos probar ambas opciones y su combinación.
|
|
239
244
|
|
|
240
|
-
- **
|
|
245
|
+
- **liveSyncPort**:
|
|
246
|
+
- _Tipo_: `number`
|
|
247
|
+
- _Por defecto_: `4000`
|
|
248
|
+
- _Descripción_: El puerto del servidor de sincronización en vivo.
|
|
249
|
+
- _Ejemplo_: `4000`
|
|
250
|
+
- _Nota_: El puerto del servidor de sincronización en vivo.
|
|
251
|
+
|
|
252
|
+
- **liveSyncURL**:
|
|
241
253
|
- _Tipo_: `string`
|
|
242
|
-
- _Por defecto_: `'
|
|
243
|
-
- _Descripción_: La
|
|
244
|
-
- _Ejemplo_: `'
|
|
254
|
+
- _Por defecto_: `'http://localhost:{liveSyncPort}'`
|
|
255
|
+
- _Descripción_: La URL del servidor de sincronización en vivo.
|
|
256
|
+
- _Ejemplo_: `'https://example.com'`
|
|
257
|
+
- _Nota_: Apunta a localhost por defecto, pero puede cambiarse a cualquier URL en el caso de un servidor de sincronización en vivo remoto.
|
|
245
258
|
|
|
246
|
-
### Configuración
|
|
259
|
+
### Configuración del Middleware
|
|
247
260
|
|
|
248
|
-
Configuraciones que controlan el comportamiento del middleware, incluyendo cómo la aplicación maneja cookies, encabezados y prefijos de URL para la gestión de
|
|
261
|
+
Configuraciones que controlan el comportamiento del middleware, incluyendo cómo la aplicación maneja cookies, encabezados y prefijos de URL para la gestión de locales.
|
|
249
262
|
|
|
250
263
|
#### Propiedades
|
|
251
264
|
|
|
252
265
|
- **headerName**:
|
|
253
|
-
|
|
254
266
|
- _Tipo_: `string`
|
|
255
267
|
- _Por defecto_: `'x-intlayer-locale'`
|
|
256
|
-
- _Descripción_: El nombre del encabezado HTTP
|
|
268
|
+
- _Descripción_: El nombre del encabezado HTTP usado para determinar el locale.
|
|
257
269
|
- _Ejemplo_: `'x-custom-locale'`
|
|
258
|
-
- _Nota_: Esto es útil para la determinación
|
|
270
|
+
- _Nota_: Esto es útil para la determinación del locale basada en API.
|
|
259
271
|
|
|
260
272
|
- **cookieName**:
|
|
261
|
-
|
|
262
273
|
- _Tipo_: `string`
|
|
263
274
|
- _Por defecto_: `'intlayer-locale'`
|
|
264
|
-
- _Descripción_: El nombre de la cookie
|
|
275
|
+
- _Descripción_: El nombre de la cookie usada para almacenar el locale.
|
|
265
276
|
- _Ejemplo_: `'custom-locale'`
|
|
266
|
-
- _Nota_: Se utiliza para mantener la
|
|
277
|
+
- _Nota_: Se utiliza para mantener la localización a través de las sesiones.
|
|
267
278
|
|
|
268
279
|
- **prefixDefault**:
|
|
269
|
-
|
|
270
280
|
- _Tipo_: `boolean`
|
|
271
281
|
- _Por defecto_: `false`
|
|
272
|
-
- _Descripción_: Indica si se debe incluir la
|
|
282
|
+
- _Descripción_: Indica si se debe incluir la localización por defecto en la URL.
|
|
273
283
|
- _Ejemplo_: `true`
|
|
274
284
|
- _Nota_:
|
|
275
|
-
- Si `true` y `defaultLocale = 'en'`:
|
|
276
|
-
- Si `false` y `defaultLocale = 'en'`:
|
|
285
|
+
- Si es `true` y `defaultLocale = 'en'`: ruta = `/en/dashboard` o `/fr/dashboard`
|
|
286
|
+
- Si es `false` y `defaultLocale = 'en'`: ruta = `/dashboard` o `/fr/dashboard`
|
|
277
287
|
|
|
278
288
|
- **basePath**:
|
|
279
|
-
|
|
280
289
|
- _Tipo_: `string`
|
|
281
290
|
- _Por defecto_: `''`
|
|
282
291
|
- _Descripción_: La ruta base para las URLs de la aplicación.
|
|
@@ -285,54 +294,51 @@ Configuraciones que controlan el comportamiento del middleware, incluyendo cómo
|
|
|
285
294
|
- Si la aplicación está alojada en `https://example.com/my-app`
|
|
286
295
|
- La ruta base es `'/my-app'`
|
|
287
296
|
- La URL será `https://example.com/my-app/en`
|
|
288
|
-
- Si la ruta base
|
|
297
|
+
- Si no se establece la ruta base, la URL será `https://example.com/en`
|
|
289
298
|
|
|
290
299
|
- **serverSetCookie**:
|
|
291
|
-
|
|
292
300
|
- _Tipo_: `string`
|
|
293
301
|
- _Por defecto_: `'always'`
|
|
294
|
-
- _Descripción_: Regla para establecer la cookie de
|
|
302
|
+
- _Descripción_: Regla para establecer la cookie de localización en el servidor.
|
|
295
303
|
- _Opciones_: `'always'`, `'never'`
|
|
296
304
|
- _Ejemplo_: `'never'`
|
|
297
|
-
- _Nota_: Controla si la cookie de
|
|
305
|
+
- _Nota_: Controla si la cookie de localización se establece en cada solicitud o nunca.
|
|
298
306
|
|
|
299
307
|
- **noPrefix**:
|
|
300
|
-
|
|
301
308
|
- _Tipo_: `boolean`
|
|
302
309
|
- _Por defecto_: `false`
|
|
303
|
-
- _Descripción_: Indica si se
|
|
310
|
+
- _Descripción_: Indica si se omite el prefijo de localización en las URLs.
|
|
304
311
|
- _Ejemplo_: `true`
|
|
305
312
|
- _Nota_:
|
|
306
|
-
- Si `true`:
|
|
307
|
-
- Si `false`:
|
|
313
|
+
- Si es `true`: No hay prefijo en la URL
|
|
314
|
+
- Si es `false`: Hay prefijo en la URL
|
|
308
315
|
- Ejemplo con `basePath = '/my-app'`:
|
|
309
316
|
- Si `noPrefix = false`: La URL será `https://example.com/my-app/en`
|
|
310
317
|
- Si `noPrefix = true`: La URL será `https://example.com`
|
|
311
318
|
|
|
312
319
|
- **detectLocaleOnPrefetchNoPrefix**:
|
|
313
|
-
|
|
314
320
|
- _Tipo_: `boolean`
|
|
315
321
|
- _Por defecto_: `false`
|
|
316
|
-
- _Descripción_: Controla si la detección de configuración regional ocurre durante las solicitudes de
|
|
322
|
+
- _Descripción_: Controla si la detección de la configuración regional ocurre durante las solicitudes de prefetch de Next.js.
|
|
317
323
|
- _Ejemplo_: `true`
|
|
318
|
-
- _Nota_: Esta configuración afecta cómo Next.js maneja
|
|
324
|
+
- _Nota_: Esta configuración afecta cómo Next.js maneja el prefetch de locales:
|
|
319
325
|
- **Escenario de ejemplo:**
|
|
320
326
|
- El idioma del navegador del usuario es `'fr'`
|
|
321
327
|
- La página actual es `/fr/about`
|
|
322
|
-
- El enlace
|
|
328
|
+
- El enlace hace prefetch de `/about`
|
|
323
329
|
- **Con `detectLocaleOnPrefetchNoPrefix: true`:**
|
|
324
|
-
-
|
|
325
|
-
- Redirige
|
|
330
|
+
- El prefetch detecta la configuración regional `'fr'` desde el navegador
|
|
331
|
+
- Redirige el prefetch a `/fr/about`
|
|
326
332
|
- **Con `detectLocaleOnPrefetchNoPrefix: false` (por defecto):**
|
|
327
|
-
-
|
|
328
|
-
- Redirige
|
|
333
|
+
- El prefetch usa la configuración regional por defecto
|
|
334
|
+
- Redirige el prefetch a `/en/about` (asumiendo que `'en'` es la predeterminada)
|
|
329
335
|
- **Cuándo usar `true`:**
|
|
330
|
-
-
|
|
331
|
-
-
|
|
336
|
+
- Su aplicación utiliza enlaces internos no localizados (por ejemplo, `<a href="/about">`)
|
|
337
|
+
- Desea un comportamiento consistente en la detección de la configuración regional entre solicitudes regulares y de prefetch
|
|
332
338
|
- **Cuándo usar `false` (por defecto):**
|
|
333
|
-
-
|
|
334
|
-
-
|
|
335
|
-
-
|
|
339
|
+
- Su aplicación utiliza enlaces con prefijo de configuración regional (por ejemplo, `<a href="/fr/about">`)
|
|
340
|
+
- Desea optimizar el rendimiento del prefetch
|
|
341
|
+
- Desea evitar posibles bucles de redireccionamiento
|
|
336
342
|
|
|
337
343
|
---
|
|
338
344
|
|
|
@@ -342,49 +348,54 @@ Configuraciones relacionadas con el manejo de contenido dentro de la aplicación
|
|
|
342
348
|
|
|
343
349
|
#### Propiedades
|
|
344
350
|
|
|
345
|
-
- **
|
|
351
|
+
- **autoFill**:
|
|
352
|
+
- _Tipo_: `boolean | string | { [key in Locales]?: string }`
|
|
353
|
+
- _Por defecto_: `undefined`
|
|
354
|
+
- _Descripción_: Indica cómo debe completarse automáticamente el contenido usando IA. Puede declararse globalmente en el archivo `intlayer.config.ts`.
|
|
355
|
+
- _Ejemplo_: true
|
|
356
|
+
- _Ejemplo_: `'./{{fileName}}.content.json'`
|
|
357
|
+
- _Ejemplo_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
|
|
358
|
+
- _Nota_: La configuración de auto completado. Puede ser:
|
|
359
|
+
- booleano: Habilitar auto completado para todas las locales
|
|
360
|
+
- cadena: Ruta a un solo archivo o plantilla con variables
|
|
361
|
+
- objeto: Rutas de archivo por locale
|
|
346
362
|
|
|
363
|
+
- **watch**:
|
|
347
364
|
- _Tipo_: `boolean`
|
|
348
365
|
- _Por defecto_: `process.env.NODE_ENV === 'development'`
|
|
349
|
-
- _Descripción_: Indica si Intlayer debe
|
|
366
|
+
- _Descripción_: Indica si Intlayer debe vigilar cambios en los archivos de declaración de contenido en la aplicación para reconstruir los diccionarios relacionados.
|
|
350
367
|
|
|
351
368
|
- **fileExtensions**:
|
|
352
|
-
|
|
353
369
|
- _Tipo_: `string[]`
|
|
354
370
|
- _Por defecto_: `['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']`
|
|
355
|
-
- _Descripción_: Extensiones de archivo
|
|
371
|
+
- _Descripción_: Extensiones de archivo que se buscan al construir los diccionarios.
|
|
356
372
|
- _Ejemplo_: `['.data.ts', '.data.js', '.data.json']`
|
|
357
373
|
- _Nota_: Personalizar las extensiones de archivo puede ayudar a evitar conflictos.
|
|
358
374
|
|
|
359
375
|
- **baseDir**:
|
|
360
|
-
|
|
361
376
|
- _Tipo_: `string`
|
|
362
377
|
- _Por defecto_: `process.cwd()`
|
|
363
378
|
- _Descripción_: El directorio base para el proyecto.
|
|
364
|
-
- _Ejemplo_: `'/
|
|
365
|
-
- _Nota_: Esto se
|
|
379
|
+
- _Ejemplo_: `'/ruta/al/proyecto'`
|
|
380
|
+
- _Nota_: Esto se usa para resolver todos los directorios relacionados con Intlayer.
|
|
366
381
|
|
|
367
382
|
- **dictionaryOutput**:
|
|
368
|
-
|
|
369
383
|
- _Tipo_: `string[]`
|
|
370
384
|
- _Por defecto_: `['intlayer']`
|
|
371
|
-
- _Descripción_: El tipo de salida
|
|
385
|
+
- _Descripción_: El tipo de salida del diccionario a usar, por ejemplo, `'intlayer'` o `'i18next'`.
|
|
372
386
|
|
|
373
387
|
- **contentDir**:
|
|
374
|
-
|
|
375
388
|
- _Tipo_: `string[]`
|
|
376
|
-
- _Por defecto_: `['
|
|
389
|
+
- _Por defecto_: `['.']`
|
|
377
390
|
- _Ejemplo_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
|
|
378
391
|
- _Descripción_: La ruta del directorio donde se almacena el contenido.
|
|
379
392
|
|
|
380
393
|
- **dictionariesDir**:
|
|
381
|
-
|
|
382
394
|
- _Tipo_: `string`
|
|
383
395
|
- _Por defecto_: `'.intlayer/dictionaries'`
|
|
384
396
|
- _Descripción_: La ruta del directorio para almacenar resultados intermedios o de salida.
|
|
385
397
|
|
|
386
398
|
- **moduleAugmentationDir**:
|
|
387
|
-
|
|
388
399
|
- _Tipo_: `string`
|
|
389
400
|
- _Por defecto_: `'.intlayer/types'`
|
|
390
401
|
- _Descripción_: Directorio para la ampliación de módulos, permitiendo mejores sugerencias en el IDE y verificación de tipos.
|
|
@@ -392,36 +403,31 @@ Configuraciones relacionadas con el manejo de contenido dentro de la aplicación
|
|
|
392
403
|
- _Nota_: Asegúrate de incluir esto en `tsconfig.json`.
|
|
393
404
|
|
|
394
405
|
- **unmergedDictionariesDir**:
|
|
395
|
-
|
|
396
406
|
- _Tipo_: `string`
|
|
397
407
|
- _Por defecto_: `'.intlayer/unmerged_dictionary'`
|
|
398
408
|
- _Descripción_: El directorio para almacenar diccionarios no fusionados.
|
|
399
409
|
- _Ejemplo_: `'translations'`
|
|
400
410
|
|
|
401
411
|
- **dictionariesDir**:
|
|
402
|
-
|
|
403
412
|
- _Tipo_: `string`
|
|
404
413
|
- _Por defecto_: `'.intlayer/dictionary'`
|
|
405
|
-
- _Descripción_: El directorio para almacenar diccionarios de localización.
|
|
414
|
+
- _Descripción_: El directorio para almacenar los diccionarios de localización.
|
|
406
415
|
- _Ejemplo_: `'translations'`
|
|
407
416
|
|
|
408
417
|
- **i18nextResourcesDir**:
|
|
409
|
-
|
|
410
418
|
- _Tipo_: `string`
|
|
411
419
|
- _Por defecto_: `'i18next_dictionary'`
|
|
412
|
-
- _Descripción_: El directorio para almacenar diccionarios
|
|
420
|
+
- _Descripción_: El directorio para almacenar los diccionarios i18n.
|
|
413
421
|
- _Ejemplo_: `'translations'`
|
|
414
|
-
- _Nota_:
|
|
422
|
+
- _Nota_: Asegúrese de que este directorio esté configurado para el tipo de salida i18next.
|
|
415
423
|
|
|
416
424
|
- **typesDir**:
|
|
417
|
-
|
|
418
425
|
- _Tipo_: `string`
|
|
419
426
|
- _Por defecto_: `'types'`
|
|
420
|
-
- _Descripción_: El directorio para almacenar tipos de diccionario.
|
|
427
|
+
- _Descripción_: El directorio para almacenar los tipos de diccionario.
|
|
421
428
|
- _Ejemplo_: `'intlayer-types'`
|
|
422
429
|
|
|
423
430
|
- **mainDir**:
|
|
424
|
-
|
|
425
431
|
- _Tipo_: `string`
|
|
426
432
|
- _Por defecto_: `'main'`
|
|
427
433
|
- _Descripción_: El directorio donde se almacenan los archivos principales de la aplicación.
|
|
@@ -431,7 +437,7 @@ Configuraciones relacionadas con el manejo de contenido dentro de la aplicación
|
|
|
431
437
|
- _Tipo_: `string[]`
|
|
432
438
|
- _Por defecto_: `['node_modules']`
|
|
433
439
|
- _Descripción_: Directorios excluidos de la búsqueda de contenido.
|
|
434
|
-
- _Nota_: Esta configuración aún no se utiliza, pero está
|
|
440
|
+
- _Nota_: Esta configuración aún no se utiliza, pero está planificada para una implementación futura.
|
|
435
441
|
|
|
436
442
|
### Configuración del Logger
|
|
437
443
|
|
|
@@ -440,29 +446,30 @@ Configuraciones que controlan el logger, incluyendo el prefijo a usar.
|
|
|
440
446
|
#### Propiedades
|
|
441
447
|
|
|
442
448
|
- **mode**:
|
|
443
|
-
|
|
444
449
|
- _Tipo_: `string`
|
|
445
450
|
- _Por defecto_: `default`
|
|
446
451
|
- _Descripción_: Indica el modo del logger.
|
|
447
452
|
- _Opciones_: `default`, `verbose`, `disabled`
|
|
448
453
|
- _Ejemplo_: `default`
|
|
449
|
-
- _Nota_: El modo del logger. El modo verbose registrará más información, pero puede usarse
|
|
454
|
+
- _Nota_: El modo del logger. El modo verbose registrará más información, pero puede usarse para propósitos de depuración. El modo disabled desactivará el logger.
|
|
450
455
|
|
|
451
456
|
- **prefix**:
|
|
452
|
-
|
|
453
457
|
- _Tipo_: `string`
|
|
454
458
|
- _Por defecto_: `'[intlayer] '`
|
|
455
459
|
- _Descripción_: El prefijo del logger.
|
|
456
460
|
- _Ejemplo_: `'[my custom prefix] '`
|
|
457
|
-
- _Nota_: El prefijo del
|
|
461
|
+
- _Nota_: El prefijo del registrador.
|
|
462
|
+
|
|
463
|
+
### Configuración de IA
|
|
464
|
+
|
|
465
|
+
Configuraciones que controlan las funciones de IA de Intlayer, incluyendo el proveedor, modelo y clave API.
|
|
458
466
|
|
|
459
|
-
|
|
467
|
+
Esta configuración es opcional si estás registrado en el [Panel de Control de Intlayer](https://intlayer.org/dashboard/project) usando una clave de acceso. Intlayer gestionará automáticamente la solución de IA más eficiente y rentable para tus necesidades. Usar las opciones predeterminadas asegura un mejor mantenimiento a largo plazo, ya que Intlayer se actualiza continuamente para usar los modelos más relevantes.
|
|
460
468
|
|
|
461
|
-
|
|
462
|
-
Esta configuración
|
|
469
|
+
Si prefieres usar tu propia clave API o un modelo específico, puedes definir tu configuración personalizada de IA.
|
|
470
|
+
Esta configuración de IA se utilizará globalmente en todo su entorno Intlayer. Los comandos CLI usarán estas configuraciones como valores predeterminados para los comandos (por ejemplo, `fill`), así como el SDK, el Editor Visual y el CMS. Puede anular estos valores predeterminados para casos de uso específicos utilizando parámetros de comando.
|
|
463
471
|
|
|
464
|
-
|
|
465
|
-
Intlayer admite múltiples proveedores de AI para mayor flexibilidad y elección. Los proveedores actualmente soportados son:
|
|
472
|
+
Intlayer admite múltiples proveedores de IA para una mayor flexibilidad y elección. Los proveedores actualmente soportados son:
|
|
466
473
|
|
|
467
474
|
- **OpenAI** (predeterminado)
|
|
468
475
|
- **Anthropic Claude**
|
|
@@ -474,24 +481,21 @@ Intlayer admite múltiples proveedores de AI para mayor flexibilidad y elección
|
|
|
474
481
|
#### Propiedades
|
|
475
482
|
|
|
476
483
|
- **provider**:
|
|
477
|
-
|
|
478
484
|
- _Tipo_: `string`
|
|
479
|
-
-
|
|
480
|
-
- _Descripción_: El proveedor a
|
|
485
|
+
- _Predeterminado_: `'openai'`
|
|
486
|
+
- _Descripción_: El proveedor a utilizar para las funciones de IA de Intlayer.
|
|
481
487
|
- _Opciones_: `'openai'`, `'anthropic'`, `'mistral'`, `'deepseek'`, `'gemini'`
|
|
482
488
|
- _Ejemplo_: `'anthropic'`
|
|
483
|
-
- _Nota_: Diferentes proveedores pueden requerir diferentes claves API y tener
|
|
489
|
+
- _Nota_: Diferentes proveedores pueden requerir diferentes claves API y tener distintos modelos de precios.
|
|
484
490
|
|
|
485
491
|
- **model**:
|
|
486
|
-
|
|
487
492
|
- _Tipo_: `string`
|
|
488
493
|
- _Por defecto_: Ninguno
|
|
489
|
-
- _Descripción_: El modelo a
|
|
494
|
+
- _Descripción_: El modelo a utilizar para las funciones de IA de Intlayer.
|
|
490
495
|
- _Ejemplo_: `'gpt-4o-2024-11-20'`
|
|
491
|
-
- _Nota_: El modelo específico a
|
|
496
|
+
- _Nota_: El modelo específico a utilizar varía según el proveedor.
|
|
492
497
|
|
|
493
498
|
- **temperature**:
|
|
494
|
-
|
|
495
499
|
- _Tipo_: `number`
|
|
496
500
|
- _Por defecto_: Ninguno
|
|
497
501
|
- _Descripción_: La temperatura controla la aleatoriedad de las respuestas de la IA.
|
|
@@ -499,72 +503,72 @@ Intlayer admite múltiples proveedores de AI para mayor flexibilidad y elección
|
|
|
499
503
|
- _Nota_: Una temperatura más alta hará que la IA sea más creativa y menos predecible.
|
|
500
504
|
|
|
501
505
|
- **apiKey**:
|
|
502
|
-
|
|
503
506
|
- _Tipo_: `string`
|
|
504
507
|
- _Por defecto_: Ninguno
|
|
505
|
-
- _Descripción_:
|
|
508
|
+
- _Descripción_: Su clave API para el proveedor seleccionado.
|
|
506
509
|
- _Ejemplo_: `process.env.OPENAI_API_KEY`
|
|
507
|
-
- _Nota_: Importante: Las claves API deben mantenerse en secreto y no compartirse públicamente.
|
|
510
|
+
- _Nota_: Importante: Las claves API deben mantenerse en secreto y no compartirse públicamente. Por favor, asegúrese de guardarlas en un lugar seguro, como variables de entorno.
|
|
508
511
|
|
|
509
512
|
- **applicationContext**:
|
|
510
513
|
- _Tipo_: `string`
|
|
511
514
|
- _Por defecto_: Ninguno
|
|
512
|
-
- _Descripción_: Proporciona contexto adicional sobre
|
|
515
|
+
- _Descripción_: Proporciona contexto adicional sobre su aplicación al modelo de IA, ayudándole a generar traducciones más precisas y contextualmente apropiadas. Esto puede incluir información sobre el dominio de su aplicación, público objetivo, tono o terminología específica.
|
|
513
516
|
|
|
514
|
-
### Configuración de
|
|
517
|
+
### Configuración de compilación
|
|
515
518
|
|
|
516
|
-
|
|
519
|
+
Configuraciones que controlan cómo Intlayer optimiza y construye la internacionalización de su aplicación.
|
|
517
520
|
|
|
518
521
|
Las opciones de compilación se aplican a los plugins `@intlayer/babel` y `@intlayer/swc`.
|
|
519
522
|
|
|
520
|
-
> En modo desarrollo, Intlayer utiliza importaciones estáticas para los diccionarios para simplificar la experiencia de desarrollo.
|
|
523
|
+
> En modo de desarrollo, Intlayer utiliza importaciones estáticas para los diccionarios para simplificar la experiencia de desarrollo.
|
|
521
524
|
|
|
522
|
-
>
|
|
525
|
+
> Cuando está optimizado, Intlayer reemplazará las llamadas a diccionarios para optimizar el particionado, de modo que el paquete final solo importe los diccionarios que realmente se usan.
|
|
523
526
|
|
|
524
527
|
#### Propiedades
|
|
525
528
|
|
|
526
529
|
- **optimize**:
|
|
527
|
-
|
|
528
530
|
- _Tipo_: `boolean`
|
|
529
|
-
-
|
|
531
|
+
- _Por defecto_: `process.env.NODE_ENV === 'production'`
|
|
530
532
|
- _Descripción_: Controla si la compilación debe ser optimizada.
|
|
531
533
|
- _Ejemplo_: `true`
|
|
532
|
-
- _Nota_: Cuando está habilitado, Intlayer reemplazará todas las llamadas
|
|
533
|
-
- _Nota_: Intlayer reemplazará todas las llamadas
|
|
534
|
-
- _Nota_: Esta opción
|
|
535
|
-
- _Nota_:
|
|
534
|
+
- _Nota_: Cuando está habilitado, Intlayer reemplazará todas las llamadas a diccionarios para optimizar el particionado. De esta forma, el paquete final solo importará los diccionarios que se usan. Todas las importaciones permanecerán como importaciones estáticas para evitar el procesamiento asíncrono al cargar los diccionarios.
|
|
535
|
+
- _Nota_: Intlayer reemplazará todas las llamadas a `useIntlayer` con el modo definido por la opción `importMode` y `getIntlayer` con `getDictionary`.
|
|
536
|
+
- _Nota_: Esta opción depende de los plugins `@intlayer/babel` y `@intlayer/swc`.
|
|
537
|
+
- _Nota_: Asegúrese de que todas las claves estén declaradas estáticamente en las llamadas a `useIntlayer`. Por ejemplo, `useIntlayer('navbar')`.
|
|
536
538
|
|
|
537
539
|
- **importMode**:
|
|
538
|
-
|
|
539
|
-
-
|
|
540
|
-
- _Valor por defecto_: `'static'`
|
|
540
|
+
- _Tipo_: `'static' | 'dynamic' | 'live'`
|
|
541
|
+
- _Por defecto_: `'static'`
|
|
541
542
|
- _Descripción_: Controla cómo se importan los diccionarios.
|
|
542
543
|
- _Ejemplo_: `'dynamic'`
|
|
543
544
|
- _Nota_: Modos disponibles:
|
|
544
|
-
- "static": Los diccionarios se importan
|
|
545
|
+
- "static": Los diccionarios se importan de forma estática. Reemplaza `useIntlayer` con `useDictionary`.
|
|
545
546
|
- "dynamic": Los diccionarios se importan dinámicamente usando Suspense. Reemplaza `useIntlayer` con `useDictionaryDynamic`.
|
|
546
|
-
- "
|
|
547
|
+
- "live": Los diccionarios se obtienen dinámicamente usando la API de sincronización en vivo. Reemplaza `useIntlayer` con `useDictionaryFetch`.
|
|
547
548
|
- _Nota_: Las importaciones dinámicas dependen de Suspense y pueden afectar ligeramente el rendimiento del renderizado.
|
|
548
|
-
- _Nota_: Si está deshabilitado, todos los
|
|
549
|
-
- _Nota_: Esta opción
|
|
550
|
-
- _Nota_:
|
|
549
|
+
- _Nota_: Si está deshabilitado, todos los locales se cargarán a la vez, incluso si no se usan.
|
|
550
|
+
- _Nota_: Esta opción depende de los plugins `@intlayer/babel` y `@intlayer/swc`.
|
|
551
|
+
- _Nota_: Asegúrese de que todas las claves estén declaradas estáticamente en las llamadas a `useIntlayer`. Por ejemplo, `useIntlayer('navbar')`.
|
|
551
552
|
- _Nota_: Esta opción será ignorada si `optimize` está deshabilitado.
|
|
552
|
-
- _Nota_:
|
|
553
|
-
- _Nota_:
|
|
553
|
+
- _Nota_: Si se establece en "live", solo los diccionarios que incluyen contenido remoto y están marcados con la bandera "live" serán transformados en modo en vivo. Los demás se importarán dinámicamente en modo "dynamic" para optimizar el número de consultas fetch y el rendimiento de carga.
|
|
554
|
+
- _Nota_: El modo en vivo utilizará la API de sincronización en vivo para obtener los diccionarios. Si la llamada a la API falla, los diccionarios se importarán dinámicamente en modo "dynamic".
|
|
555
|
+
- _Nota_: Esta opción no afectará a las funciones `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` y `useDictionaryDynamic`.
|
|
554
556
|
|
|
555
557
|
- **traversePattern**:
|
|
556
558
|
- _Tipo_: `string[]`
|
|
557
|
-
-
|
|
559
|
+
- _Por defecto_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**\/node_modules/**']`
|
|
558
560
|
- _Descripción_: Patrones que definen qué archivos deben ser recorridos durante la optimización.
|
|
559
|
-
- _Ejemplo_: `['src
|
|
560
|
-
- _Nota_:
|
|
561
|
+
- _Ejemplo_: `['src/**\/*.{ts,tsx}', '../ui-library/**\/*.{ts,tsx}', '!**/node_modules/**']`
|
|
562
|
+
- _Nota_: Utilice esto para limitar la optimización a archivos de código relevantes y mejorar el rendimiento de la compilación.
|
|
561
563
|
- _Nota_: Esta opción será ignorada si `optimize` está deshabilitado.
|
|
562
|
-
- _Nota_:
|
|
564
|
+
- _Nota_: Use patrón glob.
|
|
563
565
|
|
|
564
|
-
## Historial de
|
|
566
|
+
## Historial de Documentación
|
|
565
567
|
|
|
566
|
-
| Versión | Fecha | Cambios
|
|
567
|
-
| ------- | ---------- |
|
|
568
|
-
|
|
|
569
|
-
|
|
|
570
|
-
| 5.
|
|
568
|
+
| Versión | Fecha | Cambios |
|
|
569
|
+
| ------- | ---------- | -------------------------------------------------------------------------------------------------- |
|
|
570
|
+
| 6.0.0 | 2025-09-16 | Añadido modo de importación `live` |
|
|
571
|
+
| 6.0.0 | 2025-09-04 | Reemplazar el campo `hotReload` por `liveSync` y agregar los campos `liveSyncPort` y `liveSyncURL` |
|
|
572
|
+
| 5.6.1 | 2025-07-25 | Reemplazar `activateDynamicImport` por la opción `importMode` |
|
|
573
|
+
| 5.6.0 | 2025-07-13 | Cambiar el valor predeterminado de contentDir de `['src']` a `['.']` |
|
|
574
|
+
| 5.5.11 | 2025-06-29 | Agregar comandos `docs` |
|