@intlayer/docs 6.1.6-canary.0 → 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/en/next-i18next_vs_next-intl_vs_intlayer.md +71 -80
- package/dist/cjs/generated/docs.entry.cjs +16 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +16 -0
- package/dist/esm/generated/docs.entry.mjs.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/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/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/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 +13 -4
- package/docs/en/intlayer_with_nextjs_15.md +13 -4
- 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-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/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/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/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/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/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/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/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/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/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/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/package.json +11 -11
- package/src/generated/docs.entry.ts +16 -0
|
@@ -1059,38 +1059,38 @@ const App = () => (
|
|
|
1059
1059
|
module.exports = App;
|
|
1060
1060
|
```
|
|
1061
1061
|
|
|
1062
|
-
In parallelo, puoi anche utilizzare il `
|
|
1062
|
+
In parallelo, puoi anche utilizzare il `intlayerMiddleware` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
1063
1063
|
|
|
1064
1064
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1065
1065
|
import { defineConfig } from "vite";
|
|
1066
1066
|
import preact from "@preact/preset-vite";
|
|
1067
|
-
import { intlayer,
|
|
1067
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1068
1068
|
|
|
1069
1069
|
// https://vitejs.dev/config/
|
|
1070
1070
|
export default defineConfig({
|
|
1071
|
-
plugins: [preact(), intlayer(),
|
|
1071
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1072
1072
|
});
|
|
1073
1073
|
```
|
|
1074
1074
|
|
|
1075
1075
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1076
1076
|
import { defineConfig } from "vite";
|
|
1077
1077
|
import preact from "@preact/preset-vite";
|
|
1078
|
-
import { intlayer,
|
|
1078
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1079
1079
|
|
|
1080
1080
|
// https://vitejs.dev/config/
|
|
1081
1081
|
export default defineConfig({
|
|
1082
|
-
plugins: [preact(), intlayer(),
|
|
1082
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1083
1083
|
});
|
|
1084
1084
|
```
|
|
1085
1085
|
|
|
1086
1086
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1087
1087
|
const { defineConfig } = require("vite");
|
|
1088
1088
|
const preact = require("@preact/preset-vite");
|
|
1089
|
-
const { intlayer,
|
|
1089
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1090
1090
|
|
|
1091
1091
|
// https://vitejs.dev/config/
|
|
1092
1092
|
module.exports = defineConfig({
|
|
1093
|
-
plugins: [preact(), intlayer(),
|
|
1093
|
+
plugins: [preact(), intlayer(), intlayerMiddleware()],
|
|
1094
1094
|
});
|
|
1095
1095
|
```
|
|
1096
1096
|
|
|
@@ -1636,9 +1636,9 @@ module.exports = { LocalizedLink, checkIsExternalLink };
|
|
|
1636
1636
|
|
|
1637
1637
|
Intlayer utilizza l'augmentation dei moduli per sfruttare i vantaggi di TypeScript e rendere il tuo codice più robusto.
|
|
1638
1638
|
|
|
1639
|
-

|
|
1640
1640
|
|
|
1641
|
-

|
|
1642
1642
|
|
|
1643
1643
|
Assicurati che la tua configurazione TypeScript includa i tipi generati automaticamente.
|
|
1644
1644
|
|
|
@@ -1008,38 +1008,38 @@ const App = () => (
|
|
|
1008
1008
|
);
|
|
1009
1009
|
```
|
|
1010
1010
|
|
|
1011
|
-
In parallelo, puoi anche utilizzare il `
|
|
1011
|
+
In parallelo, puoi anche utilizzare il `intlayerMiddleware` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
1012
1012
|
|
|
1013
1013
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1014
1014
|
import { defineConfig } from "vite";
|
|
1015
1015
|
import react from "@vitejs/plugin-react-swc";
|
|
1016
|
-
import { intlayer,
|
|
1016
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1017
1017
|
|
|
1018
1018
|
// https://vitejs.dev/config/
|
|
1019
1019
|
export default defineConfig({
|
|
1020
|
-
plugins: [react(), intlayer(),
|
|
1020
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1021
1021
|
});
|
|
1022
1022
|
```
|
|
1023
1023
|
|
|
1024
1024
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1025
1025
|
import { defineConfig } from "vite";
|
|
1026
1026
|
import react from "@vitejs/plugin-react-swc";
|
|
1027
|
-
import { intlayer,
|
|
1027
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
1028
1028
|
|
|
1029
1029
|
// https://vitejs.dev/config/
|
|
1030
1030
|
export default defineConfig({
|
|
1031
|
-
plugins: [react(), intlayer(),
|
|
1031
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1032
1032
|
});
|
|
1033
1033
|
```
|
|
1034
1034
|
|
|
1035
1035
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1036
1036
|
const { defineConfig } = require("vite");
|
|
1037
1037
|
const react = require("@vitejs/plugin-react-swc");
|
|
1038
|
-
const { intlayer,
|
|
1038
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
1039
1039
|
|
|
1040
1040
|
// https://vitejs.dev/config/
|
|
1041
1041
|
module.exports = defineConfig({
|
|
1042
|
-
plugins: [react(), intlayer(),
|
|
1042
|
+
plugins: [react(), intlayer(), intlayerMiddleware()],
|
|
1043
1043
|
});
|
|
1044
1044
|
```
|
|
1045
1045
|
|
|
@@ -1597,9 +1597,9 @@ Integrando questo componente `Link` in tutta la tua applicazione, mantieni un'es
|
|
|
1597
1597
|
|
|
1598
1598
|
Intlayer utilizza l'augmentation dei moduli per sfruttare i vantaggi di TypeScript e rendere il tuo codice più robusto.
|
|
1599
1599
|
|
|
1600
|
-

|
|
1601
1601
|
|
|
1602
|
-

|
|
1603
1603
|
|
|
1604
1604
|
Assicurati che la tua configurazione di TypeScript includa i tipi generati automaticamente.
|
|
1605
1605
|
|
|
@@ -1615,9 +1615,11 @@ Integrando questo componente `Link` in tutta la tua applicazione, mantieni un'es
|
|
|
1615
1615
|
|
|
1616
1616
|
Intlayer utilizza l'augmentation dei moduli per sfruttare i vantaggi di TypeScript e rendere il tuo codice più robusto.
|
|
1617
1617
|
|
|
1618
|
-

|
|
1619
1618
|
|
|
1620
|
-

|
|
1620
|
+
|
|
1621
|
+

|
|
1622
|
+
|
|
1621
1623
|
|
|
1622
1624
|
Assicurati che la tua configurazione TypeScript includa i tipi generati automaticamente.
|
|
1623
1625
|
|
|
@@ -691,46 +691,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
691
691
|
</template>
|
|
692
692
|
```
|
|
693
693
|
|
|
694
|
-
Parallelamente, puoi anche utilizzare il `
|
|
694
|
+
Parallelamente, puoi anche utilizzare il `intlayerMiddleware` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, effettuerà un reindirizzamento alla locale predefinita.
|
|
695
695
|
|
|
696
696
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
697
697
|
import { defineConfig } from "vite";
|
|
698
698
|
import vue from "@vitejs/plugin-vue";
|
|
699
|
-
import { intlayer,
|
|
699
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
700
700
|
|
|
701
701
|
// https://vitejs.dev/config/
|
|
702
702
|
export default defineConfig({
|
|
703
|
-
plugins: [vue(), intlayer(),
|
|
703
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
704
704
|
});
|
|
705
705
|
```
|
|
706
706
|
|
|
707
707
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
708
708
|
import { defineConfig } from "vite";
|
|
709
709
|
import vue from "@vitejs/plugin-vue";
|
|
710
|
-
import { intlayer,
|
|
710
|
+
import { intlayer, intlayerMiddleware } from "vite-intlayer";
|
|
711
711
|
|
|
712
712
|
// https://vitejs.dev/config/
|
|
713
713
|
export default defineConfig({
|
|
714
|
-
plugins: [vue(), intlayer(),
|
|
714
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
715
715
|
});
|
|
716
716
|
```
|
|
717
717
|
|
|
718
718
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
719
719
|
const { defineConfig } = require("vite");
|
|
720
720
|
const vue = require("@vitejs/plugin-vue");
|
|
721
|
-
const { intlayer,
|
|
721
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
722
722
|
|
|
723
723
|
// https://vitejs.dev/config/
|
|
724
724
|
module.exports = defineConfig({
|
|
725
|
-
plugins: [vue(), intlayer(),
|
|
725
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
726
726
|
});
|
|
727
727
|
const { defineConfig } = require("vite");
|
|
728
728
|
const vue = require("@vitejs/plugin-vue");
|
|
729
|
-
const { intlayer,
|
|
729
|
+
const { intlayer, intlayerMiddleware } = require("vite-intlayer");
|
|
730
730
|
|
|
731
731
|
// https://vitejs.dev/config/
|
|
732
732
|
module.exports = defineConfig({
|
|
733
|
-
plugins: [vue(), intlayer(),
|
|
733
|
+
plugins: [vue(), intlayer(), intlayerMiddleware()],
|
|
734
734
|
});
|
|
735
735
|
```
|
|
736
736
|
|
|
@@ -1035,9 +1035,9 @@ const { myMarkdownContent } = useIntlayer("my-component");
|
|
|
1035
1035
|
|
|
1036
1036
|
Intlayer utilizza l'augmentation dei moduli per sfruttare i vantaggi di TypeScript e rendere il tuo codice più robusto.
|
|
1037
1037
|
|
|
1038
|
-

|
|
1039
1039
|
|
|
1040
|
-

|
|
1041
1041
|
|
|
1042
1042
|
Assicurati che la tua configurazione di TypeScript includa i tipi generati automaticamente.
|
|
1043
1043
|
|
|
@@ -618,9 +618,9 @@ export const appConfig: ApplicationConfig = {
|
|
|
618
618
|
|
|
619
619
|
Intlayerはモジュール拡張を利用してTypeScriptの利点を活かし、コードベースをより強固にします。
|
|
620
620
|
|
|
621
|
-

|
|
622
622
|
|
|
623
|
-

|
|
624
624
|
|
|
625
625
|
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
626
626
|
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2024-03-07
|
|
3
|
+
updatedAt: 2025-10-03
|
|
4
|
+
title: AstroでのIntlayer入門
|
|
5
|
+
description: Intlayerを使用してViteとReactアプリケーションに国際化(i18n)を追加する方法を学びます。このガイドに従ってアプリを多言語対応にしましょう。
|
|
6
|
+
keywords:
|
|
7
|
+
- 国際化
|
|
8
|
+
- ドキュメント
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Vite
|
|
11
|
+
- React
|
|
12
|
+
- i18n
|
|
13
|
+
- JavaScript
|
|
14
|
+
slugs:
|
|
15
|
+
- doc
|
|
16
|
+
- environment
|
|
17
|
+
- astro
|
|
18
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-astro-template
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# IntlayerとAstroで始める国際化(i18n)
|
|
22
|
+
|
|
23
|
+
GitHubの[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-astro-template)をご覧ください。
|
|
24
|
+
|
|
25
|
+
## Intlayerとは?
|
|
26
|
+
|
|
27
|
+
**Intlayer**は、最新のウェブアプリケーションにおける多言語対応を簡素化するために設計された革新的なオープンソースの国際化(i18n)ライブラリです。
|
|
28
|
+
|
|
29
|
+
Intlayerを使うと、以下が可能です:
|
|
30
|
+
|
|
31
|
+
- **コンポーネントレベルで宣言的な辞書を使用して翻訳を簡単に管理**できます。
|
|
32
|
+
- **メタデータ、ルート、コンテンツを動的にローカライズ**できます。
|
|
33
|
+
- **自動生成された型によりTypeScriptサポートを確保**し、オートコンプリートやエラー検出を向上させます。
|
|
34
|
+
- **動的なロケール検出や切り替えなどの高度な機能**を活用できます。
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## AstroでIntlayerをセットアップするステップバイステップガイド
|
|
39
|
+
|
|
40
|
+
### ステップ1:依存関係のインストール
|
|
41
|
+
|
|
42
|
+
パッケージマネージャーを使って必要なパッケージをインストールします:
|
|
43
|
+
|
|
44
|
+
```bash packageManager="npm"
|
|
45
|
+
npm install intlayer astro-intlayer
|
|
46
|
+
# Optional: add React island support
|
|
47
|
+
npm install react react-dom react-intlayer @astrojs/react
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```bash packageManager="pnpm"
|
|
51
|
+
pnpm add intlayer astro-intlayer
|
|
52
|
+
# オプション: Reactアイランドサポートを追加
|
|
53
|
+
pnpm add react react-dom react-intlayer @astrojs/react
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```bash packageManager="yarn"
|
|
57
|
+
yarn add intlayer astro-intlayer
|
|
58
|
+
# オプション: Reactアイランドサポートを追加
|
|
59
|
+
yarn add react react-dom react-intlayer @astrojs/react
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
- **intlayer**
|
|
63
|
+
設定管理、翻訳、[コンテンツ宣言](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/get_started.md)、トランスパイル、および[CLIコマンド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_cli.md)のための国際化ツールを提供するコアパッケージ。
|
|
64
|
+
|
|
65
|
+
- **astro-intlayer**
|
|
66
|
+
Astroとの統合プラグインを含み、Intlayerを[Viteバンドラー](https://vite.dev/guide/why.html#why-bundle-for-production)と連携させるほか、ユーザーの優先ロケールの検出、クッキー管理、URLリダイレクトの処理を行うミドルウェアも提供します。
|
|
67
|
+
|
|
68
|
+
### ステップ2: プロジェクトの設定
|
|
69
|
+
|
|
70
|
+
アプリケーションの言語を設定するための設定ファイルを作成します:
|
|
71
|
+
|
|
72
|
+
```typescript fileName="intlayer.config.ts"
|
|
73
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
74
|
+
|
|
75
|
+
const config: IntlayerConfig = {
|
|
76
|
+
internationalization: {
|
|
77
|
+
locales: [
|
|
78
|
+
Locales.ENGLISH,
|
|
79
|
+
Locales.FRENCH,
|
|
80
|
+
Locales.SPANISH,
|
|
81
|
+
// 他のロケールをここに追加
|
|
82
|
+
],
|
|
83
|
+
defaultLocale: Locales.ENGLISH,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export default config;
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
> この設定ファイルを通じて、ローカライズされたURLの設定、ミドルウェアのリダイレクション、クッキー名、コンテンツ宣言の場所と拡張子の指定、コンソールでのIntlayerログの無効化などを行うことができます。利用可能なパラメータの完全なリストについては、[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
|
|
91
|
+
|
|
92
|
+
### ステップ3: Astro設定にIntlayerを統合する
|
|
93
|
+
|
|
94
|
+
intlayerプラグインを設定に追加します。
|
|
95
|
+
|
|
96
|
+
```typescript fileName="astro.config.ts"
|
|
97
|
+
// @ts-check
|
|
98
|
+
|
|
99
|
+
import { intlayer } from "astro-intlayer";
|
|
100
|
+
import { defineConfig } from "astro/config";
|
|
101
|
+
|
|
102
|
+
// https://astro.build/config
|
|
103
|
+
export default defineConfig({
|
|
104
|
+
integrations: [intlayer()],
|
|
105
|
+
});
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
> `intlayer()` Astro統合プラグインは、IntlayerをAstroと統合するために使用されます。これは、コンテンツ宣言ファイルのビルドを確実に行い、開発モードでそれらを監視します。Astroアプリケーション内でIntlayerの環境変数を定義します。さらに、パフォーマンスを最適化するためのエイリアスも提供します。
|
|
109
|
+
|
|
110
|
+
### ステップ4: コンテンツを宣言する
|
|
111
|
+
|
|
112
|
+
翻訳を格納するためのコンテンツ宣言を作成および管理します:
|
|
113
|
+
|
|
114
|
+
```tsx fileName="src/app.content.tsx"
|
|
115
|
+
import { t, type Dictionary } from "intlayer";
|
|
116
|
+
import type { ReactNode } from "react";
|
|
117
|
+
|
|
118
|
+
const appContent = {
|
|
119
|
+
key: "app",
|
|
120
|
+
content: {
|
|
121
|
+
title: t({
|
|
122
|
+
en: "Hello World",
|
|
123
|
+
fr: "Bonjour le monde",
|
|
124
|
+
es: "Hola mundo",
|
|
125
|
+
}),
|
|
126
|
+
},
|
|
127
|
+
} satisfies Dictionary;
|
|
128
|
+
|
|
129
|
+
export default appContent;
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
> コンテンツ宣言は、`contentDir` ディレクトリ(デフォルトは `./src`)に含まれている限り、アプリケーションのどこにでも定義できます。また、コンテンツ宣言ファイルの拡張子(デフォルトは `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)に一致している必要があります。
|
|
133
|
+
|
|
134
|
+
> 詳細については、[コンテンツ宣言のドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/get_started.md)を参照してください。
|
|
135
|
+
|
|
136
|
+
### ステップ 5: Astro でコンテンツを使用する
|
|
137
|
+
|
|
138
|
+
`intlayer` からエクスポートされるコアヘルパーを使って、`.astro` ファイル内で辞書を直接利用できます。
|
|
139
|
+
|
|
140
|
+
```astro fileName="src/pages/index.astro"
|
|
141
|
+
<!-- astro -->
|
|
142
|
+
---
|
|
143
|
+
import { getIntlayer } from "intlayer";
|
|
144
|
+
import appContent from "../app.content";
|
|
145
|
+
|
|
146
|
+
const { title } = getIntlayer('app');
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
<html lang="en">
|
|
150
|
+
<head>
|
|
151
|
+
<meta charset="utf-8" />
|
|
152
|
+
<meta name="viewport" content="width=device-width" />
|
|
153
|
+
<title>{title}</title>
|
|
154
|
+
</head>
|
|
155
|
+
<body>
|
|
156
|
+
<h1>{title}</h1>
|
|
157
|
+
</body>
|
|
158
|
+
</html>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### ステップ6: ローカライズされたルーティング
|
|
162
|
+
|
|
163
|
+
ローカライズされたページを提供するために、動的なルートセグメントを作成します。例えば `src/pages/[locale]/index.astro` のようにします。
|
|
164
|
+
|
|
165
|
+
```astro fileName="src/pages/[locale]/index.astro"
|
|
166
|
+
<!-- astro -->
|
|
167
|
+
---
|
|
168
|
+
import { getIntlayer } from "intlayer";
|
|
169
|
+
|
|
170
|
+
const { title } = getIntlayer('app');
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
<h1>{title}</h1>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Astroの統合は、開発中にViteのミドルウェアを追加し、ロケール対応のルーティングや環境定義を支援します。独自のロジックや、`intlayer` の `getLocalizedUrl` のようなユーティリティ関数を使って、ロケール間のリンクを作成することも可能です。
|
|
177
|
+
|
|
178
|
+
### ステップ7: お気に入りのフレームワークを使い続ける
|
|
179
|
+
|
|
180
|
+
お気に入りのフレームワークを使い続けて、アプリケーションを構築してください。
|
|
181
|
+
|
|
182
|
+
- Intlayer + React: [Intlayer with React](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+react.md)
|
|
183
|
+
- Intlayer + Vue: [Intlayer with Vue](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+vue.md)
|
|
184
|
+
- Intlayer + Svelte: [Intlayer with Svelte](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+svelte.md)
|
|
185
|
+
- Intlayer + Solid: [Intlayer with Solid](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+solid.md)
|
|
186
|
+
- Intlayer + Preact: [Intlayer with Preact](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_with_vite+preact.md)
|
|
187
|
+
|
|
188
|
+
### TypeScriptの設定
|
|
189
|
+
|
|
190
|
+
Intlayerはモジュール拡張を使用してTypeScriptの利点を活かし、コードベースをより強固にします。
|
|
191
|
+
|
|
192
|
+

|
|
193
|
+
|
|
194
|
+

|
|
195
|
+
|
|
196
|
+
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
197
|
+
|
|
198
|
+
```json5 fileName="tsconfig.json"
|
|
199
|
+
{
|
|
200
|
+
// ... 既存のTypeScript設定
|
|
201
|
+
"include": [
|
|
202
|
+
// ... 既存のTypeScript設定
|
|
203
|
+
".intlayer/**/*.ts", // 自動生成された型を含める
|
|
204
|
+
],
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Git設定
|
|
209
|
+
|
|
210
|
+
Intlayerによって生成されたファイルは無視することを推奨します。これにより、Gitリポジトリへのコミットを避けることができます。
|
|
211
|
+
|
|
212
|
+
これを行うには、以下の指示を `.gitignore` ファイルに追加できます。
|
|
213
|
+
|
|
214
|
+
```plaintext
|
|
215
|
+
# Intlayer によって生成されたファイルを無視する
|
|
216
|
+
.intlayer
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### VS Code 拡張機能
|
|
220
|
+
|
|
221
|
+
Intlayer での開発体験を向上させるために、公式の **Intlayer VS Code 拡張機能** をインストールできます。
|
|
222
|
+
|
|
223
|
+
[VS Code Marketplace からインストール](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
224
|
+
|
|
225
|
+
この拡張機能は以下を提供します:
|
|
226
|
+
|
|
227
|
+
- 翻訳キーの **オートコンプリート**。
|
|
228
|
+
- 欠落している翻訳の **リアルタイムエラー検出**。
|
|
229
|
+
- 翻訳されたコンテンツの **インラインプレビュー**。
|
|
230
|
+
- 翻訳を簡単に作成・更新できる **クイックアクション**。
|
|
231
|
+
|
|
232
|
+
拡張機能の使い方の詳細については、[Intlayer VS Code 拡張機能のドキュメント](https://intlayer.org/doc/vs-code-extension)を参照してください。
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### さらに進むために
|
|
237
|
+
|
|
238
|
+
さらに進むためには、[ビジュアルエディター](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md)を実装するか、[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)を使ってコンテンツを外部化することができます。
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## ドキュメント履歴
|
|
243
|
+
|
|
244
|
+
| バージョン | 日付 | 変更内容 |
|
|
245
|
+
| ---------- | ---------- | ------------------------------------- |
|
|
246
|
+
| 6.2.0 | 2025-10-03 | Astro統合、設定、使用法のリフレッシュ |
|
|
@@ -1174,9 +1174,10 @@ module.exports = App;
|
|
|
1174
1174
|
|
|
1175
1175
|
Intlayerはモジュール拡張を使用してTypeScriptの利点を活用し、コードベースを強化します。
|
|
1176
1176
|
|
|
1177
|
-

|
|
1178
|
+
|
|
1179
|
+

|
|
1178
1180
|
|
|
1179
|
-

|
|
1180
1181
|
自動生成された型を含めるようにTypeScriptの設定を確認してください。
|
|
1181
1182
|
|
|
1182
1183
|
```json5 fileName="tsconfig.json"
|
|
@@ -367,9 +367,9 @@ module.exports = config;
|
|
|
367
367
|
|
|
368
368
|
`express-intlayer` は、TypeScript の強力な機能を活用して国際化プロセスを強化します。TypeScript の静的型付けにより、すべての翻訳キーが網羅されていることが保証され、翻訳漏れのリスクを減らし、保守性を向上させます。
|
|
369
369
|
|
|
370
|
-

|
|
371
371
|
|
|
372
|
-

|
|
373
373
|
|
|
374
374
|
自動生成された型定義ファイル(デフォルトでは ./types/intlayer.d.ts)が tsconfig.json ファイルに含まれていることを確認してください。
|
|
375
375
|
|
|
@@ -219,9 +219,9 @@ export default config;
|
|
|
219
219
|
|
|
220
220
|
`express-intlayer` は、国際化プロセスを強化するために TypeScript の強力な機能を活用しています。TypeScript の静的型付けにより、すべての翻訳キーが確実に管理され、翻訳漏れのリスクを減らし、保守性を向上させます。
|
|
221
221
|
|
|
222
|
-

|
|
223
223
|
|
|
224
|
-

|
|
225
225
|
|
|
226
226
|
自動生成される型定義ファイル(デフォルトでは ./types/intlayer.d.ts)が tsconfig.json ファイルに含まれていることを確認してください。
|
|
227
227
|
|
|
@@ -1445,9 +1445,9 @@ yarn add @intlayer/swc --save-dev
|
|
|
1445
1445
|
|
|
1446
1446
|
Intlayerはモジュール拡張を使用して、TypeScriptの利点を活かし、コードベースをより強固にします。
|
|
1447
1447
|
|
|
1448
|
-

|
|
1449
1449
|
|
|
1450
|
-

|
|
1451
1451
|
|
|
1452
1452
|
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
1453
1453
|
|
|
@@ -1483,9 +1483,9 @@ yarn add @intlayer/swc --save-dev
|
|
|
1483
1483
|
|
|
1484
1484
|
Intlayer はモジュール拡張を使用して TypeScript の利点を活かし、コードベースをより強固にします。
|
|
1485
1485
|
|
|
1486
|
-

|
|
1487
1487
|
|
|
1488
|
-

|
|
1489
1489
|
|
|
1490
1490
|
TypeScript の設定に自動生成された型を含めていることを確認してください。
|
|
1491
1491
|
|
|
@@ -1431,9 +1431,9 @@ yarn add @intlayer/swc --save-dev
|
|
|
1431
1431
|
|
|
1432
1432
|
Intlayerはモジュール拡張を使用して、TypeScriptの利点を活かし、コードベースをより強固にします。
|
|
1433
1433
|
|
|
1434
|
-

|
|
1435
1435
|
|
|
1436
|
-

|
|
1437
1437
|
|
|
1438
1438
|
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
1439
1439
|
|
|
@@ -749,9 +749,9 @@ module.exports = aboutMetaContent;
|
|
|
749
749
|
|
|
750
750
|
Intlayerはモジュール拡張を使用してTypeScriptの利点を活かし、コードベースをより強固にします。
|
|
751
751
|
|
|
752
|
-

|
|
753
753
|
|
|
754
|
-

|
|
755
755
|
|
|
756
756
|
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
757
757
|
|