@intlayer/docs 9.1.3 → 9.3.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/index.md +1 -1
- package/blog/ar/rag_powered_documentation_assistant.md +7 -0
- package/blog/de/index.md +1 -1
- package/blog/de/rag_powered_documentation_assistant.md +6 -0
- package/blog/en/index.md +1 -1
- package/blog/en-GB/index.md +1 -1
- package/blog/en-GB/rag_powered_documentation_assistant.md +6 -0
- package/blog/es/index.md +1 -1
- package/blog/es/rag_powered_documentation_assistant.md +7 -0
- package/blog/fr/i18n_meaning.md +7 -1
- package/blog/fr/index.md +1 -1
- package/blog/fr/list_i18n_technologies/frameworks/angular.md +5 -1
- package/blog/fr/rag_powered_documentation_assistant.md +6 -0
- package/blog/hi/index.md +1 -1
- package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +119 -42
- package/blog/hi/rag_powered_documentation_assistant.md +7 -0
- package/blog/id/index.md +1 -1
- package/blog/id/rag_powered_documentation_assistant.md +6 -0
- package/blog/it/index.md +1 -1
- package/blog/it/rag_powered_documentation_assistant.md +6 -0
- package/blog/ja/index.md +1 -1
- package/blog/ja/rag_powered_documentation_assistant.md +7 -0
- package/blog/ko/index.md +1 -1
- package/blog/ko/list_i18n_technologies/frameworks/react.md +7 -7
- package/blog/ko/rag_powered_documentation_assistant.md +6 -0
- package/blog/pl/index.md +1 -1
- package/blog/pl/rag_powered_documentation_assistant.md +6 -0
- package/blog/pt/index.md +1 -1
- package/blog/pt/rag_powered_documentation_assistant.md +6 -0
- package/blog/ru/index.md +1 -1
- package/blog/ru/rag_powered_documentation_assistant.md +7 -0
- package/blog/tr/intlayer_with_react-intl.md +3 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +175 -42
- package/blog/tr/rag_powered_documentation_assistant.md +6 -0
- package/blog/uk/index.md +1 -1
- package/blog/uk/rag_powered_documentation_assistant.md +6 -0
- package/blog/vi/index.md +1 -1
- package/blog/vi/rag_powered_documentation_assistant.md +6 -0
- package/blog/zh/index.md +1 -1
- package/blog/zh/intlayer_with_i18next.md +87 -28
- package/blog/zh/intlayer_with_next-i18next.md +86 -29
- package/blog/zh/intlayer_with_next-intl.md +88 -28
- package/blog/zh/intlayer_with_react-i18next.md +87 -28
- package/blog/zh/intlayer_with_react-intl.md +88 -27
- package/blog/zh/intlayer_with_vue-i18n.md +117 -8
- package/blog/zh/rag_powered_documentation_assistant.md +6 -0
- package/dist/cjs/common.cjs +24 -1
- package/dist/cjs/common.cjs.map +1 -1
- package/dist/cjs/generated/blog.entry.cjs +58 -31
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +265 -218
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +48 -21
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +33 -6
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/common.mjs +24 -1
- package/dist/esm/common.mjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +58 -31
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +265 -218
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +48 -21
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +33 -6
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- 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/analytics.md +222 -0
- package/docs/ar/autoFill.md +28 -9
- package/docs/ar/bundle_optimization.md +58 -25
- package/docs/ar/configuration.md +25 -8
- package/docs/ar/dictionary/file.md +3 -1
- package/docs/ar/dictionary/nesting.md +47 -30
- package/docs/ar/formatters.md +148 -193
- package/docs/ar/intlayer_CMS.md +152 -0
- package/docs/ar/intlayer_with_angular_21.md +9 -9
- package/docs/ar/intlayer_with_nextjs_14.md +1 -28
- package/docs/ar/intlayer_with_nextjs_15.md +1 -33
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +40 -83
- package/docs/ar/intlayer_with_solid_start.md +1078 -0
- package/docs/ar/intlayer_with_vite+vue.md +1 -3
- package/docs/ar/live-sync.md +4 -0
- package/docs/ar/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ar/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ar/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/ar/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/ar/packages/vite-intlayer/exports.md +15 -0
- package/docs/ar/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ar/packages/vite-intlayer/intlayerPrune.md +70 -3
- package/docs/ar/releases/v9.md +0 -37
- package/docs/ar/self_hosting.md +46 -49
- package/docs/bn/bundle_optimization.md +58 -25
- package/docs/bn/configuration.md +25 -8
- package/docs/bn/intlayer_with_angular_21.md +9 -9
- package/docs/cs/bundle_optimization.md +58 -25
- package/docs/cs/configuration.md +25 -8
- package/docs/cs/intlayer_with_angular_21.md +9 -9
- package/docs/de/analytics.md +222 -0
- package/docs/de/autoFill.md +28 -9
- package/docs/de/bundle_optimization.md +58 -25
- package/docs/de/configuration.md +25 -8
- package/docs/de/dictionary/file.md +3 -1
- package/docs/de/dictionary/nesting.md +47 -31
- package/docs/de/formatters.md +208 -334
- package/docs/de/intlayer_CMS.md +66 -15
- package/docs/de/intlayer_with_angular_21.md +9 -9
- package/docs/de/intlayer_with_nestjs.md +11 -7
- package/docs/de/intlayer_with_nextjs_14.md +1 -28
- package/docs/de/intlayer_with_nextjs_15.md +1 -33
- package/docs/de/intlayer_with_solid_start.md +1078 -0
- package/docs/de/intlayer_with_vite+vue.md +1 -3
- package/docs/de/live-sync.md +4 -0
- package/docs/de/packages/intlayer/getLocalizedUrl.md +33 -25
- package/docs/de/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/de/packages/react-intlayer/useDictionary.md +2 -5
- package/docs/de/packages/vite-intlayer/exports.md +15 -0
- package/docs/de/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/de/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/de/releases/v9.md +0 -15
- package/docs/de/self_hosting.md +46 -50
- package/docs/en/bundle_optimization.md +51 -23
- package/docs/en/cli/doc-review.md +13 -2
- package/docs/en/configuration.md +24 -15
- package/docs/en/intlayer_with_angular_21.md +9 -9
- package/docs/en/intlayer_with_solid_start.md +1091 -0
- package/docs/en/intlayer_with_vite+solid.md +12 -0
- package/docs/en/live-sync.md +4 -0
- package/docs/en-GB/analytics.md +222 -0
- package/docs/en-GB/autoFill.md +26 -7
- package/docs/en-GB/bundle_optimization.md +58 -25
- package/docs/en-GB/configuration.md +25 -8
- package/docs/en-GB/dictionary/file.md +2 -0
- package/docs/en-GB/dictionary/nesting.md +64 -205
- package/docs/en-GB/formatters.md +146 -181
- package/docs/en-GB/intlayer_CMS.md +152 -0
- package/docs/en-GB/intlayer_with_angular_21.md +9 -9
- package/docs/en-GB/intlayer_with_nestjs.md +6 -2
- package/docs/en-GB/intlayer_with_nextjs_14.md +0 -27
- package/docs/en-GB/intlayer_with_nextjs_15.md +1 -33
- package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +40 -82
- package/docs/en-GB/intlayer_with_solid_start.md +1078 -0
- package/docs/en-GB/intlayer_with_vite+vue.md +1 -3
- package/docs/en-GB/live-sync.md +4 -0
- package/docs/en-GB/packages/intlayer/getLocalizedUrl.md +30 -22
- package/docs/en-GB/packages/intlayer/getMultilingualUrls.md +16 -48
- package/docs/en-GB/packages/vite-intlayer/exports.md +15 -0
- package/docs/en-GB/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/en-GB/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/en-GB/self_hosting.md +60 -49
- package/docs/es/analytics.md +222 -0
- package/docs/es/autoFill.md +28 -9
- package/docs/es/bundle_optimization.md +58 -25
- package/docs/es/configuration.md +24 -7
- package/docs/es/dictionary/file.md +3 -1
- package/docs/es/dictionary/nesting.md +47 -30
- package/docs/es/formatters.md +114 -168
- package/docs/es/intlayer_CMS.md +35 -10
- package/docs/es/intlayer_with_angular_21.md +9 -9
- package/docs/es/intlayer_with_nextjs_14.md +1 -28
- package/docs/es/intlayer_with_nextjs_15.md +1 -33
- package/docs/es/intlayer_with_solid_start.md +1078 -0
- package/docs/es/live-sync.md +4 -0
- package/docs/es/packages/intlayer/getLocalizedUrl.md +31 -23
- package/docs/es/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/es/packages/vite-intlayer/exports.md +15 -0
- package/docs/es/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/es/packages/vite-intlayer/intlayerPrune.md +69 -2
- package/docs/es/releases/v9.md +0 -15
- package/docs/es/self_hosting.md +46 -49
- package/docs/fr/analytics.md +222 -0
- package/docs/fr/autoFill.md +27 -8
- package/docs/fr/bundle_optimization.md +58 -25
- package/docs/fr/configuration.md +25 -8
- package/docs/fr/dictionary/file.md +2 -0
- package/docs/fr/dictionary/nesting.md +37 -184
- package/docs/fr/formatters.md +95 -236
- package/docs/fr/intlayer_CMS.md +66 -15
- package/docs/fr/intlayer_with_angular_21.md +9 -9
- package/docs/fr/intlayer_with_nextjs_14.md +1 -28
- package/docs/fr/intlayer_with_nextjs_15.md +1 -33
- package/docs/fr/intlayer_with_solid_start.md +1078 -0
- package/docs/fr/live-sync.md +4 -0
- package/docs/fr/packages/intlayer/getLocalizedUrl.md +37 -27
- package/docs/fr/packages/intlayer/getMultilingualUrls.md +18 -20
- package/docs/fr/packages/vite-intlayer/exports.md +15 -0
- package/docs/fr/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/fr/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/fr/releases/v9.md +0 -15
- package/docs/fr/self_hosting.md +46 -49
- package/docs/hi/analytics.md +222 -0
- package/docs/hi/autoFill.md +28 -9
- package/docs/hi/bundle_optimization.md +58 -25
- package/docs/hi/configuration.md +25 -8
- package/docs/hi/dictionary/file.md +3 -1
- package/docs/hi/dictionary/nesting.md +47 -30
- package/docs/hi/formatters.md +233 -334
- package/docs/hi/how_works_intlayer.md +3 -1
- package/docs/hi/intlayer_CMS.md +152 -0
- package/docs/hi/intlayer_with_angular_21.md +9 -9
- package/docs/hi/intlayer_with_nestjs.md +11 -7
- package/docs/hi/intlayer_with_nextjs_14.md +1 -28
- package/docs/hi/intlayer_with_nextjs_15.md +1 -33
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +40 -83
- package/docs/hi/intlayer_with_solid_start.md +1077 -0
- package/docs/hi/intlayer_with_vite+preact.md +56 -49
- package/docs/hi/intlayer_with_vite+react.md +48 -41
- package/docs/hi/intlayer_with_vite+solid.md +32 -41
- package/docs/hi/intlayer_with_vite+vue.md +49 -44
- package/docs/hi/live-sync.md +4 -0
- package/docs/hi/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/hi/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/hi/packages/next-intlayer/t.md +33 -1
- package/docs/hi/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/hi/packages/vite-intlayer/exports.md +15 -0
- package/docs/hi/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/hi/packages/vite-intlayer/intlayerPrune.md +78 -5
- package/docs/hi/plugins/sync-json.md +9 -9
- package/docs/hi/releases/v9.md +0 -15
- package/docs/hi/self_hosting.md +38 -51
- package/docs/id/analytics.md +223 -0
- package/docs/id/bundle_optimization.md +58 -25
- package/docs/id/configuration.md +25 -8
- package/docs/id/dictionary/nesting.md +37 -184
- package/docs/id/formatters.md +208 -305
- package/docs/id/intlayer_CMS.md +164 -0
- package/docs/id/intlayer_with_angular_21.md +9 -9
- package/docs/id/intlayer_with_nextjs_14.md +1 -26
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +70 -63
- package/docs/id/intlayer_with_solid_start.md +1078 -0
- package/docs/id/live-sync.md +4 -0
- package/docs/id/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/id/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/id/packages/vite-intlayer/exports.md +15 -0
- package/docs/id/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/id/packages/vite-intlayer/intlayerPrune.md +78 -5
- package/docs/id/releases/v9.md +12 -0
- package/docs/id/self_hosting.md +61 -50
- package/docs/it/analytics.md +222 -0
- package/docs/it/autoFill.md +27 -8
- package/docs/it/bundle_optimization.md +58 -25
- package/docs/it/configuration.md +25 -8
- package/docs/it/dictionary/file.md +3 -1
- package/docs/it/dictionary/nesting.md +47 -30
- package/docs/it/formatters.md +114 -168
- package/docs/it/intlayer_CMS.md +66 -15
- package/docs/it/intlayer_with_angular_21.md +9 -9
- package/docs/it/intlayer_with_nestjs.md +11 -7
- package/docs/it/intlayer_with_nextjs_14.md +1 -28
- package/docs/it/intlayer_with_nextjs_15.md +1 -33
- package/docs/it/intlayer_with_solid_start.md +1078 -0
- package/docs/it/intlayer_with_vite+vue.md +1 -3
- package/docs/it/live-sync.md +4 -0
- package/docs/it/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/it/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/it/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/it/packages/vite-intlayer/exports.md +15 -0
- package/docs/it/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/it/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/it/releases/v9.md +0 -15
- package/docs/it/self_hosting.md +60 -49
- package/docs/ja/analytics.md +222 -0
- package/docs/ja/autoFill.md +28 -9
- package/docs/ja/bundle_optimization.md +58 -25
- package/docs/ja/configuration.md +25 -8
- package/docs/ja/dictionary/content_file.md +15 -7
- package/docs/ja/dictionary/file.md +3 -1
- package/docs/ja/dictionary/nesting.md +47 -30
- package/docs/ja/formatters.md +133 -187
- package/docs/ja/intlayer_visual_editor.md +3 -1
- package/docs/ja/intlayer_with_angular_21.md +6 -6
- package/docs/ja/intlayer_with_nestjs.md +2 -12
- package/docs/ja/intlayer_with_nextjs_14.md +1 -28
- package/docs/ja/intlayer_with_nextjs_15.md +1 -33
- package/docs/ja/intlayer_with_react_router_v7.md +456 -20
- package/docs/ja/intlayer_with_solid_start.md +1078 -0
- package/docs/ja/intlayer_with_vite+preact.md +73 -41
- package/docs/ja/intlayer_with_vite+vue.md +1 -3
- package/docs/ja/live-sync.md +4 -0
- package/docs/ja/mcp_server.md +3 -9
- package/docs/ja/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ja/packages/intlayer/getMultilingualUrls.md +3 -17
- package/docs/ja/packages/vite-intlayer/exports.md +15 -0
- package/docs/ja/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ja/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/ja/releases/v9.md +12 -0
- package/docs/ja/self_hosting.md +46 -50
- package/docs/ko/analytics.md +222 -0
- package/docs/ko/autoFill.md +28 -9
- package/docs/ko/bundle_optimization.md +58 -25
- package/docs/ko/configuration.md +25 -8
- package/docs/ko/dictionary/file.md +3 -1
- package/docs/ko/dictionary/nesting.md +47 -30
- package/docs/ko/formatters.md +133 -187
- package/docs/ko/intlayer_with_angular_21.md +9 -9
- package/docs/ko/intlayer_with_lynx+react.md +133 -39
- package/docs/ko/intlayer_with_nextjs_14.md +1 -28
- package/docs/ko/intlayer_with_nextjs_15.md +1 -33
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +40 -188
- package/docs/ko/intlayer_with_solid_start.md +1078 -0
- package/docs/ko/intlayer_with_vite+preact.md +57 -23
- package/docs/ko/intlayer_with_vite+vue.md +1 -3
- package/docs/ko/live-sync.md +4 -0
- package/docs/ko/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/ko/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ko/packages/vite-intlayer/exports.md +15 -0
- package/docs/ko/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ko/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/ko/releases/v9.md +12 -0
- package/docs/ko/self_hosting.md +60 -49
- package/docs/nl/bundle_optimization.md +58 -25
- package/docs/nl/configuration.md +25 -8
- package/docs/nl/intlayer_with_angular_21.md +9 -9
- package/docs/pl/analytics.md +220 -0
- package/docs/pl/bundle_optimization.md +58 -25
- package/docs/pl/configuration.md +25 -8
- package/docs/pl/dictionary/nesting.md +47 -30
- package/docs/pl/formatters.md +208 -305
- package/docs/pl/intlayer_CMS.md +152 -0
- package/docs/pl/intlayer_with_angular_21.md +9 -9
- package/docs/pl/intlayer_with_nextjs_14.md +1 -26
- package/docs/pl/intlayer_with_solid_start.md +1078 -0
- package/docs/pl/live-sync.md +4 -0
- package/docs/pl/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/pl/packages/react-intlayer/useDictionary.md +2 -19
- package/docs/pl/packages/vite-intlayer/exports.md +15 -0
- package/docs/pl/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/pl/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/pl/releases/v9.md +0 -15
- package/docs/pl/self_hosting.md +60 -49
- package/docs/pt/analytics.md +222 -0
- package/docs/pt/bundle_optimization.md +58 -24
- package/docs/pt/configuration.md +25 -8
- package/docs/pt/dictionary/file.md +3 -1
- package/docs/pt/dictionary/nesting.md +47 -30
- package/docs/pt/formatters.md +112 -168
- package/docs/pt/intlayer_CMS.md +66 -15
- package/docs/pt/intlayer_with_angular_21.md +9 -9
- package/docs/pt/intlayer_with_astro_lit.md +26 -1
- package/docs/pt/intlayer_with_nextjs_14.md +1 -28
- package/docs/pt/intlayer_with_nextjs_15.md +1 -33
- package/docs/pt/intlayer_with_solid_start.md +1078 -0
- package/docs/pt/intlayer_with_vite+vue.md +1 -3
- package/docs/pt/live-sync.md +4 -0
- package/docs/pt/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/pt/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/pt/packages/vite-intlayer/exports.md +15 -0
- package/docs/pt/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/pt/packages/vite-intlayer/intlayerPrune.md +78 -6
- package/docs/pt/releases/v9.md +0 -15
- package/docs/pt/self_hosting.md +60 -49
- package/docs/ru/analytics.md +222 -0
- package/docs/ru/autoFill.md +27 -8
- package/docs/ru/bundle_optimization.md +58 -25
- package/docs/ru/configuration.md +25 -8
- package/docs/ru/dictionary/file.md +3 -1
- package/docs/ru/dictionary/nesting.md +64 -205
- package/docs/ru/formatters.md +108 -128
- package/docs/ru/intlayer_with_angular_21.md +9 -9
- package/docs/ru/intlayer_with_nextjs_14.md +1 -28
- package/docs/ru/intlayer_with_nextjs_15.md +1 -33
- package/docs/ru/intlayer_with_solid_start.md +1078 -0
- package/docs/ru/intlayer_with_vite+vue.md +1 -3
- package/docs/ru/live-sync.md +4 -0
- package/docs/ru/packages/intlayer/getLocalizedUrl.md +34 -26
- package/docs/ru/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/ru/packages/react-intlayer/useDictionary.md +4 -21
- package/docs/ru/packages/vite-intlayer/exports.md +15 -0
- package/docs/ru/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/ru/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/ru/releases/v9.md +0 -15
- package/docs/ru/self_hosting.md +60 -49
- package/docs/tr/analytics.md +222 -0
- package/docs/tr/autoFill.md +28 -9
- package/docs/tr/bundle_optimization.md +58 -25
- package/docs/tr/configuration.md +25 -8
- package/docs/tr/dictionary/file.md +2 -0
- package/docs/tr/dictionary/nesting.md +47 -30
- package/docs/tr/formatters.md +144 -190
- package/docs/tr/intlayer_CMS.md +152 -0
- package/docs/tr/intlayer_with_angular_21.md +9 -9
- package/docs/tr/intlayer_with_nestjs.md +2 -12
- package/docs/tr/intlayer_with_nextjs_15.md +1 -33
- package/docs/tr/intlayer_with_solid_start.md +1078 -0
- package/docs/tr/intlayer_with_vite+vue.md +1 -3
- package/docs/tr/live-sync.md +4 -0
- package/docs/tr/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/tr/packages/vite-intlayer/exports.md +15 -0
- package/docs/tr/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/tr/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/tr/self_hosting.md +47 -50
- package/docs/uk/analytics.md +222 -0
- package/docs/uk/bundle_optimization.md +58 -25
- package/docs/uk/configuration.md +25 -8
- package/docs/uk/dictionary/nesting.md +47 -30
- package/docs/uk/formatters.md +128 -185
- package/docs/uk/intlayer_CMS.md +152 -0
- package/docs/uk/intlayer_with_angular_21.md +9 -9
- package/docs/uk/intlayer_with_nextjs_14.md +1 -26
- package/docs/uk/intlayer_with_solid_start.md +1078 -0
- package/docs/uk/live-sync.md +4 -0
- package/docs/uk/packages/react-intlayer/useDictionary.md +2 -19
- package/docs/uk/packages/vite-intlayer/exports.md +15 -0
- package/docs/uk/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/uk/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/uk/releases/v9.md +0 -15
- package/docs/uk/self_hosting.md +60 -50
- package/docs/ur/bundle_optimization.md +58 -25
- package/docs/ur/configuration.md +25 -8
- package/docs/ur/intlayer_with_angular_21.md +9 -9
- package/docs/vi/analytics.md +222 -0
- package/docs/vi/bundle_optimization.md +58 -25
- package/docs/vi/configuration.md +24 -8
- package/docs/vi/dictionary/nesting.md +37 -184
- package/docs/vi/formatters.md +208 -309
- package/docs/vi/intlayer_CMS.md +164 -0
- package/docs/vi/intlayer_with_angular_21.md +9 -9
- package/docs/vi/intlayer_with_nextjs_14.md +0 -25
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +70 -63
- package/docs/vi/intlayer_with_solid_start.md +1078 -0
- package/docs/vi/live-sync.md +4 -0
- package/docs/vi/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/vi/packages/react-intlayer/useIntlayer.md +2 -2
- package/docs/vi/packages/vite-intlayer/exports.md +15 -0
- package/docs/vi/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/vi/packages/vite-intlayer/intlayerPrune.md +77 -4
- package/docs/vi/plugins/sync-json.md +6 -6
- package/docs/vi/releases/v9.md +12 -0
- package/docs/vi/self_hosting.md +61 -50
- package/docs/zh/CI_CD.md +4 -0
- package/docs/zh/analytics.md +222 -0
- package/docs/zh/autoFill.md +28 -9
- package/docs/zh/bundle_optimization.md +58 -25
- package/docs/zh/configuration.md +24 -8
- package/docs/zh/dictionary/file.md +2 -0
- package/docs/zh/dictionary/nesting.md +47 -30
- package/docs/zh/formatters.md +140 -188
- package/docs/zh/intlayer_CMS.md +164 -0
- package/docs/zh/intlayer_with_analog.md +193 -3
- package/docs/zh/intlayer_with_angular_19.md +272 -3
- package/docs/zh/intlayer_with_angular_21.md +7 -7
- package/docs/zh/intlayer_with_create_react_app.md +348 -26
- package/docs/zh/intlayer_with_lynx+react.md +263 -4
- package/docs/zh/intlayer_with_nextjs_14.md +1 -28
- package/docs/zh/intlayer_with_nextjs_15.md +1 -33
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +558 -1
- package/docs/zh/intlayer_with_nuxt.md +182 -7
- package/docs/zh/intlayer_with_react_router_v7.md +183 -25
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +306 -42
- package/docs/zh/intlayer_with_solid_start.md +1077 -0
- package/docs/zh/intlayer_with_storybook.md +260 -3
- package/docs/zh/intlayer_with_svelte_kit.md +428 -48
- package/docs/zh/intlayer_with_tanstack+solid.md +713 -13
- package/docs/zh/intlayer_with_tanstack.md +731 -20
- package/docs/zh/intlayer_with_vanilla.md +314 -4
- package/docs/zh/intlayer_with_vite+lit.md +465 -4
- package/docs/zh/intlayer_with_vite+preact.md +422 -116
- package/docs/zh/intlayer_with_vite+react.md +324 -45
- package/docs/zh/intlayer_with_vite+react_compiler.md +228 -13
- package/docs/zh/intlayer_with_vite+solid.md +462 -32
- package/docs/zh/intlayer_with_vite+vanilla.md +497 -4
- package/docs/zh/live-sync.md +4 -0
- package/docs/zh/mcp_server.md +3 -9
- package/docs/zh/packages/intlayer/getLocalizedUrl.md +26 -24
- package/docs/zh/packages/intlayer/getMultilingualUrls.md +4 -18
- package/docs/zh/packages/vite-intlayer/exports.md +29 -0
- package/docs/zh/packages/vite-intlayer/intlayer.md +121 -6
- package/docs/zh/packages/vite-intlayer/intlayerPrune.md +79 -6
- package/docs/zh/releases/v9.md +12 -0
- package/docs/zh/self_hosting.md +60 -50
- package/docs/zh-TW/bundle_optimization.md +58 -25
- package/docs/zh-TW/intlayer_with_angular_21.md +7 -7
- package/package.json +7 -7
- package/src/common.ts +39 -2
- package/src/generated/blog.entry.ts +66 -34
- package/src/generated/docs.entry.ts +273 -221
- package/src/generated/frequentQuestions.entry.ts +56 -24
- package/src/generated/legal.entry.ts +41 -9
|
@@ -30,9 +30,7 @@ history:
|
|
|
30
30
|
author: aymericzip
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
-
# Intlayer
|
|
34
|
-
|
|
35
|
-
GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-vite-vue-template)'na bakın.
|
|
33
|
+
# Intlayer kullanarak Vite ve Vue web sitenizi çevirme | Uluslararasılaştırma (i18n)
|
|
36
34
|
|
|
37
35
|
## İçindekiler
|
|
38
36
|
|
package/docs/tr/live-sync.md
CHANGED
|
@@ -49,26 +49,12 @@ author: aymericzip
|
|
|
49
49
|
|
|
50
50
|
## Parametreler
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
### Gerekli Parametreler
|
|
53
53
|
|
|
54
54
|
- `url: string`
|
|
55
|
-
- **
|
|
56
|
-
- **
|
|
57
|
-
|
|
58
|
-
- `locales: Locales[]`
|
|
59
|
-
- **Açıklama**: İsteğe bağlı desteklenen yerel ayarlar dizisi. Varsayılan olarak projede yapılandırılan yerel ayarları kullanır.
|
|
60
|
-
- **Tür**: `Locales[]`
|
|
61
|
-
- **Varsayılan**: `localesDefault`
|
|
62
|
-
|
|
63
|
-
- `defaultLocale: Locales`
|
|
64
|
-
- **Açıklama**: Uygulamanın varsayılan yerel ayarı. Varsayılan olarak projede yapılandırılan varsayılan yerel ayarı kullanır.
|
|
65
|
-
- **Tür**: `Locales`
|
|
66
|
-
- **Varsayılan**: `defaultLocaleDefault`
|
|
67
|
-
|
|
68
|
-
- `prefixDefault: boolean`
|
|
69
|
-
- **Açıklama**: Varsayılan yerel ayarı öneklendirip öneklendirmeyeceğinizi belirtir. Varsayılan olarak projede yapılandırılan değeri kullanır.
|
|
70
|
-
- **Tür**: `boolean`
|
|
71
|
-
- **Varsayılan**: `prefixDefaultDefault`
|
|
55
|
+
- **Description**: Locale'ler ile ön ek eklenecek orijinal URL string'i.
|
|
56
|
+
- **Type**: `string`
|
|
57
|
+
- **Required**: Yes
|
|
72
58
|
|
|
73
59
|
### İsteğe Bağlı Parametreler
|
|
74
60
|
|
|
@@ -48,3 +48,18 @@ import "vite-intlayer";
|
|
|
48
48
|
| `intlayerProxy` | Yerel tespiti ve yönlendirmeyi işlemek için geliştirme middleware eklentisi. | - |
|
|
49
49
|
| `intlayerMiddleware` | (**Kullanımdan Kaldırıldı**) `intlayerProxy` için takma ad. | - |
|
|
50
50
|
| `intlayerPrune` | Derleme sırasında kullanılmayan sözlükleri tree-shake yapmak ve budamak için eklenti. | [intlayerPrune](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerPrune.md) |
|
|
51
|
+
|
|
52
|
+
### Utilities
|
|
53
|
+
|
|
54
|
+
| Export | Description | Related Doc |
|
|
55
|
+
| ---------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
56
|
+
| `createIntlayerProxyHandler` | Framework-agnostic Node.js `(req, res, next)` middleware'i locale-routing logic'i ile döndürür. | [intlayerProxy](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerProxy.md) |
|
|
57
|
+
|
|
58
|
+
### Türler
|
|
59
|
+
|
|
60
|
+
| Export | Açıklama |
|
|
61
|
+
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
62
|
+
| `IntlayerPluginOptions` | `intlayer()` tarafından kabul edilen seçenekler. `GetConfigurationOptions` öğesini `compatCallers` ve `proxy` ile genişletir. |
|
|
63
|
+
| `IntlayerProxyPluginOptions` | `intlayerProxy()` ve `createIntlayerProxyHandler()` tarafından kabul edilen seçenekler. `ignore` ve `configOptions` öğelerini içerir. |
|
|
64
|
+
| `IntlayerCompilerOptions` | `intlayerCompiler()` tarafından kabul edilen seçenekler. `configOptions` ve `compilerConfig` öğelerini içerir. |
|
|
65
|
+
| `CompatCallerConfig` | `@intlayer/babel` öğesinden yeniden dışa aktarılan. Alan kullanımı analizi için compat-adapter çağrı deseni tanımlar. |
|
|
@@ -39,11 +39,126 @@ export default defineConfig({
|
|
|
39
39
|
});
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
##
|
|
42
|
+
## Seçenekler
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
```ts
|
|
45
|
+
import type { IntlayerPluginOptions } from "vite-intlayer";
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`IntlayerPluginOptions`, `GetConfigurationOptions` (bkz. `@intlayer/config`) öğesini aşağıdaki ek alanlarla genişletir:
|
|
49
|
+
|
|
50
|
+
| Seçenek | Tür | Varsayılan | Açıklama |
|
|
51
|
+
| --------------- | ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
52
|
+
| `compatCallers` | `CompatCallerConfig[]` | `[]` | Compat-adapter paketleri için ek çağrı desenleri (örn. `@intlayer/react-i18next`). Derleme zamanında alan kullanımı analizine iletilir. |
|
|
53
|
+
| `proxy` | `{ ignore?: (req) => boolean }` | `undefined` | Paketlenmiş yerel ayar yönlendirme proxy'sine iletilen seçenekler. Belirli yolları (örn. API rotaları) yerel ayar yönlendirmesinden hariç tutmak için `ignore` kullanın. |
|
|
54
|
+
|
|
55
|
+
Diğer tüm seçenekler (`override`, `configFile`, …) doğrudan `getConfiguration()` öğesine iletilir.
|
|
56
|
+
|
|
57
|
+
### Örnekler
|
|
58
|
+
|
|
59
|
+
#### Yerel yönlendirmeden API rotalarını yoksay
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
// vite.config.ts
|
|
63
|
+
import { defineConfig } from "vite";
|
|
64
|
+
import { intlayer } from "vite-intlayer";
|
|
65
|
+
|
|
66
|
+
export default defineConfig({
|
|
67
|
+
plugins: [
|
|
68
|
+
intlayer({
|
|
69
|
+
proxy: {
|
|
70
|
+
ignore: (req) => req.url?.startsWith("/api"),
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### Özel bir config dosya yolu ile
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
export default defineConfig({
|
|
81
|
+
plugins: [
|
|
82
|
+
intlayer({
|
|
83
|
+
configFile: "./config/intlayer.config.ts",
|
|
84
|
+
}),
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### compat-adapter çağırıcıları ile
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import { intlayer } from "vite-intlayer";
|
|
93
|
+
import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";
|
|
94
|
+
|
|
95
|
+
export default defineConfig({
|
|
96
|
+
plugins: [
|
|
97
|
+
intlayer({
|
|
98
|
+
compatCallers: [reactI18nextCallerConfig],
|
|
99
|
+
}),
|
|
100
|
+
],
|
|
101
|
+
});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Eklentinin ne yaptığı
|
|
105
|
+
|
|
106
|
+
### 1. Sözlük hazırlığı
|
|
107
|
+
|
|
108
|
+
Build başlamadan önce (ve geliştirme ortamında saatte bir), `intlayer` tüm `.content.ts` dosyalarını `.intlayer/` klasöründe depolanan optimize edilmiş JSON sözlüklerine derlemek için `prepareIntlayer` işlevini çağırır.
|
|
109
|
+
|
|
110
|
+
### 2. Module aliases
|
|
111
|
+
|
|
112
|
+
Plugin, `import { myDict } from 'intlayer/dictionaries/my-dict'` ifadesinin diskte derlenen JSON dosyasına çözümlenmesi için Vite resolve aliases'lerini ekler. SSR buildleri, tüm `@intlayer/*` paketlerinin alias'lar uygulanarak birlikte paketlenmesini sağlamak için `ssr.noExternal` kullanır.
|
|
113
|
+
|
|
114
|
+
### 3. Dev-server watcher
|
|
115
|
+
|
|
116
|
+
Geliştirme modunda bir `chokidar` watcher başlatılır. Bir `.content.ts` dosyası değiştiğinde sözlükler yeniden derlenir ve Vite'in HMR güncellemeleri tarayıcıya yayınlar.
|
|
117
|
+
|
|
118
|
+
### 4. Bundled locale-routing proxy (v9+)
|
|
119
|
+
|
|
120
|
+
Intlayer v9'dan beri `intlayerProxy` middleware'i `intlayer()` içinde otomatik olarak kaydedilir. Şunları işler:
|
|
121
|
+
|
|
122
|
+
- URL ön eki, çerezler ve `Accept-Language` başlığından yerel ayar algılaması.
|
|
123
|
+
- Algılanan yerel ayar geçerli URL ile eşleşmediğinde 301 yönlendirmeleri.
|
|
124
|
+
- Framework'ün doğru `[locale]` rota parametresini görmesi için iç URL yeniden yazmaları.
|
|
125
|
+
|
|
126
|
+
Proxy, Intlayer yapılandırmanızda `routing.enableProxy` (varsayılan `true`) tarafından kontrol edilir. Tamamen devre dışı bırakmak için:
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
// intlayer.config.ts
|
|
130
|
+
import { defineConfig } from "intlayer";
|
|
131
|
+
|
|
132
|
+
export default defineConfig({
|
|
133
|
+
routing: { enableProxy: false },
|
|
134
|
+
});
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Ayrı bir `intlayerProxy()` çağrısı olmadan proxy davranışını özelleştirmek için ana eklentiye `proxy` seçeneklerini geçin:
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Tam yönlendirme davranışı referansı için [intlayerProxy belgelerine](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerProxy.md) bakın.
|
|
144
|
+
|
|
145
|
+
### 5. Bundled compiler (v9+)
|
|
146
|
+
|
|
147
|
+
`compiler.enabled` değeri `true` **ve** Intlayer config dosyanızda `compiler.output` ayarlandığında, `intlayer()` otomatik olarak `intlayerCompiler` kaydeder. Compiler, bileşen dosyalarının içinde doğrudan yazılan satır içi içerik bildirimleri çıkarır ve bunları dönüştürme zamanında sözlüklere yazar. [intlayerCompiler dokumentasyonu](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/vite-intlayer/intlayerCompiler.md) sayfasına bakın.
|
|
148
|
+
|
|
149
|
+
### 6. Build optimisasyonları
|
|
150
|
+
|
|
151
|
+
Bir üretim derlemesi sırasında eklenti şunları ekler:
|
|
152
|
+
|
|
153
|
+
- **intlayerOptimize** – `useIntlayer('key')` → `useDictionary(hash)` yeniden yazılıp doğrudan JSON içe aktarımlarını enjekte eden Babel dönüşümü.
|
|
154
|
+
- **intlayerPrune** – sözlük JSON'undan kullanılmayan içerik alanlarını kaldırır.
|
|
155
|
+
- **intlayerMinify** – sözlük JSON'unu sıkıştırır ve isteğe bağlı olarak alan adlarını karıştırır.
|
|
156
|
+
|
|
157
|
+
Bunlar geliştirme modunda etkin değildir.
|
|
158
|
+
|
|
159
|
+
## Kullanım Dışı Bırakılan Takma Adlar
|
|
45
160
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
161
|
+
| Kullanım Dışı Bırakılan Export | Değiştirme |
|
|
162
|
+
| ------------------------------ | ---------- |
|
|
163
|
+
| `intlayerPlugin` | `intlayer` |
|
|
164
|
+
| `intLayerPlugin` | `intlayer` |
|
|
@@ -30,16 +30,89 @@ author: aymericzip
|
|
|
30
30
|
|
|
31
31
|
## Kullanım
|
|
32
32
|
|
|
33
|
+
### `intlayer()` kapsamında (önerilen)
|
|
34
|
+
|
|
35
|
+
Intlayer yapılandırmanız aracılığıyla pruning'i etkinleştirin ve ana plugin her şeyi işler:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// intlayer.config.ts
|
|
39
|
+
import { defineConfig } from "intlayer";
|
|
40
|
+
|
|
41
|
+
export default defineConfig({
|
|
42
|
+
build: {
|
|
43
|
+
optimize: true, // pruning ve minify'ı etkinleştirir
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
// vite.config.ts
|
|
50
|
+
import { defineConfig } from "vite";
|
|
51
|
+
import { intlayer } from "vite-intlayer";
|
|
52
|
+
|
|
53
|
+
export default defineConfig({
|
|
54
|
+
plugins: [intlayer()],
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Standalone
|
|
59
|
+
|
|
60
|
+
Plugin stack'ini manuel olarak oluşturuyorsanız, `intlayerPrune` ve `intlayerMinify` bir `PruneContext` nesnesini paylaşır ve bu nesne bir kez oluşturulup her ikisine de geçirilmelidir:
|
|
61
|
+
|
|
33
62
|
```ts
|
|
34
63
|
// vite.config.ts
|
|
35
64
|
import { defineConfig } from "vite";
|
|
36
|
-
import {
|
|
65
|
+
import { intlayerPrune, intlayerMinify } from "vite-intlayer";
|
|
66
|
+
import { createPruneContext } from "@intlayer/babel";
|
|
67
|
+
import { getConfiguration } from "@intlayer/config/node";
|
|
68
|
+
|
|
69
|
+
const intlayerConfig = getConfiguration();
|
|
70
|
+
const pruneContext = createPruneContext();
|
|
37
71
|
|
|
38
72
|
export default defineConfig({
|
|
39
|
-
plugins: [
|
|
73
|
+
plugins: [
|
|
74
|
+
intlayerPrune(intlayerConfig, pruneContext),
|
|
75
|
+
intlayerMinify(intlayerConfig, pruneContext), // isteğe bağlı, aynı context'ten okur
|
|
76
|
+
],
|
|
40
77
|
});
|
|
41
78
|
```
|
|
42
79
|
|
|
43
|
-
##
|
|
80
|
+
## Nasıl çalışır
|
|
81
|
+
|
|
82
|
+
### 1. Kullanım analizi (buildStart)
|
|
83
|
+
|
|
84
|
+
`buildStart` sırasında, `intlayerOptimize` eklentisi (aynı zamanda `intlayer()`'ın bir parçası) `build.filesList`'de listelenen her bileşen kaynak dosyasını tarar. Her `useIntlayer('key')` veya `getIntlayer('key')` çağrısı için, hangi alanların erişildiğini tam olarak kaydeder, örneğin:
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
const { title, description } = useIntlayer("myDict");
|
|
88
|
+
// kaydeder: myDict → { title, description }
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Bu, herhangi bir `transform` çağrısı çalışmadan önce `pruneContext.fieldUsageMap`'i oluşturur.
|
|
92
|
+
|
|
93
|
+
### 2. JSON budama (transform, enforce: 'pre')
|
|
94
|
+
|
|
95
|
+
Vite derlenmiş bir sözlük JSON dosyasını işlediğinde, `intlayerPrune` bunu Vite'nin yerleşik JSON → ESM dönüştürmesinden önce ele geçirir. `pruneContext`'ten alan kullanım haritasını okur ve kaydedilen kullanım setinde olmayan herhangi bir içerik alanını kaldırır.
|
|
96
|
+
|
|
97
|
+
İki içerik şekli desteklenir:
|
|
98
|
+
|
|
99
|
+
- **Statik sözlükler** — `{ nodeType: "translation", translation: { en: {...}, fr: {...} } }`. Alanlar `translation` içinde yerel başına budanır.
|
|
100
|
+
- **Dinamik (yerel başına) sözlükler** — düz `{ fieldA: ..., fieldB: ... }`. Alanlar en üst düzeyde budanır.
|
|
101
|
+
|
|
102
|
+
### 3. Edge cases
|
|
103
|
+
|
|
104
|
+
Bir sözlüğün içerik yapısı tanınamazsa (örneğin, olağandışı iç içe bir şekil), `pruneContext.dictionariesWithEdgeCases` öğesine eklenir ve **değiştirilmez bırakılır**. Bir uyarı günlüğe kaydedilir. `intlayerMinify` bu sözlükleri de atlar.
|
|
105
|
+
|
|
106
|
+
### 4. Field-rename map
|
|
107
|
+
|
|
108
|
+
Budama başarılı olduğunda, `intlayerPrune` ayrıca `pruneContext.dictionaryKeyToFieldRenameMap` — orijinal alan adlarından kısa takma adlara eşleme yazar. `intlayerMinify` çıktı JSON'daki alanları yeniden adlandırmak için bu haritayı okur ve `intlayerOptimize`'ın Babel rename geçişi kaynak dosyalardaki property erişimlerini buna göre günceller.
|
|
109
|
+
|
|
110
|
+
## Aktivasyon koşulları
|
|
111
|
+
|
|
112
|
+
`intlayerPrune` **yalnızca** aşağıdakilerin hepsi doğru olduğunda etkin olur:
|
|
113
|
+
|
|
114
|
+
1. Vite komutu `build` olur.
|
|
115
|
+
2. `build.optimize` `true` olur (veya `undefined`, derlemeler için varsayılan olarak `true` olur).
|
|
116
|
+
3. `build.purge` Intlayer yapılandırmanızda `true` olur.
|
|
44
117
|
|
|
45
|
-
|
|
118
|
+
`editor.enabled` `true` olduğunda otomatik olarak **devre dışı bırakılır** çünkü düzenleyici tam sözlük içeriğine ihtiyaç duyar.
|
package/docs/tr/self_hosting.md
CHANGED
|
@@ -80,6 +80,18 @@ Yığın çalışmaya başladıktan sonra **http://localhost:3000** adresini aç
|
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
83
|
+
## İlk çalıştırma kurulumu
|
|
84
|
+
|
|
85
|
+
Yeni bir instance'ta (boş veritabanı), dashboard'u açmak sizi **`/init`** sayfasına yönlendirir:
|
|
86
|
+
|
|
87
|
+
1. İlk hesabı oluşturun. Kullanıcılar koleksiyonu boş olduğundan, bu hesap otomatik olarak **super admin** olarak yükseltilir.
|
|
88
|
+
2. Bir doğrulama e-postası gönderilir (Resend aracılığıyla). E-posta doğrulaması **zorunludur** — bu nedenle `RESEND_API_KEY` başlamadan önce ayarlanmalıdır.
|
|
89
|
+
3. E-postadaki bağlantıyı tıklayın, ardından oturum açın.
|
|
90
|
+
|
|
91
|
+
Bir admin mevcut olduğunda, `/init` standart oturum açma sayfasına yönlendirilir.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
83
95
|
## Servisler
|
|
84
96
|
|
|
85
97
|
| Servis | Görüntü | Ana Bilgisayar Bağlantı Noktası(ları) | Amaç |
|
|
@@ -97,9 +109,18 @@ Dahili bağlantı noktaları (mongo, redis) varsayılan olarak ana bilgisayara a
|
|
|
97
109
|
|
|
98
110
|
---
|
|
99
111
|
|
|
100
|
-
## Ortam
|
|
112
|
+
## Ortam değişkenleri
|
|
101
113
|
|
|
102
|
-
|
|
114
|
+
### Gerekli
|
|
115
|
+
|
|
116
|
+
| Variable | Example | Description |
|
|
117
|
+
| ---------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
118
|
+
| `DB_ID` | `intlayer` | MongoDB Atlas kullanıcısı |
|
|
119
|
+
| `DB_MDP` | _(şifreniz)_ | MongoDB Atlas şifresi |
|
|
120
|
+
| `DB_CLUSTER` | `cluster0.xxxxx.mongodb.net` | MongoDB Atlas cluster host'u (`mongodb+srv://` URI'de kullanılır) |
|
|
121
|
+
| `BETTER_AUTH_SECRET` | _(generated)_ | Session imzalama için 32-byte secret |
|
|
122
|
+
| `S3_SECRET_ACCESS_KEY` | _(generated)_ | Bundled MinIO için secret |
|
|
123
|
+
| `RESEND_API_KEY` | _(your key)_ | Resend aracılığıyla işlemsel e-posta. Global SMTP mailer'ı yapılandırmadığınız sürece ilk çalıştırma kurulumu için gereklidir (bkz. [Global mailer](#global-mailer)) |
|
|
103
124
|
|
|
104
125
|
### Gerekli (otomatik oluşturulur veya istenir)
|
|
105
126
|
|
|
@@ -141,6 +162,26 @@ Yükleyici, kullanıma hazır bir `.env` dosyası oluşturur. Aşağıdaki tablo
|
|
|
141
162
|
|
|
142
163
|
---
|
|
143
164
|
|
|
165
|
+
### Global mailer
|
|
166
|
+
|
|
167
|
+
Varsayılan olarak, tüm işlemsel e-postalar Resend üzerinden `RESEND_API_KEY` kullanılarak gönderilir. Self-hosted dağıtımlar bunun yerine **tüm** e-postaları — şifre sıfırlamaları ve magic linkler gibi organizasyon dışı e-postalar dahil — ortam değişkenleriyle yapılandırılmış global bir mailer üzerinden yönlendirebilir.
|
|
168
|
+
|
|
169
|
+
Etkinleştirmek için `MAIL_PROVIDER` ayarlayın. Ayarlanmadığında, varsayılan Resend mailer kullanılır.
|
|
170
|
+
|
|
171
|
+
| Değişken | Örnek | Açıklama |
|
|
172
|
+
| -------------------- | ------------------------------ | --------------------------------------------------------------------------------- |
|
|
173
|
+
| `MAIL_PROVIDER` | `smtp` | Global transport: `smtp` veya `resend`. Varsayılanları kullanmak için ayarlamayın |
|
|
174
|
+
| `MAIL_FROM` | `Intlayer <no-reply@acme.com>` | Gönderen başlığı. Düz bir adres veya `Name <email>` formatını kabul eder |
|
|
175
|
+
| `MAIL_SMTP_HOST` | `smtp.acme.com` | SMTP host (`MAIL_PROVIDER=smtp` olduğunda gerekli) |
|
|
176
|
+
| `MAIL_SMTP_PORT` | `587` | SMTP port (varsayılan `587`) |
|
|
177
|
+
| `MAIL_SMTP_SECURE` | `false` | Implicit TLS. Port `465` için `true` olarak ayarlayın |
|
|
178
|
+
| `MAIL_SMTP_USER` | _(your user)_ | SMTP kullanıcı adı (isteğe bağlı; kimliği doğrulanmamış relayler için atlayın) |
|
|
179
|
+
| `MAIL_SMTP_PASSWORD` | _(your password)_ | SMTP şifresi |
|
|
180
|
+
|
|
181
|
+
> Öncelik: bir organizasyonun kendi mailer'ı (**Organization** panosundan yapılandırılmış) global mailer'dan daha yüksek önceliğe sahiptir ve bu da varsayılan Resend anahtarından daha yüksek önceliğe sahiptir.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
144
185
|
## Intlayer projenizi bağlama
|
|
145
186
|
|
|
146
187
|
Yığın çalışmaya başladıktan sonra, projenizi `intlayer.org` yerine kendi barındırılan backend ve kontrol paneline yönlendirin.
|
|
@@ -259,47 +300,11 @@ docker run --rm \
|
|
|
259
300
|
|
|
260
301
|
---
|
|
261
302
|
|
|
262
|
-
##
|
|
263
|
-
|
|
264
|
-
Üretim dağıtımları için, uygulama ve backend kapsayıcılarının önüne doğrudan açmak yerine bir ters proxy yerleştirin.
|
|
303
|
+
## Sınırlamalar
|
|
265
304
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
server {
|
|
270
|
-
listen 80;
|
|
271
|
-
server_name cms.example.com;
|
|
272
|
-
|
|
273
|
-
location / {
|
|
274
|
-
proxy_pass http://localhost:3000;
|
|
275
|
-
proxy_set_header Host $host;
|
|
276
|
-
proxy_set_header X-Real-IP $remote_addr;
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
server {
|
|
281
|
-
listen 80;
|
|
282
|
-
server_name api.example.com;
|
|
283
|
-
|
|
284
|
-
location / {
|
|
285
|
-
proxy_pass http://localhost:3100;
|
|
286
|
-
proxy_set_header Host $host;
|
|
287
|
-
proxy_set_header X-Real-IP $remote_addr;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Aşağıdaki `.env` değişkenlerini genel alan adlarınızla eşleşecek şekilde güncelleyin:
|
|
293
|
-
|
|
294
|
-
```sh
|
|
295
|
-
BACKEND_URL=https://api.example.com
|
|
296
|
-
APP_URL=https://cms.example.com
|
|
297
|
-
DOMAIN=example.com
|
|
298
|
-
VITE_BACKEND_URL=https://api.example.com
|
|
299
|
-
VITE_DOMAIN=example.com
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
> `VITE_*` değişkenleri oluşturma zamanında kontrol paneli görüntüsüne gömülür. Görüntü oluşturulduktan sonra bunları değiştirirseniz, `app` görüntüsünü yeniden oluşturmanız (`docker compose build app`) veya çalışma zamanı yapılandırma enjeksiyonu kullanmanız gerekir.
|
|
305
|
+
- **MongoDB harici (Atlas) olmalıdır.** Backend yalnızca `mongodb+srv://` üzerinden bağlanır (`DB_ID` / `DB_MDP` / `DB_CLUSTER` öğesinden oluşturulur), bu nedenle düz `mongodb://host:27017` — konteyner'ın kendi paketlenmiş `mongod` dahil — kullanılamaz. Bir MongoDB Atlas kümesi sağlayın.
|
|
306
|
+
- **Özel alan adı yok.** Tüm tarayıcıya yönelik `VITE_*` URL'leri derleme zamanında uygulamaya satır içine alınır ve yayınlanan görüntü `localhost` değerleriyle gemi. Pano şu adreste erişilmelidir: `http://localhost:3000`; bunu genel bir alan adında sunmak, görüntüyü hedef URL'ler ile yeniden oluşturmayı gerektiriyor ve kutudan hemen çıkar desteklenmiyor.
|
|
307
|
+
- **E-posta çalışan bir postacı gerektirir.** İlk çalıştırma kurulumu e-posta doğrulamasını uygular, bu nedenle `RESEND_API_KEY` veya bir [global SMTP postacısı](#global-mailer) (`MAIL_PROVIDER=smtp` + `MAIL_SMTP_*`) yapılandırılmalıdır. İlk yönetici oturum açtıktan sonra, her kuruluş panodan kendi SMTP veya Resend postacısını da yapılandırabilir.
|
|
303
308
|
|
|
304
309
|
---
|
|
305
310
|
|
|
@@ -324,14 +329,6 @@ docker compose build app
|
|
|
324
329
|
docker compose up -d app
|
|
325
330
|
```
|
|
326
331
|
|
|
327
|
-
### E-posta Gönderilmiyor
|
|
328
|
-
|
|
329
|
-
Varsayılan olarak, tüm giden e-postalar Mailpit tarafından yakalanır. Gönderilen mesajları görmek için `http://localhost:8025` adresini açın. Gerçek e-posta göndermek için `.env` dosyasında `MAIL_PROVIDER=resend` ve `RESEND_API_KEY=<anahtarınız>` ayarlayın, ardından backend'i yeniden başlatın:
|
|
330
|
-
|
|
331
|
-
```sh
|
|
332
|
-
docker compose restart backend
|
|
333
|
-
```
|
|
334
|
-
|
|
335
332
|
### MinIO Kovası Eksik
|
|
336
333
|
|
|
337
334
|
Eğer `minio-init` tek seferlik servisi çalışmadıysa (veya MinIO hazır olmadan önce çalıştıysa), kovayı manuel olarak oluşturun:
|