@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
|
@@ -1,527 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2024-08-11
|
|
3
|
-
updatedAt: 2025-06-29
|
|
4
|
-
title: Diccionario | Primeros pasos
|
|
5
|
-
description: Descubre cómo declarar y usar diccionarios en tu sitio web multilingüe. Sigue los pasos en esta documentación en línea para configurar tu proyecto en pocos minutos.
|
|
6
|
-
keywords:
|
|
7
|
-
- Primeros pasos
|
|
8
|
-
- Internacionalización
|
|
9
|
-
- Documentación
|
|
10
|
-
- Intlayer
|
|
11
|
-
- Next.js
|
|
12
|
-
- JavaScript
|
|
13
|
-
- React
|
|
14
|
-
slugs:
|
|
15
|
-
- doc
|
|
16
|
-
- concept
|
|
17
|
-
- content
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# Primeros pasos en la declaración de tu contenido
|
|
21
|
-
|
|
22
|
-
<iframe title="i18n, Markdown, JSON… una única solución para gestionarlo todo | Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/1VHgSY_j9_I?autoplay=0&origin=http://intlayer.org&controls=0&rel=1"/>
|
|
23
|
-
|
|
24
|
-
## Extensiones de archivos
|
|
25
|
-
|
|
26
|
-
Por defecto, Intlayer vigila todos los archivos con las siguientes extensiones para declaraciones de contenido:
|
|
27
|
-
|
|
28
|
-
- `.content.json`
|
|
29
|
-
- `.content.ts`
|
|
30
|
-
- `.content.tsx`
|
|
31
|
-
- `.content.js`
|
|
32
|
-
- `.content.jsx`
|
|
33
|
-
- `.content.mjs`
|
|
34
|
-
- `.content.mjx`
|
|
35
|
-
- `.content.cjs`
|
|
36
|
-
- `.content.cjx`
|
|
37
|
-
|
|
38
|
-
La aplicación buscará archivos que coincidan con el patrón glob `./src/**/*.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}` por defecto.
|
|
39
|
-
|
|
40
|
-
Estas extensiones predeterminadas son adecuadas para la mayoría de las aplicaciones. Sin embargo, si tienes requisitos específicos, consulta la [guía de personalización de extensiones de contenido](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/configuration.md#content-configuration) para obtener instrucciones sobre cómo gestionarlas.
|
|
41
|
-
|
|
42
|
-
Para una lista completa de opciones de configuración, visita la documentación de configuración.
|
|
43
|
-
|
|
44
|
-
## Declara Tu Contenido
|
|
45
|
-
|
|
46
|
-
Crea y gestiona tus diccionarios:
|
|
47
|
-
|
|
48
|
-
```tsx fileName="src/example.content.tsx" contentDeclarationFormat="typescript"
|
|
49
|
-
import { type ReactNode } from "react";
|
|
50
|
-
import {
|
|
51
|
-
t,
|
|
52
|
-
enu,
|
|
53
|
-
cond,
|
|
54
|
-
nest,
|
|
55
|
-
md,
|
|
56
|
-
insert,
|
|
57
|
-
file,
|
|
58
|
-
type Dictionary,
|
|
59
|
-
} from "intlayer";
|
|
60
|
-
|
|
61
|
-
interface Content {
|
|
62
|
-
imbricatedContent: {
|
|
63
|
-
imbricatedContent2: {
|
|
64
|
-
stringContent: string;
|
|
65
|
-
numberContent: number;
|
|
66
|
-
booleanContent: boolean;
|
|
67
|
-
javaScriptContent: string;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
multilingualContent: string;
|
|
71
|
-
quantityContent: string;
|
|
72
|
-
conditionalContent: string;
|
|
73
|
-
markdownContent: never;
|
|
74
|
-
externalContent: string;
|
|
75
|
-
insertionContent: string;
|
|
76
|
-
nestedContent: string;
|
|
77
|
-
fileContent: string;
|
|
78
|
-
jsxContent: ReactNode;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export default {
|
|
82
|
-
key: "page",
|
|
83
|
-
content: {
|
|
84
|
-
imbricatedContent: {
|
|
85
|
-
imbricatedContent2: {
|
|
86
|
-
stringContent: "Hola Mundo", // Contenido de cadena
|
|
87
|
-
numberContent: 123, // Contenido numérico
|
|
88
|
-
booleanContent: true, // Contenido booleano
|
|
89
|
-
javaScriptContent: `${process.env.NODE_ENV}`, // Contenido JavaScript
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
multilingualContent: t({
|
|
93
|
-
en: "English content",
|
|
94
|
-
"en-GB": "English content (UK)",
|
|
95
|
-
fr: "French content",
|
|
96
|
-
es: "Contenido en español",
|
|
97
|
-
}),
|
|
98
|
-
quantityContent: enu({
|
|
99
|
-
"<-1": "Menos de menos un coche",
|
|
100
|
-
"-1": "Menos un coche",
|
|
101
|
-
"0": "Ningún coche",
|
|
102
|
-
"1": "Un coche",
|
|
103
|
-
">5": "Algunos coches",
|
|
104
|
-
">19": "Muchos coches",
|
|
105
|
-
}),
|
|
106
|
-
conditionalContent: cond({
|
|
107
|
-
true: "La validación está habilitada",
|
|
108
|
-
false: "La validación está deshabilitada",
|
|
109
|
-
}),
|
|
110
|
-
insertionContent: insert("¡Hola {{name}}!"),
|
|
111
|
-
nestedContent: nest(
|
|
112
|
-
"navbar", // La clave del diccionario para anidar
|
|
113
|
-
"login.button" // [Opcional] La ruta al contenido para anidar
|
|
114
|
-
),
|
|
115
|
-
fileContent: file("./path/to/file.txt"),
|
|
116
|
-
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
117
|
-
markdownContent: md("# Ejemplo de Markdown"),
|
|
118
|
-
|
|
119
|
-
/*
|
|
120
|
-
* Solo disponible usando `react-intlayer` o `next-intlayer`
|
|
121
|
-
*/
|
|
122
|
-
jsxContent: <h1>Mi título</h1>,
|
|
123
|
-
},
|
|
124
|
-
} satisfies Dictionary<Content>; // [opcional] Dictionary es genérico y te permite reforzar el formato de tu diccionario
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
```javascript fileName="src/example.content.mjx" contentDeclarationFormat="esm"
|
|
128
|
-
import { t, enu, cond, nest, md, insert, file } from "intlayer";
|
|
129
|
-
|
|
130
|
-
/** @type {import('intlayer').Dictionary} */
|
|
131
|
-
export default {
|
|
132
|
-
key: "page",
|
|
133
|
-
content: {
|
|
134
|
-
imbricatedContent: {
|
|
135
|
-
imbricatedContent2: {
|
|
136
|
-
stringContent: "Hola Mundo",
|
|
137
|
-
numberContent: 123,
|
|
138
|
-
booleanContent: true,
|
|
139
|
-
javaScriptContent: `${process.env.NODE_ENV}`,
|
|
140
|
-
},
|
|
141
|
-
imbricatedArray: [1, 2, 3],
|
|
142
|
-
},
|
|
143
|
-
multilingualContent: t({
|
|
144
|
-
en: "English content",
|
|
145
|
-
"en-GB": "English content (UK)",
|
|
146
|
-
fr: "French content",
|
|
147
|
-
es: "Spanish content",
|
|
148
|
-
}),
|
|
149
|
-
quantityContent: enu({
|
|
150
|
-
"<-1": "Menos de menos un coche",
|
|
151
|
-
"-1": "Menos un coche",
|
|
152
|
-
"0": "Ningún coche",
|
|
153
|
-
"1": "Un coche",
|
|
154
|
-
">5": "Algunos coches",
|
|
155
|
-
">19": "Muchos coches",
|
|
156
|
-
}),
|
|
157
|
-
conditionalContent: cond({
|
|
158
|
-
true: "La validación está habilitada",
|
|
159
|
-
false: "La validación está deshabilitada",
|
|
160
|
-
}),
|
|
161
|
-
insertionContent: insert("¡Hola {{name}}!"),
|
|
162
|
-
nestedContent: nest(
|
|
163
|
-
"navbar", // La clave del diccionario para anidar
|
|
164
|
-
"login.button" // [Opcional] La ruta al contenido para anidar
|
|
165
|
-
),
|
|
166
|
-
markdownContent: md("# Ejemplo de Markdown"),
|
|
167
|
-
fileContent: file("./path/to/file.txt"),
|
|
168
|
-
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
169
|
-
|
|
170
|
-
// Solo disponible usando `react-intlayer` o `next-intlayer`
|
|
171
|
-
jsxContent: <h1>Mi título</h1>,
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
```javascript fileName="src/example.content.cjx" contentDeclarationFormat="commonjs"
|
|
177
|
-
const { t, enu, cond, nest, md, insert, file } = require("intlayer");
|
|
178
|
-
|
|
179
|
-
/** @type {import('intlayer').Dictionary} */
|
|
180
|
-
module.exports = {
|
|
181
|
-
key: "page",
|
|
182
|
-
content: {
|
|
183
|
-
imbricatedContent: {
|
|
184
|
-
imbricatedContent2: {
|
|
185
|
-
stringContent: "Hola Mundo",
|
|
186
|
-
numberContent: 123,
|
|
187
|
-
booleanContent: true,
|
|
188
|
-
javaScriptContent: `${process.env.NODE_ENV}`, // Contenido de JavaScript
|
|
189
|
-
},
|
|
190
|
-
imbricatedArray: [1, 2, 3], // Array imbricado
|
|
191
|
-
},
|
|
192
|
-
multilingualContent: t({
|
|
193
|
-
en: "Contenido en inglés",
|
|
194
|
-
"en-GB": "Contenido en inglés (Reino Unido)",
|
|
195
|
-
fr: "Contenido en francés",
|
|
196
|
-
es: "Contenido en español",
|
|
197
|
-
}),
|
|
198
|
-
quantityContent: enu({
|
|
199
|
-
"<-1": "Menos de menos un coche",
|
|
200
|
-
"-1": "Menos un coche",
|
|
201
|
-
"0": "Ningún coche",
|
|
202
|
-
"1": "Un coche",
|
|
203
|
-
">5": "Algunos coches",
|
|
204
|
-
">19": "Muchos coches",
|
|
205
|
-
}),
|
|
206
|
-
conditionalContent: cond({
|
|
207
|
-
true: "La validación está habilitada",
|
|
208
|
-
false: "La validación está deshabilitada",
|
|
209
|
-
}),
|
|
210
|
-
insertionContent: insert("¡Hola {{name}}!"),
|
|
211
|
-
nestedContent: nest(
|
|
212
|
-
"navbar", // La clave del diccionario para anidar
|
|
213
|
-
"login.button" // [Opcional] La ruta al contenido para anidar
|
|
214
|
-
),
|
|
215
|
-
markdownContent: md("# Ejemplo de Markdown"),
|
|
216
|
-
fileContent: file("./path/to/file.txt"),
|
|
217
|
-
externalContent: fetch("https://example.com").then((res) => res.json())
|
|
218
|
-
|
|
219
|
-
// Solo disponible usando `react-intlayer` o `next-intlayer`
|
|
220
|
-
jsxContent: <h1>Mi título</h1>,
|
|
221
|
-
},
|
|
222
|
-
};
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
```json5 fileName="src/example.content.json" contentDeclarationFormat="json"
|
|
226
|
-
{
|
|
227
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
228
|
-
"key": "page",
|
|
229
|
-
"content": {
|
|
230
|
-
"imbricatedContent": {
|
|
231
|
-
"imbricatedContent2": {
|
|
232
|
-
"stringContent": "Hola Mundo",
|
|
233
|
-
"numberContent": 123,
|
|
234
|
-
"booleanContent": true,
|
|
235
|
-
},
|
|
236
|
-
"imbricatedArray": [1, 2, 3],
|
|
237
|
-
},
|
|
238
|
-
"multilingualContent": {
|
|
239
|
-
"nodeType": "translation",
|
|
240
|
-
"translation": {
|
|
241
|
-
"en": "Contenido en inglés",
|
|
242
|
-
"en-GB": "Contenido en inglés (Reino Unido)",
|
|
243
|
-
"fr": "Contenido en francés",
|
|
244
|
-
"es": "Contenido en español",
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
"quantityContent": {
|
|
248
|
-
"nodeType": "enumeration",
|
|
249
|
-
"enumeration": {
|
|
250
|
-
"0": "Sin coches",
|
|
251
|
-
"1": "Un coche",
|
|
252
|
-
"<-1": "Menos de menos un coche",
|
|
253
|
-
"-1": "Menos un coche",
|
|
254
|
-
">5": "Algunos coches",
|
|
255
|
-
">19": "Muchos coches",
|
|
256
|
-
},
|
|
257
|
-
},
|
|
258
|
-
"conditionalContent": {
|
|
259
|
-
"nodeType": "condition",
|
|
260
|
-
"condition": {
|
|
261
|
-
"true": "La validación está habilitada",
|
|
262
|
-
"false": "La validación está deshabilitada",
|
|
263
|
-
},
|
|
264
|
-
},
|
|
265
|
-
"insertionContent": {
|
|
266
|
-
"nodeType": "insertion",
|
|
267
|
-
"insertion": "¡Hola {{name}}!",
|
|
268
|
-
},
|
|
269
|
-
"nestedContent": {
|
|
270
|
-
"nodeType": "nested",
|
|
271
|
-
"nested": { "dictionaryKey": "app" },
|
|
272
|
-
},
|
|
273
|
-
"markdownContent": {
|
|
274
|
-
"nodeType": "markdown",
|
|
275
|
-
"markdown": "# Ejemplo de Markdown",
|
|
276
|
-
},
|
|
277
|
-
"fileContent": {
|
|
278
|
-
"nodeType": "file",
|
|
279
|
-
"file": "./path/to/file.txt",
|
|
280
|
-
},
|
|
281
|
-
"jsxContent": {
|
|
282
|
-
"type": "h1",
|
|
283
|
-
"key": null,
|
|
284
|
-
"ref": null,
|
|
285
|
-
"props": {
|
|
286
|
-
"children": ["Mi título"],
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
},
|
|
290
|
-
}
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
## Imbricación de funciones
|
|
294
|
-
|
|
295
|
-
Puedes sin problema imbricar funciones dentro de otras.
|
|
296
|
-
|
|
297
|
-
Ejemplo:
|
|
298
|
-
|
|
299
|
-
```javascript fileName="src/example.content.tsx" contentDeclarationFormat="typescript"
|
|
300
|
-
import { t, enu, cond, nest, md, type Dictionary } from "intlayer";
|
|
301
|
-
|
|
302
|
-
const getName = async () => "John Doe";
|
|
303
|
-
|
|
304
|
-
export default {
|
|
305
|
-
key: "page",
|
|
306
|
-
content: {
|
|
307
|
-
// `getIntlayer('page','en').hiMessage` devuelve `['Hi', ' ', 'John Doe']`
|
|
308
|
-
hiMessage: [
|
|
309
|
-
t({
|
|
310
|
-
en: "Hi",
|
|
311
|
-
fr: "Salut",
|
|
312
|
-
es: "Hola",
|
|
313
|
-
}),
|
|
314
|
-
" ",
|
|
315
|
-
getName(),
|
|
316
|
-
],
|
|
317
|
-
// Contenido compuesto imbricando condición, enumeración y contenido multilingüe
|
|
318
|
-
// `getIntlayer('page','en').advancedContent(true)(10)` devuelve 'Multiple items found'
|
|
319
|
-
advancedContent: cond({
|
|
320
|
-
true: enu({
|
|
321
|
-
"0": t({
|
|
322
|
-
en: "No items found",
|
|
323
|
-
fr: "Aucun article trouvé",
|
|
324
|
-
es: "No se encontraron artículos",
|
|
325
|
-
}),
|
|
326
|
-
"1": t({
|
|
327
|
-
en: "One item found",
|
|
328
|
-
fr: "Un article trouvé",
|
|
329
|
-
es: "Se encontró un artículo",
|
|
330
|
-
}),
|
|
331
|
-
">1": t({
|
|
332
|
-
en: "Multiple items found",
|
|
333
|
-
fr: "Plusieurs articles trouvés",
|
|
334
|
-
es: "Se encontraron múltiples artículos",
|
|
335
|
-
}),
|
|
336
|
-
}),
|
|
337
|
-
false: t({
|
|
338
|
-
en: "No valid data available",
|
|
339
|
-
fr: "Aucune donnée valide disponible",
|
|
340
|
-
es: "No hay datos válidos disponibles",
|
|
341
|
-
}),
|
|
342
|
-
}),
|
|
343
|
-
},
|
|
344
|
-
} satisfies Dictionary;
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
```javascript fileName="src/example.content.mjx" contentDeclarationFormat="esm"
|
|
348
|
-
import { t, enu, cond, nest, md } from "intlayer";
|
|
349
|
-
|
|
350
|
-
const getName = async () => "John Doe";
|
|
351
|
-
|
|
352
|
-
/** @type {import('intlayer').Dictionary} */
|
|
353
|
-
export default {
|
|
354
|
-
key: "page",
|
|
355
|
-
content: {
|
|
356
|
-
// `getIntlayer('page','en').hiMessage` devuelve `['Hola', ' ', 'John Doe']`
|
|
357
|
-
hiMessage: [
|
|
358
|
-
t({
|
|
359
|
-
en: "Hi",
|
|
360
|
-
fr: "Salut",
|
|
361
|
-
es: "Hola",
|
|
362
|
-
}),
|
|
363
|
-
" ",
|
|
364
|
-
getName(),
|
|
365
|
-
],
|
|
366
|
-
// Contenido compuesto que imbrica condición, enumeración y contenido multilingüe
|
|
367
|
-
// `getIntlayer('page','en').advancedContent(true)(10)` devuelve 'Se encontraron múltiples artículos'
|
|
368
|
-
advancedContent: cond({
|
|
369
|
-
true: enu({
|
|
370
|
-
"0": t({
|
|
371
|
-
en: "No items found",
|
|
372
|
-
fr: "Aucun article trouvé",
|
|
373
|
-
es: "No se encontraron artículos",
|
|
374
|
-
}),
|
|
375
|
-
"1": t({
|
|
376
|
-
en: "One item found",
|
|
377
|
-
fr: "Un article trouvé",
|
|
378
|
-
es: "Se encontró un artículo",
|
|
379
|
-
/ }),
|
|
380
|
-
">1": t({
|
|
381
|
-
en: "Multiple items found",
|
|
382
|
-
fr: "Plusieurs articles trouvés",
|
|
383
|
-
es: "Se encontraron múltiples artículos",
|
|
384
|
-
}),
|
|
385
|
-
}),
|
|
386
|
-
false: t({
|
|
387
|
-
en: "No valid data available",
|
|
388
|
-
fr: "Aucune donnée valide disponible",
|
|
389
|
-
es: "No hay datos válidos disponibles",
|
|
390
|
-
}),
|
|
391
|
-
}),
|
|
392
|
-
},
|
|
393
|
-
};
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
```javascript fileName="src/example.content.cjx" contentDeclarationFormat="commonjs"
|
|
397
|
-
const { t, enu, cond, nest, md } = require("intlayer");
|
|
398
|
-
|
|
399
|
-
const getName = async () => "John Doe";
|
|
400
|
-
|
|
401
|
-
/** @type {import('intlayer').Dictionary} */
|
|
402
|
-
module.exports = {
|
|
403
|
-
key: "page",
|
|
404
|
-
content: {
|
|
405
|
-
// `getIntlayer('page','en').hiMessage` devuelve `['Hola', ' ', 'John Doe']`
|
|
406
|
-
hiMessage: [
|
|
407
|
-
t({
|
|
408
|
-
en: "Hi",
|
|
409
|
-
fr: "Salut",
|
|
410
|
-
es: "Hola",
|
|
411
|
-
}),
|
|
412
|
-
" ",
|
|
413
|
-
getName(),
|
|
414
|
-
],
|
|
415
|
-
// Contenido compuesto que imbrica condición, enumeración y contenido multilingüe
|
|
416
|
-
// `getIntlayer('page','en').advancedContent(true)(10) devuelve 'Se encontraron múltiples artículos'`
|
|
417
|
-
advancedContent: cond({
|
|
418
|
-
true: enu({
|
|
419
|
-
"0": t({
|
|
420
|
-
en: "No items found",
|
|
421
|
-
fr: "Aucun article trouvé",
|
|
422
|
-
es: "No se encontraron artículos",
|
|
423
|
-
}),
|
|
424
|
-
"1": t({
|
|
425
|
-
en: "One item found",
|
|
426
|
-
fr: "Un article trouvé",
|
|
427
|
-
es: "Se encontró un artículo",
|
|
428
|
-
}),
|
|
429
|
-
">1": t({
|
|
430
|
-
en: "Multiple items found",
|
|
431
|
-
fr: "Plusieurs articles trouvés",
|
|
432
|
-
es: "Se encontraron múltiples artículos",
|
|
433
|
-
}),
|
|
434
|
-
}),
|
|
435
|
-
false: t({
|
|
436
|
-
en: "No valid data available",
|
|
437
|
-
fr: "Aucune donnée valide disponible",
|
|
438
|
-
es: "No hay datos válidos disponibles",
|
|
439
|
-
}),
|
|
440
|
-
}),
|
|
441
|
-
},
|
|
442
|
-
};
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
```json5 fileName="src/example.content.json" contentDeclarationFormat="json"
|
|
446
|
-
{
|
|
447
|
-
"$schema": "https://intlayer.org/schema.json",
|
|
448
|
-
"key": "page",
|
|
449
|
-
"content": {
|
|
450
|
-
"hiMessage": {
|
|
451
|
-
"nodeType": "composite",
|
|
452
|
-
"composite": [
|
|
453
|
-
{
|
|
454
|
-
"nodeType": "translation",
|
|
455
|
-
"translation": {
|
|
456
|
-
"en": "Hi",
|
|
457
|
-
"fr": "Salut",
|
|
458
|
-
"es": "Hola",
|
|
459
|
-
},
|
|
460
|
-
},
|
|
461
|
-
" ",
|
|
462
|
-
"John Doe",
|
|
463
|
-
],
|
|
464
|
-
},
|
|
465
|
-
"advancedContent": {
|
|
466
|
-
"nodeType": "condition",
|
|
467
|
-
"condition": {
|
|
468
|
-
"true": {
|
|
469
|
-
"nodeType": "enumeration",
|
|
470
|
-
"enumeration": {
|
|
471
|
-
"0": {
|
|
472
|
-
"nodeType": "translation",
|
|
473
|
-
"translation": {
|
|
474
|
-
"en": "No items found",
|
|
475
|
-
"fr": "Aucun article trouvé",
|
|
476
|
-
"es": "No se encontraron artículos",
|
|
477
|
-
},
|
|
478
|
-
},
|
|
479
|
-
"1": {
|
|
480
|
-
"nodeType": "translation",
|
|
481
|
-
"translation": {
|
|
482
|
-
"en": "One item found",
|
|
483
|
-
"fr": "Un article trouvé",
|
|
484
|
-
"es": "Se encontró un artículo",
|
|
485
|
-
},
|
|
486
|
-
},
|
|
487
|
-
">1": {
|
|
488
|
-
"nodeType": "translation",
|
|
489
|
-
"translation": {
|
|
490
|
-
"en": "Multiple items found",
|
|
491
|
-
"fr": "Plusieurs articles trouvés",
|
|
492
|
-
"es": "Se encontraron múltiples artículos",
|
|
493
|
-
},
|
|
494
|
-
},
|
|
495
|
-
},
|
|
496
|
-
},
|
|
497
|
-
"false": {
|
|
498
|
-
"nodeType": "translation",
|
|
499
|
-
"translation": {
|
|
500
|
-
"en": "No valid data available",
|
|
501
|
-
"fr": "Aucune donnée valide disponible",
|
|
502
|
-
"es": "No hay datos válidos disponibles",
|
|
503
|
-
},
|
|
504
|
-
},
|
|
505
|
-
},
|
|
506
|
-
},
|
|
507
|
-
},
|
|
508
|
-
}
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
## Recursos Adicionales
|
|
512
|
-
|
|
513
|
-
Para más detalles en Intlayer, consulte los siguientes recursos:
|
|
514
|
-
|
|
515
|
-
- [Documentación de Declaración de Contenido por Localización](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/per_locale_file.md)
|
|
516
|
-
- [Documentación de Contenido de Traducción](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/translation.md)
|
|
517
|
-
- [Documentación de Contenido de Enumeración](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/enumeration.md)
|
|
518
|
-
- [Documentación de Contenido de Condición](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/condition.md)
|
|
519
|
-
- [Documentación de Contenido de Inserción](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/insertion.md)
|
|
520
|
-
- [Documentación de Contenido de Archivo](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/file.md)
|
|
521
|
-
- [Documentación de Contenido Anidado](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/nesting.md)
|
|
522
|
-
- [Documentación de Contenido Markdown](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/markdown.md)
|
|
523
|
-
- [Documentación de Contenido de Obtención de Funciones](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/dictionary/function_fetching.md)
|
|
524
|
-
|
|
525
|
-
## Historial del Documento
|
|
526
|
-
|
|
527
|
-
- 5.5.10 - 2025-06-29: Historial inicial
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
createdAt: 2025-02-07
|
|
3
|
-
updatedAt: 2025-06-29
|
|
4
|
-
title: Personnalisation des extensions de contenu
|
|
5
|
-
description: Apprenez à personnaliser les extensions de vos fichiers de déclaration de contenu. Suivez cette documentation pour implémenter efficacement des conditions dans votre projet.
|
|
6
|
-
keywords:
|
|
7
|
-
- Personnalisation des extensions de contenu
|
|
8
|
-
- Documentation
|
|
9
|
-
- Intlayer
|
|
10
|
-
slugs:
|
|
11
|
-
- doc
|
|
12
|
-
- concept
|
|
13
|
-
- content
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Personnalisation des extensions de contenu
|
|
17
|
-
|
|
18
|
-
## Extensions des fichiers de contenu
|
|
19
|
-
|
|
20
|
-
Intlayer vous permet de personnaliser les extensions de vos fichiers de déclaration de contenu. Cette personnalisation offre une flexibilité dans la gestion de projets à grande échelle et aide à éviter les conflits avec d'autres modules.
|
|
21
|
-
|
|
22
|
-
### Extensions par défaut
|
|
23
|
-
|
|
24
|
-
Par défaut, Intlayer surveille tous les fichiers avec les extensions suivantes pour les déclarations de contenu :
|
|
25
|
-
|
|
26
|
-
- `.content.json`
|
|
27
|
-
- `.content.ts`
|
|
28
|
-
- `.content.tsx`
|
|
29
|
-
- `.content.js`
|
|
30
|
-
- `.content.jsx`
|
|
31
|
-
- `.content.mjs`
|
|
32
|
-
- `.content.mjx`
|
|
33
|
-
- `.content.cjs`
|
|
34
|
-
- `.content.cjx`
|
|
35
|
-
|
|
36
|
-
Ces extensions par défaut conviennent à la plupart des applications. Cependant, lorsque vous avez des besoins spécifiques, vous pouvez définir des extensions personnalisées pour rationaliser le processus de build et réduire le risque de conflits avec d'autres composants.
|
|
37
|
-
|
|
38
|
-
### Personnalisation des extensions de contenu
|
|
39
|
-
|
|
40
|
-
Pour personnaliser les extensions de fichiers qu'Intlayer utilise pour identifier les fichiers de déclaration de contenu, vous pouvez les spécifier dans le fichier de configuration d'Intlayer. Cette approche est bénéfique pour les projets à grande échelle où limiter la portée du processus de surveillance améliore les performances de construction.
|
|
41
|
-
|
|
42
|
-
Voici un exemple de définition d'extensions de contenu personnalisées dans votre configuration :
|
|
43
|
-
|
|
44
|
-
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
45
|
-
import type { IntlayerConfig } from "intlayer";
|
|
46
|
-
|
|
47
|
-
const config: IntlayerConfig = {
|
|
48
|
-
content: {
|
|
49
|
-
fileExtensions: [".my_content.ts", ".my_content.tsx"], // Vos extensions personnalisées
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export default config;
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
57
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
58
|
-
const config = {
|
|
59
|
-
content: {
|
|
60
|
-
fileExtensions: [".my_content.cjs", ".my_content.cjx"], // Vos extensions personnalisées
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export default config;
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
68
|
-
/** @type {import('intlayer').IntlayerConfig} */
|
|
69
|
-
const config = {
|
|
70
|
-
content: {
|
|
71
|
-
fileExtensions: [".my_content.mjs", ".my_content.mjx"], // Vos extensions personnalisées
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
module.exports = config;
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Dans cet exemple, la configuration spécifie deux extensions personnalisées : `.my_content.ts` et `.my_content.tsx`. Intlayer ne surveillera que les fichiers avec ces extensions pour construire les dictionnaires.
|
|
79
|
-
|
|
80
|
-
### Avantages des extensions personnalisées
|
|
81
|
-
|
|
82
|
-
- **Performance de construction** : Réduire la portée des fichiers surveillés peut améliorer significativement les performances de construction dans les grands projets.
|
|
83
|
-
- **Évitement des conflits** : Les extensions personnalisées aident à prévenir les conflits avec d'autres fichiers JavaScript ou TypeScript dans votre projet.
|
|
84
|
-
- **Organisation** : Les extensions personnalisées vous permettent d'organiser vos fichiers de déclaration de contenu selon les besoins de votre projet.
|
|
85
|
-
|
|
86
|
-
### Directives pour les extensions personnalisées
|
|
87
|
-
|
|
88
|
-
Lors de la personnalisation des extensions de fichiers de contenu, gardez à l'esprit les directives suivantes :
|
|
89
|
-
|
|
90
|
-
- **Unicité** : Choisissez des extensions uniques dans votre projet pour éviter les conflits.
|
|
91
|
-
- **Nommage cohérent** : Utilisez des conventions de nommage cohérentes pour une meilleure lisibilité et maintenance du code.
|
|
92
|
-
- **Éviter les extensions courantes** : Évitez d'utiliser des extensions courantes comme `.ts` ou `.js` pour prévenir les conflits avec d'autres modules ou bibliothèques.
|
|
93
|
-
|
|
94
|
-
## Conclusion
|
|
95
|
-
|
|
96
|
-
La personnalisation des extensions de fichiers de contenu dans Intlayer est une fonctionnalité précieuse pour optimiser les performances et éviter les conflits dans les applications à grande échelle. En suivant les directives décrites dans cette documentation, vous pouvez gérer efficacement vos déclarations de contenu et assurer une intégration fluide avec les autres parties de votre projet.
|
|
97
|
-
|
|
98
|
-
## Historique de la documentation
|
|
99
|
-
|
|
100
|
-
- 5.5.10 - 2025-06-29 : Historique initial
|