@intlayer/docs 8.0.1 → 8.0.2
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/dictionary/html.md +4 -2
- package/docs/ar/dictionary/insertion.md +113 -59
- package/docs/ar/intlayer_with_adonisjs.md +10 -0
- package/docs/ar/intlayer_with_express.md +10 -0
- package/docs/ar/intlayer_with_fastify.md +10 -0
- package/docs/ar/intlayer_with_hono.md +10 -0
- package/docs/ar/intlayer_with_nestjs.md +11 -1
- package/docs/de/dictionary/html.md +4 -2
- package/docs/de/dictionary/insertion.md +119 -18
- package/docs/de/intlayer_with_adonisjs.md +10 -0
- package/docs/de/intlayer_with_express.md +10 -0
- package/docs/de/intlayer_with_fastify.md +10 -0
- package/docs/de/intlayer_with_hono.md +10 -0
- package/docs/de/intlayer_with_nestjs.md +11 -1
- package/docs/en/dictionary/html.md +3 -1
- package/docs/en/dictionary/insertion.md +119 -65
- package/docs/en/intlayer_with_adonisjs.md +10 -0
- package/docs/en/intlayer_with_express.md +10 -0
- package/docs/en/intlayer_with_fastify.md +10 -0
- package/docs/en/intlayer_with_hono.md +10 -0
- package/docs/en/intlayer_with_nestjs.md +1 -1
- package/docs/en-GB/dictionary/html.md +4 -2
- package/docs/en-GB/dictionary/insertion.md +119 -65
- package/docs/en-GB/intlayer_with_adonisjs.md +10 -0
- package/docs/en-GB/intlayer_with_express.md +10 -0
- package/docs/en-GB/intlayer_with_fastify.md +10 -0
- package/docs/en-GB/intlayer_with_hono.md +10 -0
- package/docs/en-GB/intlayer_with_nestjs.md +11 -1
- package/docs/es/dictionary/html.md +4 -2
- package/docs/es/dictionary/insertion.md +113 -59
- package/docs/es/intlayer_with_adonisjs.md +10 -0
- package/docs/es/intlayer_with_express.md +10 -0
- package/docs/es/intlayer_with_fastify.md +10 -0
- package/docs/es/intlayer_with_hono.md +10 -0
- package/docs/es/intlayer_with_nestjs.md +11 -1
- package/docs/fr/dictionary/html.md +4 -2
- package/docs/fr/dictionary/insertion.md +113 -59
- package/docs/fr/intlayer_with_adonisjs.md +10 -0
- package/docs/fr/intlayer_with_express.md +10 -0
- package/docs/fr/intlayer_with_fastify.md +10 -0
- package/docs/fr/intlayer_with_hono.md +10 -0
- package/docs/fr/intlayer_with_nestjs.md +11 -1
- package/docs/hi/dictionary/html.md +4 -2
- package/docs/hi/dictionary/insertion.md +119 -17
- package/docs/hi/intlayer_with_adonisjs.md +10 -0
- package/docs/hi/intlayer_with_express.md +10 -0
- package/docs/hi/intlayer_with_fastify.md +10 -0
- package/docs/hi/intlayer_with_hono.md +10 -0
- package/docs/hi/intlayer_with_nestjs.md +11 -1
- package/docs/id/dictionary/html.md +4 -2
- package/docs/id/dictionary/insertion.md +119 -17
- package/docs/id/intlayer_with_adonisjs.md +10 -0
- package/docs/id/intlayer_with_express.md +10 -0
- package/docs/id/intlayer_with_fastify.md +10 -0
- package/docs/id/intlayer_with_hono.md +10 -0
- package/docs/it/dictionary/html.md +4 -2
- package/docs/it/dictionary/insertion.md +113 -59
- package/docs/it/intlayer_with_adonisjs.md +10 -0
- package/docs/it/intlayer_with_express.md +10 -0
- package/docs/it/intlayer_with_fastify.md +10 -0
- package/docs/it/intlayer_with_hono.md +10 -0
- package/docs/it/intlayer_with_nestjs.md +11 -1
- package/docs/ja/dictionary/html.md +4 -2
- package/docs/ja/dictionary/insertion.md +119 -65
- package/docs/ja/intlayer_with_adonisjs.md +10 -0
- package/docs/ja/intlayer_with_express.md +10 -0
- package/docs/ja/intlayer_with_fastify.md +10 -0
- package/docs/ja/intlayer_with_hono.md +10 -0
- package/docs/ja/intlayer_with_nestjs.md +11 -1
- package/docs/ko/dictionary/html.md +4 -2
- package/docs/ko/dictionary/insertion.md +119 -65
- package/docs/ko/intlayer_with_adonisjs.md +10 -0
- package/docs/ko/intlayer_with_express.md +10 -0
- package/docs/ko/intlayer_with_fastify.md +10 -0
- package/docs/ko/intlayer_with_hono.md +10 -0
- package/docs/ko/intlayer_with_nestjs.md +11 -1
- package/docs/pl/dictionary/html.md +4 -2
- package/docs/pl/dictionary/insertion.md +113 -15
- package/docs/pl/intlayer_with_adonisjs.md +10 -0
- package/docs/pl/intlayer_with_express.md +10 -0
- package/docs/pl/intlayer_with_fastify.md +10 -0
- package/docs/pl/intlayer_with_hono.md +10 -0
- package/docs/pt/dictionary/html.md +4 -2
- package/docs/pt/dictionary/insertion.md +119 -18
- package/docs/pt/intlayer_with_adonisjs.md +10 -0
- package/docs/pt/intlayer_with_express.md +10 -0
- package/docs/pt/intlayer_with_fastify.md +10 -0
- package/docs/pt/intlayer_with_hono.md +10 -0
- package/docs/pt/intlayer_with_nestjs.md +11 -1
- package/docs/ru/dictionary/html.md +4 -2
- package/docs/ru/dictionary/insertion.md +113 -59
- package/docs/ru/intlayer_with_adonisjs.md +10 -0
- package/docs/ru/intlayer_with_express.md +10 -0
- package/docs/ru/intlayer_with_fastify.md +10 -0
- package/docs/ru/intlayer_with_hono.md +10 -0
- package/docs/ru/intlayer_with_nestjs.md +11 -1
- package/docs/tr/dictionary/html.md +4 -2
- package/docs/tr/dictionary/insertion.md +113 -59
- package/docs/tr/intlayer_with_adonisjs.md +10 -0
- package/docs/tr/intlayer_with_express.md +10 -0
- package/docs/tr/intlayer_with_fastify.md +10 -0
- package/docs/tr/intlayer_with_hono.md +10 -0
- package/docs/tr/intlayer_with_nestjs.md +11 -1
- package/docs/uk/dictionary/html.md +4 -2
- package/docs/uk/dictionary/insertion.md +113 -59
- package/docs/uk/intlayer_with_adonisjs.md +10 -0
- package/docs/uk/intlayer_with_express.md +10 -0
- package/docs/uk/intlayer_with_fastify.md +10 -0
- package/docs/uk/intlayer_with_hono.md +10 -0
- package/docs/vi/dictionary/html.md +4 -2
- package/docs/vi/dictionary/insertion.md +113 -14
- package/docs/vi/intlayer_with_adonisjs.md +10 -0
- package/docs/vi/intlayer_with_express.md +10 -0
- package/docs/vi/intlayer_with_fastify.md +10 -0
- package/docs/vi/intlayer_with_hono.md +10 -0
- package/docs/zh/dictionary/html.md +4 -2
- package/docs/zh/dictionary/insertion.md +117 -63
- package/docs/zh/intlayer_with_adonisjs.md +10 -0
- package/docs/zh/intlayer_with_express.md +10 -0
- package/docs/zh/intlayer_with_fastify.md +10 -0
- package/docs/zh/intlayer_with_hono.md +10 -0
- package/docs/zh/intlayer_with_nestjs.md +11 -1
- package/package.json +6 -6
|
@@ -35,65 +35,119 @@ Quando integrato con React Intlayer o Next Intlayer, puoi semplicemente fornire
|
|
|
35
35
|
|
|
36
36
|
## Configurare il Contenuto di Inserimento
|
|
37
37
|
|
|
38
|
-
Per configurare il contenuto di inserimento nel tuo progetto Intlayer, crea un modulo di contenuto che includa le tue definizioni di inserimento.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
```
|
|
38
|
+
Per configurare il contenuto di inserimento nel tuo progetto Intlayer, crea un modulo di contenuto che includa le tue definizioni di inserimento.
|
|
39
|
+
|
|
40
|
+
<Tabs>
|
|
41
|
+
<Tab label="Avvolgimento manuale" value="manual-wrapping">
|
|
42
|
+
Usa la funzione `insert` per dichiarare esplicitamente il contenuto dell'inserimento.
|
|
43
|
+
|
|
44
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
45
|
+
import { insert, type Dictionary } from "intlayer";
|
|
46
|
+
|
|
47
|
+
const myInsertionContent = {
|
|
48
|
+
key: "my_key",
|
|
49
|
+
content: {
|
|
50
|
+
myInsertion: insert("Ciao, mi chiamo {{name}} e ho {{age}} anni!"),
|
|
51
|
+
},
|
|
52
|
+
} satisfies Dictionary;
|
|
53
|
+
|
|
54
|
+
export default myInsertionContent;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
58
|
+
import { insert } from "intlayer";
|
|
59
|
+
|
|
60
|
+
/** @type {import('intlayer').Dictionary} */
|
|
61
|
+
const myInsertionContent = {
|
|
62
|
+
key: "my_key",
|
|
63
|
+
content: {
|
|
64
|
+
myInsertion: insert("Ciao, mi chiamo {{name}} e ho {{age}} anni!"),
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export default myInsertionContent;
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
72
|
+
const { insert } = require("intlayer");
|
|
73
|
+
|
|
74
|
+
/** @type {import('intlayer').Dictionary} */
|
|
75
|
+
const myInsertionContent = {
|
|
76
|
+
key: "my_key",
|
|
77
|
+
content: {
|
|
78
|
+
myInsertion: insert("Ciao, mi chiamo {{name}} e ho {{age}} anni!"),
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
module.exports = myInsertionContent;
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
86
|
+
{
|
|
87
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
88
|
+
"key": "my_key",
|
|
89
|
+
"content": {
|
|
90
|
+
"myInsertion": {
|
|
91
|
+
"nodeType": "insertion",
|
|
92
|
+
"insertion": "Ciao, mi chiamo {{name}} e ho {{age}} anni!",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
</Tab>
|
|
99
|
+
<Tab label="Rilevamento automatico" value="automatic-detection">
|
|
100
|
+
Se la stringa contiene indicatori di inserimento comuni (come `{{name}}`), Intlayer la trasformerà automaticamente.
|
|
101
|
+
|
|
102
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
103
|
+
import { type Dictionary } from "intlayer";
|
|
104
|
+
|
|
105
|
+
const myInsertionContent = {
|
|
106
|
+
key: "my_key",
|
|
107
|
+
content: {
|
|
108
|
+
myInsertion: "Ciao, mi chiamo {{name}} e ho {{age}} anni!",
|
|
109
|
+
},
|
|
110
|
+
} satisfies Dictionary;
|
|
111
|
+
|
|
112
|
+
export default myInsertionContent;
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
116
|
+
/** @type {import('intlayer').Dictionary} */
|
|
117
|
+
const myInsertionContent = {
|
|
118
|
+
key: "my_key",
|
|
119
|
+
content: {
|
|
120
|
+
myInsertion: "Ciao, mi chiamo {{name}} e ho {{age}} anni!",
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export default myInsertionContent;
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
128
|
+
/** @type {import('intlayer').Dictionary} */
|
|
129
|
+
const myInsertionContent = {
|
|
130
|
+
key: "my_key",
|
|
131
|
+
content: {
|
|
132
|
+
myInsertion: "Ciao, mi chiamo {{name}} e ho {{age}} anni!",
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
module.exports = myInsertionContent;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
140
|
+
{
|
|
141
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
142
|
+
"key": "my_key",
|
|
143
|
+
"content": {
|
|
144
|
+
"myInsertion": "Ciao, mi chiamo {{name}} e ho {{age}} anni!",
|
|
145
|
+
},
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
</Tab>
|
|
150
|
+
</Tabs>
|
|
97
151
|
|
|
98
152
|
## Utilizzo del contenuto di inserimento con React Intlayer
|
|
99
153
|
|
|
@@ -41,6 +41,16 @@ Internazionalizzando il backend, la tua applicazione non solo rispetta le differ
|
|
|
41
41
|
|
|
42
42
|
## Iniziare
|
|
43
43
|
|
|
44
|
+
<iframe
|
|
45
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-adonisjs-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
46
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
47
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
48
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
49
|
+
loading="lazy"
|
|
50
|
+
/>
|
|
51
|
+
|
|
52
|
+
See [Application Template](https://github.com/aymericzip/intlayer-adonisjs-template) on GitHub.
|
|
53
|
+
|
|
44
54
|
### Installazione
|
|
45
55
|
|
|
46
56
|
Per iniziare a usare `adonis-intlayer`, installa il pacchetto usando npm:
|
|
@@ -47,6 +47,16 @@ Internazionalizzando il backend, la tua applicazione non solo rispetta le differ
|
|
|
47
47
|
|
|
48
48
|
## Iniziare
|
|
49
49
|
|
|
50
|
+
<iframe
|
|
51
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-express-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
52
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
53
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
54
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
55
|
+
loading="lazy"
|
|
56
|
+
/>
|
|
57
|
+
|
|
58
|
+
See [Application Template](https://github.com/aymericzip/intlayer-express-template) on GitHub.
|
|
59
|
+
|
|
50
60
|
### Installazione
|
|
51
61
|
|
|
52
62
|
Per iniziare a utilizzare `express-intlayer`, installa il pacchetto utilizzando npm:
|
|
@@ -40,6 +40,16 @@ Internationalizzando il backend, la tua applicazione non solo rispetta le differ
|
|
|
40
40
|
|
|
41
41
|
## Per iniziare
|
|
42
42
|
|
|
43
|
+
<iframe
|
|
44
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-fastify-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
45
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
46
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
47
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
48
|
+
loading="lazy"
|
|
49
|
+
/>
|
|
50
|
+
|
|
51
|
+
See [Application Template](https://github.com/aymericzip/intlayer-fastify-template) on GitHub.
|
|
52
|
+
|
|
43
53
|
### Installazione
|
|
44
54
|
|
|
45
55
|
Per iniziare a utilizzare `fastify-intlayer`, installa il pacchetto usando npm:
|
|
@@ -44,6 +44,16 @@ Internazionalizzando il backend, la tua applicazione non solo rispetta le differ
|
|
|
44
44
|
|
|
45
45
|
## Iniziare
|
|
46
46
|
|
|
47
|
+
<iframe
|
|
48
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-hono-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
49
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
50
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
51
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
52
|
+
loading="lazy"
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
See [Application Template](https://github.com/aymericzip/intlayer-hono-template) on GitHub.
|
|
56
|
+
|
|
47
57
|
### Installazione
|
|
48
58
|
|
|
49
59
|
Per iniziare a usare `hono-intlayer`, installa il pacchetto usando npm:
|
|
@@ -14,7 +14,7 @@ slugs:
|
|
|
14
14
|
- doc
|
|
15
15
|
- environment
|
|
16
16
|
- nest
|
|
17
|
-
applicationTemplate: https://github.com/
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-nestjs-template
|
|
18
18
|
author: AydinTheFirst
|
|
19
19
|
history:
|
|
20
20
|
- version: 7.5.9
|
|
@@ -49,6 +49,16 @@ Internazionalizzando il backend, la tua applicazione non solo rispetta le differ
|
|
|
49
49
|
|
|
50
50
|
## Iniziare
|
|
51
51
|
|
|
52
|
+
<iframe
|
|
53
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-nestjs-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
54
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
55
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
56
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
57
|
+
loading="lazy"
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
See [Application Template](https://github.com/aymericzip/intlayer-nestjs-template) on GitHub.
|
|
61
|
+
|
|
52
62
|
### Creare un nuovo progetto NestJS
|
|
53
63
|
|
|
54
64
|
```bash packageManager="npm"
|
|
@@ -44,8 +44,9 @@ HTML コンテンツは `html` 関数を使って宣言するか、単に文字
|
|
|
44
44
|
|
|
45
45
|
const htmlDictionary = {
|
|
46
46
|
key: "app",
|
|
47
|
+
contentAutoTransformation: true, // 設定ファイルで設定可能
|
|
47
48
|
content: {
|
|
48
|
-
myHtmlContent:
|
|
49
|
+
myHtmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
49
50
|
},
|
|
50
51
|
} satisfies Dictionary;
|
|
51
52
|
|
|
@@ -59,8 +60,9 @@ HTML コンテンツは `html` 関数を使って宣言するか、単に文字
|
|
|
59
60
|
```typescript fileName="htmlDictionary.content.ts"
|
|
60
61
|
export default {
|
|
61
62
|
key: "app",
|
|
63
|
+
contentAutoTransformation: true, // 設定ファイルで設定可能
|
|
62
64
|
content: {
|
|
63
|
-
myHtmlContent:
|
|
65
|
+
myHtmlContent: "<p>Hello <strong>World</strong></p>",
|
|
64
66
|
},
|
|
65
67
|
};
|
|
66
68
|
```
|
|
@@ -35,71 +35,125 @@ React IntlayerやNext Intlayerと統合すると、各プレースホルダー
|
|
|
35
35
|
|
|
36
36
|
## 挿入コンテンツの設定
|
|
37
37
|
|
|
38
|
-
Intlayer
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
```
|
|
38
|
+
Intlayerプロジェクトで挿入コンテンツを設定するには、挿入定義を含むコンテンツモジュールを作成します。
|
|
39
|
+
|
|
40
|
+
<Tabs>
|
|
41
|
+
<Tab label="手動ラッピング" value="manual-wrapping">
|
|
42
|
+
挿入コンテンツを明示的に宣言するには、`insert` 関数を使用します。
|
|
43
|
+
|
|
44
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
45
|
+
import { insert, type Dictionary } from "intlayer";
|
|
46
|
+
|
|
47
|
+
const myInsertionContent = {
|
|
48
|
+
key: "my_key",
|
|
49
|
+
content: {
|
|
50
|
+
myInsertion: insert(
|
|
51
|
+
"こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!"
|
|
52
|
+
),
|
|
53
|
+
},
|
|
54
|
+
} satisfies Dictionary;
|
|
55
|
+
|
|
56
|
+
export default myInsertionContent;
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
60
|
+
import { insert } from "intlayer";
|
|
61
|
+
|
|
62
|
+
/** @type {import('intlayer').Dictionary} */
|
|
63
|
+
const myInsertionContent = {
|
|
64
|
+
key: "my_key",
|
|
65
|
+
content: {
|
|
66
|
+
myInsertion: insert(
|
|
67
|
+
"こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!"
|
|
68
|
+
),
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default myInsertionContent;
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
76
|
+
const { insert } = require("intlayer");
|
|
77
|
+
|
|
78
|
+
/** @type {import('intlayer').Dictionary} */
|
|
79
|
+
const myInsertionContent = {
|
|
80
|
+
key: "my_key",
|
|
81
|
+
content: {
|
|
82
|
+
myInsertion: insert(
|
|
83
|
+
"こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!"
|
|
84
|
+
),
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
module.exports = myInsertionContent;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
92
|
+
{
|
|
93
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
94
|
+
"key": "my_key",
|
|
95
|
+
"content": {
|
|
96
|
+
"myInsertion": {
|
|
97
|
+
"nodeType": "insertion",
|
|
98
|
+
"insertion": "こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!",
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
</Tab>
|
|
105
|
+
<Tab label="自動検出" value="automatic-detection">
|
|
106
|
+
文字列に一般的な挿入インジケーター(`{{name}}` など)が含まれている場合、Intlayer はそれを自動的に変換します。
|
|
107
|
+
|
|
108
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat="typescript"
|
|
109
|
+
import { type Dictionary } from "intlayer";
|
|
110
|
+
|
|
111
|
+
const myInsertionContent = {
|
|
112
|
+
key: "my_key",
|
|
113
|
+
content: {
|
|
114
|
+
myInsertion: "こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!",
|
|
115
|
+
},
|
|
116
|
+
} satisfies Dictionary;
|
|
117
|
+
|
|
118
|
+
export default myInsertionContent;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
```javascript fileName="**/*.content.mjs" contentDeclarationFormat="esm"
|
|
122
|
+
/** @type {import('intlayer').Dictionary} */
|
|
123
|
+
const myInsertionContent = {
|
|
124
|
+
key: "my_key",
|
|
125
|
+
content: {
|
|
126
|
+
myInsertion: "こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!",
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export default myInsertionContent;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```javascript fileName="**/*.content.cjs" contentDeclarationFormat="commonjs"
|
|
134
|
+
/** @type {import('intlayer').Dictionary} */
|
|
135
|
+
const myInsertionContent = {
|
|
136
|
+
key: "my_key",
|
|
137
|
+
content: {
|
|
138
|
+
myInsertion: "こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!",
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
module.exports = myInsertionContent;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
```json5 fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
146
|
+
{
|
|
147
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
148
|
+
"key": "my_key",
|
|
149
|
+
"content": {
|
|
150
|
+
"myInsertion": "こんにちは、私の名前は{{name}}で、年齢は{{age}}歳です!",
|
|
151
|
+
},
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
</Tab>
|
|
156
|
+
</Tabs>
|
|
103
157
|
|
|
104
158
|
## React Intlayerでの挿入コンテンツの使用
|
|
105
159
|
|
|
@@ -41,6 +41,16 @@ history:
|
|
|
41
41
|
|
|
42
42
|
## はじめる
|
|
43
43
|
|
|
44
|
+
<iframe
|
|
45
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-adonisjs-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
46
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
47
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
48
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
49
|
+
loading="lazy"
|
|
50
|
+
/>
|
|
51
|
+
|
|
52
|
+
See [Application Template](https://github.com/aymericzip/intlayer-adonisjs-template) on GitHub.
|
|
53
|
+
|
|
44
54
|
### インストール
|
|
45
55
|
|
|
46
56
|
`adonis-intlayer` の使用を開始するには、npm を使用してパッケージをインストールします。
|
|
@@ -46,6 +46,16 @@ history:
|
|
|
46
46
|
|
|
47
47
|
## 始めるにあたって
|
|
48
48
|
|
|
49
|
+
<iframe
|
|
50
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-express-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
51
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
52
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
53
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
54
|
+
loading="lazy"
|
|
55
|
+
/>
|
|
56
|
+
|
|
57
|
+
See [Application Template](https://github.com/aymericzip/intlayer-express-template) on GitHub.
|
|
58
|
+
|
|
49
59
|
### インストール
|
|
50
60
|
|
|
51
61
|
`express-intlayer` を使用するには、npmを使用してパッケージをインストールします:
|
|
@@ -47,6 +47,16 @@ history:
|
|
|
47
47
|
|
|
48
48
|
## はじめに
|
|
49
49
|
|
|
50
|
+
<iframe
|
|
51
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-fastify-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
52
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
53
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
54
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
55
|
+
loading="lazy"
|
|
56
|
+
/>
|
|
57
|
+
|
|
58
|
+
See [Application Template](https://github.com/aymericzip/intlayer-fastify-template) on GitHub.
|
|
59
|
+
|
|
50
60
|
### インストール
|
|
51
61
|
|
|
52
62
|
`fastify-intlayer` の使用を開始するには、npm を使ってパッケージをインストールします:
|
|
@@ -44,6 +44,16 @@ history:
|
|
|
44
44
|
|
|
45
45
|
## はじめに
|
|
46
46
|
|
|
47
|
+
<iframe
|
|
48
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-hono-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
49
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
50
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
51
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
52
|
+
loading="lazy"
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
See [Application Template](https://github.com/aymericzip/intlayer-hono-template) on GitHub.
|
|
56
|
+
|
|
47
57
|
### インストール
|
|
48
58
|
|
|
49
59
|
`hono-intlayer` の使用を開始するには、npm を使用してパッケージをインストールします。
|
|
@@ -14,7 +14,7 @@ slugs:
|
|
|
14
14
|
- doc
|
|
15
15
|
- environment
|
|
16
16
|
- nest
|
|
17
|
-
applicationTemplate: https://github.com/
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-nestjs-template
|
|
18
18
|
author: AydinTheFirst
|
|
19
19
|
history:
|
|
20
20
|
- version: 7.5.9
|
|
@@ -49,6 +49,16 @@ history:
|
|
|
49
49
|
|
|
50
50
|
## はじめに
|
|
51
51
|
|
|
52
|
+
<iframe
|
|
53
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-nestjs-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
54
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
55
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
56
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
57
|
+
loading="lazy"
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
See [Application Template](https://github.com/aymericzip/intlayer-nestjs-template) on GitHub.
|
|
61
|
+
|
|
52
62
|
### 新しい NestJS プロジェクトの作成
|
|
53
63
|
|
|
54
64
|
```bash packageManager="npm"
|
|
@@ -44,8 +44,9 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
|
|
|
44
44
|
|
|
45
45
|
const htmlDictionary = {
|
|
46
46
|
key: "app",
|
|
47
|
+
contentAutoTransformation: true, // 설정 파일에서 설정할 수 있음
|
|
47
48
|
content: {
|
|
48
|
-
myHtmlContent:
|
|
49
|
+
myHtmlContent: html("<p>Hello <strong>World</strong></p>"),
|
|
49
50
|
},
|
|
50
51
|
} satisfies Dictionary;
|
|
51
52
|
|
|
@@ -59,8 +60,9 @@ HTML 콘텐츠는 `html` 함수를 사용하거나 단순 문자열로 선언할
|
|
|
59
60
|
```typescript fileName="htmlDictionary.content.ts"
|
|
60
61
|
export default {
|
|
61
62
|
key: "app",
|
|
63
|
+
contentAutoTransformation: true, // 설정 파일에서 설정할 수 있음
|
|
62
64
|
content: {
|
|
63
|
-
myHtmlContent:
|
|
65
|
+
myHtmlContent: "<p>Hello <strong>World</strong></p>",
|
|
64
66
|
},
|
|
65
67
|
};
|
|
66
68
|
```
|