@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
|
@@ -59,7 +59,7 @@ yarn add vite-intlayer --save-dev
|
|
|
59
59
|
|
|
60
60
|
- **intlayer**
|
|
61
61
|
|
|
62
|
-
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
62
|
+
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md).
|
|
63
63
|
|
|
64
64
|
- **preact-intlayer**
|
|
65
65
|
The package that integrates Intlayer with Preact application. It provides context providers and hooks for Preact internationalization.
|
|
@@ -374,7 +374,7 @@ module.exports = appContent;
|
|
|
374
374
|
|
|
375
375
|
> Your content declarations can be defined anywhere in your application as soon they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
376
376
|
|
|
377
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
377
|
+
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
378
378
|
|
|
379
379
|
> If your content file includes TSX code, you might need to import `import { h } from "preact";` or ensure your JSX pragma is correctly set for Preact.
|
|
380
380
|
|
|
@@ -1036,40 +1036,40 @@ const App = () => (
|
|
|
1036
1036
|
module.exports = App;
|
|
1037
1037
|
```
|
|
1038
1038
|
|
|
1039
|
-
In parallel, you can also use the `
|
|
1039
|
+
In parallel, you can also use the `intlayerMiddleware` to add server-side routing to your application. This plugin will automatically detect the current locale based on the URL and set the appropriate locale cookie. If no locale is specified, the plugin will determine the most appropriate locale based on the user's browser language preferences. If no locale is detected, it will redirect to the default locale.
|
|
1040
1040
|
|
|
1041
|
-
> Note that to use the `
|
|
1041
|
+
> Note that to use the `intlayerMiddleware` in production, you need to switch the `vite-intlayer` package from `devDependencies` to `dependencies`.
|
|
1042
1042
|
|
|
1043
1043
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1044
1044
|
import { defineConfig } from "vite";
|
|
1045
1045
|
import preact from "@preact/preset-vite";
|
|
1046
|
-
import { intlayer,
|
|
1046
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1047
1047
|
|
|
1048
1048
|
// https://vitejs.dev/config/
|
|
1049
1049
|
export default defineConfig({
|
|
1050
|
-
plugins: [preact(), intlayer(),
|
|
1050
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1051
1051
|
});
|
|
1052
1052
|
```
|
|
1053
1053
|
|
|
1054
1054
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1055
1055
|
import { defineConfig } from "vite";
|
|
1056
1056
|
import preact from "@preact/preset-vite";
|
|
1057
|
-
import { intlayer,
|
|
1057
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1058
1058
|
|
|
1059
1059
|
// https://vitejs.dev/config/
|
|
1060
1060
|
export default defineConfig({
|
|
1061
|
-
plugins: [preact(), intlayer(),
|
|
1061
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1062
1062
|
});
|
|
1063
1063
|
```
|
|
1064
1064
|
|
|
1065
1065
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1066
1066
|
const { defineConfig } = require("vite");
|
|
1067
1067
|
const preact = require("@preact/preset-vite");
|
|
1068
|
-
const { intlayer,
|
|
1068
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1069
1069
|
|
|
1070
1070
|
// https://vitejs.dev/config/
|
|
1071
1071
|
module.exports = defineConfig({
|
|
1072
|
-
plugins: [preact(), intlayer(),
|
|
1072
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1073
1073
|
});
|
|
1074
1074
|
```
|
|
1075
1075
|
|
|
@@ -1604,9 +1604,9 @@ module.exports = { LocalizedLink, checkIsExternalLink };
|
|
|
1604
1604
|
|
|
1605
1605
|
Intlayer use module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
1606
1606
|
|
|
1607
|
-

|
|
1608
1608
|
|
|
1609
|
-

|
|
1610
1610
|
|
|
1611
1611
|
Ensure your TypeScript configuration includes the autogenerated types.
|
|
1612
1612
|
|
|
@@ -61,7 +61,7 @@ yarn add vite-intlayer --save-dev
|
|
|
61
61
|
|
|
62
62
|
- **intlayer**
|
|
63
63
|
|
|
64
|
-
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
64
|
+
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md).
|
|
65
65
|
|
|
66
66
|
- **react-intlayer**
|
|
67
67
|
The package that integrates Intlayer with React application. It provides context providers and hooks for React internationalization.
|
|
@@ -406,7 +406,7 @@ module.exports = appContent;
|
|
|
406
406
|
|
|
407
407
|
> Your content declarations can be defined anywhere in your application as soon they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
408
408
|
|
|
409
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
409
|
+
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
410
410
|
|
|
411
411
|
> If your content file includes TSX code, you should consider importing `import React from "react";` in your content file.
|
|
412
412
|
|
|
@@ -1004,40 +1004,40 @@ const App = () => (
|
|
|
1004
1004
|
);
|
|
1005
1005
|
```
|
|
1006
1006
|
|
|
1007
|
-
In parallel, you can also use the `
|
|
1007
|
+
In parallel, you can also use the `intlayerMiddleware` to add server-side routing to your application. This plugin will automatically detect the current locale based on the URL and set the appropriate locale cookie. If no locale is specified, the plugin will determine the most appropriate locale based on the user's browser language preferences. If no locale is detected, it will redirect to the default locale.
|
|
1008
1008
|
|
|
1009
|
-
> Note that to use the `
|
|
1009
|
+
> Note that to use the `intlayerMiddleware` in production, you need to switch the `vite-intlayer` package from `devDependencies` to `dependencies`.
|
|
1010
1010
|
|
|
1011
1011
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1012
1012
|
import { defineConfig } from "vite";
|
|
1013
1013
|
import react from "@vitejs/plugin-react-swc";
|
|
1014
|
-
import { intlayer,
|
|
1014
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1015
1015
|
|
|
1016
1016
|
// https://vitejs.dev/config/
|
|
1017
1017
|
export default defineConfig({
|
|
1018
|
-
plugins: [react(), intlayer(),
|
|
1018
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1019
1019
|
});
|
|
1020
1020
|
```
|
|
1021
1021
|
|
|
1022
1022
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1023
1023
|
import { defineConfig } from "vite";
|
|
1024
1024
|
import react from "@vitejs/plugin-react-swc";
|
|
1025
|
-
import { intlayer,
|
|
1025
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1026
1026
|
|
|
1027
1027
|
// https://vitejs.dev/config/
|
|
1028
1028
|
export default defineConfig({
|
|
1029
|
-
plugins: [react(), intlayer(),
|
|
1029
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1030
1030
|
});
|
|
1031
1031
|
```
|
|
1032
1032
|
|
|
1033
1033
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1034
1034
|
const { defineConfig } = require("vite");
|
|
1035
1035
|
const react = require("@vitejs/plugin-react-swc");
|
|
1036
|
-
const { intlayer,
|
|
1036
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1037
1037
|
|
|
1038
1038
|
// https://vitejs.dev/config/
|
|
1039
1039
|
module.exports = defineConfig({
|
|
1040
|
-
plugins: [react(), intlayer(),
|
|
1040
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1041
1041
|
});
|
|
1042
1042
|
```
|
|
1043
1043
|
|
|
@@ -1571,9 +1571,9 @@ By integrating this `Link` component across your application, you maintain a coh
|
|
|
1571
1571
|
|
|
1572
1572
|
Intlayer use module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
1573
1573
|
|
|
1574
|
-

|
|
1575
1575
|
|
|
1576
|
-

|
|
1577
1577
|
|
|
1578
1578
|
Ensure your TypeScript configuration includes the autogenerated types.
|
|
1579
1579
|
|
|
@@ -59,7 +59,7 @@ yarn add vite-intlayer --save-dev
|
|
|
59
59
|
|
|
60
60
|
- **intlayer**
|
|
61
61
|
|
|
62
|
-
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
62
|
+
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md).
|
|
63
63
|
|
|
64
64
|
- **solid-intlayer**
|
|
65
65
|
The package that integrates Intlayer with Solid application. It provides context providers and hooks for Solid internationalization.
|
|
@@ -217,7 +217,7 @@ module.exports = appContent;
|
|
|
217
217
|
|
|
218
218
|
> Your content declarations can be defined anywhere in your application as soon they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
219
219
|
|
|
220
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
220
|
+
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
221
221
|
|
|
222
222
|
### Step 5: Utilize Intlayer in Your Code
|
|
223
223
|
|
|
@@ -59,7 +59,7 @@ yarn add vite-intlayer --save-dev
|
|
|
59
59
|
|
|
60
60
|
- **intlayer**
|
|
61
61
|
|
|
62
|
-
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
62
|
+
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md).
|
|
63
63
|
|
|
64
64
|
- **svelte-intlayer**
|
|
65
65
|
The package that integrates Intlayer with Svelte application. It provides context providers and hooks for Svelte internationalization.
|
|
@@ -217,7 +217,7 @@ module.exports = appContent;
|
|
|
217
217
|
|
|
218
218
|
> Your content declarations can be defined anywhere in your application as soon they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
219
219
|
|
|
220
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
220
|
+
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
221
221
|
|
|
222
222
|
### Step 5: Utilize Intlayer in Your Code
|
|
223
223
|
|
|
@@ -57,7 +57,7 @@ yarn add vite-intlayer --save-dev
|
|
|
57
57
|
|
|
58
58
|
- **intlayer**
|
|
59
59
|
|
|
60
|
-
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
60
|
+
The core package that provides internationalization tools for configuration management, translation, [content declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), transpilation, and [CLI commands](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_cli.md).
|
|
61
61
|
|
|
62
62
|
- **vue-intlayer**
|
|
63
63
|
The package that integrates Intlayer with Vue application. It provides context providers and composables for Vue internationalization.
|
|
@@ -356,7 +356,7 @@ module.exports = appContent;
|
|
|
356
356
|
|
|
357
357
|
> Your content declarations can be defined anywhere in your application as soon they are included into the `contentDir` directory (by default, `./src`). And match the content declaration file extension (by default, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
|
|
358
358
|
|
|
359
|
-
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
359
|
+
> For more details, refer to the [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
360
360
|
|
|
361
361
|
### Step 5: Utilize Intlayer in Your Code
|
|
362
362
|
|
|
@@ -645,40 +645,40 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
645
645
|
</template>
|
|
646
646
|
```
|
|
647
647
|
|
|
648
|
-
In parallel, you can also use the `
|
|
648
|
+
In parallel, you can also use the `intlayerMiddleware` to add server-side routing to your application. This plugin will automatically detect the current locale based on the URL and set the appropriate locale cookie. If no locale is specified, the plugin will determine the most appropriate locale based on the user's browser language preferences. If no locale is detected, it will redirect to the default locale.
|
|
649
649
|
|
|
650
|
-
> Note that to use the `
|
|
650
|
+
> Note that to use the `intlayerMiddleware` in production, you need to switch the `vite-intlayer` package from `devDependencies` to `dependencies`.
|
|
651
651
|
|
|
652
652
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
653
653
|
import { defineConfig } from "vite";
|
|
654
654
|
import vue from "@vitejs/plugin-vue";
|
|
655
|
-
import { intlayer,
|
|
655
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
656
656
|
|
|
657
657
|
// https://vitejs.dev/config/
|
|
658
658
|
export default defineConfig({
|
|
659
|
-
plugins: [vue(), intlayer(),
|
|
659
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
660
660
|
});
|
|
661
661
|
```
|
|
662
662
|
|
|
663
663
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
664
664
|
import { defineConfig } from "vite";
|
|
665
665
|
import vue from "@vitejs/plugin-vue";
|
|
666
|
-
import { intlayer,
|
|
666
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
667
667
|
|
|
668
668
|
// https://vitejs.dev/config/
|
|
669
669
|
export default defineConfig({
|
|
670
|
-
plugins: [vue(), intlayer(),
|
|
670
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
671
671
|
});
|
|
672
672
|
```
|
|
673
673
|
|
|
674
674
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
675
675
|
const { defineConfig } = require("vite");
|
|
676
676
|
const vue = require("@vitejs/plugin-vue");
|
|
677
|
-
const { intlayer,
|
|
677
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
678
678
|
|
|
679
679
|
// https://vitejs.dev/config/
|
|
680
680
|
module.exports = defineConfig({
|
|
681
|
-
plugins: [vue(), intlayer(),
|
|
681
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
682
682
|
});
|
|
683
683
|
```
|
|
684
684
|
|
|
@@ -983,9 +983,9 @@ const { myMarkdownContent } = useIntlayer("my-component");
|
|
|
983
983
|
|
|
984
984
|
Intlayer uses module augmentation to get benefits of TypeScript and make your codebase stronger.
|
|
985
985
|
|
|
986
|
-

|
|
987
987
|
|
|
988
|
-

|
|
989
989
|
|
|
990
990
|
Ensure your TypeScript configuration includes the autogenerated types.
|
|
991
991
|
|
package/docs/en/introduction.md
CHANGED
|
@@ -152,7 +152,7 @@ Intlayer offers a variety of features tailored to meet the needs of modern web d
|
|
|
152
152
|
|
|
153
153
|
Organize your multilingual content close to your code to keep everything consistent and maintainable.
|
|
154
154
|
|
|
155
|
-
- **[Get Started](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
155
|
+
- **[Get Started](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md)**
|
|
156
156
|
Learn the basics of declaring your content in Intlayer.
|
|
157
157
|
|
|
158
158
|
- **[Translation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/translation.md)**
|
|
@@ -65,7 +65,7 @@ The hook accepts two parameters:
|
|
|
65
65
|
|
|
66
66
|
## Dictionary
|
|
67
67
|
|
|
68
|
-
All dictionary objects should be declared in structured content files to ensure type safety and prevent runtime errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
68
|
+
All dictionary objects should be declared in structured content files to ensure type safety and prevent runtime errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md). Here's an example of content declaration:
|
|
69
69
|
|
|
70
70
|
```typescript fileName="component.content.ts" codeFormat="typescript"
|
|
71
71
|
import { t, type Dictionary } from "intlayer";
|
|
@@ -65,7 +65,7 @@ Depending on whether you're working on client-side or server-side components in
|
|
|
65
65
|
|
|
66
66
|
It's crucial that all content keys are defined within content declaration files to prevent runtime errors and ensure type safety. This approach also facilitates TypeScript integration for compile-time validation.
|
|
67
67
|
|
|
68
|
-
Instructions for setting up content declaration files are available [here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
68
|
+
Instructions for setting up content declaration files are available [here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
69
69
|
|
|
70
70
|
## Example Usage in Next.js
|
|
71
71
|
|
|
@@ -64,7 +64,7 @@ The hook accepts two parameters:
|
|
|
64
64
|
|
|
65
65
|
## Dictionary
|
|
66
66
|
|
|
67
|
-
All dictionary objects should be declared in structured content files to ensure type safety and prevent runtime errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
67
|
+
All dictionary objects should be declared in structured content files to ensure type safety and prevent runtime errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md). Here's an example of content declaration:
|
|
68
68
|
|
|
69
69
|
```typescript fileName="./component.content.ts" contentDeclarationFormat="typescript"
|
|
70
70
|
import { t, type Dictionary } from "intlayer";
|
|
@@ -66,7 +66,7 @@ This hook accepts two parameters:
|
|
|
66
66
|
|
|
67
67
|
## Dictionary
|
|
68
68
|
|
|
69
|
-
All dictionary keys must be declared within content declaration files to enhance type safety and prevent errors. [Configuration instructions can be found here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
69
|
+
All dictionary keys must be declared within content declaration files to enhance type safety and prevent errors. [Configuration instructions can be found here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
70
70
|
|
|
71
71
|
## Usage Examples in React
|
|
72
72
|
|
|
@@ -65,7 +65,7 @@ The hook accepts two parameters:
|
|
|
65
65
|
|
|
66
66
|
## Dictionary
|
|
67
67
|
|
|
68
|
-
All dictionary keys must be declared within content declaration files to enhance type safety and avoid errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
68
|
+
All dictionary keys must be declared within content declaration files to enhance type safety and avoid errors. You can find the [setup instructions here](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md).
|
|
69
69
|
|
|
70
70
|
## Example Usage in React
|
|
71
71
|
|
package/docs/en/releases/v6.md
CHANGED
|
@@ -277,6 +277,7 @@ To work around this, we dropped the `intlayer watch` command, using the `--with`
|
|
|
277
277
|
- Prefer the new global `content.autoFill` option to generate missing translations at scale.
|
|
278
278
|
- Use `npx intlayer content test` to gate PRs on missing translations.
|
|
279
279
|
- For verbose diagnostics, set `log.mode = 'verbose'`.
|
|
280
|
+
- Use `intlayer` instead of `intlayerPlugin` and `intlayerMiddleware` instead of `intlayerMiddlewarePlugin` in your Vite configuration.
|
|
280
281
|
|
|
281
282
|
---
|
|
282
283
|
|
package/docs/en/roadmap.md
CHANGED
|
@@ -32,7 +32,7 @@ Intlayer is a content management and internationalization solution designed to s
|
|
|
32
32
|
|
|
33
33
|
> Resources:
|
|
34
34
|
>
|
|
35
|
-
> - [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/
|
|
35
|
+
> - [Content Declaration](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md)
|
|
36
36
|
|
|
37
37
|
### 2. Internationalization
|
|
38
38
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-03-17
|
|
3
|
-
updatedAt: 2025-09-
|
|
3
|
+
updatedAt: 2025-09-30
|
|
4
4
|
title: Official VS Code Extension
|
|
5
5
|
description: Learn how to use the Intlayer extension in VS Code to enhance your development workflow. Quickly navigate between localized content and manage your dictionaries efficiently.
|
|
6
6
|
keywords:
|
|
@@ -23,92 +23,36 @@ slugs:
|
|
|
23
23
|
|
|
24
24
|
[**Intlayer**](https://marketplace.visualstudio.com/items?itemName=Intlayer.intlayer-vs-code-extension) is the official Visual Studio Code extension for **Intlayer**, designed to improve the developer experience when working with localized content in your projects.
|
|
25
25
|
|
|
26
|
-

|
|
26
|
+

|
|
27
27
|
|
|
28
28
|
Extension link: [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
|
## Features
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+

|
|
33
33
|
|
|
34
|
-
**
|
|
35
|
-
**
|
|
36
|
-
**Multi-language Support** – Supports localized content across different languages.
|
|
37
|
-
**VS Code Integration** – Smoothly integrates with VS Code’s navigation and command palette.
|
|
34
|
+
- **Instant Navigation** – Quickly jump to the correct content file when clicking on a `useIntlayer` key.
|
|
35
|
+
- **Fill Dictionaries** – Fill dictionaries with content from your project.
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+

|
|
40
38
|
|
|
41
|
-
|
|
39
|
+
- **Easy access to Intlayer Commands** – Build, push, pull, fill, test content dictionaries with ease.
|
|
42
40
|
|
|
43
|
-
|
|
44
|
-
- **Push Dictionaries** – Upload the latest dictionary content to your repository.
|
|
45
|
-
- **Pull Dictionaries** – Sync the latest dictionary content from your repository to your local environment.
|
|
46
|
-
- **Fill Dictionaries** – Populate dictionaries with content from your project.
|
|
47
|
-
- **Test Dictionaries** – Identify missing or incomplete translations.
|
|
41
|
+

|
|
48
42
|
|
|
49
|
-
|
|
43
|
+
- **Content Declaration Generator** – Create dictionary content files in various formats (`.ts`, `.esm`, `.cjs`, `.json`).
|
|
50
44
|
|
|
51
|
-
|
|
45
|
+

|
|
52
46
|
|
|
53
|
-
|
|
47
|
+
- **Test Dictionaries** – Test dictionaries for missing translations.
|
|
54
48
|
|
|
55
|
-
|
|
49
|
+

|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
const MyComponent = () => {
|
|
59
|
-
const { myTranslatedContent } = useIntlayer("my-component");
|
|
51
|
+
- **Keep your dictionaries up to date** – Keep your dictionaries up to date with the latest content from your project.
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
};
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Generated file in TypeScript format:
|
|
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
|
-
};
|
|
53
|
+

|
|
80
54
|
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Available formats:
|
|
85
|
-
|
|
86
|
-
- **TypeScript (`.ts`)**
|
|
87
|
-
- **ES Module (`.esm`)**
|
|
88
|
-
- **CommonJS (`.cjs`)**
|
|
89
|
-
- **JSON (`.json`)**
|
|
90
|
-
|
|
91
|
-
### Intlayer Tab (Activity Bar)
|
|
92
|
-
|
|
93
|
-
Open the Intlayer tab by clicking the Intlayer icon in the VS Code Activity Bar. It contains two views:
|
|
94
|
-
|
|
95
|
-
- **Search**: A live search bar to quickly filter dictionaries and their content. Typing updates the results instantly.
|
|
96
|
-
- **Dictionaries**: A tree view of your environments/projects, dictionary keys, and the files contributing entries. You can:
|
|
97
|
-
- Click a file to open it in the editor.
|
|
98
|
-
- Use the toolbar to run actions: Build, Pull, Push, Fill, Refresh, Test, and Create Dictionary File.
|
|
99
|
-
- Use the context menu for item‑specific actions:
|
|
100
|
-
- On a dictionary: Pull or Push
|
|
101
|
-
- On a file: Fill Dictionary
|
|
102
|
-
- When you switch editors, the tree will reveal the matching file if it belongs to a dictionary.
|
|
103
|
-
|
|
104
|
-
## Installation
|
|
105
|
-
|
|
106
|
-
You can install **Intlayer** directly from the VS Code Marketplace:
|
|
107
|
-
|
|
108
|
-
1. Open **VS Code**.
|
|
109
|
-
2. Go to the **Extensions Marketplace**.
|
|
110
|
-
3. Search for **"Intlayer"**.
|
|
111
|
-
4. Click **Install**.
|
|
55
|
+
- **Intlayer Tab (Activity Bar)** – Browse and search dictionaries from a dedicated side tab with toolbar and context actions (Build, Pull, Push, Fill, Refresh, Test, Create File).
|
|
112
56
|
|
|
113
57
|
## Usage
|
|
114
58
|
|
|
@@ -124,8 +68,6 @@ You can install **Intlayer** directly from the VS Code Marketplace:
|
|
|
124
68
|
3. **Command-click** (`⌘+Click` on macOS) or **Ctrl+Click** (on Windows/Linux) on the key (e.g., `"app"`).
|
|
125
69
|
4. VS Code will automatically open the corresponding dictionary file, e.g., `src/app.content.ts`.
|
|
126
70
|
|
|
127
|
-
### Managing Content Dictionaries
|
|
128
|
-
|
|
129
71
|
### Intlayer Tab (Activity Bar)
|
|
130
72
|
|
|
131
73
|
Use the side tab to browse and manage dictionaries:
|
|
@@ -134,47 +76,20 @@ Use the side tab to browse and manage dictionaries:
|
|
|
134
76
|
- In **Search**, type to filter dictionaries and entries in real time.
|
|
135
77
|
- In **Dictionaries**, browse environments, dictionaries, and files. Use the toolbar for Build, Pull, Push, Fill, Refresh, Test, and Create Dictionary File. Right‑click for context actions (Pull/Push on dictionaries, Fill on files). The current editor file auto‑reveals in the tree when applicable.
|
|
136
78
|
|
|
137
|
-
|
|
79
|
+
### Accessing the commands
|
|
138
80
|
|
|
139
|
-
|
|
81
|
+
You can access the commands from the **Command Palette**.
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
1. Open the **Command Palette**.
|
|
152
|
-
2. Search for **Push Dictionaries**.
|
|
153
|
-
3. Select the dictionaries to push and confirm.
|
|
154
|
-
|
|
155
|
-
#### Pulling Dictionaries
|
|
156
|
-
|
|
157
|
-
Sync the latest dictionary content:
|
|
158
|
-
|
|
159
|
-
1. Open the **Command Palette**.
|
|
160
|
-
2. Search for **Pull Dictionaries**.
|
|
161
|
-
3. Choose the dictionaries to pull.
|
|
162
|
-
|
|
163
|
-
#### Filling Dictionaries
|
|
164
|
-
|
|
165
|
-
Fill dictionaries with content from your project:
|
|
166
|
-
|
|
167
|
-
1. Open the **Command Palette**.
|
|
168
|
-
2. Search for **Fill Dictionaries**.
|
|
169
|
-
3. Run the command to populate dictionaries.
|
|
170
|
-
|
|
171
|
-
#### Testing Dictionaries
|
|
172
|
-
|
|
173
|
-
Validate dictionaries and find missing translations:
|
|
174
|
-
|
|
175
|
-
1. Open the **Command Palette**.
|
|
176
|
-
2. Search for **Test Dictionaries**.
|
|
177
|
-
3. Review the reported issues and fix as needed.
|
|
87
|
+
- **Build Dictionaries**
|
|
88
|
+
- **Push Dictionaries**
|
|
89
|
+
- **Pull Dictionaries**
|
|
90
|
+
- **Fill Dictionaries**
|
|
91
|
+
- **Test Dictionaries**
|
|
92
|
+
- **Create Dictionary File**
|
|
178
93
|
|
|
179
94
|
### Loading Environment Variables
|
|
180
95
|
|
|
@@ -197,16 +112,11 @@ The extension can load environment variables from your workspace to run Intlayer
|
|
|
197
112
|
|
|
198
113
|
If your `.env` files live outside the workspace root, set the **Base Directory** in `Settings → Extensions → Intlayer`. The loader will look for `.env` files relative to that directory.
|
|
199
114
|
|
|
200
|
-
#### Notes
|
|
201
|
-
|
|
202
|
-
- The extension loads the first matching file and keeps any existing variables intact.
|
|
203
|
-
- You’ll see an info message each time a file is successfully loaded.
|
|
204
|
-
- If no candidate file is found, commands still run with your current environment variables.
|
|
205
|
-
|
|
206
115
|
## Doc History
|
|
207
116
|
|
|
208
117
|
| Version | Date | Changes |
|
|
209
118
|
| ------- | ---------- | ----------------------------------- |
|
|
119
|
+
| 6.1.5 | 2025-09-30 | Add demo gif |
|
|
210
120
|
| 6.1.0 | 2025-09-24 | Added environment selection section |
|
|
211
121
|
| 6.0.0 | 2025-09-22 | Intlayer Tab / Fill & Test commands |
|
|
212
122
|
| 5.5.10 | 2025-06-29 | Init history |
|