@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: コンテンツのテスト
|
|
5
|
+
description: Intlayerを使ったコンテンツのテスト方法を紹介します。
|
|
6
|
+
keywords:
|
|
7
|
+
- テスト
|
|
8
|
+
- Intlayer
|
|
9
|
+
- 国際化
|
|
10
|
+
- CMS
|
|
11
|
+
- コンテンツ管理システム
|
|
12
|
+
- ビジュアルエディタ
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- testing
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# コンテンツのテスト
|
|
19
|
+
|
|
20
|
+
このガイドでは、辞書が完全であることを自動的に検証し、出荷前に翻訳漏れを検出し、アプリ内のローカライズされたUIをテストする方法を説明します。
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## テストできること
|
|
25
|
+
|
|
26
|
+
- **翻訳漏れ**: 必須のロケールが辞書に欠けている場合、CIを失敗させます。
|
|
27
|
+
- **ローカライズされたUIのレンダリング**: 特定のロケールプロバイダーでコンポーネントをレンダリングし、表示されるテキストや属性を検証します。
|
|
28
|
+
- **ビルド時の監査**: CLIを使ってローカルで簡単な監査を実行します。
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## クイックスタート: CLIによる監査
|
|
33
|
+
|
|
34
|
+
プロジェクトのルートから監査を実行します:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx intlayer content test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
便利なフラグ:
|
|
41
|
+
|
|
42
|
+
- `--env-file [path]`: ファイルから環境変数を読み込みます。
|
|
43
|
+
- `-e, --env [name]`: 環境プロファイルを選択します。
|
|
44
|
+
- `--base-dir [path]`: 解決のためのアプリのベースディレクトリを設定します。
|
|
45
|
+
- `--verbose`: 詳細なログを表示します。
|
|
46
|
+
- `--prefix [label]`: ログ行にプレフィックスを付けます。
|
|
47
|
+
|
|
48
|
+
注意: CLIは詳細なレポートを出力しますが、失敗時に非ゼロで終了しません。CIのゲーティングには、必須ロケールの欠落がゼロであることをアサートするユニットテスト(以下)を追加してください。
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## プログラムによるテスト (Vitest/Jest)
|
|
53
|
+
|
|
54
|
+
Intlayer CLI APIを使って、必須ロケールの翻訳漏れがないことをアサートします。
|
|
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("translations", () => {
|
|
62
|
+
it("必須のロケールが欠落していないこと", () => {
|
|
63
|
+
const result = listMissingTranslations();
|
|
64
|
+
|
|
65
|
+
if (result.missingRequiredLocales.length > 0) {
|
|
66
|
+
// テストがローカルまたはCIで失敗したときに役立ちます
|
|
67
|
+
console.log(result.missingTranslations);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
expect(result.missingRequiredLocales).toHaveLength(0);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Jestの同等コード:
|
|
76
|
+
|
|
77
|
+
```ts file=i18n.test.ts
|
|
78
|
+
import { listMissingTranslations } from "intlayer/cli";
|
|
79
|
+
|
|
80
|
+
test("必須のロケールが欠落していないこと", () => {
|
|
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
|
+
動作の仕組み:
|
|
93
|
+
|
|
94
|
+
- Intlayerは設定(locales、requiredLocales)と宣言された辞書を読み込み、以下を報告します:
|
|
95
|
+
- `missingTranslations`:キーごとに、どのロケールが欠落しているか、どのファイルからかを示します。
|
|
96
|
+
- `missingLocales`:欠落しているすべてのロケールの集合。
|
|
97
|
+
- `missingRequiredLocales`:`requiredLocales`に限定された部分集合(`requiredLocales`が設定されていない場合はすべてのロケール)。
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## ローカライズされたUIのテスト(React / Next.js)
|
|
102
|
+
|
|
103
|
+
Intlayerプロバイダーの下でコンポーネントをレンダリングし、表示されている内容を検証します。
|
|
104
|
+
|
|
105
|
+
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("期待される英語のタイトル")).toBeInTheDocument();
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Next.js(App Router)例:フレームワークのラッパーを使用します:
|
|
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("フランス語でローカライズされた見出しをレンダリングする", () => {
|
|
131
|
+
render(
|
|
132
|
+
<IntlayerClientProvider locale="fr-FR">
|
|
133
|
+
<MyPage />
|
|
134
|
+
</IntlayerClientProvider>
|
|
135
|
+
);
|
|
136
|
+
expect(
|
|
137
|
+
screen.getByRole("heading", { name: "期待されるタイトル" })
|
|
138
|
+
).toBeInTheDocument();
|
|
139
|
+
});
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
ヒント:
|
|
143
|
+
|
|
144
|
+
- 属性の生の文字列値(例:`aria-label`)が必要な場合は、Reactの`useIntlayer`から返される`.value`フィールドにアクセスしてください。
|
|
145
|
+
- コンポーネントと辞書を同じ場所に配置しておくことで、ユニットテストやクリーンアップが容易になります。
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 継続的インテグレーション
|
|
150
|
+
|
|
151
|
+
必要な翻訳が欠落している場合にビルドを失敗させるテストを追加します。
|
|
152
|
+
|
|
153
|
+
`package.json`:
|
|
154
|
+
|
|
155
|
+
```json
|
|
156
|
+
{
|
|
157
|
+
"scripts": {
|
|
158
|
+
"test:i18n": "vitest run -c"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
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
|
+
オプション: テストと並行して、人間が読みやすい要約を得るために CLI 監査を実行します:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npx intlayer content test --verbose
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## トラブルシューティング
|
|
189
|
+
|
|
190
|
+
- Intlayerの設定で`locales`および(オプションで)`requiredLocales`が定義されていることを確認してください。
|
|
191
|
+
- アプリが動的またはリモートの辞書を使用している場合は、辞書が利用可能な環境でテストを実行してください。
|
|
192
|
+
- 混在するモノレポの場合は、CLIに正しいアプリケーションルートを指示するために`--base-dir`を使用してください。
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## ドキュメント履歴
|
|
197
|
+
|
|
198
|
+
| バージョン | 日付 | 変更内容 |
|
|
199
|
+
| ---------- | ---------- | ---------- |
|
|
200
|
+
| 6.0.0 | 2025-09-20 | テスト導入 |
|
package/docs/ko/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
|
- 콘텐츠 자동화
|
|
@@ -19,8 +19,9 @@ slugs:
|
|
|
19
19
|
|
|
20
20
|
# 자동 채우기 콘텐츠 선언 파일 번역
|
|
21
21
|
|
|
22
|
-
**자동 채우기 콘텐츠 선언 파일**은 개발 워크플로우를 가속화하는 방법입니다.
|
|
23
|
-
|
|
22
|
+
**자동 채우기 콘텐츠 선언 파일**은 개발 워크플로우를 가속화하는 방법입니다.
|
|
23
|
+
|
|
24
|
+
자동 채우기 메커니즘은 콘텐츠 선언 파일 간의 _마스터-슬레이브_ 관계를 통해 작동합니다. 메인(마스터) 파일이 업데이트되면 Intlayer가 파생(자동 채우기된) 선언 파일에 해당 변경 사항을 자동으로 적용합니다.
|
|
24
25
|
|
|
25
26
|
```ts fileName="src/components/example/example.content.ts"
|
|
26
27
|
import { Locales, type Dictionary } from "intlayer";
|
|
@@ -30,14 +31,14 @@ const exampleContent = {
|
|
|
30
31
|
locale: Locales.ENGLISH,
|
|
31
32
|
autoFill: "./example.content.json",
|
|
32
33
|
content: {
|
|
33
|
-
contentExample: "이것은
|
|
34
|
+
contentExample: "이것은 콘텐츠의 예시입니다",
|
|
34
35
|
},
|
|
35
36
|
} satisfies Dictionary;
|
|
36
37
|
|
|
37
38
|
export default exampleContent;
|
|
38
39
|
```
|
|
39
40
|
|
|
40
|
-
다음은 `autoFill` 지시어를
|
|
41
|
+
다음은 `autoFill` 지시어를 사용한 [로케일별 콘텐츠 선언 파일](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/per_locale_file.md)입니다.
|
|
41
42
|
|
|
42
43
|
그런 다음, 다음 명령어를 실행하면:
|
|
43
44
|
|
|
@@ -62,11 +63,11 @@ Intlayer는 메인 파일에 아직 선언되지 않은 모든 로케일을 채
|
|
|
62
63
|
}
|
|
63
64
|
```
|
|
64
65
|
|
|
65
|
-
그 후, 두 선언 파일은 단일 사전으로 병합되어 표준 `useIntlayer("example")` 훅(react) / 컴포저블(vue)을
|
|
66
|
+
그 후, 두 선언 파일은 단일 사전으로 병합되어 표준 `useIntlayer("example")` 훅(react) / 컴포저블(vue)을 통해 접근할 수 있습니다.
|
|
66
67
|
|
|
67
68
|
## 자동 채워진 파일 형식
|
|
68
69
|
|
|
69
|
-
자동 채워진 선언 파일에 권장되는 형식은 **JSON
|
|
70
|
+
자동 채워진 선언 파일에 권장되는 형식은 **JSON**으로, 형식 제약을 피하는 데 도움이 됩니다. 그러나 Intlayer는 `.ts`, `.js`, `.mjs`, `.cjs` 및 기타 형식도 지원합니다.
|
|
70
71
|
|
|
71
72
|
```ts fileName="src/components/example/example.content.ts"
|
|
72
73
|
const exampleContent = {
|
|
@@ -84,7 +85,7 @@ const exampleContent = {
|
|
|
84
85
|
src/components/example/example.filled.content.ts
|
|
85
86
|
```
|
|
86
87
|
|
|
87
|
-
> `.js`, `.ts` 및 유사한
|
|
88
|
+
> `.js`, `.ts` 및 유사한 파일 생성은 다음과 같이 작동합니다:
|
|
88
89
|
>
|
|
89
90
|
> - 파일이 이미 존재하는 경우, Intlayer는 AST(추상 구문 트리)를 사용하여 각 필드를 찾아 누락된 번역을 삽입합니다.
|
|
90
91
|
> - 파일이 존재하지 않는 경우, Intlayer는 기본 콘텐츠 선언 파일 템플릿을 사용하여 파일을 생성합니다.
|
|
@@ -111,7 +112,7 @@ const exampleContent = {
|
|
|
111
112
|
|
|
112
113
|
## 로케일별 콘텐츠 선언 파일 자동 생성
|
|
113
114
|
|
|
114
|
-
`autoFill` 필드는 **로케일별** 콘텐츠 선언 파일
|
|
115
|
+
`autoFill` 필드는 **로케일별** 콘텐츠 선언 파일 생성을 지원합니다.
|
|
115
116
|
|
|
116
117
|
```ts fileName="src/components/example/example.content.ts"
|
|
117
118
|
const exampleContent = {
|
|
@@ -121,7 +122,7 @@ const exampleContent = {
|
|
|
121
122
|
es: "./example.es.content.json",
|
|
122
123
|
},
|
|
123
124
|
content: {
|
|
124
|
-
//
|
|
125
|
+
// 귀하의 콘텐츠
|
|
125
126
|
},
|
|
126
127
|
};
|
|
127
128
|
```
|
|
@@ -131,7 +132,9 @@ const exampleContent = {
|
|
|
131
132
|
- `src/components/example/example.fr.content.json`
|
|
132
133
|
- `src/components/example/example.es.content.json`
|
|
133
134
|
|
|
134
|
-
|
|
135
|
+
> 이 경우, 객체에 모든 로케일이 포함되어 있지 않으면 Intlayer는 나머지 로케일의 생성을 건너뜁니다.
|
|
136
|
+
|
|
137
|
+
## 특정 로케일 자동 채우기 필터링
|
|
135
138
|
|
|
136
139
|
`autoFill` 필드에 객체를 사용하면 필터를 적용하여 특정 로케일 파일만 생성할 수 있습니다.
|
|
137
140
|
|
|
@@ -142,7 +145,7 @@ const exampleContent = {
|
|
|
142
145
|
fr: "./example.fr.content.json",
|
|
143
146
|
},
|
|
144
147
|
content: {
|
|
145
|
-
//
|
|
148
|
+
// 귀하의 콘텐츠
|
|
146
149
|
},
|
|
147
150
|
};
|
|
148
151
|
```
|
|
@@ -156,9 +159,10 @@ const exampleContent = {
|
|
|
156
159
|
**사용 가능한 변수:**
|
|
157
160
|
|
|
158
161
|
- `{{locale}}` – 로케일 코드 (예: `fr`, `es`)
|
|
162
|
+
- `{{fileName}}` – 파일 이름 (예: `index`)
|
|
159
163
|
- `{{key}}` – 사전 키 (예: `example`)
|
|
160
164
|
|
|
161
|
-
```ts fileName="src/components/example/
|
|
165
|
+
```ts fileName="src/components/example/index.content.ts"
|
|
162
166
|
const exampleContent = {
|
|
163
167
|
key: "example",
|
|
164
168
|
autoFill: "/messages/{{locale}}/{{key}}.content.json",
|
|
@@ -168,11 +172,30 @@ const exampleContent = {
|
|
|
168
172
|
};
|
|
169
173
|
```
|
|
170
174
|
|
|
171
|
-
|
|
175
|
+
이 코드는 다음 파일들을 생성합니다:
|
|
172
176
|
|
|
173
177
|
- `/messages/fr/example.content.json`
|
|
174
178
|
- `/messages/es/example.content.json`
|
|
175
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
|
+
|
|
176
195
|
## 문서 이력
|
|
177
196
|
|
|
178
|
-
|
|
197
|
+
| 버전 | 날짜 | 변경 사항 |
|
|
198
|
+
| ------- | ----------- | --------------------------- |
|
|
199
|
+
| 6.0.0 | 2025-09-20 | 전역 구성 추가 |
|
|
200
|
+
| 6.0.0 | 2025-09-17 | `{{fileName}}` 변수 추가 |
|
|
201
|
+
| 5.5.10 | 2025-06-29 | 이력 초기화 |
|