@intlayer/docs 5.8.1 → 6.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/rag_powered_documentation_assistant.md +282 -0
- package/blog/de/rag_powered_documentation_assistant.md +282 -0
- package/blog/en/rag_powered_documentation_assistant.md +289 -0
- package/blog/en-GB/rag_powered_documentation_assistant.md +284 -0
- package/blog/es/rag_powered_documentation_assistant.md +308 -0
- package/blog/fr/rag_powered_documentation_assistant.md +308 -0
- package/blog/hi/rag_powered_documentation_assistant.md +284 -0
- package/blog/it/rag_powered_documentation_assistant.md +284 -0
- package/blog/ja/rag_powered_documentation_assistant.md +284 -0
- package/blog/ko/rag_powered_documentation_assistant.md +283 -0
- package/blog/pt/rag_powered_documentation_assistant.md +284 -0
- package/blog/ru/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/index.md +69 -0
- package/blog/tr/internationalization_and_SEO.md +273 -0
- package/blog/tr/intlayer_with_i18next.md +162 -0
- package/blog/tr/intlayer_with_next-i18next.md +367 -0
- package/blog/tr/intlayer_with_next-intl.md +392 -0
- package/blog/tr/intlayer_with_react-i18next.md +346 -0
- package/blog/tr/intlayer_with_react-intl.md +345 -0
- package/blog/tr/list_i18n_technologies/CMS/drupal.md +143 -0
- package/blog/tr/list_i18n_technologies/CMS/wix.md +167 -0
- package/blog/tr/list_i18n_technologies/CMS/wordpress.md +188 -0
- package/blog/tr/list_i18n_technologies/frameworks/angular.md +125 -0
- package/blog/tr/list_i18n_technologies/frameworks/flutter.md +150 -0
- package/blog/tr/list_i18n_technologies/frameworks/react-native.md +217 -0
- package/blog/tr/list_i18n_technologies/frameworks/react.md +155 -0
- package/blog/tr/list_i18n_technologies/frameworks/svelte.md +129 -0
- package/blog/tr/list_i18n_technologies/frameworks/vue.md +130 -0
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +170 -0
- package/blog/tr/rag_powered_documentation_assistant.md +284 -0
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +162 -0
- package/blog/tr/vue-i18n_vs_intlayer.md +276 -0
- package/blog/tr/what_is_internationalization.md +166 -0
- package/blog/zh/rag_powered_documentation_assistant.md +284 -0
- package/dist/cjs/generated/blog.entry.cjs +212 -0
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +660 -132
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +84 -0
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +6 -0
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +212 -0
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +660 -132
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +84 -0
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +6 -0
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts +1 -0
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +5 -2
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/autoFill.md +41 -40
- package/docs/ar/configuration.md +202 -199
- package/docs/ar/dictionary/content_file.md +1059 -0
- package/docs/ar/intlayer_CMS.md +4 -4
- package/docs/ar/intlayer_with_nestjs.md +271 -0
- package/docs/ar/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ar/intlayer_with_react_router_v7.md +533 -0
- package/docs/ar/intlayer_with_tanstack.md +465 -299
- package/docs/ar/intlayer_with_vite+preact.md +7 -7
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/ar/packages/vite-intlayer/index.md +3 -3
- package/docs/ar/readme.md +261 -0
- package/docs/ar/testing.md +199 -0
- package/docs/de/autoFill.md +42 -19
- package/docs/de/configuration.md +155 -147
- package/docs/de/dictionary/content_file.md +1059 -0
- package/docs/de/intlayer_CMS.md +4 -5
- package/docs/de/intlayer_with_nestjs.md +270 -0
- package/docs/de/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/de/intlayer_with_react_router_v7.md +537 -0
- package/docs/de/intlayer_with_tanstack.md +469 -302
- package/docs/de/intlayer_with_vite+preact.md +7 -7
- package/docs/de/intlayer_with_vite+react.md +7 -7
- package/docs/de/intlayer_with_vite+vue.md +9 -9
- package/docs/de/packages/vite-intlayer/index.md +3 -3
- package/docs/de/readme.md +261 -0
- package/docs/de/testing.md +200 -0
- package/docs/en/CI_CD.md +4 -6
- package/docs/en/autoFill.md +25 -5
- package/docs/en/configuration.md +45 -54
- package/docs/en/dictionary/content_file.md +1054 -0
- package/docs/en/intlayer_CMS.md +8 -7
- package/docs/en/intlayer_cli.md +112 -5
- package/docs/en/intlayer_with_nestjs.md +268 -0
- package/docs/en/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en/intlayer_with_react_router_v7.md +531 -0
- package/docs/en/intlayer_with_tanstack.md +463 -294
- package/docs/en/intlayer_with_vite+preact.md +8 -8
- package/docs/en/intlayer_with_vite+react.md +8 -8
- package/docs/en/intlayer_with_vite+vue.md +8 -8
- package/docs/en/packages/intlayer/getLocalizedUrl.md +102 -25
- package/docs/en/packages/vite-intlayer/index.md +3 -3
- package/docs/en/readme.md +261 -0
- package/docs/en/testing.md +200 -0
- package/docs/en-GB/autoFill.md +29 -6
- package/docs/en-GB/configuration.md +79 -71
- package/docs/en-GB/dictionary/content_file.md +1084 -0
- package/docs/en-GB/intlayer_CMS.md +4 -5
- package/docs/en-GB/intlayer_with_nestjs.md +268 -0
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/en-GB/intlayer_with_react_router_v7.md +533 -0
- package/docs/en-GB/intlayer_with_tanstack.md +466 -299
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
- package/docs/en-GB/intlayer_with_vite+react.md +7 -7
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
- package/docs/en-GB/packages/vite-intlayer/index.md +3 -3
- package/docs/en-GB/readme.md +261 -0
- package/docs/en-GB/testing.md +200 -0
- package/docs/es/autoFill.md +45 -23
- package/docs/es/configuration.md +171 -167
- package/docs/es/dictionary/content_file.md +1088 -0
- package/docs/es/intlayer_CMS.md +4 -5
- package/docs/es/intlayer_with_nestjs.md +268 -0
- package/docs/es/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +533 -0
- package/docs/es/intlayer_with_tanstack.md +469 -280
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/es/packages/vite-intlayer/index.md +3 -3
- package/docs/es/readme.md +261 -0
- package/docs/es/testing.md +200 -0
- package/docs/fr/autoFill.md +47 -24
- package/docs/fr/configuration.md +213 -198
- package/docs/fr/dictionary/content_file.md +1054 -0
- package/docs/fr/intlayer_CMS.md +4 -5
- package/docs/fr/intlayer_with_nestjs.md +268 -0
- package/docs/fr/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/fr/intlayer_with_react_router_v7.md +549 -0
- package/docs/fr/intlayer_with_tanstack.md +465 -279
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/packages/vite-intlayer/index.md +3 -3
- package/docs/fr/readme.md +261 -0
- package/docs/fr/testing.md +200 -0
- package/docs/hi/autoFill.md +47 -25
- package/docs/hi/configuration.md +194 -189
- package/docs/hi/dictionary/content_file.md +1056 -0
- package/docs/hi/intlayer_CMS.md +4 -5
- package/docs/hi/intlayer_with_nestjs.md +269 -0
- package/docs/hi/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/hi/intlayer_with_react_router_v7.md +533 -0
- package/docs/hi/intlayer_with_tanstack.md +467 -282
- package/docs/hi/intlayer_with_vite+preact.md +7 -7
- package/docs/hi/intlayer_with_vite+react.md +7 -7
- package/docs/hi/intlayer_with_vite+vue.md +9 -9
- package/docs/hi/packages/vite-intlayer/index.md +3 -3
- package/docs/hi/readme.md +261 -0
- package/docs/hi/testing.md +200 -0
- package/docs/it/autoFill.md +46 -24
- package/docs/it/configuration.md +169 -161
- package/docs/it/dictionary/content_file.md +1061 -0
- package/docs/it/intlayer_CMS.md +4 -5
- package/docs/it/intlayer_with_nestjs.md +268 -0
- package/docs/it/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/it/intlayer_with_react_router_v7.md +535 -0
- package/docs/it/intlayer_with_tanstack.md +467 -301
- package/docs/it/intlayer_with_vite+preact.md +7 -7
- package/docs/it/intlayer_with_vite+react.md +7 -7
- package/docs/it/intlayer_with_vite+vue.md +9 -9
- package/docs/it/packages/vite-intlayer/index.md +3 -3
- package/docs/it/readme.md +261 -0
- package/docs/it/testing.md +200 -0
- package/docs/ja/autoFill.md +45 -23
- package/docs/ja/configuration.md +243 -204
- package/docs/ja/dictionary/content_file.md +1064 -0
- package/docs/ja/intlayer_CMS.md +4 -5
- package/docs/ja/intlayer_with_nestjs.md +268 -0
- package/docs/ja/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ja/intlayer_with_react_router_v7.md +534 -0
- package/docs/ja/intlayer_with_tanstack.md +467 -303
- package/docs/ja/intlayer_with_vite+preact.md +7 -7
- package/docs/ja/intlayer_with_vite+react.md +7 -7
- package/docs/ja/intlayer_with_vite+vue.md +9 -9
- package/docs/ja/packages/vite-intlayer/index.md +3 -3
- package/docs/ja/readme.md +263 -0
- package/docs/ja/testing.md +200 -0
- package/docs/ko/autoFill.md +39 -16
- package/docs/ko/configuration.md +217 -197
- package/docs/ko/dictionary/content_file.md +1060 -0
- package/docs/ko/intlayer_CMS.md +4 -5
- package/docs/ko/intlayer_with_nestjs.md +268 -0
- package/docs/ko/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ko/intlayer_with_react_router_v7.md +540 -0
- package/docs/ko/intlayer_with_tanstack.md +466 -302
- package/docs/ko/intlayer_with_vite+preact.md +7 -7
- package/docs/ko/intlayer_with_vite+react.md +7 -7
- package/docs/ko/intlayer_with_vite+vue.md +9 -9
- package/docs/ko/packages/vite-intlayer/index.md +3 -3
- package/docs/ko/readme.md +261 -0
- package/docs/ko/testing.md +200 -0
- package/docs/pt/autoFill.md +39 -15
- package/docs/pt/configuration.md +165 -147
- package/docs/pt/dictionary/content_file.md +1062 -0
- package/docs/pt/intlayer_CMS.md +4 -5
- package/docs/pt/intlayer_with_nestjs.md +271 -0
- package/docs/pt/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/pt/intlayer_with_react_router_v7.md +535 -0
- package/docs/pt/intlayer_with_tanstack.md +469 -300
- package/docs/pt/intlayer_with_vite+preact.md +7 -7
- package/docs/pt/intlayer_with_vite+react.md +7 -7
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/pt/packages/vite-intlayer/index.md +3 -3
- package/docs/pt/readme.md +261 -0
- package/docs/pt/testing.md +200 -0
- package/docs/ru/autoFill.md +52 -30
- package/docs/ru/configuration.md +164 -117
- package/docs/ru/dictionary/content_file.md +1064 -0
- package/docs/ru/intlayer_CMS.md +4 -4
- package/docs/ru/intlayer_with_nestjs.md +270 -0
- package/docs/ru/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/ru/intlayer_with_react_router_v7.md +534 -0
- package/docs/ru/intlayer_with_tanstack.md +470 -305
- package/docs/ru/intlayer_with_vite+preact.md +7 -7
- package/docs/ru/intlayer_with_vite+react.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +9 -9
- package/docs/ru/packages/vite-intlayer/index.md +3 -3
- package/docs/ru/readme.md +261 -0
- package/docs/ru/testing.md +202 -0
- package/docs/tr/CI_CD.md +198 -0
- package/docs/tr/autoFill.md +201 -0
- package/docs/tr/configuration.md +585 -0
- package/docs/tr/dictionary/condition.md +243 -0
- package/docs/tr/dictionary/content_file.md +1055 -0
- package/docs/tr/dictionary/enumeration.md +251 -0
- package/docs/tr/dictionary/file.md +228 -0
- package/docs/tr/dictionary/function_fetching.md +218 -0
- package/docs/tr/dictionary/gender.md +279 -0
- package/docs/tr/dictionary/insertion.md +191 -0
- package/docs/tr/dictionary/markdown.md +385 -0
- package/docs/tr/dictionary/nesting.md +279 -0
- package/docs/tr/dictionary/translation.md +315 -0
- package/docs/tr/formatters.md +618 -0
- package/docs/tr/how_works_intlayer.md +254 -0
- package/docs/tr/index.md +168 -0
- package/docs/tr/interest_of_intlayer.md +288 -0
- package/docs/tr/intlayer_CMS.md +347 -0
- package/docs/tr/intlayer_cli.md +570 -0
- package/docs/tr/intlayer_visual_editor.md +269 -0
- package/docs/tr/intlayer_with_angular.md +694 -0
- package/docs/tr/intlayer_with_create_react_app.md +1218 -0
- package/docs/tr/intlayer_with_express.md +415 -0
- package/docs/tr/intlayer_with_lynx+react.md +511 -0
- package/docs/tr/intlayer_with_nestjs.md +268 -0
- package/docs/tr/intlayer_with_nextjs_14.md +1029 -0
- package/docs/tr/intlayer_with_nextjs_15.md +1506 -0
- package/docs/tr/intlayer_with_nextjs_page_router.md +1484 -0
- package/docs/tr/intlayer_with_nuxt.md +773 -0
- package/docs/tr/intlayer_with_react_native+expo.md +660 -0
- package/docs/tr/intlayer_with_react_router_v7.md +531 -0
- package/docs/tr/intlayer_with_tanstack.md +452 -0
- package/docs/tr/intlayer_with_vite+preact.md +1673 -0
- package/docs/tr/intlayer_with_vite+react.md +1632 -0
- package/docs/tr/intlayer_with_vite+solid.md +288 -0
- package/docs/tr/intlayer_with_vite+svelte.md +288 -0
- package/docs/tr/intlayer_with_vite+vue.md +1042 -0
- package/docs/tr/introduction.md +209 -0
- package/docs/tr/locale_mapper.md +244 -0
- package/docs/tr/mcp_server.md +207 -0
- package/docs/tr/packages/@intlayer/api/index.md +58 -0
- package/docs/tr/packages/@intlayer/chokidar/index.md +57 -0
- package/docs/tr/packages/@intlayer/cli/index.md +47 -0
- package/docs/tr/packages/@intlayer/config/index.md +142 -0
- package/docs/tr/packages/@intlayer/core/index.md +51 -0
- package/docs/tr/packages/@intlayer/design-system/index.md +47 -0
- package/docs/tr/packages/@intlayer/dictionary-entry/index.md +53 -0
- package/docs/tr/packages/@intlayer/editor/index.md +47 -0
- package/docs/tr/packages/@intlayer/editor-react/index.md +47 -0
- package/docs/tr/packages/@intlayer/webpack/index.md +61 -0
- package/docs/tr/packages/angular-intlayer/index.md +59 -0
- package/docs/tr/packages/express-intlayer/index.md +258 -0
- package/docs/tr/packages/express-intlayer/t.md +459 -0
- package/docs/tr/packages/intlayer/getConfiguration.md +151 -0
- package/docs/tr/packages/intlayer/getEnumeration.md +165 -0
- package/docs/tr/packages/intlayer/getHTMLTextDir.md +127 -0
- package/docs/tr/packages/intlayer/getLocaleLang.md +87 -0
- package/docs/tr/packages/intlayer/getLocaleName.md +124 -0
- package/docs/tr/packages/intlayer/getLocalizedUrl.md +324 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +225 -0
- package/docs/tr/packages/intlayer/getPathWithoutLocale.md +81 -0
- package/docs/tr/packages/intlayer/getTranslation.md +196 -0
- package/docs/tr/packages/intlayer/getTranslationContent.md +195 -0
- package/docs/tr/packages/intlayer/index.md +505 -0
- package/docs/tr/packages/intlayer-cli/index.md +71 -0
- package/docs/tr/packages/intlayer-editor/index.md +139 -0
- package/docs/tr/packages/lynx-intlayer/index.md +85 -0
- package/docs/tr/packages/next-intlayer/index.md +154 -0
- package/docs/tr/packages/next-intlayer/t.md +354 -0
- package/docs/tr/packages/next-intlayer/useDictionary.md +270 -0
- package/docs/tr/packages/next-intlayer/useIntlayer.md +265 -0
- package/docs/tr/packages/next-intlayer/useLocale.md +133 -0
- package/docs/tr/packages/nuxt-intlayer/index.md +59 -0
- package/docs/tr/packages/preact-intlayer/index.md +55 -0
- package/docs/tr/packages/react-intlayer/index.md +148 -0
- package/docs/tr/packages/react-intlayer/t.md +304 -0
- package/docs/tr/packages/react-intlayer/useDictionary.md +554 -0
- package/docs/tr/packages/react-intlayer/useI18n.md +478 -0
- package/docs/tr/packages/react-intlayer/useIntlayer.md +253 -0
- package/docs/tr/packages/react-intlayer/useLocale.md +212 -0
- package/docs/tr/packages/react-native-intlayer/index.md +85 -0
- package/docs/tr/packages/react-scripts-intlayer/index.md +82 -0
- package/docs/tr/packages/solid-intlayer/index.md +56 -0
- package/docs/tr/packages/svelte-intlayer/index.md +55 -0
- package/docs/tr/packages/vite-intlayer/index.md +82 -0
- package/docs/tr/packages/vue-intlayer/index.md +59 -0
- package/docs/tr/per_locale_file.md +321 -0
- package/docs/tr/readme.md +261 -0
- package/docs/tr/roadmap.md +338 -0
- package/docs/tr/testing.md +200 -0
- package/docs/tr/vs_code_extension.md +154 -0
- package/docs/zh/autoFill.md +40 -18
- package/docs/zh/configuration.md +245 -226
- package/docs/zh/dictionary/content_file.md +1064 -0
- package/docs/zh/intlayer_CMS.md +4 -5
- package/docs/zh/intlayer_with_nestjs.md +268 -0
- package/docs/zh/intlayer_with_nextjs_page_router.md +1 -1
- package/docs/zh/intlayer_with_react_router_v7.md +535 -0
- package/docs/zh/intlayer_with_tanstack.md +468 -278
- package/docs/zh/intlayer_with_vite+preact.md +7 -7
- package/docs/zh/intlayer_with_vite+react.md +7 -7
- package/docs/zh/intlayer_with_vite+vue.md +7 -7
- package/docs/zh/packages/vite-intlayer/index.md +3 -3
- package/docs/zh/readme.md +261 -0
- package/docs/zh/testing.md +198 -0
- package/frequent_questions/tr/SSR_Next_no_[locale].md +105 -0
- package/frequent_questions/tr/array_as_content_declaration.md +72 -0
- package/frequent_questions/tr/build_dictionaries.md +59 -0
- package/frequent_questions/tr/build_error_CI_CD.md +75 -0
- package/frequent_questions/tr/customized_locale_list.md +65 -0
- package/frequent_questions/tr/domain_routing.md +114 -0
- package/frequent_questions/tr/esbuild_error.md +30 -0
- package/frequent_questions/tr/get_locale_cookie.md +142 -0
- package/frequent_questions/tr/intlayer_command_undefined.md +156 -0
- package/frequent_questions/tr/locale_incorect_in_url.md +74 -0
- package/frequent_questions/tr/static_rendering.md +45 -0
- package/frequent_questions/tr/translated_path_url.md +56 -0
- package/frequent_questions/tr/unknown_command.md +98 -0
- package/legal/tr/privacy_notice.md +83 -0
- package/legal/tr/terms_of_service.md +55 -0
- package/package.json +12 -12
- package/src/generated/blog.entry.ts +212 -0
- package/src/generated/docs.entry.ts +663 -135
- package/src/generated/frequentQuestions.entry.ts +85 -1
- package/src/generated/legal.entry.ts +7 -1
- package/docs/ar/dictionary/content_extention_customization.md +0 -100
- package/docs/ar/dictionary/get_started.md +0 -527
- package/docs/de/dictionary/content_extention_customization.md +0 -100
- package/docs/de/dictionary/get_started.md +0 -531
- package/docs/en/dictionary/content_extention_customization.md +0 -102
- package/docs/en/dictionary/get_started.md +0 -529
- package/docs/en-GB/dictionary/content_extention_customization.md +0 -100
- package/docs/en-GB/dictionary/get_started.md +0 -591
- package/docs/es/dictionary/content_extention_customization.md +0 -100
- package/docs/es/dictionary/get_started.md +0 -527
- package/docs/fr/dictionary/content_extention_customization.md +0 -100
- package/docs/fr/dictionary/get_started.md +0 -527
- package/docs/hi/dictionary/content_extention_customization.md +0 -100
- package/docs/hi/dictionary/get_started.md +0 -527
- package/docs/it/dictionary/content_extention_customization.md +0 -113
- package/docs/it/dictionary/get_started.md +0 -573
- package/docs/ja/dictionary/content_extention_customization.md +0 -113
- package/docs/ja/dictionary/get_started.md +0 -576
- package/docs/ko/dictionary/content_extention_customization.md +0 -100
- package/docs/ko/dictionary/get_started.md +0 -530
- package/docs/pt/dictionary/content_extention_customization.md +0 -100
- package/docs/pt/dictionary/get_started.md +0 -532
- package/docs/ru/dictionary/content_extention_customization.md +0 -100
- package/docs/ru/dictionary/get_started.md +0 -575
- package/docs/zh/dictionary/content_extention_customization.md +0 -117
- package/docs/zh/dictionary/get_started.md +0 -533
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-03-01
|
|
3
|
+
updatedAt: 2025-09-20
|
|
4
|
+
title: Tester votre contenu
|
|
5
|
+
description: Découvrez comment tester votre contenu avec Intlayer.
|
|
6
|
+
keywords:
|
|
7
|
+
- Test
|
|
8
|
+
- Intlayer
|
|
9
|
+
- Internationalisation
|
|
10
|
+
- CMS
|
|
11
|
+
- Système de gestion de contenu
|
|
12
|
+
- Éditeur visuel
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- testing
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Tester votre contenu
|
|
19
|
+
|
|
20
|
+
Ce guide montre comment vérifier automatiquement que vos dictionnaires sont complets, détecter les traductions manquantes avant la mise en production, et tester l’interface localisée dans votre application.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Ce que vous pouvez tester
|
|
25
|
+
|
|
26
|
+
- **Traductions manquantes** : échouer le CI si des locales requises manquent dans un dictionnaire.
|
|
27
|
+
- **Rendu de l’interface localisée** : afficher des composants avec un fournisseur de locale spécifique et vérifier le texte/attributs visibles.
|
|
28
|
+
- **Audits au moment de la compilation** : exécuter un audit rapide localement via la CLI.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Démarrage rapide : audit via CLI
|
|
33
|
+
|
|
34
|
+
Lancez l’audit depuis la racine de votre projet :
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx intlayer content test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Options utiles :
|
|
41
|
+
|
|
42
|
+
- `--env-file [path]` : charger les variables d’environnement depuis un fichier.
|
|
43
|
+
- `-e, --env [name]` : sélectionner un profil d’environnement.
|
|
44
|
+
- `--base-dir [path]` : définir le répertoire de base de l’application pour la résolution.
|
|
45
|
+
- `--verbose` : afficher les logs détaillés.
|
|
46
|
+
- `--prefix [label]` : préfixer les lignes de log.
|
|
47
|
+
|
|
48
|
+
Note : la CLI affiche un rapport détaillé mais ne retourne pas un code d’erreur en cas d’échec. Pour un contrôle en CI, ajoutez un test unitaire (ci-dessous) qui vérifie qu’aucune locale requise n’est manquante.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Test programmatique (Vitest/Jest)
|
|
53
|
+
|
|
54
|
+
Utilisez l’API CLI d’Intlayer pour vérifier qu’il n’y a pas de traductions manquantes pour vos locales requises.
|
|
55
|
+
|
|
56
|
+
```ts file=i18n.test.ts
|
|
57
|
+
/* @vitest-environment node */
|
|
58
|
+
import { listMissingTranslations } from "intlayer/cli";
|
|
59
|
+
import { describe, expect, it } from "vitest";
|
|
60
|
+
|
|
61
|
+
describe("traductions", () => {
|
|
62
|
+
it("n’a pas de locales requises manquantes", () => {
|
|
63
|
+
const result = listMissingTranslations();
|
|
64
|
+
|
|
65
|
+
if (result.missingRequiredLocales.length > 0) {
|
|
66
|
+
// Utile lorsque le test échoue localement ou en CI
|
|
67
|
+
console.log(result.missingTranslations);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
expect(result.missingRequiredLocales).toHaveLength(0);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Équivalent Jest :
|
|
76
|
+
|
|
77
|
+
```ts file=i18n.test.ts
|
|
78
|
+
import { listMissingTranslations } from "intlayer/cli";
|
|
79
|
+
|
|
80
|
+
test("n’a pas de locales requises manquantes", () => {
|
|
81
|
+
const result = listMissingTranslations();
|
|
82
|
+
|
|
83
|
+
if (result.missingRequiredLocales.length > 0) {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
console.log(result.missingTranslations);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
expect(result.missingRequiredLocales).toHaveLength(0);
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Comment ça fonctionne :
|
|
93
|
+
|
|
94
|
+
- Intlayer lit votre configuration (locales, requiredLocales) et les dictionnaires déclarés, puis rapporte :
|
|
95
|
+
- `missingTranslations` : pour chaque clé, quelles locales sont manquantes et dans quel fichier.
|
|
96
|
+
- `missingLocales` : l’union de toutes les locales manquantes.
|
|
97
|
+
- `missingRequiredLocales` : sous-ensemble limité aux `requiredLocales` (ou toutes les locales si `requiredLocales` n’est pas défini).
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Tester une interface localisée (React / Next.js)
|
|
102
|
+
|
|
103
|
+
Rendez les composants sous un fournisseur Intlayer et vérifiez le contenu visible.
|
|
104
|
+
|
|
105
|
+
Exemple React (Testing Library) :
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import { IntlayerProvider } from "react-intlayer/client";
|
|
109
|
+
import { render, screen } from "@testing-library/react";
|
|
110
|
+
import { MyComponent } from "./MyComponent";
|
|
111
|
+
|
|
112
|
+
test("renders localized title in English", () => {
|
|
113
|
+
render(
|
|
114
|
+
<IntlayerProvider locale="en-US">
|
|
115
|
+
<MyComponent />
|
|
116
|
+
</IntlayerProvider>
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
expect(screen.getByText("Titre anglais attendu")).toBeInTheDocument();
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Exemple Next.js (App Router) : utilisez le wrapper du framework :
|
|
124
|
+
|
|
125
|
+
```tsx
|
|
126
|
+
import { IntlayerClientProvider } from "next-intlayer/client";
|
|
127
|
+
import { render, screen } from "@testing-library/react";
|
|
128
|
+
import { MyPage } from "./MyPage";
|
|
129
|
+
|
|
130
|
+
test("affiche le titre localisé en français", () => {
|
|
131
|
+
render(
|
|
132
|
+
<IntlayerClientProvider locale="fr-FR">
|
|
133
|
+
<MyPage />
|
|
134
|
+
</IntlayerClientProvider>
|
|
135
|
+
);
|
|
136
|
+
expect(
|
|
137
|
+
screen.getByRole("heading", { name: "Titre attendu" })
|
|
138
|
+
).toBeInTheDocument();
|
|
139
|
+
});
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Conseils :
|
|
143
|
+
|
|
144
|
+
- Lorsque vous avez besoin des valeurs brutes des chaînes pour des attributs (par exemple, `aria-label`), accédez au champ `.value` retourné par `useIntlayer` dans React.
|
|
145
|
+
- Gardez les dictionnaires proches des composants pour faciliter les tests unitaires et le nettoyage.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Intégration Continue
|
|
150
|
+
|
|
151
|
+
Ajoutez un test qui fait échouer la compilation lorsque des traductions requises sont manquantes.
|
|
152
|
+
|
|
153
|
+
`package.json` :
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"scripts": {
|
|
158
|
+
"test:i18n": "vitest run -c"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Exemple GitHub Actions :
|
|
164
|
+
|
|
165
|
+
```yaml
|
|
166
|
+
name: CI
|
|
167
|
+
on: [push, pull_request]
|
|
168
|
+
jobs:
|
|
169
|
+
test:
|
|
170
|
+
runs-on: ubuntu-latest
|
|
171
|
+
steps:
|
|
172
|
+
- uses: actions/checkout@v4
|
|
173
|
+
- uses: actions/setup-node@v4
|
|
174
|
+
with:
|
|
175
|
+
node-version: 20
|
|
176
|
+
- run: npm ci
|
|
177
|
+
- run: npm run test:i18n
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Optionnel : lancez l'audit CLI pour un résumé lisible par un humain en parallèle des tests :
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npx intlayer content test --verbose
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Dépannage
|
|
189
|
+
|
|
190
|
+
- Assurez-vous que votre configuration Intlayer définit `locales` et (optionnellement) `requiredLocales`.
|
|
191
|
+
- Si votre application utilise des dictionnaires dynamiques ou distants, exécutez les tests dans un environnement où les dictionnaires sont disponibles.
|
|
192
|
+
- Pour les monorepos mixtes, utilisez `--base-dir` pour indiquer au CLI la racine correcte de l'application.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Historique du document
|
|
197
|
+
|
|
198
|
+
| Version | Date | Modifications |
|
|
199
|
+
| ------- | ---------- | ---------------------- |
|
|
200
|
+
| 6.0.0 | 2025-09-20 | Introduction des tests |
|
package/docs/hi/autoFill.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-13
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-09-20
|
|
4
4
|
title: ऑटो फिल
|
|
5
|
-
description: Intlayer में ऑटो फिल फ़ंक्शन का उपयोग कैसे करें ताकि पूर्वनिर्धारित पैटर्न के आधार पर सामग्री स्वचालित रूप से भरी जा सके। अपने प्रोजेक्ट में ऑटो फिल फीचर्स को
|
|
5
|
+
description: Intlayer में ऑटो फिल फ़ंक्शन का उपयोग कैसे करें ताकि पूर्वनिर्धारित पैटर्न के आधार पर सामग्री स्वचालित रूप से भरी जा सके। अपने प्रोजेक्ट में ऑटो फिल फीचर्स को प्रभावी ढंग से लागू करने के लिए इस दस्तावेज़ का पालन करें।
|
|
6
6
|
keywords:
|
|
7
7
|
- ऑटो फिल
|
|
8
8
|
- सामग्री स्वचालन
|
|
@@ -20,25 +20,25 @@ slugs:
|
|
|
20
20
|
# ऑटोफिल सामग्री घोषणा फ़ाइल अनुवाद
|
|
21
21
|
|
|
22
22
|
**ऑटोफिल सामग्री घोषणा फ़ाइलें** आपके विकास कार्यप्रवाह को तेज़ करने का एक तरीका हैं।
|
|
23
|
+
|
|
23
24
|
ऑटोफिल तंत्र सामग्री घोषणा फ़ाइलों के बीच एक _मास्टर-स्लेव_ संबंध के माध्यम से काम करता है। जब मुख्य (मास्टर) फ़ाइल अपडेट होती है, तो Intlayer स्वचालित रूप से उन परिवर्तनों को व्युत्पन्न (ऑटोफिल की गई) घोषणा फ़ाइलों पर लागू कर देगा।
|
|
24
25
|
|
|
25
26
|
```ts fileName="src/components/example/example.content.ts"
|
|
26
27
|
import { Locales, type Dictionary } from "intlayer";
|
|
27
28
|
|
|
28
|
-
// exampleContent एक शब्दकोश के रूप में परिभाषित है जो सामग्री को दर्शाता है
|
|
29
29
|
const exampleContent = {
|
|
30
30
|
key: "example",
|
|
31
31
|
locale: Locales.ENGLISH,
|
|
32
32
|
autoFill: "./example.content.json",
|
|
33
33
|
content: {
|
|
34
|
-
contentExample: "यह सामग्री का एक उदाहरण है",
|
|
34
|
+
contentExample: "यह सामग्री का एक उदाहरण है", // सामग्री का उदाहरण
|
|
35
35
|
},
|
|
36
36
|
} satisfies Dictionary;
|
|
37
37
|
|
|
38
38
|
export default exampleContent;
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
यहाँ एक [
|
|
41
|
+
यहाँ `autoFill` निर्देश का उपयोग करते हुए एक [प्रति-स्थान सामग्री घोषणा फ़ाइल](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/per_locale_file.md) है।
|
|
42
42
|
|
|
43
43
|
फिर, जब आप निम्नलिखित कमांड चलाते हैं:
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ export default exampleContent;
|
|
|
46
46
|
npx intlayer fill --file 'src/components/example/example.content.ts'
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Intlayer स्वचालित रूप से व्युत्पन्न घोषणा फ़ाइल `src/components/example/example.content.json`
|
|
49
|
+
Intlayer स्वचालित रूप से व्युत्पन्न घोषणा फ़ाइल `src/components/example/example.content.json` बनाएगा, जिसमें मुख्य फ़ाइल में पहले से घोषित नहीं किए गए सभी स्थानों को भरा जाएगा।
|
|
50
50
|
|
|
51
51
|
```json5 fileName="src/components/example/example.content.json"
|
|
52
52
|
{
|
|
@@ -63,23 +63,23 @@ Intlayer स्वचालित रूप से व्युत्पन्
|
|
|
63
63
|
}
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
इसके बाद, दोनों घोषणा फ़ाइलों को एकल शब्दकोश में मर्ज किया जाएगा, जिसे मानक `useIntlayer("example")` हुक (react) / कॉम्पोज़ेबल (vue) का उपयोग करके एक्सेस किया जा सकता है।
|
|
67
67
|
|
|
68
|
-
##
|
|
68
|
+
## ऑटोफिल की गई फ़ाइल प्रारूप
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
सिफारिश की गई स्वरूप ऑटोफिल की गई घोषणा फ़ाइलों के लिए **JSON** है, जो स्वरूपण प्रतिबंधों से बचने में मदद करता है। हालांकि, Intlayer `.ts`, `.js`, `.mjs`, `.cjs`, और अन्य स्वरूपों का भी समर्थन करता है।
|
|
71
71
|
|
|
72
72
|
```ts fileName="src/components/example/example.content.ts"
|
|
73
73
|
const exampleContent = {
|
|
74
74
|
key: "example",
|
|
75
75
|
autoFill: "./example.filled.content.ts",
|
|
76
76
|
content: {
|
|
77
|
-
//
|
|
77
|
+
// आपकी सामग्री
|
|
78
78
|
},
|
|
79
79
|
};
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
यह फ़ाइल इस स्थान पर उत्पन्न
|
|
82
|
+
यह फ़ाइल इस स्थान पर उत्पन्न करेगा:
|
|
83
83
|
|
|
84
84
|
```
|
|
85
85
|
src/components/example/example.filled.content.ts
|
|
@@ -87,8 +87,8 @@ src/components/example/example.filled.content.ts
|
|
|
87
87
|
|
|
88
88
|
> `.js`, `.ts`, और समान फ़ाइलों का निर्माण इस प्रकार काम करता है:
|
|
89
89
|
>
|
|
90
|
-
> - यदि फ़ाइल पहले से मौजूद है, तो Intlayer इसे AST (Abstract Syntax Tree) का उपयोग करके पार्स करेगा ताकि प्रत्येक फ़ील्ड का पता लगाया जा सके और कोई भी गायब अनुवाद
|
|
91
|
-
> - यदि फ़ाइल मौजूद नहीं है, तो Intlayer इसे डिफ़ॉल्ट
|
|
90
|
+
> - यदि फ़ाइल पहले से मौजूद है, तो Intlayer इसे AST (Abstract Syntax Tree) का उपयोग करके पार्स करेगा ताकि प्रत्येक फ़ील्ड का पता लगाया जा सके और कोई भी गायब अनुवाद डाला जा सके।
|
|
91
|
+
> - यदि फ़ाइल मौजूद नहीं है, तो Intlayer इसे डिफ़ॉल्ट सामग्री घोषणा फ़ाइल टेम्पलेट का उपयोग करके उत्पन्न करेगा।
|
|
92
92
|
|
|
93
93
|
## पूर्ण पथ (Absolute Paths)
|
|
94
94
|
|
|
@@ -99,20 +99,20 @@ const exampleContent = {
|
|
|
99
99
|
key: "example",
|
|
100
100
|
autoFill: "/messages/example.content.json",
|
|
101
101
|
content: {
|
|
102
|
-
//
|
|
102
|
+
// आपकी सामग्री
|
|
103
103
|
},
|
|
104
104
|
};
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
यह फ़ाइल इस स्थान पर उत्पन्न
|
|
107
|
+
यह फ़ाइल इस स्थान पर उत्पन्न करेगा:
|
|
108
108
|
|
|
109
109
|
```
|
|
110
110
|
/messages/example.content.json
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
##
|
|
113
|
+
## प्रति-स्थानीय सामग्री घोषणा फ़ाइलों का स्वचालित निर्माण (Autogenerate Per-Locale Content Declaration Files)
|
|
114
114
|
|
|
115
|
-
`autoFill` फ़ील्ड
|
|
115
|
+
`autoFill` फ़ील्ड **प्रति-स्थानीय** सामग्री घोषणा फ़ाइलों के निर्माण का भी समर्थन करता है।
|
|
116
116
|
|
|
117
117
|
```ts fileName="src/components/example/example.content.ts"
|
|
118
118
|
const exampleContent = {
|
|
@@ -122,7 +122,7 @@ const exampleContent = {
|
|
|
122
122
|
es: "./example.es.content.json",
|
|
123
123
|
},
|
|
124
124
|
content: {
|
|
125
|
-
//
|
|
125
|
+
// आपकी सामग्री
|
|
126
126
|
},
|
|
127
127
|
};
|
|
128
128
|
```
|
|
@@ -132,7 +132,9 @@ const exampleContent = {
|
|
|
132
132
|
- `src/components/example/example.fr.content.json`
|
|
133
133
|
- `src/components/example/example.es.content.json`
|
|
134
134
|
|
|
135
|
-
|
|
135
|
+
> इस मामले में, यदि ऑब्जेक्ट में सभी स्थानीय भाषाएँ शामिल नहीं हैं, तो Intlayer बाकी स्थानीय भाषाओं की फ़ाइलें उत्पन्न करने से बचता है।
|
|
136
|
+
|
|
137
|
+
## विशिष्ट स्थानीय ऑटोफिल को फ़िल्टर करें (Filter Specific Locale Autofill)
|
|
136
138
|
|
|
137
139
|
`autoFill` फ़ील्ड के लिए एक ऑब्जेक्ट का उपयोग करने से आप फ़िल्टर लागू कर सकते हैं और केवल विशिष्ट स्थानीय फ़ाइलें उत्पन्न कर सकते हैं।
|
|
138
140
|
|
|
@@ -143,7 +145,7 @@ const exampleContent = {
|
|
|
143
145
|
fr: "./example.fr.content.json",
|
|
144
146
|
},
|
|
145
147
|
content: {
|
|
146
|
-
//
|
|
148
|
+
// आपकी सामग्री
|
|
147
149
|
},
|
|
148
150
|
};
|
|
149
151
|
```
|
|
@@ -152,19 +154,20 @@ const exampleContent = {
|
|
|
152
154
|
|
|
153
155
|
## पथ चर (Path Variables)
|
|
154
156
|
|
|
155
|
-
आप उत्पन्न फ़ाइलों के लक्षित पथों को गतिशील रूप से हल करने के लिए `autoFill` पथ के अंदर
|
|
157
|
+
आप उत्पन्न फ़ाइलों के लिए लक्षित पथों को गतिशील रूप से हल करने के लिए `autoFill` पथ के अंदर वेरिएबल्स का उपयोग कर सकते हैं।
|
|
156
158
|
|
|
157
|
-
**उपलब्ध
|
|
159
|
+
**उपलब्ध वेरिएबल्स:**
|
|
158
160
|
|
|
159
161
|
- `{{locale}}` – स्थानीय कोड (जैसे `fr`, `es`)
|
|
162
|
+
- `{{fileName}}` – फ़ाइल नाम (जैसे `index`)
|
|
160
163
|
- `{{key}}` – शब्दकोश कुंजी (जैसे `example`)
|
|
161
164
|
|
|
162
|
-
```ts fileName="src/components/example/
|
|
165
|
+
```ts fileName="src/components/example/index.content.ts"
|
|
163
166
|
const exampleContent = {
|
|
164
167
|
key: "example",
|
|
165
168
|
autoFill: "/messages/{{locale}}/{{key}}.content.json",
|
|
166
169
|
content: {
|
|
167
|
-
//
|
|
170
|
+
// आपकी सामग्री
|
|
168
171
|
},
|
|
169
172
|
};
|
|
170
173
|
```
|
|
@@ -174,6 +177,25 @@ const exampleContent = {
|
|
|
174
177
|
- `/messages/fr/example.content.json`
|
|
175
178
|
- `/messages/es/example.content.json`
|
|
176
179
|
|
|
180
|
+
```ts fileName="src/components/example/index.content.ts"
|
|
181
|
+
const exampleContent = {
|
|
182
|
+
key: "example",
|
|
183
|
+
autoFill: "./{{fileName}}.content.json",
|
|
184
|
+
content: {
|
|
185
|
+
// आपकी सामग्री
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
यह उत्पन्न करेगा:
|
|
191
|
+
|
|
192
|
+
- `./index.content.json`
|
|
193
|
+
- `./index.content.json`
|
|
194
|
+
|
|
177
195
|
## दस्तावेज़ इतिहास
|
|
178
196
|
|
|
179
|
-
|
|
197
|
+
| संस्करण | दिनांक | परिवर्तन |
|
|
198
|
+
| ------- | ---------- | --------------------------- |
|
|
199
|
+
| 6.0.0 | 2025-09-20 | वैश्विक कॉन्फ़िगरेशन जोड़ें |
|
|
200
|
+
| 6.0.0 | 2025-09-17 | `{{fileName}}` वेरिएबल जोड़ें |
|
|
201
|
+
| 5.5.10 | 2025-06-29 | इतिहास आरंभ करें |
|