@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
|
@@ -1105,38 +1105,38 @@ const App = () => (
|
|
|
1105
1105
|
module.exports = App;
|
|
1106
1106
|
```
|
|
1107
1107
|
|
|
1108
|
-
병행하여, `
|
|
1108
|
+
병행하여, `intlayerMiddlewarePlugin`을 사용하여 애플리케이션에 서버 사이드 라우팅을 추가할 수도 있습니다. 이 플러그인은 URL을 기반으로 현재 로케일을 자동으로 감지하고 적절한 로케일 쿠키를 설정합니다. 로케일이 지정되지 않은 경우, 플러그인은 사용자의 브라우저 언어 설정을 기준으로 가장 적합한 로케일을 결정합니다. 로케일이 감지되지 않으면 기본 로케일로 리디렉션합니다.
|
|
1109
1109
|
|
|
1110
1110
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1111
1111
|
import { defineConfig } from "vite";
|
|
1112
1112
|
import preact from "@preact/preset-vite";
|
|
1113
|
-
import { intlayerPlugin,
|
|
1113
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
1114
1114
|
|
|
1115
1115
|
// https://vitejs.dev/config/
|
|
1116
1116
|
export default defineConfig({
|
|
1117
|
-
plugins: [preact(), intlayerPlugin(),
|
|
1117
|
+
plugins: [preact(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1118
1118
|
});
|
|
1119
1119
|
```
|
|
1120
1120
|
|
|
1121
1121
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1122
1122
|
import { defineConfig } from "vite";
|
|
1123
1123
|
import preact from "@preact/preset-vite";
|
|
1124
|
-
import { intlayerPlugin,
|
|
1124
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
1125
1125
|
|
|
1126
1126
|
// https://vitejs.dev/config/
|
|
1127
1127
|
export default defineConfig({
|
|
1128
|
-
plugins: [preact(), intlayerPlugin(),
|
|
1128
|
+
plugins: [preact(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1129
1129
|
});
|
|
1130
1130
|
```
|
|
1131
1131
|
|
|
1132
1132
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1133
1133
|
const { defineConfig } = require("vite");
|
|
1134
1134
|
const preact = require("@preact/preset-vite");
|
|
1135
|
-
const { intlayerPlugin,
|
|
1135
|
+
const { intlayerPlugin, intlayerMiddlewarePlugin } = require("vite-intlayer");
|
|
1136
1136
|
|
|
1137
1137
|
// https://vitejs.dev/config/
|
|
1138
1138
|
module.exports = defineConfig({
|
|
1139
|
-
plugins: [preact(), intlayerPlugin(),
|
|
1139
|
+
plugins: [preact(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1140
1140
|
});
|
|
1141
1141
|
```
|
|
1142
1142
|
|
|
@@ -1006,38 +1006,38 @@ const App = () => (
|
|
|
1006
1006
|
);
|
|
1007
1007
|
```
|
|
1008
1008
|
|
|
1009
|
-
병행하여, `
|
|
1009
|
+
병행하여, `intlayerMiddlewarePlugin`을 사용하여 애플리케이션에 서버 사이드 라우팅을 추가할 수도 있습니다. 이 플러그인은 URL을 기반으로 현재 로케일을 자동으로 감지하고 적절한 로케일 쿠키를 설정합니다. 로케일이 지정되지 않은 경우, 플러그인은 사용자의 브라우저 언어 설정을 기반으로 가장 적합한 로케일을 결정합니다. 로케일이 감지되지 않으면 기본 로케일로 리디렉션합니다.
|
|
1010
1010
|
|
|
1011
1011
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1012
1012
|
import { defineConfig } from "vite";
|
|
1013
1013
|
import react from "@vitejs/plugin-react-swc";
|
|
1014
|
-
import { intlayerPlugin,
|
|
1014
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
1015
1015
|
|
|
1016
1016
|
// https://vitejs.dev/config/
|
|
1017
1017
|
export default defineConfig({
|
|
1018
|
-
plugins: [react(), intlayerPlugin(),
|
|
1018
|
+
plugins: [react(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1019
1019
|
});
|
|
1020
1020
|
```
|
|
1021
1021
|
|
|
1022
1022
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1023
1023
|
import { defineConfig } from "vite";
|
|
1024
1024
|
import react from "@vitejs/plugin-react-swc";
|
|
1025
|
-
import { intlayerPlugin,
|
|
1025
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
1026
1026
|
|
|
1027
1027
|
// https://vitejs.dev/config/
|
|
1028
1028
|
export default defineConfig({
|
|
1029
|
-
plugins: [react(), intlayerPlugin(),
|
|
1029
|
+
plugins: [react(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1030
1030
|
});
|
|
1031
1031
|
```
|
|
1032
1032
|
|
|
1033
1033
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1034
1034
|
const { defineConfig } = require("vite");
|
|
1035
1035
|
const react = require("@vitejs/plugin-react-swc");
|
|
1036
|
-
const { intlayerPlugin,
|
|
1036
|
+
const { intlayerPlugin, intlayerMiddlewarePlugin } = require("vite-intlayer");
|
|
1037
1037
|
|
|
1038
1038
|
// https://vitejs.dev/config/
|
|
1039
1039
|
module.exports = defineConfig({
|
|
1040
|
-
plugins: [react(), intlayerPlugin(),
|
|
1040
|
+
plugins: [react(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
1041
1041
|
});
|
|
1042
1042
|
```
|
|
1043
1043
|
|
|
@@ -685,46 +685,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
685
685
|
</template>
|
|
686
686
|
```
|
|
687
687
|
|
|
688
|
-
동시에, `
|
|
688
|
+
동시에, `intlayerMiddlewarePlugin`을 사용하여 애플리케이션에 서버 사이드 라우팅을 추가할 수도 있습니다. 이 플러그인은 URL을 기반으로 현재 로케일을 자동으로 감지하고 적절한 로케일 쿠키를 설정합니다. 로케일이 지정되지 않은 경우, 사용자의 브라우저 언어 설정을 기반으로 가장 적합한 로케일을 결정합니다. 로케일이 감지되지 않으면 기본 로케일로 리디렉션합니다.
|
|
689
689
|
|
|
690
690
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
691
691
|
import { defineConfig } from "vite";
|
|
692
692
|
import vue from "@vitejs/plugin-vue";
|
|
693
|
-
import { intlayerPlugin,
|
|
693
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
694
694
|
|
|
695
695
|
// https://vitejs.dev/config/
|
|
696
696
|
export default defineConfig({
|
|
697
|
-
plugins: [vue(), intlayerPlugin(),
|
|
697
|
+
plugins: [vue(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
698
698
|
});
|
|
699
699
|
```
|
|
700
700
|
|
|
701
701
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
702
702
|
import { defineConfig } from "vite";
|
|
703
703
|
import vue from "@vitejs/plugin-vue";
|
|
704
|
-
import { intlayerPlugin,
|
|
704
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
705
705
|
|
|
706
706
|
// https://vitejs.dev/config/
|
|
707
707
|
export default defineConfig({
|
|
708
|
-
plugins: [vue(), intlayerPlugin(),
|
|
708
|
+
plugins: [vue(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
709
709
|
});
|
|
710
710
|
```
|
|
711
711
|
|
|
712
712
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
713
713
|
const { defineConfig } = require("vite");
|
|
714
714
|
const vue = require("@vitejs/plugin-vue");
|
|
715
|
-
const { intlayerPlugin,
|
|
715
|
+
const { intlayerPlugin, intlayerMiddlewarePlugin } = require("vite-intlayer");
|
|
716
716
|
|
|
717
717
|
// https://vitejs.dev/config/
|
|
718
718
|
module.exports = defineConfig({
|
|
719
|
-
plugins: [vue(), intlayerPlugin(),
|
|
719
|
+
plugins: [vue(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
720
720
|
});
|
|
721
721
|
const { defineConfig } = require("vite");
|
|
722
722
|
const vue = require("@vitejs/plugin-vue");
|
|
723
|
-
const { intlayerPlugin,
|
|
723
|
+
const { intlayerPlugin, intlayerMiddlewarePlugin } = require("vite-intlayer");
|
|
724
724
|
|
|
725
725
|
// https://vitejs.dev/config/
|
|
726
726
|
module.exports = defineConfig({
|
|
727
|
-
plugins: [vue(), intlayerPlugin(),
|
|
727
|
+
plugins: [vue(), intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
728
728
|
});
|
|
729
729
|
```
|
|
730
730
|
|
|
@@ -53,17 +53,17 @@ vite 구성에 플러그인을 포함하는 방법의 예시를 확인하세요.
|
|
|
53
53
|
|
|
54
54
|
```typescript fileName="vite.config.ts"
|
|
55
55
|
import { defineConfig } from "vite";
|
|
56
|
-
import { intlayerPlugin,
|
|
56
|
+
import { intlayerPlugin, intlayerMiddlewarePlugin } from "vite-intlayer";
|
|
57
57
|
|
|
58
58
|
// https://vitejs.dev/config/
|
|
59
59
|
export default defineConfig({
|
|
60
|
-
plugins: [intlayerPlugin(),
|
|
60
|
+
plugins: [intlayerPlugin(), intlayerMiddlewarePlugin()],
|
|
61
61
|
});
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
> `intlayerPlugin()` Vite 플러그인은 Intlayer를 Vite와 통합하는 데 사용됩니다. 이 플러그인은 콘텐츠 선언 파일을 빌드하고 개발 모드에서 이를 모니터링하는 기능을 보장합니다. 또한 Vite 애플리케이션 내에서 Intlayer 환경 변수를 정의하며, 성능 최적화를 위해 별칭(alias)을 제공합니다.
|
|
65
65
|
|
|
66
|
-
> `
|
|
66
|
+
> `intlayerMiddlewarePlugin()`은 애플리케이션에 서버 사이드 라우팅을 추가합니다. 이 플러그인은 URL을 기반으로 현재 로케일을 자동으로 감지하고 적절한 로케일 쿠키를 설정합니다. 로케일이 지정되지 않은 경우, 사용자의 브라우저 언어 설정을 기반으로 가장 적합한 로케일을 결정합니다. 만약 로케일이 감지되지 않으면 기본 로케일로 리디렉션합니다.
|
|
67
67
|
|
|
68
68
|
## Vite 애플리케이션의 국제화 마스터하기
|
|
69
69
|
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://intlayer.org">
|
|
3
|
+
<img src="https://raw.githubusercontent.com/aymericzip/intlayer/main/docs/assets/cover.png" width="60%" alt="Intlayer 로고" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<h1 align="center">
|
|
8
|
+
<strong> Intlayer : AI 기반 번역 및 CMS를 갖춘 오픈 소스, 유연한 i18n 툴킷입니다.</strong>
|
|
9
|
+
</h1>
|
|
10
|
+
|
|
11
|
+
<br />
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://intlayer.org/doc/concept/content">문서</a> •
|
|
15
|
+
<a href="https://intlayer.org/doc/environment/nextjs">Next.js</a> •
|
|
16
|
+
<a href="https://intlayer.org/doc/environment/vite-and-react">React + Vite</a> •
|
|
17
|
+
<a href="https://intlayer.org/doc/concept/cms">CMS</a> •
|
|
18
|
+
<a href="https://discord.gg/7uxamYVeCk">Discord</a>
|
|
19
|
+
</p>
|
|
20
|
+
<p align="center" style="margin-top:15px;">
|
|
21
|
+
<a href="https://www.npmjs.com/package/intlayer" target="_blank"><img src="https://img.shields.io/npm/v/intlayer?style=for-the-badge&labelColor=FFFFFF&color=000000&logoColor=FFFFFF" alt="npm 버전" height="24"/>
|
|
22
|
+
</a>
|
|
23
|
+
<a href="https://github.com/aymericzip/intlayer/stargazers" target="_blank"><img src="https://img.shields.io/github/stars/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logo=github&logoColor=FFD700" alt="GitHub 스타" height="24"/>
|
|
24
|
+
</a>
|
|
25
|
+
<a href="https://www.npmjs.org/package/intlayer" target="_blank"><img src="https://img.shields.io/npm/dm/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000" alt="월간 다운로드" height="24"/>
|
|
26
|
+
</a>
|
|
27
|
+
<a href="https://github.com/aymericzip/intlayer/blob/main/LICENSE"><img src="https://img.shields.io/github/license/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000" alt="라이선스"/>
|
|
28
|
+
</a>
|
|
29
|
+
<a href="https://github.com/aymericzip/intlayer/commits/main"><img src="https://img.shields.io/github/last-commit/aymericzip/intlayer?style=for-the-badge&labelColor=000000&color=FFFFFF&logoColor=000000" alt="마지막 커밋"/>
|
|
30
|
+
</a>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
<a href="https://intlayer.org/doc/concept/content">
|
|
36
|
+
<img src="https://img.shields.io/badge/시작하기-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
37
|
+
</a>
|
|
38
|
+
|
|
39
|
+
## Intlayer란 무엇인가요?
|
|
40
|
+
|
|
41
|
+
대부분의 i18n 라이브러리는 너무 복잡하거나 너무 경직되어 있거나 최신 프레임워크에 맞게 만들어지지 않았습니다.
|
|
42
|
+
|
|
43
|
+
Intlayer는 웹 및 모바일 앱을 위한 **최신 i18n 솔루션**입니다.
|
|
44
|
+
프레임워크에 구애받지 않으며, **AI 기반**이고 무료 **CMS 및 시각적 편집기**를 포함합니다.
|
|
45
|
+
|
|
46
|
+
**로케일별 콘텐츠 파일**, **TypeScript 자동완성**, **트리 쉐이커 가능한 사전**, 그리고 **CI/CD 통합**을 통해 Intlayer는 국제화를 **더 빠르고, 더 깔끔하며, 더 스마트하게** 만듭니다.
|
|
47
|
+
|
|
48
|
+
## Intlayer의 주요 이점:
|
|
49
|
+
|
|
50
|
+
| 기능 | 설명 |
|
|
51
|
+
| --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true" alt="기능" width="700"> | **크로스 프레임워크 지원**<br><br>Intlayer는 Next.js, React, Vite, Vue.js, Nuxt, Preact, Express 등 주요 프레임워크와 라이브러리를 모두 지원합니다. |
|
|
53
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.png?raw=true" alt="Feature" width="700"> | **JavaScript 기반 콘텐츠 관리**<br><br>JavaScript의 유연성을 활용하여 콘텐츠를 효율적으로 정의하고 관리하세요. <br><br> - [콘텐츠 선언](https://intlayer.org/doc/concept/content) |
|
|
54
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true" alt="Feature" width="700"> | **로케일별 콘텐츠 선언 파일**<br><br>자동 생성 전에 콘텐츠를 한 번 선언하여 개발 속도를 높이세요.<br><br> - [로케일별 콘텐츠 선언 파일](https://intlayer.org/doc/concept/per-locale-file) |
|
|
55
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true" alt="Feature" width="700"> | **타입 안전 환경**<br><br>TypeScript를 활용하여 콘텐츠 정의와 코드가 오류 없이 작성되도록 보장하고, IDE 자동 완성 기능의 이점도 누리세요.<br><br> - [TypeScript 설정](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
56
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true" alt="기능" width="700"> | **간편한 설정**<br><br>최소한의 구성으로 빠르게 시작하세요. 국제화, 라우팅, AI, 빌드 및 콘텐츠 처리 설정을 손쉽게 조정할 수 있습니다. <br><br> - [Next.js 통합 탐색](https://intlayer.org/doc/environment/nextjs) |
|
|
57
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true" alt="Feature" width="700"> | **간소화된 콘텐츠 조회**<br><br>각 콘텐츠마다 `t` 함수를 호출할 필요가 없습니다. 단일 훅을 사용하여 모든 콘텐츠를 직접 조회하세요.<br><br> - [React 통합](https://intlayer.org/doc/environment/create-react-app) |
|
|
58
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true" alt="Feature" width="700"> | **일관된 서버 컴포넌트 구현**<br><br>Next.js 서버 컴포넌트에 완벽하게 적합하며, 클라이언트와 서버 컴포넌트 모두에 동일한 구현을 사용하세요. 각 서버 컴포넌트마다 `t` 함수를 전달할 필요가 없습니다. <br><br> - [서버 컴포넌트](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
59
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true" alt="Feature" width="700"> | **체계적인 코드베이스**<br><br>코드베이스를 더 체계적으로 유지하세요: 1 컴포넌트 = 같은 폴더 내 1 사전. 각 컴포넌트에 가까운 번역으로 유지보수성과 명확성을 향상시킵니다. <br><br> - [Intlayer 작동 방식](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
60
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true" alt="Feature" width="700"> | **향상된 라우팅**<br><br>Next.js, React, Vite, Vue.js 등 복잡한 애플리케이션 구조에 원활하게 적응하는 앱 라우팅을 완벽하게 지원합니다.<br><br> - [Next.js 통합 탐색](https://intlayer.org/doc/environment/nextjs) |
|
|
61
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true" alt="Feature" width="700"> | **마크다운 지원**<br><br>개인정보 처리방침, 문서 등 다국어 콘텐츠를 위해 로케일 파일과 원격 마크다운을 가져와 해석합니다. 마크다운 메타데이터를 해석하여 코드 내에서 접근할 수 있도록 합니다.<br><br> - [콘텐츠 파일](https://intlayer.org/doc/concept/content/file) |
|
|
62
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true" alt="Feature" width="700"> | **무료 비주얼 에디터 및 CMS**<br><br>콘텐츠 작성자를 위한 무료 비주얼 에디터와 CMS가 제공되어 로컬라이제이션 플랫폼이 필요 없습니다. Git을 사용하여 콘텐츠를 동기화 상태로 유지하거나 CMS를 통해 콘텐츠를 완전히 또는 부분적으로 외부화할 수 있습니다.<br><br> - [Intlayer 에디터](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
63
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true" alt="Feature" width="700"> | **트리 쉐이커블 콘텐츠**<br><br>최종 번들의 크기를 줄이는 트리 쉐이커블 콘텐츠입니다. 각 컴포넌트별로 콘텐츠를 로드하여 사용하지 않는 콘텐츠는 번들에서 제외합니다. 앱 로딩 효율을 높이기 위해 지연 로딩도 지원합니다. <br><br> - [앱 빌드 최적화](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
64
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true" alt="Feature" width="700"> | **정적 렌더링**<br><br>정적 렌더링을 차단하지 않습니다. <br><br> - [Next.js 통합](https://intlayer.org/doc/environment/nextjs) |
|
|
65
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true" alt="Feature" width="700"> | **AI 기반 번역**<br><br>Intlayer의 고급 AI 기반 번역 도구를 사용하여 단 한 번의 클릭으로 웹사이트를 231개 언어로 변환하세요. 자체 AI 제공자 / API 키를 사용할 수 있습니다. <br><br> - [CI/CD 통합](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [자동 채우기](https://intlayer.org/doc/concept/auto-fill) |
|
|
66
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true" alt="기능" width="700"> | **MCP 서버 통합**<br><br>IDE 자동화를 위한 MCP(모델 컨텍스트 프로토콜) 서버를 제공하여 개발 환경 내에서 원활한 콘텐츠 관리 및 국제화(i18n) 워크플로우를 가능하게 합니다. <br><br> - [MCP 서버](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/mcp_server.md) |
|
|
67
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true" alt="Feature" width="700"> | **VSCode 확장 기능**<br><br>Intlayer는 콘텐츠 및 번역 관리를 돕기 위해 VSCode 확장 기능을 제공합니다. 사전 구축, 콘텐츠 번역 등 다양한 기능을 지원합니다. <br><br> - [VSCode 확장 기능](https://intlayer.org/doc/ko/vs-code-extension) |
|
|
68
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true" alt="Feature" width="700"> | **상호 운용성**<br><br>react-i18next, next-i18next, next-intl, react-intl과의 상호 운용성을 지원합니다. <br><br> - [Intlayer와 react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer와 next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer와 next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 📦 설치
|
|
73
|
+
|
|
74
|
+
오늘부터 Intlayer와 함께 여정을 시작하고, 더 원활하고 강력한 국제화 방식을 경험해 보세요.
|
|
75
|
+
|
|
76
|
+
<a href="https://intlayer.org/doc/concept/content">
|
|
77
|
+
<img src="https://img.shields.io/badge/Get_Started-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
78
|
+
</a>
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install intlayer react-intlayer
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
⚡ 빠른 시작 (Next.js)
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
// intlayer.config.ts
|
|
88
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
89
|
+
|
|
90
|
+
const config: IntlayerConfig = {
|
|
91
|
+
internationalization: {
|
|
92
|
+
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
93
|
+
defaultLocale: Locales.ENGLISH,
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export default config;
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
```tsx
|
|
101
|
+
// app/page.tsx
|
|
102
|
+
import { useIntlayer } from "react-intlayer";
|
|
103
|
+
|
|
104
|
+
const Component = () => {
|
|
105
|
+
const { title } = useIntlayer("home");
|
|
106
|
+
|
|
107
|
+
return <h1>{title}</h1>;
|
|
108
|
+
};
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
<a href="https://intlayer.org/doc/environment/nextjs"> 전체 가이드 보기 → </a>
|
|
112
|
+
|
|
113
|
+
## 🎥 YouTube 라이브 튜토리얼
|
|
114
|
+
|
|
115
|
+
[](https://youtu.be/e_PPG7PTqGU?si=GyU_KpVhr61razRw)
|
|
116
|
+
|
|
117
|
+
<a href="https://intlayer.org/doc/concept/content">
|
|
118
|
+
<img src="https://img.shields.io/badge/Get_Started-FFFFFF?style=for-the-badge&logo=rocket&logoColor=black" />
|
|
119
|
+
</a>
|
|
120
|
+
|
|
121
|
+
## 목차
|
|
122
|
+
|
|
123
|
+
Intlayer를 시작하고 프로젝트에 통합하는 방법을 배우기 위해 종합적인 문서를 탐색하세요.
|
|
124
|
+
|
|
125
|
+
<details open>
|
|
126
|
+
<summary style="font-size:16px; font-weight:bold;">📘 시작하기</summary>
|
|
127
|
+
<ul>
|
|
128
|
+
<li><a href="https://intlayer.org/doc/why">왜 Intlayer인가?</a></li>
|
|
129
|
+
<li><a href="https://intlayer.org/doc">소개</a></li>
|
|
130
|
+
</ul>
|
|
131
|
+
</details>
|
|
132
|
+
|
|
133
|
+
<details>
|
|
134
|
+
<summary style="font-size:16px; font-weight:bold;">⚙️ 개념</summary>
|
|
135
|
+
<ul>
|
|
136
|
+
<li><a href="https://intlayer.org/doc/concept/how-works-intlayer">Intlayer 작동 방식</a></li>
|
|
137
|
+
<li><a href="https://intlayer.org/doc/concept/configuration">구성</a></li>
|
|
138
|
+
<li><a href="https://intlayer.org/doc/concept/ai">AI 제공자</a></li>
|
|
139
|
+
<li><a href="https://intlayer.org/doc/concept/cli">Intlayer CLI</a></li>
|
|
140
|
+
<li><a href="https://intlayer.org/doc/concept/editor">Intlayer 에디터</a></li>
|
|
141
|
+
<li><a href="https://intlayer.org/doc/concept/cms">Intlayer CMS</a></li>
|
|
142
|
+
<li><a href="https://intlayer.org/doc/concept/content">사전</a>
|
|
143
|
+
<ul>
|
|
144
|
+
<li><a href="https://intlayer.org/doc/concept/content/per-locale-file">로케일별 콘텐츠 선언 파일</a></li>
|
|
145
|
+
<li><a href="https://intlayer.org/doc/concept/content/translation">번역</a></li>
|
|
146
|
+
<li><a href="https://intlayer.org/doc/concept/content/enumeration">열거형</a></li>
|
|
147
|
+
<li><a href="https://intlayer.org/doc/concept/content/condition">조건</a></li>
|
|
148
|
+
<li><a href="https://intlayer.org/doc/concept/content/nesting">중첩</a></li>
|
|
149
|
+
<li><a href="https://intlayer.org/doc/concept/content/markdown">마크다운</a></li>
|
|
150
|
+
<li><a href="https://intlayer.org/doc/concept/content/function-fetching">함수 호출</a></li>
|
|
151
|
+
<li><a href="https://intlayer.org/doc/concept/content/insertion">삽입</a></li>
|
|
152
|
+
<li><a href="https://intlayer.org/doc/concept/content/file">파일</a></li>
|
|
153
|
+
</ul>
|
|
154
|
+
</li>
|
|
155
|
+
</ul>
|
|
156
|
+
</details>
|
|
157
|
+
|
|
158
|
+
<details open>
|
|
159
|
+
<summary style="font-size:16px; font-weight:bold;">🌐 환경</summary>
|
|
160
|
+
<ul>
|
|
161
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs">Next.js 15와 함께하는 Intlayer</a>
|
|
162
|
+
<ul>
|
|
163
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/14">Next.js 14 (앱 라우터)</a></li>
|
|
164
|
+
<li><a href="https://intlayer.org/doc/environment/nextjs/next-with-Page-Router">Next.js 페이지 라우터</a></li>
|
|
165
|
+
</ul>
|
|
166
|
+
</li>
|
|
167
|
+
<li><a href="https://intlayer.org/doc/environment/create-react-app">React CRA</a></li>
|
|
168
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react">Vite + React</a>
|
|
169
|
+
<ul>
|
|
170
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react/react-router-v7">React-router-v7</a></li>
|
|
171
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-react/tanstack-start">Tanstack 시작</a></li>
|
|
172
|
+
</ul>
|
|
173
|
+
</li>
|
|
174
|
+
<li><a href="https://intlayer.org/doc/environment/react-native-and-expo">React Native</a></li>
|
|
175
|
+
<li><a href="https://intlayer.org/doc/environment/lynx-and-react">Lynx + React</a></li>
|
|
176
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-svelte">Vite + Svelte</a></li>
|
|
177
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-preact">Vite + Preact</a></li>
|
|
178
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-vue">Vite + Vue</a></li>
|
|
179
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-nuxt">Vite + Nuxt</a></li>
|
|
180
|
+
<li><a href="https://intlayer.org/doc/environment/vite-and-solid">Vite + Solid</a></li>
|
|
181
|
+
<li><a href="https://intlayer.org/doc/environment/angular">앵귤러 (Angular)</a></li>
|
|
182
|
+
<li><a href="https://intlayer.org/doc/environment/express">익스프레스 (Express)</a></li>
|
|
183
|
+
<li><a href="https://intlayer.org/doc/environment/nest">네스트JS (NestJS)</a></li>
|
|
184
|
+
</ul>
|
|
185
|
+
</details>
|
|
186
|
+
|
|
187
|
+
<details>
|
|
188
|
+
<summary style="font-size:16px; font-weight:bold;">📰 블로그</summary>
|
|
189
|
+
<ul>
|
|
190
|
+
<li><a href="https://github.com/aymericzip/intlayer/blob/main/docs/blog/en/what_is_internationalization.md">i18n이란 무엇인가</a></li>
|
|
191
|
+
<li><a href="https://intlayer.org/blog/SEO-and-i18n">i18n과 SEO</a></li>
|
|
192
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-next-i18next">Intlayer와 i18next</a></li>
|
|
193
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-react-i18next">Intlayer와 react-intl</a></li>
|
|
194
|
+
<li><a href="https://intlayer.org/blog/intlayer-with-next-intl">Intlayer와 next-intl</a></li>
|
|
195
|
+
</ul>
|
|
196
|
+
</details>
|
|
197
|
+
|
|
198
|
+
## 🌐 다른 언어로 된 Readme
|
|
199
|
+
|
|
200
|
+
[English](https://github.com/aymericzip/intlayer/blob/main/readme.md) •
|
|
201
|
+
[简体中文](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/readme.md) •
|
|
202
|
+
[Русский](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/readme.md) •
|
|
203
|
+
[日本語](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/readme.md) •
|
|
204
|
+
[Français](https://github.com/aymericzip/intlayer/blob/main/docs/docs/fr/readme.md) •
|
|
205
|
+
[한국어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/readme.md) •
|
|
206
|
+
[Español](https://github.com/aymericzip/intlayer/blob/main/docs/docs/es/readme.md) •
|
|
207
|
+
[독일어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/readme.md) •
|
|
208
|
+
[아랍어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ar/readme.md) •
|
|
209
|
+
[이탈리아어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/readme.md) •
|
|
210
|
+
[영국 영어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en-GB/readme.md) •
|
|
211
|
+
[포르투갈어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/readme.md) •
|
|
212
|
+
[힌디어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/readme.md)
|
|
213
|
+
[터키어](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/readme.md)
|
|
214
|
+
|
|
215
|
+
## 🤝 커뮤니티
|
|
216
|
+
|
|
217
|
+
Intlayer는 커뮤니티와 함께, 그리고 커뮤니티를 위해 만들어졌으며 여러분의 의견을 기다립니다!
|
|
218
|
+
|
|
219
|
+
- 제안이 있으신가요? [이슈 열기](https://github.com/aymericzip/intlayer/issues)
|
|
220
|
+
- 버그나 개선 사항을 발견하셨나요? [PR 제출하기](https://github.com/aymericzip/intlayer/pulls)
|
|
221
|
+
- 도움이 필요하거나 소통하고 싶으신가요? [디스코드에 참여하기](https://discord.gg/7uxamYVeCk)
|
|
222
|
+
|
|
223
|
+
다음 채널에서도 저희를 팔로우할 수 있습니다:
|
|
224
|
+
|
|
225
|
+
<div>
|
|
226
|
+
<br/>
|
|
227
|
+
<p align="center">
|
|
228
|
+
<a href="https://discord.gg/528mBV4N" target="blank"><img align="center"
|
|
229
|
+
src="https://img.shields.io/badge/discord-5865F2.svg?style=for-the-badge&logo=discord&logoColor=white"
|
|
230
|
+
alt="Intlayer Discord" height="30"/></a>
|
|
231
|
+
<a href="https://www.linkedin.com/company/intlayerorg" target="blank"><img align="center"
|
|
232
|
+
src="https://img.shields.io/badge/linkedin-%231DA1F2.svg?style=for-the-badge&logo=linkedin&logoColor=white"
|
|
233
|
+
alt="Intlayer LinkedIn" height="30"/></a>
|
|
234
|
+
<a href="https://www.facebook.com/intlayer" target="blank"><img align="center"
|
|
235
|
+
src="https://img.shields.io/badge/facebook-4267B2.svg?style=for-the-badge&logo=facebook&logoColor=white"
|
|
236
|
+
alt="Intlayer 페이스북" height="30"/></a>
|
|
237
|
+
<a href="https://www.instagram.com/intlayer/" target="blank"><img align="center"
|
|
238
|
+
src="https://img.shields.io/badge/instagram-%23E4405F.svg?style=for-the-badge&logo=Instagram&logoColor=white"
|
|
239
|
+
alt="Intlayer 인스타그램" height="30"/></a>
|
|
240
|
+
<a href="https://x.com/Intlayer183096" target="blank"><img align="center"
|
|
241
|
+
src="https://img.shields.io/badge/x-1DA1F2.svg?style=for-the-badge&logo=x&logoColor=white"
|
|
242
|
+
alt="Intlayer X" height="30"/></a>
|
|
243
|
+
<a href="https://www.youtube.com/@intlayer" target="blank"><img align="center"
|
|
244
|
+
src="https://img.shields.io/badge/youtube-FF0000.svg?style=for-the-badge&logo=youtube&logoColor=white"
|
|
245
|
+
alt="Intlayer 유튜브" height="30"/></a>
|
|
246
|
+
<a href="https://www.tiktok.com/@intlayer" target="blank"><img align="center"
|
|
247
|
+
src="https://img.shields.io/badge/tiktok-000000.svg?style=for-the-badge&logo=tiktok&logoColor=white"
|
|
248
|
+
alt="Intlayer 틱톡" height="30"/></a>
|
|
249
|
+
<br>
|
|
250
|
+
</p>
|
|
251
|
+
</div>
|
|
252
|
+
|
|
253
|
+
### 기여하기
|
|
254
|
+
|
|
255
|
+
이 프로젝트에 기여하기 위한 보다 자세한 지침은 [`CONTRIBUTING.md`](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md) 파일을 참조하세요. 이 파일에는 개발 프로세스, 커밋 메시지 규칙, 릴리스 절차에 관한 필수 정보가 포함되어 있습니다. 여러분의 기여는 저희에게 매우 소중하며, 이 프로젝트를 더 나아지게 만드는 여러분의 노력에 감사드립니다!
|
|
256
|
+
|
|
257
|
+
### 지원해 주셔서 감사합니다
|
|
258
|
+
|
|
259
|
+
Intlayer가 마음에 드신다면 GitHub에서 ⭐를 눌러주세요. 이는 다른 사람들이 이 프로젝트를 발견하는 데 도움이 됩니다!
|
|
260
|
+
|
|
261
|
+
[](https://star-history.com/#aymericzip/intlayer&Date)
|