@intlayer/docs 6.1.5 → 6.1.6
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/next-i18next_vs_next-intl_vs_intlayer.md +404 -173
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +262 -113
- package/blog/en/intlayer_with_next-i18next.mdx +431 -0
- package/blog/en/intlayer_with_next-intl.mdx +335 -0
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +463 -209
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +185 -71
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +36 -28
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +38 -28
- package/dist/cjs/generated/docs.entry.cjs +32 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +32 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +2 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/component_i18n.md +186 -0
- package/docs/ar/intlayer_with_angular.md +2 -2
- package/docs/ar/intlayer_with_astro.md +246 -0
- package/docs/ar/intlayer_with_create_react_app.md +3 -2
- package/docs/ar/intlayer_with_express.md +2 -2
- package/docs/ar/intlayer_with_nestjs.md +2 -2
- package/docs/ar/intlayer_with_nextjs_14.md +2 -2
- package/docs/ar/intlayer_with_nextjs_15.md +2 -2
- package/docs/ar/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ar/intlayer_with_nuxt.md +2 -2
- package/docs/ar/intlayer_with_react_native+expo.md +11 -20
- package/docs/ar/intlayer_with_react_router_v7.md +195 -241
- package/docs/ar/intlayer_with_tanstack.md +198 -272
- package/docs/ar/intlayer_with_vite+preact.md +9 -9
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/ar/vs_code_extension.md +48 -109
- package/docs/de/component_i18n.md +186 -0
- package/docs/de/intlayer_with_angular.md +2 -2
- package/docs/de/intlayer_with_astro.md +246 -0
- package/docs/de/intlayer_with_create_react_app.md +2 -2
- package/docs/de/intlayer_with_express.md +2 -2
- package/docs/de/intlayer_with_nestjs.md +2 -2
- package/docs/de/intlayer_with_nextjs_14.md +2 -2
- package/docs/de/intlayer_with_nextjs_15.md +2 -2
- package/docs/de/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/de/intlayer_with_nuxt.md +2 -2
- package/docs/de/intlayer_with_react_native+expo.md +11 -20
- package/docs/de/intlayer_with_react_router_v7.md +193 -242
- package/docs/de/intlayer_with_tanstack.md +194 -266
- package/docs/de/intlayer_with_vite+preact.md +9 -9
- package/docs/de/intlayer_with_vite+react.md +9 -9
- package/docs/de/intlayer_with_vite+vue.md +11 -11
- package/docs/de/packages/vite-intlayer/index.md +3 -3
- package/docs/de/vs_code_extension.md +46 -107
- package/docs/en/component_i18n.md +186 -0
- package/docs/en/how_works_intlayer.md +1 -1
- package/docs/en/index.md +1 -1
- package/docs/en/intlayer_cli.md +1 -1
- package/docs/en/intlayer_with_angular.md +4 -4
- package/docs/en/intlayer_with_astro.md +246 -0
- package/docs/en/intlayer_with_create_react_app.md +4 -4
- package/docs/en/intlayer_with_express.md +3 -3
- package/docs/en/intlayer_with_lynx+react.md +1 -1
- package/docs/en/intlayer_with_nestjs.md +2 -2
- package/docs/en/intlayer_with_nextjs_14.md +31 -5
- package/docs/en/intlayer_with_nextjs_15.md +31 -5
- package/docs/en/intlayer_with_nextjs_page_router.md +5 -5
- package/docs/en/intlayer_with_nuxt.md +4 -4
- package/docs/en/intlayer_with_react_native+expo.md +46 -24
- package/docs/en/intlayer_with_react_router_v7.md +164 -211
- package/docs/en/intlayer_with_tanstack.md +166 -241
- package/docs/en/intlayer_with_vite+preact.md +12 -12
- package/docs/en/intlayer_with_vite+react.md +12 -12
- package/docs/en/intlayer_with_vite+solid.md +2 -2
- package/docs/en/intlayer_with_vite+svelte.md +2 -2
- package/docs/en/intlayer_with_vite+vue.md +12 -12
- package/docs/en/introduction.md +1 -1
- package/docs/en/packages/next-intlayer/useDictionary.md +1 -1
- package/docs/en/packages/next-intlayer/useIntlayer.md +1 -1
- package/docs/en/packages/react-intlayer/useDictionary.md +1 -1
- package/docs/en/packages/react-intlayer/useI18n.md +1 -1
- package/docs/en/packages/react-intlayer/useIntlayer.md +1 -1
- package/docs/en/releases/v6.md +1 -0
- package/docs/en/roadmap.md +1 -1
- package/docs/en/vs_code_extension.md +24 -114
- package/docs/en-GB/component_i18n.md +186 -0
- package/docs/en-GB/intlayer_with_angular.md +3 -3
- package/docs/en-GB/intlayer_with_astro.md +246 -0
- package/docs/en-GB/intlayer_with_create_react_app.md +5 -4
- package/docs/en-GB/intlayer_with_express.md +2 -2
- package/docs/en-GB/intlayer_with_nestjs.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_14.md +4 -4
- package/docs/en-GB/intlayer_with_nextjs_15.md +2 -2
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/en-GB/intlayer_with_nuxt.md +2 -2
- package/docs/en-GB/intlayer_with_react_native+expo.md +11 -20
- package/docs/en-GB/intlayer_with_react_router_v7.md +171 -220
- package/docs/en-GB/intlayer_with_tanstack.md +174 -248
- package/docs/en-GB/intlayer_with_vite+preact.md +9 -9
- package/docs/en-GB/intlayer_with_vite+react.md +9 -9
- package/docs/en-GB/intlayer_with_vite+vue.md +11 -11
- package/docs/en-GB/packages/next-intlayer/useIntlayer.md +1 -1
- package/docs/en-GB/packages/react-intlayer/useIntlayer.md +1 -1
- package/docs/en-GB/vs_code_extension.md +42 -103
- package/docs/es/component_i18n.md +182 -0
- package/docs/es/intlayer_with_angular.md +2 -2
- package/docs/es/intlayer_with_astro.md +246 -0
- package/docs/es/intlayer_with_create_react_app.md +3 -2
- package/docs/es/intlayer_with_express.md +2 -2
- package/docs/es/intlayer_with_nextjs_14.md +2 -2
- package/docs/es/intlayer_with_nextjs_15.md +2 -2
- package/docs/es/intlayer_with_react_native+expo.md +11 -20
- package/docs/es/intlayer_with_react_router_v7.md +188 -232
- package/docs/es/intlayer_with_tanstack.md +203 -273
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/es/vs_code_extension.md +53 -114
- package/docs/fr/component_i18n.md +186 -0
- package/docs/fr/intlayer_with_angular.md +2 -2
- package/docs/fr/intlayer_with_astro.md +246 -0
- package/docs/fr/intlayer_with_create_react_app.md +3 -2
- package/docs/fr/intlayer_with_express.md +2 -2
- package/docs/fr/intlayer_with_nestjs.md +2 -2
- package/docs/fr/intlayer_with_nextjs_14.md +2 -2
- package/docs/fr/intlayer_with_react_native+expo.md +11 -20
- package/docs/fr/intlayer_with_react_router_v7.md +188 -248
- package/docs/fr/intlayer_with_tanstack.md +192 -265
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/vs_code_extension.md +50 -111
- package/docs/hi/component_i18n.md +186 -0
- package/docs/hi/intlayer_cli.md +1 -4
- package/docs/hi/intlayer_with_angular.md +2 -2
- package/docs/hi/intlayer_with_astro.md +246 -0
- package/docs/hi/intlayer_with_create_react_app.md +2 -2
- package/docs/hi/intlayer_with_express.md +2 -2
- package/docs/hi/intlayer_with_nestjs.md +2 -2
- package/docs/hi/intlayer_with_nextjs_14.md +2 -2
- package/docs/hi/intlayer_with_nextjs_15.md +2 -2
- package/docs/hi/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/hi/intlayer_with_nuxt.md +2 -2
- package/docs/hi/intlayer_with_react_native+expo.md +11 -20
- package/docs/hi/intlayer_with_react_router_v7.md +199 -243
- package/docs/hi/intlayer_with_tanstack.md +210 -285
- package/docs/hi/intlayer_with_vite+preact.md +9 -9
- package/docs/hi/intlayer_with_vite+react.md +9 -9
- package/docs/hi/intlayer_with_vite+solid.md +1 -1
- package/docs/hi/intlayer_with_vite+vue.md +11 -11
- package/docs/hi/vs_code_extension.md +49 -110
- package/docs/it/component_i18n.md +186 -0
- package/docs/it/intlayer_with_angular.md +2 -2
- package/docs/it/intlayer_with_astro.md +246 -0
- package/docs/it/intlayer_with_create_react_app.md +3 -2
- package/docs/it/intlayer_with_express.md +2 -2
- package/docs/it/intlayer_with_nestjs.md +2 -2
- package/docs/it/intlayer_with_nextjs_14.md +2 -2
- package/docs/it/intlayer_with_nextjs_15.md +2 -2
- package/docs/it/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/it/intlayer_with_nuxt.md +2 -2
- package/docs/it/intlayer_with_react_native+expo.md +11 -21
- package/docs/it/intlayer_with_react_router_v7.md +195 -242
- package/docs/it/intlayer_with_tanstack.md +203 -267
- package/docs/it/intlayer_with_vite+preact.md +9 -9
- package/docs/it/intlayer_with_vite+react.md +13 -11
- package/docs/it/intlayer_with_vite+vue.md +11 -11
- package/docs/it/vs_code_extension.md +50 -111
- package/docs/ja/component_i18n.md +186 -0
- package/docs/ja/intlayer_with_angular.md +2 -2
- package/docs/ja/intlayer_with_astro.md +246 -0
- package/docs/ja/intlayer_with_create_react_app.md +3 -2
- package/docs/ja/intlayer_with_express.md +2 -2
- package/docs/ja/intlayer_with_nestjs.md +2 -2
- package/docs/ja/intlayer_with_nextjs_14.md +2 -2
- package/docs/ja/intlayer_with_nextjs_15.md +2 -2
- package/docs/ja/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ja/intlayer_with_nuxt.md +2 -2
- package/docs/ja/intlayer_with_react_native+expo.md +18 -29
- package/docs/ja/intlayer_with_react_router_v7.md +204 -250
- package/docs/ja/intlayer_with_tanstack.md +218 -286
- package/docs/ja/intlayer_with_vite+preact.md +9 -9
- package/docs/ja/intlayer_with_vite+react.md +11 -11
- package/docs/ja/intlayer_with_vite+vue.md +11 -11
- package/docs/ja/vs_code_extension.md +50 -111
- package/docs/ko/component_i18n.md +186 -0
- package/docs/ko/intlayer_with_angular.md +2 -2
- package/docs/ko/intlayer_with_astro.md +246 -0
- package/docs/ko/intlayer_with_create_react_app.md +3 -2
- package/docs/ko/intlayer_with_express.md +2 -2
- package/docs/ko/intlayer_with_nestjs.md +2 -2
- package/docs/ko/intlayer_with_nextjs_14.md +2 -2
- package/docs/ko/intlayer_with_nextjs_15.md +2 -2
- package/docs/ko/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ko/intlayer_with_nuxt.md +2 -2
- package/docs/ko/intlayer_with_react_native+expo.md +19 -28
- package/docs/ko/intlayer_with_react_router_v7.md +190 -244
- package/docs/ko/intlayer_with_tanstack.md +200 -270
- package/docs/ko/intlayer_with_vite+preact.md +9 -9
- package/docs/ko/intlayer_with_vite+react.md +9 -9
- package/docs/ko/intlayer_with_vite+vue.md +11 -11
- package/docs/ko/vs_code_extension.md +48 -109
- package/docs/pt/component_i18n.md +186 -0
- package/docs/pt/intlayer_with_angular.md +2 -2
- package/docs/pt/intlayer_with_astro.md +246 -0
- package/docs/pt/intlayer_with_create_react_app.md +3 -2
- package/docs/pt/intlayer_with_express.md +2 -2
- package/docs/pt/intlayer_with_nestjs.md +2 -2
- package/docs/pt/intlayer_with_nextjs_14.md +2 -2
- package/docs/pt/intlayer_with_nextjs_15.md +2 -2
- package/docs/pt/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/pt/intlayer_with_nuxt.md +2 -2
- package/docs/pt/intlayer_with_react_native+expo.md +11 -20
- package/docs/pt/intlayer_with_react_router_v7.md +7 -13
- package/docs/pt/intlayer_with_tanstack.md +183 -258
- package/docs/pt/intlayer_with_vite+preact.md +9 -9
- package/docs/pt/intlayer_with_vite+react.md +9 -9
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/pt/vs_code_extension.md +46 -107
- package/docs/ru/component_i18n.md +186 -0
- package/docs/ru/intlayer_with_angular.md +2 -2
- package/docs/ru/intlayer_with_astro.md +246 -0
- package/docs/ru/intlayer_with_create_react_app.md +3 -2
- package/docs/ru/intlayer_with_express.md +2 -2
- package/docs/ru/intlayer_with_nestjs.md +2 -2
- package/docs/ru/intlayer_with_nextjs_14.md +2 -2
- package/docs/ru/intlayer_with_nextjs_15.md +2 -2
- package/docs/ru/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/ru/intlayer_with_nuxt.md +2 -2
- package/docs/ru/intlayer_with_react_native+expo.md +11 -20
- package/docs/ru/intlayer_with_react_router_v7.md +192 -238
- package/docs/ru/intlayer_with_tanstack.md +197 -269
- package/docs/ru/intlayer_with_vite+preact.md +9 -9
- package/docs/ru/intlayer_with_vite+react.md +9 -9
- package/docs/ru/intlayer_with_vite+vue.md +11 -11
- package/docs/ru/vs_code_extension.md +48 -109
- package/docs/tr/component_i18n.md +186 -0
- package/docs/tr/how_works_intlayer.md +1 -1
- package/docs/tr/index.md +1 -1
- package/docs/tr/intlayer_cli.md +1 -1
- package/docs/tr/intlayer_with_angular.md +4 -4
- package/docs/tr/intlayer_with_astro.md +246 -0
- package/docs/tr/intlayer_with_create_react_app.md +4 -4
- package/docs/tr/intlayer_with_express.md +3 -3
- package/docs/tr/intlayer_with_lynx+react.md +1 -1
- package/docs/tr/intlayer_with_nestjs.md +2 -2
- package/docs/tr/intlayer_with_nextjs_14.md +2 -2
- package/docs/tr/intlayer_with_nextjs_15.md +4 -4
- package/docs/tr/intlayer_with_nextjs_page_router.md +5 -5
- package/docs/tr/intlayer_with_nuxt.md +4 -4
- package/docs/tr/intlayer_with_react_native+expo.md +12 -21
- package/docs/tr/intlayer_with_react_router_v7.md +222 -267
- package/docs/tr/intlayer_with_tanstack.md +400 -303
- package/docs/tr/intlayer_with_vite+preact.md +12 -12
- package/docs/tr/intlayer_with_vite+react.md +12 -12
- package/docs/tr/intlayer_with_vite+solid.md +2 -2
- package/docs/tr/intlayer_with_vite+svelte.md +2 -2
- package/docs/tr/intlayer_with_vite+vue.md +12 -12
- package/docs/tr/introduction.md +1 -1
- package/docs/tr/packages/react-intlayer/useDictionary.md +1 -1
- package/docs/tr/packages/react-intlayer/useI18n.md +1 -1
- package/docs/tr/roadmap.md +1 -1
- package/docs/tr/vs_code_extension.md +54 -115
- package/docs/zh/component_i18n.md +186 -0
- package/docs/zh/intlayer_with_angular.md +2 -2
- package/docs/zh/intlayer_with_astro.md +246 -0
- package/docs/zh/intlayer_with_create_react_app.md +3 -2
- package/docs/zh/intlayer_with_express.md +2 -2
- package/docs/zh/intlayer_with_nestjs.md +2 -2
- package/docs/zh/intlayer_with_nextjs_14.md +2 -2
- package/docs/zh/intlayer_with_nextjs_15.md +2 -2
- package/docs/zh/intlayer_with_nextjs_page_router.md +2 -2
- package/docs/zh/intlayer_with_nuxt.md +2 -2
- package/docs/zh/intlayer_with_react_native+expo.md +19 -28
- package/docs/zh/intlayer_with_react_router_v7.md +200 -248
- package/docs/zh/intlayer_with_tanstack.md +208 -283
- package/docs/zh/intlayer_with_vite+preact.md +9 -9
- package/docs/zh/intlayer_with_vite+react.md +9 -9
- package/docs/zh/intlayer_with_vite+vue.md +9 -9
- package/docs/zh/vs_code_extension.md +51 -105
- package/package.json +10 -10
- package/src/generated/docs.entry.ts +32 -0
|
@@ -1108,38 +1108,38 @@ const App = () => (
|
|
|
1108
1108
|
module.exports = App;
|
|
1109
1109
|
```
|
|
1110
1110
|
|
|
1111
|
-
同时,您还可以使用 `
|
|
1111
|
+
同时,您还可以使用 `intlayerMiddleware` 为您的应用程序添加服务器端路由。该插件将根据 URL 自动检测当前语言环境并设置相应的语言环境 Cookie。如果未指定语言环境,插件将根据用户浏览器的语言偏好确定最合适的语言环境。如果仍未检测到语言环境,则会重定向到默认语言环境。
|
|
1112
1112
|
|
|
1113
1113
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1114
1114
|
import { defineConfig } from "vite";
|
|
1115
1115
|
import preact from "@preact/preset-vite";
|
|
1116
|
-
import { intlayer,
|
|
1116
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1117
1117
|
|
|
1118
1118
|
// https://vitejs.dev/config/
|
|
1119
1119
|
export default defineConfig({
|
|
1120
|
-
plugins: [preact(), intlayer(),
|
|
1120
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1121
1121
|
});
|
|
1122
1122
|
```
|
|
1123
1123
|
|
|
1124
1124
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1125
1125
|
import { defineConfig } from "vite";
|
|
1126
1126
|
import preact from "@preact/preset-vite";
|
|
1127
|
-
import { intlayer,
|
|
1127
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1128
1128
|
|
|
1129
1129
|
// https://vitejs.dev/config/
|
|
1130
1130
|
export default defineConfig({
|
|
1131
|
-
plugins: [preact(), intlayer(),
|
|
1131
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1132
1132
|
});
|
|
1133
1133
|
```
|
|
1134
1134
|
|
|
1135
1135
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1136
1136
|
const { defineConfig } = require("vite");
|
|
1137
1137
|
const preact = require("@preact/preset-vite");
|
|
1138
|
-
const { intlayer,
|
|
1138
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1139
1139
|
|
|
1140
1140
|
// https://vitejs.dev/config/
|
|
1141
1141
|
module.exports = defineConfig({
|
|
1142
|
-
plugins: [preact(), intlayer(),
|
|
1142
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1143
1143
|
});
|
|
1144
1144
|
```
|
|
1145
1145
|
|
|
@@ -1676,9 +1676,9 @@ module.exports = { LocalizedLink, checkIsExternalLink };
|
|
|
1676
1676
|
|
|
1677
1677
|
Intlayer 使用模块增强来利用 TypeScript 的优势,使您的代码库更健壮。
|
|
1678
1678
|
|
|
1679
|
-

|
|
1680
1680
|
|
|
1681
|
-

|
|
1682
1682
|
|
|
1683
1683
|
确保您的 TypeScript 配置包含自动生成的类型。
|
|
1684
1684
|
|
|
@@ -1003,38 +1003,38 @@ const App = () => (
|
|
|
1003
1003
|
);
|
|
1004
1004
|
```
|
|
1005
1005
|
|
|
1006
|
-
同时,您还可以使用 `
|
|
1006
|
+
同时,您还可以使用 `intlayerMiddleware` 为您的应用程序添加服务器端路由。该插件将根据 URL 自动检测当前语言环境并设置相应的语言环境 Cookie。如果未指定语言环境,插件将根据用户浏览器的语言偏好确定最合适的语言环境。如果未检测到任何语言环境,它将重定向到默认语言环境。
|
|
1007
1007
|
|
|
1008
1008
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1009
1009
|
import { defineConfig } from "vite";
|
|
1010
1010
|
import react from "@vitejs/plugin-react-swc";
|
|
1011
|
-
import { intlayer,
|
|
1011
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1012
1012
|
|
|
1013
1013
|
// https://vitejs.dev/config/
|
|
1014
1014
|
export default defineConfig({
|
|
1015
|
-
plugins: [react(), intlayer(),
|
|
1015
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1016
1016
|
});
|
|
1017
1017
|
```
|
|
1018
1018
|
|
|
1019
1019
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1020
1020
|
import { defineConfig } from "vite";
|
|
1021
1021
|
import react from "@vitejs/plugin-react-swc";
|
|
1022
|
-
import { intlayer,
|
|
1022
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1023
1023
|
|
|
1024
1024
|
// https://vitejs.dev/config/
|
|
1025
1025
|
export default defineConfig({
|
|
1026
|
-
plugins: [react(), intlayer(),
|
|
1026
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1027
1027
|
});
|
|
1028
1028
|
```
|
|
1029
1029
|
|
|
1030
1030
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1031
1031
|
const { defineConfig } = require("vite");
|
|
1032
1032
|
const react = require("@vitejs/plugin-react-swc");
|
|
1033
|
-
const { intlayer,
|
|
1033
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1034
1034
|
|
|
1035
1035
|
// https://vitejs.dev/config/
|
|
1036
1036
|
module.exports = defineConfig({
|
|
1037
|
-
plugins: [react(), intlayer(),
|
|
1037
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1038
1038
|
});
|
|
1039
1039
|
```
|
|
1040
1040
|
|
|
@@ -1619,9 +1619,9 @@ Link.displayName = "Link";
|
|
|
1619
1619
|
|
|
1620
1620
|
Intlayer 使用模块增强(module augmentation)来利用 TypeScript 的优势,使您的代码库更健壮。
|
|
1621
1621
|
|
|
1622
|
-

|
|
1623
1623
|
|
|
1624
|
-

|
|
1625
1625
|
|
|
1626
1626
|
确保您的 TypeScript 配置包含自动生成的类型。
|
|
1627
1627
|
|
|
@@ -677,38 +677,38 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
677
677
|
</template>
|
|
678
678
|
```
|
|
679
679
|
|
|
680
|
-
同时,你也可以使用 `
|
|
680
|
+
同时,你也可以使用 `intlayerMiddleware` 为你的应用添加服务器端路由。该插件会根据 URL 自动检测当前语言环境并设置相应的语言环境 cookie。如果未指定语言环境,插件将根据用户浏览器的语言偏好确定最合适的语言环境。如果仍未检测到语言环境,则会重定向到默认语言环境。
|
|
681
681
|
|
|
682
682
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
683
683
|
import { defineConfig } from "vite";
|
|
684
684
|
import vue from "@vitejs/plugin-vue";
|
|
685
|
-
import { intlayer,
|
|
685
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
686
686
|
|
|
687
687
|
// https://vitejs.dev/config/
|
|
688
688
|
export default defineConfig({
|
|
689
|
-
plugins: [vue(), intlayer(),
|
|
689
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
690
690
|
});
|
|
691
691
|
```
|
|
692
692
|
|
|
693
693
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
694
694
|
import { defineConfig } from "vite";
|
|
695
695
|
import vue from "@vitejs/plugin-vue";
|
|
696
|
-
import { intlayer,
|
|
696
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
697
697
|
|
|
698
698
|
// https://vitejs.dev/config/
|
|
699
699
|
export default defineConfig({
|
|
700
|
-
plugins: [vue(), intlayer(),
|
|
700
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
701
701
|
});
|
|
702
702
|
```
|
|
703
703
|
|
|
704
704
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
705
705
|
const { defineConfig } = require("vite");
|
|
706
706
|
const vue = require("@vitejs/plugin-vue");
|
|
707
|
-
const { intlayer,
|
|
707
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
708
708
|
|
|
709
709
|
// https://vitejs.dev/config/
|
|
710
710
|
module.exports = defineConfig({
|
|
711
|
-
plugins: [vue(), intlayer(),
|
|
711
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
712
712
|
});
|
|
713
713
|
```
|
|
714
714
|
|
|
@@ -1012,9 +1012,9 @@ const { myMarkdownContent } = useIntlayer("my-component");
|
|
|
1012
1012
|
|
|
1013
1013
|
Intlayer 使用模块增强来利用 TypeScript 的优势,使您的代码库更强大。
|
|
1014
1014
|
|
|
1015
|
-

|
|
1016
1016
|
|
|
1017
|
-

|
|
1018
1018
|
|
|
1019
1019
|
确保您的 TypeScript 配置包含自动生成的类型。
|
|
1020
1020
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-09-
|
|
3
|
+
updatedAt: 2025-09-30
|
|
4
4
|
title: 官方 VS Code 扩展
|
|
5
|
-
description: 学习如何在 VS Code 中使用 Intlayer
|
|
5
|
+
description: 学习如何在 VS Code 中使用 Intlayer 扩展以提升您的开发工作流程。快速在本地化内容之间导航并高效管理您的词典。
|
|
6
6
|
keywords:
|
|
7
7
|
- VS Code 扩展
|
|
8
8
|
- Intlayer
|
|
@@ -23,92 +23,36 @@ slugs:
|
|
|
23
23
|
|
|
24
24
|
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) 是 **Intlayer** 的官方 Visual Studio Code 扩展,旨在提升开发者在项目中处理本地化内容时的体验。
|
|
25
25
|
|
|
26
|
-

|
|
26
|
+

|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
扩展链接: [https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension)
|
|
29
29
|
|
|
30
30
|
## 功能
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+

|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
**无缝集成** – 与 **react-intlayer** 和 **next-intlayer** 项目完美配合。
|
|
36
|
-
**多语言支持** – 支持不同语言的本地化内容。
|
|
37
|
-
**VS Code 集成** – 与 VS Code 的导航和命令面板无缝集成。
|
|
38
|
-
|
|
39
|
-
### 词典管理命令
|
|
40
|
-
|
|
41
|
-
直接在 VS Code 中管理您的内容词典:
|
|
42
|
-
|
|
43
|
-
- **构建词典** – 根据您的项目结构生成内容文件。
|
|
44
|
-
- **推送词典** – 将最新的词典内容上传到您的代码仓库。
|
|
45
|
-
- **拉取词典** – 从代码仓库同步最新的词典内容到本地环境。
|
|
34
|
+
- **即时导航** – 点击 `useIntlayer` 键时,快速跳转到正确的内容文件。
|
|
46
35
|
- **填充词典** – 使用项目中的内容填充词典。
|
|
47
|
-
- **测试词典** – 识别缺失或不完整的翻译。
|
|
48
|
-
|
|
49
|
-
### 内容声明生成器
|
|
50
|
-
|
|
51
|
-
轻松生成不同格式的结构化词典文件:
|
|
52
|
-
|
|
53
|
-
如果您当前正在开发一个组件,它会为您生成 `.content.{ts,tsx,js,jsx,mjs,cjs,json}` 文件。
|
|
54
|
-
|
|
55
|
-
组件示例:
|
|
56
|
-
|
|
57
|
-
```tsx fileName="src/components/MyComponent/index.tsx"
|
|
58
|
-
const MyComponent = () => {
|
|
59
|
-
const { myTranslatedContent } = useIntlayer("my-component");
|
|
60
36
|
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
生成的 TypeScript 格式文件:
|
|
66
|
-
|
|
67
|
-
```tsx fileName="src/components/MyComponent/index.content.ts"
|
|
68
|
-
import { t, type Dictionary } from "intlayer";
|
|
69
|
-
|
|
70
|
-
const componentContent = {
|
|
71
|
-
key: "my-component",
|
|
72
|
-
content: {
|
|
73
|
-
myTranslatedContent: t({
|
|
74
|
-
en: "Hello World",
|
|
75
|
-
es: "Hola Mundo",
|
|
76
|
-
fr: "Bonjour le monde",
|
|
77
|
-
}),
|
|
78
|
-
},
|
|
79
|
-
};
|
|
37
|
+

|
|
80
38
|
|
|
81
|
-
|
|
82
|
-
```
|
|
39
|
+
- **轻松访问 Intlayer 命令** – 轻松构建、推送、拉取、填充和测试内容词典。
|
|
83
40
|
|
|
84
|
-
|
|
41
|
+

|
|
85
42
|
|
|
86
|
-
-
|
|
87
|
-
- **ES 模块 (`.esm`)**
|
|
88
|
-
- **CommonJS (`.cjs`)**
|
|
89
|
-
- **JSON (`.json`)**
|
|
43
|
+
- **内容声明生成器** – 以多种格式创建词典内容文件(`.ts`、`.esm`、`.cjs`、`.json`)。
|
|
90
44
|
|
|
91
|
-
|
|
45
|
+

|
|
92
46
|
|
|
93
|
-
|
|
47
|
+
- **测试词典** – 测试词典中缺失的翻译。
|
|
94
48
|
|
|
95
|
-
-
|
|
96
|
-
- **字典**:一个树状视图,显示您的环境/项目、字典键以及贡献条目的文件。您可以:
|
|
97
|
-
- 点击文件以在编辑器中打开它。
|
|
98
|
-
- 使用工具栏执行操作:构建、拉取、推送、填充、刷新、测试和创建字典文件。
|
|
99
|
-
- 使用上下文菜单执行特定项目操作:
|
|
100
|
-
- 在字典上:拉取或推送
|
|
101
|
-
- 在文件上:填充字典
|
|
102
|
-
- 当您切换编辑器时,如果文件属于某个字典,树状视图会自动展开显示该文件。
|
|
49
|
+

|
|
103
50
|
|
|
104
|
-
|
|
51
|
+
- **保持词典最新** – 使您的词典内容保持与项目最新内容同步。
|
|
105
52
|
|
|
106
|
-
|
|
53
|
+

|
|
107
54
|
|
|
108
|
-
|
|
109
|
-
2. 进入 **扩展市场**。
|
|
110
|
-
3. 搜索 **"Intlayer"**。
|
|
111
|
-
4. 点击 **安装**。
|
|
55
|
+
- **Intlayer 侧边栏标签 (活动栏)** – 通过专用侧边标签浏览和搜索词典,带有工具栏和上下文操作(构建、拉取、推送、填充、刷新、测试、创建文件)。
|
|
112
56
|
|
|
113
57
|
## 使用方法
|
|
114
58
|
|
|
@@ -121,63 +65,65 @@ export default componentContent;
|
|
|
121
65
|
const content = useIntlayer("app");
|
|
122
66
|
```
|
|
123
67
|
|
|
124
|
-
3.
|
|
68
|
+
3. **命令点击**(macOS 上为 `⌘+点击`,Windows/Linux 上为 **Ctrl+点击**)键(例如 `"app"`)。
|
|
125
69
|
4. VS Code 会自动打开对应的字典文件,例如 `src/app.content.ts`。
|
|
126
70
|
|
|
127
|
-
### 管理内容字典
|
|
128
|
-
|
|
129
71
|
### Intlayer 侧边栏(活动栏)
|
|
130
72
|
|
|
131
73
|
使用侧边栏浏览和管理字典:
|
|
132
74
|
|
|
133
75
|
- 打开活动栏中的 Intlayer 图标。
|
|
134
|
-
-
|
|
135
|
-
-
|
|
76
|
+
- 在 **搜索** 中输入内容,实时过滤字典和条目。
|
|
77
|
+
- 在 **字典** 中浏览环境、字典和文件。使用工具栏进行构建(Build)、拉取(Pull)、推送(Push)、填充(Fill)、刷新(Refresh)、测试(Test)和创建字典文件。右键点击可进行上下文操作(字典上的拉取/推送,文件上的填充)。当前编辑器文件在适用时会自动在树中高亮显示。
|
|
136
78
|
|
|
137
|
-
|
|
79
|
+
### 访问命令
|
|
138
80
|
|
|
139
|
-
|
|
81
|
+
你可以通过 **命令面板** 访问这些命令。
|
|
140
82
|
|
|
141
83
|
```sh
|
|
142
84
|
Cmd + Shift + P(macOS)/ Ctrl + Shift + P(Windows/Linux)
|
|
143
85
|
```
|
|
144
86
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
87
|
+
- **构建字典**
|
|
88
|
+
- **推送字典**
|
|
89
|
+
- **拉取字典**
|
|
90
|
+
- **填充字典**
|
|
91
|
+
- **测试字典**
|
|
92
|
+
- **创建字典文件**
|
|
150
93
|
|
|
151
|
-
|
|
152
|
-
2. 搜索**推送词典**。
|
|
153
|
-
3. 选择要推送的词典并确认。
|
|
94
|
+
### 加载环境变量
|
|
154
95
|
|
|
155
|
-
|
|
96
|
+
Intlayer 建议将您的 AI API 密钥,以及 Intlayer 客户端 ID 和密钥存储在环境变量中。
|
|
156
97
|
|
|
157
|
-
|
|
98
|
+
该扩展可以从您的工作区加载环境变量,以便在正确的上下文中运行 Intlayer 命令。
|
|
158
99
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
100
|
+
- **加载顺序(优先级)**:`.env.<env>.local` → `.env.<env>` → `.env.local` → `.env`
|
|
101
|
+
- **非破坏性**:不会覆盖已有的 `process.env` 值。
|
|
102
|
+
- **作用域**:文件从配置的基础目录解析(默认为工作区根目录)。
|
|
162
103
|
|
|
163
|
-
####
|
|
104
|
+
#### 选择活动环境
|
|
164
105
|
|
|
165
|
-
|
|
106
|
+
- **命令面板**:打开命令面板并运行 `Intlayer: Select Environment`,然后选择环境(例如,`development`、`staging`、`production`)。扩展将尝试加载上述优先级列表中第一个可用的文件,并显示类似“已从 .env.<env>.local 加载环境”的通知。
|
|
107
|
+
- **设置**:进入 `设置 → 扩展 → Intlayer`,并设置:
|
|
108
|
+
- **环境**:用于解析 `.env.<env>*` 文件的环境名称。
|
|
109
|
+
- (可选)**环境文件**:显式指定一个 `.env` 文件路径。提供后,该路径优先于推断的列表。
|
|
166
110
|
|
|
167
|
-
|
|
168
|
-
2. 搜索 **填充词典(Fill Dictionaries)**。
|
|
169
|
-
3. 运行命令以填充词典。
|
|
111
|
+
#### Monorepos 和自定义目录
|
|
170
112
|
|
|
171
|
-
|
|
113
|
+
- **命令面板**:打开命令面板并运行 `Intlayer: Select Environment`,然后选择环境(例如,`development`、`staging`、`production`)。扩展将尝试加载上述优先列表中的第一个可用文件,并显示类似“已从 .env.<env>.local 加载环境”的通知。
|
|
114
|
+
- **设置**:进入 `设置 → 扩展 → Intlayer`,并设置:
|
|
115
|
+
- **环境**:用于解析 `.env.<env>*` 文件的环境名称。
|
|
116
|
+
- (可选)**Env 文件**:显式指定一个 `.env` 文件路径。提供后,该路径优先于推断的列表。
|
|
172
117
|
|
|
173
|
-
|
|
118
|
+
#### 多包仓库和自定义目录
|
|
174
119
|
|
|
175
|
-
|
|
176
|
-
2. 搜索 **测试词典(Test Dictionaries)**。
|
|
177
|
-
3. 查看报告的问题并进行修复。
|
|
120
|
+
如果你的 `.env` 文件位于工作区根目录之外,请在 `设置 → 扩展 → Intlayer` 中设置 **基础目录**。加载器将相对于该目录查找 `.env` 文件。
|
|
178
121
|
|
|
179
122
|
## 文档历史
|
|
180
123
|
|
|
181
|
-
| 版本 | 日期 |
|
|
182
|
-
| ------ | ---------- |
|
|
183
|
-
|
|
|
124
|
+
| 版本 | 日期 | 变更内容 |
|
|
125
|
+
| ------ | ---------- | -------------------------------- |
|
|
126
|
+
| 6.1.5 | 2025-09-30 | 添加演示动图 |
|
|
127
|
+
| 6.1.0 | 2025-09-24 | 新增环境选择章节 |
|
|
128
|
+
| 6.0.0 | 2025-09-22 | Intlayer 标签页 / 填充与测试命令 |
|
|
129
|
+
| 5.5.10 | 2025-06-29 | 初始化历史 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlayer/docs",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Intlayer documentation",
|
|
6
6
|
"keywords": [
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"legal"
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@intlayer/config": "6.1.
|
|
52
|
-
"@intlayer/core": "6.1.
|
|
51
|
+
"@intlayer/config": "6.1.6",
|
|
52
|
+
"@intlayer/core": "6.1.6"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/node": "^24.5.2",
|
|
@@ -63,17 +63,17 @@
|
|
|
63
63
|
"tsx": "^4.20.5",
|
|
64
64
|
"typescript": "^5.9.2",
|
|
65
65
|
"vitest": "^3.2.4",
|
|
66
|
+
"@intlayer/api": "6.1.6",
|
|
66
67
|
"@utils/ts-config": "1.0.4",
|
|
67
|
-
"@utils/tsup-config": "1.0.4",
|
|
68
68
|
"@utils/ts-config-types": "1.0.4",
|
|
69
|
-
"@
|
|
70
|
-
"@intlayer/cli": "6.1.
|
|
69
|
+
"@utils/tsup-config": "1.0.4",
|
|
70
|
+
"@intlayer/cli": "6.1.6"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
|
-
"@intlayer/
|
|
74
|
-
"@intlayer/
|
|
75
|
-
"@intlayer/
|
|
76
|
-
"@intlayer/
|
|
73
|
+
"@intlayer/core": "6.1.6",
|
|
74
|
+
"@intlayer/api": "6.1.6",
|
|
75
|
+
"@intlayer/cli": "6.1.6",
|
|
76
|
+
"@intlayer/config": "6.1.6"
|
|
77
77
|
},
|
|
78
78
|
"engines": {
|
|
79
79
|
"node": ">=14.18"
|
|
@@ -60,6 +60,22 @@ export const docsEntry = {
|
|
|
60
60
|
hi: readLocale('autoFill.md', 'hi'),
|
|
61
61
|
tr: readLocale('autoFill.md', 'tr'),
|
|
62
62
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
63
|
+
'./docs/en/component_i18n.md': {
|
|
64
|
+
en: readLocale('component_i18n.md', 'en'),
|
|
65
|
+
fr: readLocale('component_i18n.md', 'fr'),
|
|
66
|
+
ru: readLocale('component_i18n.md', 'ru'),
|
|
67
|
+
ja: readLocale('component_i18n.md', 'ja'),
|
|
68
|
+
ko: readLocale('component_i18n.md', 'ko'),
|
|
69
|
+
zh: readLocale('component_i18n.md', 'zh'),
|
|
70
|
+
es: readLocale('component_i18n.md', 'es'),
|
|
71
|
+
de: readLocale('component_i18n.md', 'de'),
|
|
72
|
+
ar: readLocale('component_i18n.md', 'ar'),
|
|
73
|
+
pt: readLocale('component_i18n.md', 'pt'),
|
|
74
|
+
'en-GB': readLocale('component_i18n.md', 'en-GB'),
|
|
75
|
+
it: readLocale('component_i18n.md', 'it'),
|
|
76
|
+
hi: readLocale('component_i18n.md', 'hi'),
|
|
77
|
+
tr: readLocale('component_i18n.md', 'tr'),
|
|
78
|
+
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
63
79
|
'./docs/en/configuration.md': {
|
|
64
80
|
en: readLocale('configuration.md', 'en'),
|
|
65
81
|
fr: readLocale('configuration.md', 'fr'),
|
|
@@ -364,6 +380,22 @@ export const docsEntry = {
|
|
|
364
380
|
hi: readLocale('intlayer_with_angular.md', 'hi'),
|
|
365
381
|
tr: readLocale('intlayer_with_angular.md', 'tr'),
|
|
366
382
|
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
383
|
+
'./docs/en/intlayer_with_astro.md': {
|
|
384
|
+
en: readLocale('intlayer_with_astro.md', 'en'),
|
|
385
|
+
fr: readLocale('intlayer_with_astro.md', 'fr'),
|
|
386
|
+
ru: readLocale('intlayer_with_astro.md', 'ru'),
|
|
387
|
+
ja: readLocale('intlayer_with_astro.md', 'ja'),
|
|
388
|
+
ko: readLocale('intlayer_with_astro.md', 'ko'),
|
|
389
|
+
zh: readLocale('intlayer_with_astro.md', 'zh'),
|
|
390
|
+
es: readLocale('intlayer_with_astro.md', 'es'),
|
|
391
|
+
de: readLocale('intlayer_with_astro.md', 'de'),
|
|
392
|
+
ar: readLocale('intlayer_with_astro.md', 'ar'),
|
|
393
|
+
pt: readLocale('intlayer_with_astro.md', 'pt'),
|
|
394
|
+
'en-GB': readLocale('intlayer_with_astro.md', 'en-GB'),
|
|
395
|
+
it: readLocale('intlayer_with_astro.md', 'it'),
|
|
396
|
+
hi: readLocale('intlayer_with_astro.md', 'hi'),
|
|
397
|
+
tr: readLocale('intlayer_with_astro.md', 'tr'),
|
|
398
|
+
} as unknown as Record<LocalesValues, Promise<string>>,
|
|
367
399
|
'./docs/en/intlayer_with_create_react_app.md': {
|
|
368
400
|
en: readLocale('intlayer_with_create_react_app.md', 'en'),
|
|
369
401
|
fr: readLocale('intlayer_with_create_react_app.md', 'fr'),
|