@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/docs",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Intlayer documentation",
|
|
6
6
|
"keywords": [
|
|
@@ -73,14 +73,14 @@
|
|
|
73
73
|
"watch": "webpack --config ./webpack.config.ts --watch"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@intlayer/config": "9.
|
|
77
|
-
"@intlayer/core": "9.
|
|
78
|
-
"@intlayer/types": "9.
|
|
76
|
+
"@intlayer/config": "9.3.0",
|
|
77
|
+
"@intlayer/core": "9.3.0",
|
|
78
|
+
"@intlayer/types": "9.3.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
-
"@intlayer/api": "9.
|
|
82
|
-
"@intlayer/cli": "9.
|
|
83
|
-
"@types/node": "26.
|
|
81
|
+
"@intlayer/api": "9.3.0",
|
|
82
|
+
"@intlayer/cli": "9.3.0",
|
|
83
|
+
"@types/node": "26.2.0",
|
|
84
84
|
"@utils/ts-config": "1.0.4",
|
|
85
85
|
"@utils/ts-config-types": "1.0.4",
|
|
86
86
|
"@utils/tsdown-config": "1.0.4",
|
package/src/common.ts
CHANGED
|
@@ -131,11 +131,25 @@ export const getFileMetadata = async <
|
|
|
131
131
|
return formatMetadata(docKey as string, file, locale) as R;
|
|
132
132
|
};
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Per-locale metadata records, keyed by the entry map they were built from.
|
|
136
|
+
*
|
|
137
|
+
* Building a record parses the frontmatter of every document of a category, and
|
|
138
|
+
* callers such as {@link getFileMetadataBySlug} need the whole record just to
|
|
139
|
+
* resolve a single slug — which a static site generator repeats for every page
|
|
140
|
+
* it renders. Documents are read once per process anyway (each entry caches its
|
|
141
|
+
* own read), so the derived metadata is equally safe to keep.
|
|
142
|
+
*/
|
|
143
|
+
const fileMetadataRecordCache = new WeakMap<
|
|
144
|
+
Record<string, unknown>,
|
|
145
|
+
Map<LocalesValues, Promise<Record<string, FileMetadata>>>
|
|
146
|
+
>();
|
|
147
|
+
|
|
148
|
+
const buildFileMetadataRecord = async <
|
|
135
149
|
F extends Record<string, Record<LocalesValues, Promise<string>>>,
|
|
136
150
|
>(
|
|
137
151
|
files: F,
|
|
138
|
-
locale: LocalesValues
|
|
152
|
+
locale: LocalesValues
|
|
139
153
|
): Promise<Record<keyof F, FileMetadata>> => {
|
|
140
154
|
const results = await Promise.allSettled(
|
|
141
155
|
Object.entries(files).map(async ([key]) => {
|
|
@@ -153,6 +167,29 @@ export const getFileMetadataRecord = async <
|
|
|
153
167
|
return filesResult as Record<keyof F, FileMetadata>;
|
|
154
168
|
};
|
|
155
169
|
|
|
170
|
+
export const getFileMetadataRecord = async <
|
|
171
|
+
F extends Record<string, Record<LocalesValues, Promise<string>>>,
|
|
172
|
+
>(
|
|
173
|
+
files: F,
|
|
174
|
+
locale: LocalesValues = defaultLocale as LocalesValues
|
|
175
|
+
): Promise<Record<keyof F, FileMetadata>> => {
|
|
176
|
+
let localeCache = fileMetadataRecordCache.get(files);
|
|
177
|
+
|
|
178
|
+
if (!localeCache) {
|
|
179
|
+
localeCache = new Map();
|
|
180
|
+
fileMetadataRecordCache.set(files, localeCache);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
let record = localeCache.get(locale);
|
|
184
|
+
|
|
185
|
+
if (!record) {
|
|
186
|
+
record = buildFileMetadataRecord(files, locale);
|
|
187
|
+
localeCache.set(locale, record);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return (await record) as Record<keyof F, FileMetadata>;
|
|
191
|
+
};
|
|
192
|
+
|
|
156
193
|
export const getFileMetadataBySlug = async <
|
|
157
194
|
F extends Record<string, Record<LocalesValues, Promise<string>>>,
|
|
158
195
|
>(
|
|
@@ -32,35 +32,67 @@ try {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Reads a document, preferring the requested locale and falling back to English.
|
|
37
|
+
*/
|
|
38
|
+
const readLocaleFile = async (
|
|
36
39
|
relativeAfterLocale: string,
|
|
37
40
|
locale: LocalesValues
|
|
38
41
|
): Promise<string> => {
|
|
39
42
|
const target1 = join(baseDir, `./blog/${locale}/${relativeAfterLocale}`);
|
|
40
43
|
if (existsSync(target1)) {
|
|
41
|
-
return readFile(target1, 'utf8');
|
|
44
|
+
return await readFile(target1, 'utf8');
|
|
42
45
|
}
|
|
43
46
|
const target2 = join(baseDir, `./blog/en/${relativeAfterLocale}`);
|
|
44
47
|
if (existsSync(target2)) {
|
|
45
|
-
return readFile(target2, 'utf8');
|
|
48
|
+
return await readFile(target2, 'utf8');
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`
|
|
51
|
-
)
|
|
51
|
+
throw new Error(
|
|
52
|
+
`[docs] File not found: ${relativeAfterLocale} - locale: ${locale} - path: ${target1} - path: ${target2}`
|
|
52
53
|
);
|
|
53
54
|
};
|
|
54
55
|
|
|
56
|
+
/**
|
|
57
|
+
* Builds a lazy, awaitable handle over a document.
|
|
58
|
+
*
|
|
59
|
+
* The entry map below holds one handle per document *per locale*, so reading
|
|
60
|
+
* eagerly would pull every markdown file of every locale into memory as soon as
|
|
61
|
+
* this module is imported — hundreds of megabytes, duplicated in every
|
|
62
|
+
* prerender worker, for the handful of documents a page actually renders.
|
|
63
|
+
*
|
|
64
|
+
* The returned value is a thenable rather than a promise: consumers only ever
|
|
65
|
+
* `await` it, and `await` triggers `then`, so the file is read on first use and
|
|
66
|
+
* the resulting promise is cached for subsequent reads.
|
|
67
|
+
*/
|
|
68
|
+
const readLocale = (
|
|
69
|
+
relativeAfterLocale: string,
|
|
70
|
+
locale: LocalesValues
|
|
71
|
+
): Promise<string> => {
|
|
72
|
+
let pendingRead: Promise<string> | undefined;
|
|
73
|
+
|
|
74
|
+
const read = (): Promise<string> => {
|
|
75
|
+
pendingRead ??= readLocaleFile(relativeAfterLocale, locale);
|
|
76
|
+
return pendingRead;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
// biome-ignore lint/suspicious/noThenProperty: the thenable is intentional — `await` is what triggers the lazy read.
|
|
81
|
+
then: (onFulfilled, onRejected) => read().then(onFulfilled, onRejected),
|
|
82
|
+
catch: (onRejected) => read().catch(onRejected),
|
|
83
|
+
finally: (onFinally) => read().finally(onFinally),
|
|
84
|
+
} as Promise<string>;
|
|
85
|
+
};
|
|
86
|
+
|
|
55
87
|
export const blogEntry = {
|
|
56
88
|
'./blog/en/compiler_vs_declarative_i18n.md': {
|
|
57
89
|
en: readLocale('compiler_vs_declarative_i18n.md', 'en'),
|
|
90
|
+
es: readLocale('compiler_vs_declarative_i18n.md', 'es'),
|
|
58
91
|
ru: readLocale('compiler_vs_declarative_i18n.md', 'ru'),
|
|
59
92
|
ja: readLocale('compiler_vs_declarative_i18n.md', 'ja'),
|
|
60
93
|
fr: readLocale('compiler_vs_declarative_i18n.md', 'fr'),
|
|
61
94
|
ko: readLocale('compiler_vs_declarative_i18n.md', 'ko'),
|
|
62
95
|
zh: readLocale('compiler_vs_declarative_i18n.md', 'zh'),
|
|
63
|
-
es: readLocale('compiler_vs_declarative_i18n.md', 'es'),
|
|
64
96
|
de: readLocale('compiler_vs_declarative_i18n.md', 'de'),
|
|
65
97
|
ar: readLocale('compiler_vs_declarative_i18n.md', 'ar'),
|
|
66
98
|
it: readLocale('compiler_vs_declarative_i18n.md', 'it'),
|
|
@@ -75,12 +107,12 @@ export const blogEntry = {
|
|
|
75
107
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
76
108
|
'./blog/en/i18n_meaning.md': {
|
|
77
109
|
en: readLocale('i18n_meaning.md', 'en'),
|
|
110
|
+
es: readLocale('i18n_meaning.md', 'es'),
|
|
78
111
|
ru: readLocale('i18n_meaning.md', 'ru'),
|
|
79
112
|
ja: readLocale('i18n_meaning.md', 'ja'),
|
|
80
113
|
fr: readLocale('i18n_meaning.md', 'fr'),
|
|
81
114
|
ko: readLocale('i18n_meaning.md', 'ko'),
|
|
82
115
|
zh: readLocale('i18n_meaning.md', 'zh'),
|
|
83
|
-
es: readLocale('i18n_meaning.md', 'es'),
|
|
84
116
|
de: readLocale('i18n_meaning.md', 'de'),
|
|
85
117
|
ar: readLocale('i18n_meaning.md', 'ar'),
|
|
86
118
|
it: readLocale('i18n_meaning.md', 'it'),
|
|
@@ -95,12 +127,12 @@ export const blogEntry = {
|
|
|
95
127
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
96
128
|
'./blog/en/i18n_using_next-i18next.md': {
|
|
97
129
|
en: readLocale('i18n_using_next-i18next.md', 'en'),
|
|
130
|
+
es: readLocale('i18n_using_next-i18next.md', 'es'),
|
|
98
131
|
ru: readLocale('i18n_using_next-i18next.md', 'ru'),
|
|
99
132
|
ja: readLocale('i18n_using_next-i18next.md', 'ja'),
|
|
100
133
|
fr: readLocale('i18n_using_next-i18next.md', 'fr'),
|
|
101
134
|
ko: readLocale('i18n_using_next-i18next.md', 'ko'),
|
|
102
135
|
zh: readLocale('i18n_using_next-i18next.md', 'zh'),
|
|
103
|
-
es: readLocale('i18n_using_next-i18next.md', 'es'),
|
|
104
136
|
de: readLocale('i18n_using_next-i18next.md', 'de'),
|
|
105
137
|
ar: readLocale('i18n_using_next-i18next.md', 'ar'),
|
|
106
138
|
it: readLocale('i18n_using_next-i18next.md', 'it'),
|
|
@@ -115,12 +147,12 @@ export const blogEntry = {
|
|
|
115
147
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
116
148
|
'./blog/en/i18n_using_next-intl.md': {
|
|
117
149
|
en: readLocale('i18n_using_next-intl.md', 'en'),
|
|
150
|
+
es: readLocale('i18n_using_next-intl.md', 'es'),
|
|
118
151
|
ru: readLocale('i18n_using_next-intl.md', 'ru'),
|
|
119
152
|
ja: readLocale('i18n_using_next-intl.md', 'ja'),
|
|
120
153
|
fr: readLocale('i18n_using_next-intl.md', 'fr'),
|
|
121
154
|
ko: readLocale('i18n_using_next-intl.md', 'ko'),
|
|
122
155
|
zh: readLocale('i18n_using_next-intl.md', 'zh'),
|
|
123
|
-
es: readLocale('i18n_using_next-intl.md', 'es'),
|
|
124
156
|
de: readLocale('i18n_using_next-intl.md', 'de'),
|
|
125
157
|
ar: readLocale('i18n_using_next-intl.md', 'ar'),
|
|
126
158
|
it: readLocale('i18n_using_next-intl.md', 'it'),
|
|
@@ -135,12 +167,12 @@ export const blogEntry = {
|
|
|
135
167
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
136
168
|
'./blog/en/index.md': {
|
|
137
169
|
en: readLocale('index.md', 'en'),
|
|
170
|
+
es: readLocale('index.md', 'es'),
|
|
138
171
|
ru: readLocale('index.md', 'ru'),
|
|
139
172
|
ja: readLocale('index.md', 'ja'),
|
|
140
173
|
fr: readLocale('index.md', 'fr'),
|
|
141
174
|
ko: readLocale('index.md', 'ko'),
|
|
142
175
|
zh: readLocale('index.md', 'zh'),
|
|
143
|
-
es: readLocale('index.md', 'es'),
|
|
144
176
|
de: readLocale('index.md', 'de'),
|
|
145
177
|
ar: readLocale('index.md', 'ar'),
|
|
146
178
|
it: readLocale('index.md', 'it'),
|
|
@@ -155,12 +187,12 @@ export const blogEntry = {
|
|
|
155
187
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
156
188
|
'./blog/en/internationalization_and_SEO.md': {
|
|
157
189
|
en: readLocale('internationalization_and_SEO.md', 'en'),
|
|
190
|
+
es: readLocale('internationalization_and_SEO.md', 'es'),
|
|
158
191
|
ru: readLocale('internationalization_and_SEO.md', 'ru'),
|
|
159
192
|
ja: readLocale('internationalization_and_SEO.md', 'ja'),
|
|
160
193
|
fr: readLocale('internationalization_and_SEO.md', 'fr'),
|
|
161
194
|
ko: readLocale('internationalization_and_SEO.md', 'ko'),
|
|
162
195
|
zh: readLocale('internationalization_and_SEO.md', 'zh'),
|
|
163
|
-
es: readLocale('internationalization_and_SEO.md', 'es'),
|
|
164
196
|
de: readLocale('internationalization_and_SEO.md', 'de'),
|
|
165
197
|
ar: readLocale('internationalization_and_SEO.md', 'ar'),
|
|
166
198
|
it: readLocale('internationalization_and_SEO.md', 'it'),
|
|
@@ -175,12 +207,12 @@ export const blogEntry = {
|
|
|
175
207
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
176
208
|
'./blog/en/intlayer_with_i18next.md': {
|
|
177
209
|
en: readLocale('intlayer_with_i18next.md', 'en'),
|
|
210
|
+
es: readLocale('intlayer_with_i18next.md', 'es'),
|
|
178
211
|
ru: readLocale('intlayer_with_i18next.md', 'ru'),
|
|
179
212
|
ja: readLocale('intlayer_with_i18next.md', 'ja'),
|
|
180
213
|
fr: readLocale('intlayer_with_i18next.md', 'fr'),
|
|
181
214
|
ko: readLocale('intlayer_with_i18next.md', 'ko'),
|
|
182
215
|
zh: readLocale('intlayer_with_i18next.md', 'zh'),
|
|
183
|
-
es: readLocale('intlayer_with_i18next.md', 'es'),
|
|
184
216
|
de: readLocale('intlayer_with_i18next.md', 'de'),
|
|
185
217
|
ar: readLocale('intlayer_with_i18next.md', 'ar'),
|
|
186
218
|
it: readLocale('intlayer_with_i18next.md', 'it'),
|
|
@@ -195,12 +227,12 @@ export const blogEntry = {
|
|
|
195
227
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
196
228
|
'./blog/en/intlayer_with_next-i18next.md': {
|
|
197
229
|
en: readLocale('intlayer_with_next-i18next.md', 'en'),
|
|
230
|
+
es: readLocale('intlayer_with_next-i18next.md', 'es'),
|
|
198
231
|
ru: readLocale('intlayer_with_next-i18next.md', 'ru'),
|
|
199
232
|
ja: readLocale('intlayer_with_next-i18next.md', 'ja'),
|
|
200
233
|
fr: readLocale('intlayer_with_next-i18next.md', 'fr'),
|
|
201
234
|
ko: readLocale('intlayer_with_next-i18next.md', 'ko'),
|
|
202
235
|
zh: readLocale('intlayer_with_next-i18next.md', 'zh'),
|
|
203
|
-
es: readLocale('intlayer_with_next-i18next.md', 'es'),
|
|
204
236
|
de: readLocale('intlayer_with_next-i18next.md', 'de'),
|
|
205
237
|
ar: readLocale('intlayer_with_next-i18next.md', 'ar'),
|
|
206
238
|
it: readLocale('intlayer_with_next-i18next.md', 'it'),
|
|
@@ -215,12 +247,12 @@ export const blogEntry = {
|
|
|
215
247
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
216
248
|
'./blog/en/intlayer_with_next-intl.md': {
|
|
217
249
|
en: readLocale('intlayer_with_next-intl.md', 'en'),
|
|
250
|
+
es: readLocale('intlayer_with_next-intl.md', 'es'),
|
|
218
251
|
ru: readLocale('intlayer_with_next-intl.md', 'ru'),
|
|
219
252
|
ja: readLocale('intlayer_with_next-intl.md', 'ja'),
|
|
220
253
|
fr: readLocale('intlayer_with_next-intl.md', 'fr'),
|
|
221
254
|
ko: readLocale('intlayer_with_next-intl.md', 'ko'),
|
|
222
255
|
zh: readLocale('intlayer_with_next-intl.md', 'zh'),
|
|
223
|
-
es: readLocale('intlayer_with_next-intl.md', 'es'),
|
|
224
256
|
de: readLocale('intlayer_with_next-intl.md', 'de'),
|
|
225
257
|
ar: readLocale('intlayer_with_next-intl.md', 'ar'),
|
|
226
258
|
it: readLocale('intlayer_with_next-intl.md', 'it'),
|
|
@@ -235,12 +267,12 @@ export const blogEntry = {
|
|
|
235
267
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
236
268
|
'./blog/en/intlayer_with_react-i18next.md': {
|
|
237
269
|
en: readLocale('intlayer_with_react-i18next.md', 'en'),
|
|
270
|
+
es: readLocale('intlayer_with_react-i18next.md', 'es'),
|
|
238
271
|
ru: readLocale('intlayer_with_react-i18next.md', 'ru'),
|
|
239
272
|
ja: readLocale('intlayer_with_react-i18next.md', 'ja'),
|
|
240
273
|
fr: readLocale('intlayer_with_react-i18next.md', 'fr'),
|
|
241
274
|
ko: readLocale('intlayer_with_react-i18next.md', 'ko'),
|
|
242
275
|
zh: readLocale('intlayer_with_react-i18next.md', 'zh'),
|
|
243
|
-
es: readLocale('intlayer_with_react-i18next.md', 'es'),
|
|
244
276
|
de: readLocale('intlayer_with_react-i18next.md', 'de'),
|
|
245
277
|
ar: readLocale('intlayer_with_react-i18next.md', 'ar'),
|
|
246
278
|
it: readLocale('intlayer_with_react-i18next.md', 'it'),
|
|
@@ -255,12 +287,12 @@ export const blogEntry = {
|
|
|
255
287
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
256
288
|
'./blog/en/intlayer_with_react-intl.md': {
|
|
257
289
|
en: readLocale('intlayer_with_react-intl.md', 'en'),
|
|
290
|
+
es: readLocale('intlayer_with_react-intl.md', 'es'),
|
|
258
291
|
ru: readLocale('intlayer_with_react-intl.md', 'ru'),
|
|
259
292
|
ja: readLocale('intlayer_with_react-intl.md', 'ja'),
|
|
260
293
|
fr: readLocale('intlayer_with_react-intl.md', 'fr'),
|
|
261
294
|
ko: readLocale('intlayer_with_react-intl.md', 'ko'),
|
|
262
295
|
zh: readLocale('intlayer_with_react-intl.md', 'zh'),
|
|
263
|
-
es: readLocale('intlayer_with_react-intl.md', 'es'),
|
|
264
296
|
de: readLocale('intlayer_with_react-intl.md', 'de'),
|
|
265
297
|
ar: readLocale('intlayer_with_react-intl.md', 'ar'),
|
|
266
298
|
it: readLocale('intlayer_with_react-intl.md', 'it'),
|
|
@@ -275,12 +307,12 @@ export const blogEntry = {
|
|
|
275
307
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
276
308
|
'./blog/en/intlayer_with_vue-i18n.md': {
|
|
277
309
|
en: readLocale('intlayer_with_vue-i18n.md', 'en'),
|
|
310
|
+
es: readLocale('intlayer_with_vue-i18n.md', 'es'),
|
|
278
311
|
ru: readLocale('intlayer_with_vue-i18n.md', 'ru'),
|
|
279
312
|
ja: readLocale('intlayer_with_vue-i18n.md', 'ja'),
|
|
280
313
|
fr: readLocale('intlayer_with_vue-i18n.md', 'fr'),
|
|
281
314
|
ko: readLocale('intlayer_with_vue-i18n.md', 'ko'),
|
|
282
315
|
zh: readLocale('intlayer_with_vue-i18n.md', 'zh'),
|
|
283
|
-
es: readLocale('intlayer_with_vue-i18n.md', 'es'),
|
|
284
316
|
de: readLocale('intlayer_with_vue-i18n.md', 'de'),
|
|
285
317
|
ar: readLocale('intlayer_with_vue-i18n.md', 'ar'),
|
|
286
318
|
it: readLocale('intlayer_with_vue-i18n.md', 'it'),
|
|
@@ -295,12 +327,12 @@ export const blogEntry = {
|
|
|
295
327
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
296
328
|
'./blog/en/l10n_platform_alternative/Lokalise.md': {
|
|
297
329
|
en: readLocale('l10n_platform_alternative/Lokalise.md', 'en'),
|
|
330
|
+
es: readLocale('l10n_platform_alternative/Lokalise.md', 'es'),
|
|
298
331
|
ru: readLocale('l10n_platform_alternative/Lokalise.md', 'ru'),
|
|
299
332
|
ja: readLocale('l10n_platform_alternative/Lokalise.md', 'ja'),
|
|
300
333
|
fr: readLocale('l10n_platform_alternative/Lokalise.md', 'fr'),
|
|
301
334
|
ko: readLocale('l10n_platform_alternative/Lokalise.md', 'ko'),
|
|
302
335
|
zh: readLocale('l10n_platform_alternative/Lokalise.md', 'zh'),
|
|
303
|
-
es: readLocale('l10n_platform_alternative/Lokalise.md', 'es'),
|
|
304
336
|
de: readLocale('l10n_platform_alternative/Lokalise.md', 'de'),
|
|
305
337
|
ar: readLocale('l10n_platform_alternative/Lokalise.md', 'ar'),
|
|
306
338
|
it: readLocale('l10n_platform_alternative/Lokalise.md', 'it'),
|
|
@@ -315,12 +347,12 @@ export const blogEntry = {
|
|
|
315
347
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
316
348
|
'./blog/en/l10n_platform_alternative/crowdin.md': {
|
|
317
349
|
en: readLocale('l10n_platform_alternative/crowdin.md', 'en'),
|
|
350
|
+
es: readLocale('l10n_platform_alternative/crowdin.md', 'es'),
|
|
318
351
|
ru: readLocale('l10n_platform_alternative/crowdin.md', 'ru'),
|
|
319
352
|
ja: readLocale('l10n_platform_alternative/crowdin.md', 'ja'),
|
|
320
353
|
fr: readLocale('l10n_platform_alternative/crowdin.md', 'fr'),
|
|
321
354
|
ko: readLocale('l10n_platform_alternative/crowdin.md', 'ko'),
|
|
322
355
|
zh: readLocale('l10n_platform_alternative/crowdin.md', 'zh'),
|
|
323
|
-
es: readLocale('l10n_platform_alternative/crowdin.md', 'es'),
|
|
324
356
|
de: readLocale('l10n_platform_alternative/crowdin.md', 'de'),
|
|
325
357
|
ar: readLocale('l10n_platform_alternative/crowdin.md', 'ar'),
|
|
326
358
|
it: readLocale('l10n_platform_alternative/crowdin.md', 'it'),
|
|
@@ -335,12 +367,12 @@ export const blogEntry = {
|
|
|
335
367
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
336
368
|
'./blog/en/l10n_platform_alternative/phrase.md': {
|
|
337
369
|
en: readLocale('l10n_platform_alternative/phrase.md', 'en'),
|
|
370
|
+
es: readLocale('l10n_platform_alternative/phrase.md', 'es'),
|
|
338
371
|
ru: readLocale('l10n_platform_alternative/phrase.md', 'ru'),
|
|
339
372
|
ja: readLocale('l10n_platform_alternative/phrase.md', 'ja'),
|
|
340
373
|
fr: readLocale('l10n_platform_alternative/phrase.md', 'fr'),
|
|
341
374
|
ko: readLocale('l10n_platform_alternative/phrase.md', 'ko'),
|
|
342
375
|
zh: readLocale('l10n_platform_alternative/phrase.md', 'zh'),
|
|
343
|
-
es: readLocale('l10n_platform_alternative/phrase.md', 'es'),
|
|
344
376
|
de: readLocale('l10n_platform_alternative/phrase.md', 'de'),
|
|
345
377
|
ar: readLocale('l10n_platform_alternative/phrase.md', 'ar'),
|
|
346
378
|
it: readLocale('l10n_platform_alternative/phrase.md', 'it'),
|
|
@@ -355,12 +387,12 @@ export const blogEntry = {
|
|
|
355
387
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
356
388
|
'./blog/en/list_i18n_technologies/frameworks/angular.md': {
|
|
357
389
|
en: readLocale('list_i18n_technologies/frameworks/angular.md', 'en'),
|
|
390
|
+
es: readLocale('list_i18n_technologies/frameworks/angular.md', 'es'),
|
|
358
391
|
ru: readLocale('list_i18n_technologies/frameworks/angular.md', 'ru'),
|
|
359
392
|
ja: readLocale('list_i18n_technologies/frameworks/angular.md', 'ja'),
|
|
360
393
|
fr: readLocale('list_i18n_technologies/frameworks/angular.md', 'fr'),
|
|
361
394
|
ko: readLocale('list_i18n_technologies/frameworks/angular.md', 'ko'),
|
|
362
395
|
zh: readLocale('list_i18n_technologies/frameworks/angular.md', 'zh'),
|
|
363
|
-
es: readLocale('list_i18n_technologies/frameworks/angular.md', 'es'),
|
|
364
396
|
de: readLocale('list_i18n_technologies/frameworks/angular.md', 'de'),
|
|
365
397
|
ar: readLocale('list_i18n_technologies/frameworks/angular.md', 'ar'),
|
|
366
398
|
it: readLocale('list_i18n_technologies/frameworks/angular.md', 'it'),
|
|
@@ -378,12 +410,12 @@ export const blogEntry = {
|
|
|
378
410
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
379
411
|
'./blog/en/list_i18n_technologies/frameworks/react-native.md': {
|
|
380
412
|
en: readLocale('list_i18n_technologies/frameworks/react-native.md', 'en'),
|
|
413
|
+
es: readLocale('list_i18n_technologies/frameworks/react-native.md', 'es'),
|
|
381
414
|
ru: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ru'),
|
|
382
415
|
ja: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ja'),
|
|
383
416
|
fr: readLocale('list_i18n_technologies/frameworks/react-native.md', 'fr'),
|
|
384
417
|
ko: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ko'),
|
|
385
418
|
zh: readLocale('list_i18n_technologies/frameworks/react-native.md', 'zh'),
|
|
386
|
-
es: readLocale('list_i18n_technologies/frameworks/react-native.md', 'es'),
|
|
387
419
|
de: readLocale('list_i18n_technologies/frameworks/react-native.md', 'de'),
|
|
388
420
|
ar: readLocale('list_i18n_technologies/frameworks/react-native.md', 'ar'),
|
|
389
421
|
it: readLocale('list_i18n_technologies/frameworks/react-native.md', 'it'),
|
|
@@ -401,12 +433,12 @@ export const blogEntry = {
|
|
|
401
433
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
402
434
|
'./blog/en/list_i18n_technologies/frameworks/react.md': {
|
|
403
435
|
en: readLocale('list_i18n_technologies/frameworks/react.md', 'en'),
|
|
436
|
+
es: readLocale('list_i18n_technologies/frameworks/react.md', 'es'),
|
|
404
437
|
ru: readLocale('list_i18n_technologies/frameworks/react.md', 'ru'),
|
|
405
438
|
ja: readLocale('list_i18n_technologies/frameworks/react.md', 'ja'),
|
|
406
439
|
fr: readLocale('list_i18n_technologies/frameworks/react.md', 'fr'),
|
|
407
440
|
ko: readLocale('list_i18n_technologies/frameworks/react.md', 'ko'),
|
|
408
441
|
zh: readLocale('list_i18n_technologies/frameworks/react.md', 'zh'),
|
|
409
|
-
es: readLocale('list_i18n_technologies/frameworks/react.md', 'es'),
|
|
410
442
|
de: readLocale('list_i18n_technologies/frameworks/react.md', 'de'),
|
|
411
443
|
ar: readLocale('list_i18n_technologies/frameworks/react.md', 'ar'),
|
|
412
444
|
it: readLocale('list_i18n_technologies/frameworks/react.md', 'it'),
|
|
@@ -421,12 +453,12 @@ export const blogEntry = {
|
|
|
421
453
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
422
454
|
'./blog/en/list_i18n_technologies/frameworks/svelte.md': {
|
|
423
455
|
en: readLocale('list_i18n_technologies/frameworks/svelte.md', 'en'),
|
|
456
|
+
es: readLocale('list_i18n_technologies/frameworks/svelte.md', 'es'),
|
|
424
457
|
ru: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ru'),
|
|
425
458
|
ja: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ja'),
|
|
426
459
|
fr: readLocale('list_i18n_technologies/frameworks/svelte.md', 'fr'),
|
|
427
460
|
ko: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ko'),
|
|
428
461
|
zh: readLocale('list_i18n_technologies/frameworks/svelte.md', 'zh'),
|
|
429
|
-
es: readLocale('list_i18n_technologies/frameworks/svelte.md', 'es'),
|
|
430
462
|
de: readLocale('list_i18n_technologies/frameworks/svelte.md', 'de'),
|
|
431
463
|
ar: readLocale('list_i18n_technologies/frameworks/svelte.md', 'ar'),
|
|
432
464
|
it: readLocale('list_i18n_technologies/frameworks/svelte.md', 'it'),
|
|
@@ -441,12 +473,12 @@ export const blogEntry = {
|
|
|
441
473
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
442
474
|
'./blog/en/list_i18n_technologies/frameworks/vue.md': {
|
|
443
475
|
en: readLocale('list_i18n_technologies/frameworks/vue.md', 'en'),
|
|
476
|
+
es: readLocale('list_i18n_technologies/frameworks/vue.md', 'es'),
|
|
444
477
|
ru: readLocale('list_i18n_technologies/frameworks/vue.md', 'ru'),
|
|
445
478
|
ja: readLocale('list_i18n_technologies/frameworks/vue.md', 'ja'),
|
|
446
479
|
fr: readLocale('list_i18n_technologies/frameworks/vue.md', 'fr'),
|
|
447
480
|
ko: readLocale('list_i18n_technologies/frameworks/vue.md', 'ko'),
|
|
448
481
|
zh: readLocale('list_i18n_technologies/frameworks/vue.md', 'zh'),
|
|
449
|
-
es: readLocale('list_i18n_technologies/frameworks/vue.md', 'es'),
|
|
450
482
|
de: readLocale('list_i18n_technologies/frameworks/vue.md', 'de'),
|
|
451
483
|
ar: readLocale('list_i18n_technologies/frameworks/vue.md', 'ar'),
|
|
452
484
|
it: readLocale('list_i18n_technologies/frameworks/vue.md', 'it'),
|
|
@@ -461,12 +493,12 @@ export const blogEntry = {
|
|
|
461
493
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
462
494
|
'./blog/en/next-i18next_vs_next-intl_vs_intlayer.md': {
|
|
463
495
|
en: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'en'),
|
|
496
|
+
es: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'es'),
|
|
464
497
|
ru: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ru'),
|
|
465
498
|
ja: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ja'),
|
|
466
499
|
fr: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'fr'),
|
|
467
500
|
ko: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ko'),
|
|
468
501
|
zh: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'zh'),
|
|
469
|
-
es: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'es'),
|
|
470
502
|
de: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'de'),
|
|
471
503
|
ar: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'ar'),
|
|
472
504
|
it: readLocale('next-i18next_vs_next-intl_vs_intlayer.md', 'it'),
|
|
@@ -481,12 +513,12 @@ export const blogEntry = {
|
|
|
481
513
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
482
514
|
'./blog/en/nextjs-multilingual-seo-comparison.md': {
|
|
483
515
|
en: readLocale('nextjs-multilingual-seo-comparison.md', 'en'),
|
|
516
|
+
es: readLocale('nextjs-multilingual-seo-comparison.md', 'es'),
|
|
484
517
|
ru: readLocale('nextjs-multilingual-seo-comparison.md', 'ru'),
|
|
485
518
|
ja: readLocale('nextjs-multilingual-seo-comparison.md', 'ja'),
|
|
486
519
|
fr: readLocale('nextjs-multilingual-seo-comparison.md', 'fr'),
|
|
487
520
|
ko: readLocale('nextjs-multilingual-seo-comparison.md', 'ko'),
|
|
488
521
|
zh: readLocale('nextjs-multilingual-seo-comparison.md', 'zh'),
|
|
489
|
-
es: readLocale('nextjs-multilingual-seo-comparison.md', 'es'),
|
|
490
522
|
de: readLocale('nextjs-multilingual-seo-comparison.md', 'de'),
|
|
491
523
|
ar: readLocale('nextjs-multilingual-seo-comparison.md', 'ar'),
|
|
492
524
|
it: readLocale('nextjs-multilingual-seo-comparison.md', 'it'),
|
|
@@ -501,12 +533,12 @@ export const blogEntry = {
|
|
|
501
533
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
502
534
|
'./blog/en/per-component_vs_centralized_i18n.md': {
|
|
503
535
|
en: readLocale('per-component_vs_centralized_i18n.md', 'en'),
|
|
536
|
+
es: readLocale('per-component_vs_centralized_i18n.md', 'es'),
|
|
504
537
|
ru: readLocale('per-component_vs_centralized_i18n.md', 'ru'),
|
|
505
538
|
ja: readLocale('per-component_vs_centralized_i18n.md', 'ja'),
|
|
506
539
|
fr: readLocale('per-component_vs_centralized_i18n.md', 'fr'),
|
|
507
540
|
ko: readLocale('per-component_vs_centralized_i18n.md', 'ko'),
|
|
508
541
|
zh: readLocale('per-component_vs_centralized_i18n.md', 'zh'),
|
|
509
|
-
es: readLocale('per-component_vs_centralized_i18n.md', 'es'),
|
|
510
542
|
de: readLocale('per-component_vs_centralized_i18n.md', 'de'),
|
|
511
543
|
ar: readLocale('per-component_vs_centralized_i18n.md', 'ar'),
|
|
512
544
|
it: readLocale('per-component_vs_centralized_i18n.md', 'it'),
|
|
@@ -521,12 +553,12 @@ export const blogEntry = {
|
|
|
521
553
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
522
554
|
'./blog/en/rag_powered_documentation_assistant.md': {
|
|
523
555
|
en: readLocale('rag_powered_documentation_assistant.md', 'en'),
|
|
556
|
+
es: readLocale('rag_powered_documentation_assistant.md', 'es'),
|
|
524
557
|
ru: readLocale('rag_powered_documentation_assistant.md', 'ru'),
|
|
525
558
|
ja: readLocale('rag_powered_documentation_assistant.md', 'ja'),
|
|
526
559
|
fr: readLocale('rag_powered_documentation_assistant.md', 'fr'),
|
|
527
560
|
ko: readLocale('rag_powered_documentation_assistant.md', 'ko'),
|
|
528
561
|
zh: readLocale('rag_powered_documentation_assistant.md', 'zh'),
|
|
529
|
-
es: readLocale('rag_powered_documentation_assistant.md', 'es'),
|
|
530
562
|
de: readLocale('rag_powered_documentation_assistant.md', 'de'),
|
|
531
563
|
ar: readLocale('rag_powered_documentation_assistant.md', 'ar'),
|
|
532
564
|
it: readLocale('rag_powered_documentation_assistant.md', 'it'),
|
|
@@ -541,12 +573,12 @@ export const blogEntry = {
|
|
|
541
573
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
542
574
|
'./blog/en/react-i18next_vs_react-intl_vs_intlayer.md': {
|
|
543
575
|
en: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'en'),
|
|
576
|
+
es: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'es'),
|
|
544
577
|
ru: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ru'),
|
|
545
578
|
ja: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ja'),
|
|
546
579
|
fr: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'fr'),
|
|
547
580
|
ko: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ko'),
|
|
548
581
|
zh: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'zh'),
|
|
549
|
-
es: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'es'),
|
|
550
582
|
de: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'de'),
|
|
551
583
|
ar: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'ar'),
|
|
552
584
|
it: readLocale('react-i18next_vs_react-intl_vs_intlayer.md', 'it'),
|
|
@@ -561,12 +593,12 @@ export const blogEntry = {
|
|
|
561
593
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
562
594
|
'./blog/en/vue-i18n_vs_intlayer.md': {
|
|
563
595
|
en: readLocale('vue-i18n_vs_intlayer.md', 'en'),
|
|
596
|
+
es: readLocale('vue-i18n_vs_intlayer.md', 'es'),
|
|
564
597
|
ru: readLocale('vue-i18n_vs_intlayer.md', 'ru'),
|
|
565
598
|
ja: readLocale('vue-i18n_vs_intlayer.md', 'ja'),
|
|
566
599
|
fr: readLocale('vue-i18n_vs_intlayer.md', 'fr'),
|
|
567
600
|
ko: readLocale('vue-i18n_vs_intlayer.md', 'ko'),
|
|
568
601
|
zh: readLocale('vue-i18n_vs_intlayer.md', 'zh'),
|
|
569
|
-
es: readLocale('vue-i18n_vs_intlayer.md', 'es'),
|
|
570
602
|
de: readLocale('vue-i18n_vs_intlayer.md', 'de'),
|
|
571
603
|
ar: readLocale('vue-i18n_vs_intlayer.md', 'ar'),
|
|
572
604
|
it: readLocale('vue-i18n_vs_intlayer.md', 'it'),
|
|
@@ -581,12 +613,12 @@ export const blogEntry = {
|
|
|
581
613
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
582
614
|
'./blog/en/what_is_internationalization.md': {
|
|
583
615
|
en: readLocale('what_is_internationalization.md', 'en'),
|
|
616
|
+
es: readLocale('what_is_internationalization.md', 'es'),
|
|
584
617
|
ru: readLocale('what_is_internationalization.md', 'ru'),
|
|
585
618
|
ja: readLocale('what_is_internationalization.md', 'ja'),
|
|
586
619
|
fr: readLocale('what_is_internationalization.md', 'fr'),
|
|
587
620
|
ko: readLocale('what_is_internationalization.md', 'ko'),
|
|
588
621
|
zh: readLocale('what_is_internationalization.md', 'zh'),
|
|
589
|
-
es: readLocale('what_is_internationalization.md', 'es'),
|
|
590
622
|
de: readLocale('what_is_internationalization.md', 'de'),
|
|
591
623
|
ar: readLocale('what_is_internationalization.md', 'ar'),
|
|
592
624
|
it: readLocale('what_is_internationalization.md', 'it'),
|