@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 @@ React Intlayer veya Next Intlayer ile entegre edildiğinde, her yer tutucu için
|
|
|
35
35
|
|
|
36
36
|
## Ekleme İçeriğini Ayarlama
|
|
37
37
|
|
|
38
|
-
Intlayer projenizde ekleme içeriğini ayarlamak için, ekleme tanımlarınızı içeren bir içerik modülü oluşturun.
|
|
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
|
+
Intlayer projenizde ekleme içeriğini ayarlamak için, ekleme tanımlarınızı içeren bir içerik modülü oluşturun.
|
|
39
|
+
|
|
40
|
+
<Tabs>
|
|
41
|
+
<Tab label="Elle Sarma" value="manual-wrapping">
|
|
42
|
+
Ekleme içeriğini açıkça bildirmek için `insert` fonksiyonunu kullanın.
|
|
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("Merhaba, adım {{name}} ve {{age}} yaşındayım!"),
|
|
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("Merhaba, adım {{name}} ve {{age}} yaşındayım!"),
|
|
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("Merhaba, adım {{name}} ve {{age}} yaşındayım!"),
|
|
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": "Merhaba, adım {{name}} ve {{age}} yaşındayım!",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
</Tab>
|
|
99
|
+
<Tab label="Otomatik Algılama" value="automatic-detection">
|
|
100
|
+
Dize yaygın ekleme göstergeleri (örneğin `{{name}}`) içeriyorsa, Intlayer bunu otomatik olarak dönüştürecektir.
|
|
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: "Merhaba, adım {{name}} ve {{age}} yaşındayım!",
|
|
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: "Merhaba, adım {{name}} ve {{age}} yaşındayım!",
|
|
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: "Merhaba, adım {{name}} ve {{age}} yaşındayım!",
|
|
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": "Merhaba, adım {{name}} ve {{age}} yaşındayım!",
|
|
145
|
+
},
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
</Tab>
|
|
150
|
+
</Tabs>
|
|
97
151
|
|
|
98
152
|
## React Intlayer ile Ekleme İçeriğini Kullanma
|
|
99
153
|
|
|
@@ -41,6 +41,16 @@ Backend'i uluslararasılaştırarak, uygulamanız sadece kültürel farklılıkl
|
|
|
41
41
|
|
|
42
42
|
## Başlarken
|
|
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
|
### Kurulum
|
|
45
55
|
|
|
46
56
|
`adonis-intlayer` kullanmaya başlamak için paketi npm kullanarak yükleyin:
|
|
@@ -48,6 +48,16 @@ Arka ucu uluslararasılaştırarak, uygulamanız sadece kültürel farklılıkla
|
|
|
48
48
|
|
|
49
49
|
## Başlarken
|
|
50
50
|
|
|
51
|
+
<iframe
|
|
52
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-express-template?embed=1&ctl=1&file=intlayer.config.ts"
|
|
53
|
+
className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
|
|
54
|
+
title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
|
|
55
|
+
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
|
56
|
+
loading="lazy"
|
|
57
|
+
/>
|
|
58
|
+
|
|
59
|
+
See [Application Template](https://github.com/aymericzip/intlayer-express-template) on GitHub.
|
|
60
|
+
|
|
51
61
|
### Kurulum
|
|
52
62
|
|
|
53
63
|
`express-intlayer` kullanmaya başlamak için paketi npm kullanarak yükleyin:
|
|
@@ -46,6 +46,16 @@ Backend'i uluslararasılaştırarak, uygulamanız yalnızca kültürel farklıl
|
|
|
46
46
|
|
|
47
47
|
## Başlarken
|
|
48
48
|
|
|
49
|
+
<iframe
|
|
50
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-fastify-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-fastify-template) on GitHub.
|
|
58
|
+
|
|
49
59
|
### Kurulum
|
|
50
60
|
|
|
51
61
|
`fastify-intlayer`'ı kullanmaya başlamak için paketi npm ile kurun:
|
|
@@ -44,6 +44,16 @@ Arka ucu uluslararasılaştırarak, uygulamanız yalnızca kültürel farklılı
|
|
|
44
44
|
|
|
45
45
|
## Başlarken
|
|
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
|
### Kurulum
|
|
48
58
|
|
|
49
59
|
`hono-intlayer` kullanmaya başlamak için paketi npm kullanarak yükleyin:
|
|
@@ -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 @@ Backend'i uluslararasılaştırarak, uygulamanız sadece kültürel farklılıkl
|
|
|
49
49
|
|
|
50
50
|
## Başlarken
|
|
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
|
### Yeni Bir NestJS Projesi Oluşturun
|
|
53
63
|
|
|
54
64
|
```bash packageManager="npm"
|
|
@@ -44,8 +44,9 @@ Intlayer підтримує HTML-контент, що дозволяє вбуд
|
|
|
44
44
|
|
|
45
45
|
const htmlDictionary = {
|
|
46
46
|
key: "app",
|
|
47
|
+
contentAutoTransformation: true, // можна встановити у файлі конфігурації
|
|
47
48
|
content: {
|
|
48
|
-
myHtmlContent:
|
|
49
|
+
myHtmlContent: html("<p>Привіт <strong>Світ</strong></p>"),
|
|
49
50
|
},
|
|
50
51
|
} satisfies Dictionary;
|
|
51
52
|
|
|
@@ -59,8 +60,9 @@ Intlayer підтримує 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>Привіт <strong>Світ</strong></p>",
|
|
64
66
|
},
|
|
65
67
|
};
|
|
66
68
|
```
|
|
@@ -35,65 +35,119 @@ history:
|
|
|
35
35
|
|
|
36
36
|
## Налаштування Insertion-контенту
|
|
37
37
|
|
|
38
|
-
Щоб налаштувати insertion-контент у вашому проєкті 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
|
-
```
|
|
38
|
+
Щоб налаштувати insertion-контент у вашому проєкті 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("Привіт, мене звати {{name}} і мені {{age}} років!"),
|
|
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("Привіт, мене звати {{name}} і мені {{age}} років!"),
|
|
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("Привіт, мене звати {{name}} і мені {{age}} років!"),
|
|
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": "Привіт, мене звати {{name}} і мені {{age}} років!",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
</Tab>
|
|
99
|
+
<Tab label="Автоматичне виявлення" value="automatic-detection">
|
|
100
|
+
Якщо рядок містить загальні індикатори вставки (наприклад, `{{name}}`), Intlayer автоматично перетворить його.
|
|
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: "Привіт, мене звати {{name}} і мені {{age}} років!",
|
|
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: "Привіт, мене звати {{name}} і мені {{age}} років!",
|
|
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: "Привіт, мене звати {{name}} і мені {{age}} років!",
|
|
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": "Привіт, мене звати {{name}} і мені {{age}} років!",
|
|
145
|
+
},
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
</Tab>
|
|
150
|
+
</Tabs>
|
|
97
151
|
|
|
98
152
|
## Використання вставного контенту з React Intlayer
|
|
99
153
|
|
|
@@ -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
|
+
Дивіться [Application Template](https://github.com/aymericzip/intlayer-adonisjs-template) на GitHub.
|
|
53
|
+
|
|
44
54
|
### Встановлення
|
|
45
55
|
|
|
46
56
|
Щоб почати використовувати `adonis-intlayer`, встановіть пакет за допомогою npm:
|
|
@@ -44,6 +44,16 @@ history:
|
|
|
44
44
|
|
|
45
45
|
## Початок роботи
|
|
46
46
|
|
|
47
|
+
<iframe
|
|
48
|
+
src="https://stackblitz.com/github/aymericzip/intlayer-express-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
|
+
Дивіться [Application Template](https://github.com/aymericzip/intlayer-express-template) на GitHub.
|
|
56
|
+
|
|
47
57
|
### Встановлення
|
|
48
58
|
|
|
49
59
|
Щоб почати використовувати `express-intlayer`, встановіть пакет за допомогою npm:
|
|
@@ -40,6 +40,16 @@ history:
|
|
|
40
40
|
|
|
41
41
|
## Початок роботи
|
|
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
|
+
Дивіться [Application Template](https://github.com/aymericzip/intlayer-fastify-template) на GitHub.
|
|
52
|
+
|
|
43
53
|
### Встановлення
|
|
44
54
|
|
|
45
55
|
Щоб почати використовувати `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
|
+
Дивіться [Application Template](https://github.com/aymericzip/intlayer-hono-template) на GitHub.
|
|
56
|
+
|
|
47
57
|
### Встановлення
|
|
48
58
|
|
|
49
59
|
Щоб почати використовувати `hono-intlayer`, встановіть пакет за допомогою npm:
|
|
@@ -44,8 +44,9 @@ Bạn có thể khai báo nội dung HTML bằng hàm `html` hoặc đơn giản
|
|
|
44
44
|
|
|
45
45
|
const htmlDictionary = {
|
|
46
46
|
key: "app",
|
|
47
|
+
contentAutoTransformation: true, // có thể đặt trong tệp cấu hình
|
|
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 @@ Bạn có thể khai báo nội dung HTML bằng hàm `html` hoặc đơn giản
|
|
|
59
60
|
```typescript fileName="htmlDictionary.content.ts"
|
|
60
61
|
export default {
|
|
61
62
|
key: "app",
|
|
63
|
+
contentAutoTransformation: true, // có thể đặt trong tệp cấu hình
|
|
62
64
|
content: {
|
|
63
|
-
myHtmlContent:
|
|
65
|
+
myHtmlContent: "<p>Hello <strong>World</strong></p>",
|
|
64
66
|
},
|
|
65
67
|
};
|
|
66
68
|
```
|