@intlayer/docs 8.3.0-canary.4 → 8.3.1
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/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Vue i18n - Come tradurre un'app Vue nel 2026
|
|
5
5
|
description: Scopri come rendere il tuo sito Vite e Vue multilingue. Segui la documentazione per internazionalizzare (i18n) e tradurlo.
|
|
6
6
|
keywords:
|
|
@@ -1124,6 +1124,162 @@ Per maggiori dettagli su come utilizzare l’estensione, consulta la [documentaz
|
|
|
1124
1124
|
|
|
1125
1125
|
---
|
|
1126
1126
|
|
|
1127
|
+
### (Opzionale) Passaggio 1 : Estrarre il contenuto dei tuoi componenti
|
|
1128
|
+
|
|
1129
|
+
Se hai una base di codice esistente, trasformare migliaia di file può richiedere molto tempo.
|
|
1130
|
+
|
|
1131
|
+
Per facilitare questo processo, Intlayer propone un [compilatore](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/compiler.md) / [estrattore](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/cli/extract.md) per trasformare i tuoi componenti ed estrarre il contenuto.
|
|
1132
|
+
|
|
1133
|
+
Per configurarlo, puoi aggiungere una sezione `compiler` nel tuo file `intlayer.config.ts`:
|
|
1134
|
+
|
|
1135
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1136
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1137
|
+
|
|
1138
|
+
const config: IntlayerConfig = {
|
|
1139
|
+
// ... Resto della tua configurazione
|
|
1140
|
+
compiler: {
|
|
1141
|
+
/**
|
|
1142
|
+
* Indica se il compilatore deve essere abilitato.
|
|
1143
|
+
*/
|
|
1144
|
+
enabled: true,
|
|
1145
|
+
|
|
1146
|
+
/**
|
|
1147
|
+
* Definisce il percorso dei file di output
|
|
1148
|
+
*/
|
|
1149
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1150
|
+
|
|
1151
|
+
/**
|
|
1152
|
+
* Indica se i componenti devono essere salvati dopo essere stati trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi rimosso.
|
|
1153
|
+
*/
|
|
1154
|
+
saveComponents: false,
|
|
1155
|
+
|
|
1156
|
+
/**
|
|
1157
|
+
* Prefisso chiave dizionario
|
|
1158
|
+
*/
|
|
1159
|
+
dictionaryKeyPrefix: "",
|
|
1160
|
+
},
|
|
1161
|
+
};
|
|
1162
|
+
|
|
1163
|
+
export default config;
|
|
1164
|
+
```
|
|
1165
|
+
|
|
1166
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1167
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1168
|
+
const config = {
|
|
1169
|
+
// ... Resto della tua configurazione
|
|
1170
|
+
compiler: {
|
|
1171
|
+
/**
|
|
1172
|
+
* Indica se il compilatore deve essere abilitato.
|
|
1173
|
+
*/
|
|
1174
|
+
enabled: true,
|
|
1175
|
+
|
|
1176
|
+
/**
|
|
1177
|
+
* Definisce il percorso dei file di output
|
|
1178
|
+
*/
|
|
1179
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1180
|
+
|
|
1181
|
+
/**
|
|
1182
|
+
* Indica se i componenti devono essere salvati dopo essere stati trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi rimosso.
|
|
1183
|
+
*/
|
|
1184
|
+
saveComponents: false,
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* Prefisso chiave dizionario
|
|
1188
|
+
*/
|
|
1189
|
+
dictionaryKeyPrefix: "",
|
|
1190
|
+
},
|
|
1191
|
+
};
|
|
1192
|
+
|
|
1193
|
+
export default config;
|
|
1194
|
+
```
|
|
1195
|
+
|
|
1196
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1197
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1198
|
+
const config = {
|
|
1199
|
+
// ... Resto della tua configurazione
|
|
1200
|
+
compiler: {
|
|
1201
|
+
/**
|
|
1202
|
+
* Indica se il compilatore deve essere abilitato.
|
|
1203
|
+
*/
|
|
1204
|
+
enabled: true,
|
|
1205
|
+
|
|
1206
|
+
/**
|
|
1207
|
+
* Definisce il percorso dei file di output
|
|
1208
|
+
*/
|
|
1209
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1210
|
+
|
|
1211
|
+
/**
|
|
1212
|
+
* Indica se i componenti devono essere salvati dopo essere stati trasformati. In questo modo, il compilatore può essere eseguito solo una volta per trasformare l'app e poi rimosso.
|
|
1213
|
+
*/
|
|
1214
|
+
saveComponents: false,
|
|
1215
|
+
|
|
1216
|
+
/**
|
|
1217
|
+
* Prefisso chiave dizionario
|
|
1218
|
+
*/
|
|
1219
|
+
dictionaryKeyPrefix: "",
|
|
1220
|
+
},
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1223
|
+
module.exports = config;
|
|
1224
|
+
```
|
|
1225
|
+
|
|
1226
|
+
<Tabs>
|
|
1227
|
+
<Tab value='Comando di estrazione'>
|
|
1228
|
+
|
|
1229
|
+
Esegui l'estrattore per trasformare i tuoi componenti ed estrarre il contenuto
|
|
1230
|
+
|
|
1231
|
+
```bash packageManager="npm"
|
|
1232
|
+
npx intlayer extract
|
|
1233
|
+
```
|
|
1234
|
+
|
|
1235
|
+
```bash packageManager="pnpm"
|
|
1236
|
+
pnpm intlayer extract
|
|
1237
|
+
```
|
|
1238
|
+
|
|
1239
|
+
```bash packageManager="yarn"
|
|
1240
|
+
yarn intlayer extract
|
|
1241
|
+
```
|
|
1242
|
+
|
|
1243
|
+
```bash packageManager="bun"
|
|
1244
|
+
bunx intlayer extract
|
|
1245
|
+
```
|
|
1246
|
+
|
|
1247
|
+
</Tab>
|
|
1248
|
+
<Tab value='Compilatore Babel'>
|
|
1249
|
+
|
|
1250
|
+
Aggiorna il tuo `vite.config.ts` per includere il plugin `intlayerCompiler`:
|
|
1251
|
+
|
|
1252
|
+
```ts fileName="vite.config.ts"
|
|
1253
|
+
import { defineConfig } from "vite";
|
|
1254
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1255
|
+
|
|
1256
|
+
export default defineConfig({
|
|
1257
|
+
plugins: [
|
|
1258
|
+
intlayer(),
|
|
1259
|
+
intlayerCompiler(), // Aggiunge il plugin del compilatore
|
|
1260
|
+
],
|
|
1261
|
+
});
|
|
1262
|
+
```
|
|
1263
|
+
|
|
1264
|
+
```bash packageManager="npm"
|
|
1265
|
+
npm run build # Oppure npm run dev
|
|
1266
|
+
```
|
|
1267
|
+
|
|
1268
|
+
```bash packageManager="pnpm"
|
|
1269
|
+
pnpm run build # O pnpm run dev
|
|
1270
|
+
```
|
|
1271
|
+
|
|
1272
|
+
```bash packageManager="yarn"
|
|
1273
|
+
yarn build # O yarn dev
|
|
1274
|
+
```
|
|
1275
|
+
|
|
1276
|
+
```bash packageManager="bun"
|
|
1277
|
+
bun run build # Or bun run dev
|
|
1278
|
+
```
|
|
1279
|
+
|
|
1280
|
+
</Tab>
|
|
1281
|
+
</Tabs>
|
|
1282
|
+
|
|
1127
1283
|
### Approfondimenti
|
|
1128
1284
|
|
|
1129
1285
|
Per approfondire, puoi implementare l’[editor visuale](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/intlayer_visual_editor.md) oppure esternalizzare i tuoi contenuti utilizzando il [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/intlayer_CMS.md).
|
package/docs/ja/compiler.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Intlayer コンパイラー | i18n のための自動コンテンツ抽出
|
|
5
5
|
description: Intlayer コンパイラーで国際化プロセスを自動化しましょう。コンポーネントから直接コンテンツを抽出し、Vite、Next.js などでより高速かつ効率的な i18n を実現します。
|
|
6
6
|
keywords:
|
|
@@ -21,8 +21,8 @@ slugs:
|
|
|
21
21
|
- compiler
|
|
22
22
|
history:
|
|
23
23
|
- version: 8.2.0
|
|
24
|
-
date: 2026-03-
|
|
25
|
-
changes:
|
|
24
|
+
date: 2026-03-09
|
|
25
|
+
changes: コンパイラーオプションの更新、FilePathPattern のサポート追加
|
|
26
26
|
- version: 8.1.7
|
|
27
27
|
date: 2026-02-25
|
|
28
28
|
changes: コンパイラーオプションの更新
|
|
@@ -64,7 +64,7 @@ history:
|
|
|
64
64
|
|
|
65
65
|
### Vite
|
|
66
66
|
|
|
67
|
-
Viteベースのアプリケーション(React
|
|
67
|
+
Viteベースのアプリケーション(React, Vue, Svelteなど)では、`vite-intlayer` プラグインを使うのが最も簡単な方法です。
|
|
68
68
|
|
|
69
69
|
#### インストール
|
|
70
70
|
|
|
@@ -83,7 +83,7 @@ import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
|
83
83
|
export default defineConfig({
|
|
84
84
|
plugins: [
|
|
85
85
|
intlayer(),
|
|
86
|
-
intlayerCompiler(), //
|
|
86
|
+
intlayerCompiler(), // コンパイラープラグインを追加
|
|
87
87
|
],
|
|
88
88
|
});
|
|
89
89
|
```
|
|
@@ -98,7 +98,7 @@ Viteプラグインは自動的に異なるファイルタイプを検出し処
|
|
|
98
98
|
- **Vue**: `@intlayer/vue-compiler` が必要です。
|
|
99
99
|
- **Svelte**: `@intlayer/svelte-compiler` が必要です。
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
使用しているフレームワークに応じて、適切なコンパイラーパッケージをインストールしてください:
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
104
|
# Vue用
|
|
@@ -113,7 +113,7 @@ npm install @intlayer/svelte-compiler
|
|
|
113
113
|
|
|
114
114
|
### Next.js (Babel)
|
|
115
115
|
|
|
116
|
-
Next.jsやその他のWebpackベースのBabelを使用するアプリケーションでは、`@intlayer/babel
|
|
116
|
+
Next.jsやその他の Webpack ベースの Babel を使用するアプリケーションでは、`@intlayer/babel`プラグインを使ってコンパイラーを設定できます。
|
|
117
117
|
|
|
118
118
|
#### インストール
|
|
119
119
|
|
|
@@ -136,9 +136,9 @@ const {
|
|
|
136
136
|
module.exports = {
|
|
137
137
|
presets: ["next/babel"],
|
|
138
138
|
plugins: [
|
|
139
|
-
//
|
|
139
|
+
// コンポーネントからコンテンツを抽出して辞書に変換
|
|
140
140
|
[intlayerExtractBabelPlugin, getExtractPluginOptions()],
|
|
141
|
-
//
|
|
141
|
+
// useIntlayer を直接辞書インポートに置き換えてインポートを最適化
|
|
142
142
|
[intlayerOptimizeBabelPlugin, getOptimizePluginOptions()],
|
|
143
143
|
],
|
|
144
144
|
};
|
|
@@ -149,112 +149,125 @@ module.exports = {
|
|
|
149
149
|
See complete tutorial: [Intlayer Compiler with Next.js](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_with_nextjs_compiler.md)
|
|
150
150
|
|
|
151
151
|
</Tab>
|
|
152
|
+
</Tabs>
|
|
152
153
|
|
|
153
154
|
### カスタム設定
|
|
154
155
|
|
|
155
|
-
|
|
156
|
+
コンパイラーの動作をカスタマイズするには、プロジェクトのルートにある `intlayer.config.ts` ファイルを更新します。
|
|
156
157
|
|
|
157
|
-
|
|
158
|
+
````ts fileName="intlayer.config.ts"
|
|
158
159
|
import { type IntlayerConfig, Locales } from "intlayer";
|
|
159
160
|
|
|
160
161
|
const config: IntlayerConfig = {
|
|
161
162
|
compiler: {
|
|
162
163
|
/**
|
|
163
|
-
*
|
|
164
|
+
* コンパイラーを有効にするかどうかを示します。
|
|
165
|
+
* 開発中のコンパイラーをスキップして起動時間を短縮するには、'build-only'に設定します。
|
|
164
166
|
*/
|
|
165
167
|
enabled: true,
|
|
166
168
|
|
|
167
169
|
/**
|
|
168
|
-
*
|
|
170
|
+
* 出力ファイルのパスを定義します。 `outputDir` を置き換えます。
|
|
171
|
+
*
|
|
172
|
+
* - `./` で始まるパスは、コンポーネントディレクトリを基準に解決されます。
|
|
173
|
+
* - `/` で始まるパスは、プロジェクトのルート (`baseDir`) を基準に解決されます。
|
|
174
|
+
*
|
|
175
|
+
* - パスに `{{locale}}` 変数を含めると、言語ごとに分離された辞書の生成が有効になります。
|
|
176
|
+
*
|
|
177
|
+
* 例:
|
|
178
|
+
* ```ts
|
|
179
|
+
* {
|
|
180
|
+
* // コンポーネントの隣に多言語対応の .content.ts ファイルを作成
|
|
181
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
182
|
+
*
|
|
183
|
+
* // output: './{{fileName}}{{extension}}', // 文字列テンプレートを使用した同等の記述
|
|
184
|
+
* }
|
|
185
|
+
* ```
|
|
186
|
+
*
|
|
187
|
+
* ```ts
|
|
188
|
+
* {
|
|
189
|
+
* // プロジェクトのルートに言語ごとに集約された JSON ファイルを作成
|
|
190
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
191
|
+
*
|
|
192
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // 文字列テンプレートを使用した同等の記述
|
|
193
|
+
* }
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
196
|
+
* 変数リスト:
|
|
197
|
+
* - `fileName`: ファイル名。
|
|
198
|
+
* - `key`: コンテンツのキー。
|
|
199
|
+
* - `locale`: コンテンツのロケール。
|
|
200
|
+
* - `extension`: ファイル拡張子。
|
|
201
|
+
* - `componentFileName`: コンポーネントファイル名。
|
|
202
|
+
* - `componentExtension`: コンポーネント拡張子。
|
|
203
|
+
* - `format`: 辞書の形式。
|
|
204
|
+
* - `componentFormat`: コンポーネント辞書の形式。
|
|
205
|
+
* - `componentDirPath`: コンポーネントのディレクトリパス。
|
|
169
206
|
*/
|
|
170
|
-
|
|
171
|
-
"**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
|
|
172
|
-
"!**/node_modules/**",
|
|
173
|
-
],
|
|
207
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
174
208
|
|
|
175
209
|
/**
|
|
176
|
-
*
|
|
177
|
-
|
|
178
|
-
excludePattern: ["**/node_modules/**"],
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* 最適化された辞書の出力ディレクトリ。
|
|
210
|
+
* 変換後にコンポーネントを保存するかどうかを示します。
|
|
211
|
+
* これにより、コンパイラーを1回だけ実行してアプリを変換し、その後削除することができます。
|
|
182
212
|
*/
|
|
183
|
-
|
|
213
|
+
saveComponents: false,
|
|
184
214
|
|
|
185
215
|
/**
|
|
186
|
-
*
|
|
216
|
+
* 生成されたファイルにコンテンツのみを挿入します。ロケールごとの i18next または ICU MessageFormat JSON 出力に有用です。
|
|
217
|
+
*
|
|
218
|
+
* - `output: ({ locale, key }) => `./locale/${locale}/${key}.json`,`
|
|
187
219
|
*/
|
|
188
220
|
noMetadata: false,
|
|
189
221
|
|
|
190
222
|
/**
|
|
191
223
|
* 辞書キーのプレフィックス
|
|
192
224
|
*/
|
|
193
|
-
dictionaryKeyPrefix: "", //
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* 変換後にコンポーネントを保存するかどうかを示します。
|
|
197
|
-
* これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
|
|
198
|
-
*/
|
|
199
|
-
saveComponents: false,
|
|
225
|
+
dictionaryKeyPrefix: "", // 抽出された辞書キーにオプションのプレフィックスを追加
|
|
200
226
|
},
|
|
201
227
|
};
|
|
202
228
|
|
|
203
229
|
export default config;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
### 欠落した翻訳を埋める
|
|
207
|
-
|
|
208
|
-
Intlayerは、欠落した翻訳を埋めるためのCLIツールを提供しています。`intlayer`コマンドを使用して、コード内の欠落した翻訳をテストし、埋めることができます。
|
|
209
|
-
|
|
210
|
-
```bash
|
|
211
|
-
npx intlayer test # 欠落した翻訳があるかテストする
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
```bash
|
|
215
|
-
npx intlayer fill # 欠落した翻訳を埋める
|
|
216
|
-
```
|
|
230
|
+
````
|
|
217
231
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
### コンパイラ設定リファレンス
|
|
232
|
+
### コンパイラー設定リファレンス
|
|
221
233
|
|
|
222
234
|
以下のプロパティは、`intlayer.config.ts`ファイルの`compiler`ブロックで設定できます。
|
|
223
235
|
|
|
224
236
|
- **enabled**:
|
|
225
237
|
- _タイプ_: `boolean | 'build-only'`
|
|
226
238
|
- _デフォルト_: `true`
|
|
227
|
-
- _説明_:
|
|
239
|
+
- _説明_: コンパイラーを有効にするかどうかを示します。
|
|
240
|
+
|
|
228
241
|
- **dictionaryKeyPrefix**:
|
|
229
242
|
- _タイプ_: `string`
|
|
230
|
-
- _デフォルト_: `'
|
|
243
|
+
- _デフォルト_: `''`
|
|
231
244
|
- _説明_: 抽出された辞書キーのプレフィックス。
|
|
245
|
+
|
|
232
246
|
- **transformPattern**:
|
|
233
247
|
- _タイプ_: `string | string[]`
|
|
234
248
|
- _デフォルト_: `['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**']`
|
|
235
|
-
- _説明_: 最適化のためにコードをトラバースするパターン。
|
|
249
|
+
- _説明_: (非推奨: 代わりに `build.traversePattern` を使用) 最適化のためにコードをトラバースするパターン。
|
|
250
|
+
|
|
236
251
|
- **excludePattern**:
|
|
237
252
|
- _タイプ_: `string | string[]`
|
|
238
253
|
- _デフォルト_: `['**/node_modules/**']`
|
|
239
|
-
- _説明_: 最適化から除外するパターン。
|
|
240
|
-
- **outputDir** (Deprecated):
|
|
241
|
-
- _タイプ_: `string`
|
|
242
|
-
- _デフォルト_: `'compiler'`
|
|
243
|
-
- _説明_: 抽出された辞書が保存されるディレクトリ。
|
|
254
|
+
- _説明_: (非推奨: 代わりに `build.traversePattern` を使用) 最適化から除外するパターン。
|
|
244
255
|
|
|
245
256
|
- **output**:
|
|
246
257
|
- _型_: `FilePathPattern`
|
|
247
258
|
- _デフォルト_: `({ key }) => 'compiler/${key}.content.json'`
|
|
248
259
|
- _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 `{{locale}}`、 `{{key}}`、 `{{fileName}}`、 `{{extension}}`、 `{{format}}`、 `{{dirPath}}`、 `{{componentFileName}}`、 `{{componentExtension}}`、 `{{componentFormat}}` などの動的変数を処理します。 `'my/{{var}}/path'` 形式の文字列または関数として設定できます。
|
|
249
260
|
- _注_: `./**/*` パスはコンポーネントを基準に解決されます。 `/**/*` パスは Intlayer の `baseDir` を基準に解決されます。
|
|
261
|
+
- _注_: パスにロケールが定義されている場合、辞書はロケールごとに生成されます。
|
|
250
262
|
- _例_: `output: ({ locale, key }) => 'compiler/${locale}/${key}.json'`
|
|
251
263
|
|
|
252
264
|
- **noMetadata**:
|
|
253
265
|
- _タイプ_: `boolean`
|
|
254
266
|
- _デフォルト_: `false`
|
|
255
|
-
- _説明_: メタデータをファイルに保存するかどうかを示します。true
|
|
267
|
+
- _説明_: メタデータをファイルに保存するかどうかを示します。trueの場合、コンパイラーは辞書のメタデータ(キー、コンテンツラッパー)を保存しません。
|
|
256
268
|
- _注_: `loadJSON`プラグインを使用する場合に便利です。
|
|
257
|
-
- _例_:
|
|
269
|
+
- _例_:
|
|
270
|
+
`true`の場合:
|
|
258
271
|
```json
|
|
259
272
|
{
|
|
260
273
|
"key": "value"
|
|
@@ -274,3 +287,26 @@ npx intlayer fill # 欠落した翻訳を埋める
|
|
|
274
287
|
- _タイプ_: `boolean`
|
|
275
288
|
- _デフォルト_: `false`
|
|
276
289
|
- _説明_: 変換後にコンポーネントを保存するかどうかを示します。
|
|
290
|
+
|
|
291
|
+
### 欠落した翻訳を埋める
|
|
292
|
+
|
|
293
|
+
Intlayerは、欠落した翻訳を埋めるためのCLIツールを提供しています。`intlayer`コマンドを使用して、コード内の欠落した翻訳をテストし、埋めることができます。
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
npx intlayer test # 欠落した翻訳があるかテストする
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
npx intlayer fill # 欠落した翻訳を埋める
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### 抽出
|
|
304
|
+
|
|
305
|
+
Intlayerは、コードからコンテンツを抽出するためのCLIツールを提供しています。`intlayer extract`コマンドを使用して、コードからコンテンツを抽出できます。
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
npx intlayer extract
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
> 詳細については、[CLIドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/cli/index.md)
|
|
312
|
+
> を参照してください。
|
package/docs/ja/configuration.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-13
|
|
3
|
-
updatedAt: 2026-03-
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: 設定
|
|
5
5
|
description: Intlayerをアプリケーション向けに設定する方法を学びます。Intlayerをニーズに合わせてカスタマイズするためのさまざまな設定やオプションについて理解しましょう。
|
|
6
6
|
keywords:
|
|
@@ -15,8 +15,8 @@ slugs:
|
|
|
15
15
|
- configuration
|
|
16
16
|
history:
|
|
17
17
|
- version: 8.3.0
|
|
18
|
-
|
|
19
|
-
changes: 'baseDir' を 'content' 設定から 'system' 設定に移動
|
|
18
|
+
date: 2026-03-11
|
|
19
|
+
changes: "'baseDir' を 'content' 設定から 'system' 設定に移動"
|
|
20
20
|
- version: 8.2.0
|
|
21
21
|
date: 2026-03-10
|
|
22
22
|
changes: コンパイラーオプションの更新、'output' および 'noMetadata' のサポートを追加
|
|
@@ -43,25 +43,25 @@ history:
|
|
|
43
43
|
changes: JSON5 および JSONC ファイル形式のサポートを追加
|
|
44
44
|
- version: 7.5.0
|
|
45
45
|
date: 2025-12-17
|
|
46
|
-
changes: `buildMode` オプションを追加
|
|
46
|
+
changes: "`buildMode` オプションを追加"
|
|
47
47
|
- version: 6.0.0
|
|
48
48
|
date: 2025-09-16
|
|
49
|
-
changes: `live` インポートモードを追加
|
|
49
|
+
changes: "`live` インポートモードを追加"
|
|
50
50
|
- version: 6.0.0
|
|
51
51
|
date: 2025-09-16
|
|
52
|
-
changes: `live` インポートモードを追加
|
|
52
|
+
changes: "`live` インポートモードを追加"
|
|
53
53
|
- version: 6.0.0
|
|
54
54
|
date: 2025-09-04
|
|
55
|
-
changes: `hotReload` フィールドを `liveSync` に置き換え、`liveSyncPort` と `liveSyncURL` フィールドを追加
|
|
55
|
+
changes: "`hotReload` フィールドを `liveSync` に置き換え、`liveSyncPort` と `liveSyncURL` フィールドを追加"
|
|
56
56
|
- version: 5.6.1
|
|
57
57
|
date: 2025-07-25
|
|
58
|
-
changes: `activateDynamicImport` を `importMode` オプションに置き換え
|
|
58
|
+
changes: "`activateDynamicImport` を `importMode` オプションに置き換え"
|
|
59
59
|
- version: 5.6.0
|
|
60
60
|
date: 2025-07-13
|
|
61
61
|
changes: デフォルトの contentDir を `['src']` から `['.']` に変更
|
|
62
62
|
- version: 5.5.11
|
|
63
63
|
date: 2025-06-29
|
|
64
|
-
changes: `docs` コマンドを追加
|
|
64
|
+
changes: "`docs` コマンドを追加"
|
|
65
65
|
---
|
|
66
66
|
|
|
67
67
|
# Intlayer 設定ドキュメント
|
|
@@ -95,7 +95,7 @@ IntlayerはJSON、JS、MJS、TSの設定ファイル形式をサポートして
|
|
|
95
95
|
|
|
96
96
|
## 設定ファイルの例
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
````typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
99
99
|
import { Locales, type IntlayerConfig } from "intlayer";
|
|
100
100
|
import { nextjsRewrite } from "intlayer/routing";
|
|
101
101
|
import { z } from "zod";
|
|
@@ -193,7 +193,7 @@ const config: IntlayerConfig = {
|
|
|
193
193
|
* Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
|
|
194
194
|
* Default: ['cookie', 'header']
|
|
195
195
|
*/
|
|
196
|
-
storage: "cookie",
|
|
196
|
+
storage: ["cookie", "header"],
|
|
197
197
|
|
|
198
198
|
/**
|
|
199
199
|
* Base path for the application URLs.
|
|
@@ -330,6 +330,17 @@ const config: IntlayerConfig = {
|
|
|
330
330
|
* Base URL for the AI API.
|
|
331
331
|
*/
|
|
332
332
|
baseURL: "http://localhost:3000",
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* データシリアライゼーション
|
|
336
|
+
*
|
|
337
|
+
* オプション:
|
|
338
|
+
* - "json": 標準、信頼性あり。より多くのトークンを使用します。
|
|
339
|
+
* - "toon": より少ないトークンを使用しますが、JSON ほど一貫性がありません。
|
|
340
|
+
*
|
|
341
|
+
* デフォルト: "json"
|
|
342
|
+
*/
|
|
343
|
+
dataSerialization: "json",
|
|
333
344
|
},
|
|
334
345
|
|
|
335
346
|
/**
|
|
@@ -429,42 +440,70 @@ const config: IntlayerConfig = {
|
|
|
429
440
|
compiler: {
|
|
430
441
|
/**
|
|
431
442
|
* コンパイラを有効にするかどうかを示します。
|
|
443
|
+
*
|
|
444
|
+
* - false : コンパイラを無効にします。
|
|
445
|
+
* - true : コンパイラを有効にします。
|
|
446
|
+
* - "build-only" : 開発中のコンパイラをスキップして起動時間を短縮します。
|
|
447
|
+
*
|
|
448
|
+
* デフォルト : false
|
|
432
449
|
*/
|
|
433
450
|
enabled: true,
|
|
434
451
|
|
|
435
452
|
/**
|
|
436
|
-
*
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
*
|
|
453
|
+
* 出力ファイルのパスを定義します。 `outputDir` を置き換えます。
|
|
454
|
+
*
|
|
455
|
+
* - `./` で始まるパスは、コンポーネントディレクトリを基準に解決されます。
|
|
456
|
+
* - `/` で始まるパスは、プロジェクトのルート (`baseDir`) を基準に解決されます。
|
|
457
|
+
*
|
|
458
|
+
* - パスに `{{locale}}` 変数を含めると、言語ごとに分離された辞書の生成が有効になります。
|
|
459
|
+
*
|
|
460
|
+
* 例:
|
|
461
|
+
* ```ts
|
|
462
|
+
* {
|
|
463
|
+
* // コンポーネントの隣に多言語対応の .content.ts ファイルを作成
|
|
464
|
+
* output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
465
|
+
*
|
|
466
|
+
* // output: './{{fileName}}{{extension}}', // 文字列テンプレートを使用した同等の記述
|
|
467
|
+
* }
|
|
468
|
+
* ```
|
|
469
|
+
*
|
|
470
|
+
* ```ts
|
|
471
|
+
* {
|
|
472
|
+
* // プロジェクトのルートに言語ごとに集約された JSON ファイルを作成
|
|
473
|
+
* output: ({ key, locale }) => `/locales/${locale}/${key}.content.json`,
|
|
474
|
+
*
|
|
475
|
+
* // output: '/locales/{{locale}}/{{key}}.content.json', // 文字列テンプレートを使用した同等の記述
|
|
476
|
+
* }
|
|
477
|
+
* ```
|
|
478
|
+
*
|
|
479
|
+
* 変数リスト:
|
|
480
|
+
* - `fileName`: ファイル名。
|
|
481
|
+
* - `key`: コンテンツのキー。
|
|
482
|
+
* - `locale`: コンテンツのロケール。
|
|
483
|
+
* - `extension`: ファイル拡張子。
|
|
484
|
+
* - `componentFileName`: コンポーネントファイル名。
|
|
485
|
+
* - `componentExtension`: コンポーネント拡張子。
|
|
486
|
+
* - `format`: 辞書の形式。
|
|
487
|
+
* - `componentFormat`: コンポーネント辞書の形式。
|
|
488
|
+
* - `componentDirPath`: コンポーネントのディレクトリパス。
|
|
445
489
|
*/
|
|
446
|
-
|
|
490
|
+
output: ({ locale, key }) => `compiler/${locale}/${key}.json`,
|
|
447
491
|
|
|
448
492
|
/**
|
|
449
|
-
*
|
|
493
|
+
* 変換後にコンポーネントを保存するかどうかを示します。
|
|
494
|
+
* これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
|
|
450
495
|
*/
|
|
451
|
-
|
|
496
|
+
saveComponents: false,
|
|
452
497
|
|
|
453
498
|
/**
|
|
454
|
-
*
|
|
499
|
+
* 生成されたファイルにコンテンツのみを挿入します。
|
|
455
500
|
*/
|
|
456
501
|
noMetadata: false,
|
|
457
502
|
|
|
458
503
|
/**
|
|
459
504
|
* 辞書キーのプレフィックス
|
|
460
505
|
*/
|
|
461
|
-
dictionaryKeyPrefix: "", //
|
|
462
|
-
|
|
463
|
-
/**
|
|
464
|
-
* 変換後にコンポーネントを保存するかどうかを示します。
|
|
465
|
-
* これにより、コンパイラを1回だけ実行してアプリを変換し、その後削除することができます。
|
|
466
|
-
*/
|
|
467
|
-
saveComponents: false,
|
|
506
|
+
dictionaryKeyPrefix: "", // すべての辞書キーにプレフィックスを設定
|
|
468
507
|
},
|
|
469
508
|
|
|
470
509
|
/**
|
|
@@ -483,7 +522,7 @@ const config: IntlayerConfig = {
|
|
|
483
522
|
};
|
|
484
523
|
|
|
485
524
|
export default config;
|
|
486
|
-
|
|
525
|
+
````
|
|
487
526
|
|
|
488
527
|
## 設定リファレンス
|
|
489
528
|
|
|
@@ -1039,7 +1078,7 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
|
|
|
1039
1078
|
|
|
1040
1079
|
- **dictionaryKeyPrefix**:
|
|
1041
1080
|
- _型_: `string`
|
|
1042
|
-
- _デフォルト_: `'
|
|
1081
|
+
- _デフォルト_: `''`
|
|
1043
1082
|
- _説明_: 抽出された辞書キーのプレフィックス。
|
|
1044
1083
|
- _例_: `'my-key-'`
|
|
1045
1084
|
- _注意_: 辞書が抽出される際、キーはファイル名に基づいて生成されます。このプレフィックスは、競合を防ぐために生成されたキーに追加されます。
|
|
@@ -1063,24 +1102,28 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
|
|
|
1063
1102
|
- _説明_: 最適化中に除外されるファイルを定義するパターン。
|
|
1064
1103
|
- _例_: `['**/node_modules/**', '!**/node_modules/react/**']`
|
|
1065
1104
|
|
|
1066
|
-
- **outputDir**:
|
|
1067
|
-
- _型_: `string`
|
|
1068
|
-
- _デフォルト_: `'compiler'`
|
|
1069
|
-
- _説明_: 抽出された辞書が保存されるディレクトリ(プロジェクトのベースパスからの相対パス)。
|
|
1070
|
-
|
|
1071
1105
|
- **output**:
|
|
1072
1106
|
- _型_: `FilePathPattern`
|
|
1073
|
-
- _デフォルト_: `
|
|
1074
|
-
- _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 `{{
|
|
1075
|
-
- _注_:
|
|
1076
|
-
- _
|
|
1107
|
+
- _デフォルト_: `undefined`
|
|
1108
|
+
- _説明_: 出力ファイルのパスを定義します。 `outputDir` を置き換えます。 文字列テンプレートまたは関数を通じて動的変数をサポートします。 サポートされている変数: `{{fileName}}`, `{{key}}`, `{{locale}}`, `{{extension}}`, `{{componentFileName}}`, `{{componentExtension}}`, `{{format}}`, `{{componentFormat}}`, および `{{componentDirPath}}`。
|
|
1109
|
+
- _注_: `./` で始まるパスは、コンポーネントディレクトリを基準に解決されます。 `/` で始まるパスは、プロジェクトのルート (`baseDir`) を基準に解決されます。
|
|
1110
|
+
- _注_: パスに `{{locale}}` 変数を含めると、ロケールごとに分離された辞書の生成が有効になります。
|
|
1111
|
+
- _例_:
|
|
1112
|
+
- **コンポーネントの隣に多言語ファイルを作成**:
|
|
1113
|
+
- 文字列: `'./{{fileName}}{{extension}}'`
|
|
1114
|
+
- 関数: `({ fileName, extension }) => \`./${fileName}${extension}\``
|
|
1115
|
+
|
|
1116
|
+
- **ロケールごとに集約された JSON を出力**:
|
|
1117
|
+
- 文字列: `'/locales/{{locale}}/{{key}}.content.json'`
|
|
1118
|
+
- 関数: `({ key, locale }) => \`/locales/${locale}/${key}.content.json\``
|
|
1077
1119
|
|
|
1078
1120
|
- **noMetadata**:
|
|
1079
1121
|
- _タイプ_: `boolean`
|
|
1080
1122
|
- _デフォルト_: `false`
|
|
1081
|
-
- _説明_: メタデータをファイルに保存するかどうかを示します。true
|
|
1082
|
-
- _注_: `loadJSON
|
|
1083
|
-
- _例_:
|
|
1123
|
+
- _説明_: メタデータをファイルに保存するかどうかを示します。trueの場合、コンパイラーは辞書のメタデータ(キー、コンテンツラッパー)を保存しません。
|
|
1124
|
+
- _注_: `loadJSON`プラグインを使用する場合に便利です。ロケールごとの i18next または ICU MessageFormat JSON 出力に有用です。
|
|
1125
|
+
- _例_:
|
|
1126
|
+
`true`の場合:
|
|
1084
1127
|
```json
|
|
1085
1128
|
{
|
|
1086
1129
|
"key": "value"
|