@intlayer/docs 5.7.8 → 5.8.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_next-i18next.md +3 -4
- package/blog/ar/intlayer_with_next-intl.md +3 -4
- package/blog/ar/intlayer_with_react-i18next.md +1 -1
- package/blog/ar/intlayer_with_react-intl.md +1 -1
- package/blog/de/intlayer_with_next-i18next.md +3 -4
- package/blog/de/intlayer_with_react-intl.md +1 -1
- package/blog/en/intlayer_with_next-i18next.md +3 -4
- package/blog/en/intlayer_with_next-intl.md +3 -4
- package/blog/en/intlayer_with_react-i18next.md +1 -1
- package/blog/en/intlayer_with_react-intl.md +1 -1
- package/blog/en-GB/intlayer_with_next-i18next.md +3 -4
- package/blog/en-GB/intlayer_with_next-intl.md +3 -4
- package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
- package/blog/en-GB/intlayer_with_react-intl.md +1 -1
- package/blog/es/intlayer_with_next-i18next.md +3 -4
- package/blog/es/intlayer_with_next-intl.md +3 -4
- package/blog/es/intlayer_with_react-i18next.md +1 -1
- package/blog/es/intlayer_with_react-intl.md +1 -1
- package/blog/fr/intlayer_with_next-i18next.md +3 -4
- package/blog/fr/intlayer_with_next-intl.md +3 -4
- package/blog/fr/intlayer_with_react-i18next.md +1 -1
- package/blog/fr/intlayer_with_react-intl.md +1 -1
- package/blog/hi/intlayer_with_next-i18next.md +3 -4
- package/blog/hi/intlayer_with_next-intl.md +3 -4
- package/blog/hi/intlayer_with_react-i18next.md +1 -1
- package/blog/hi/intlayer_with_react-intl.md +1 -1
- package/blog/it/intlayer_with_next-i18next.md +3 -4
- package/blog/it/intlayer_with_next-intl.md +3 -4
- package/blog/it/intlayer_with_react-i18next.md +1 -1
- package/blog/it/intlayer_with_react-intl.md +1 -1
- package/blog/ja/intlayer_with_next-i18next.md +3 -4
- package/blog/ja/intlayer_with_next-intl.md +3 -4
- package/blog/ja/intlayer_with_react-intl.md +1 -1
- package/blog/ko/intlayer_with_next-i18next.md +3 -4
- package/blog/ko/intlayer_with_next-intl.md +3 -4
- package/blog/ko/intlayer_with_react-intl.md +1 -1
- package/blog/pt/intlayer_with_next-i18next.md +3 -4
- package/blog/pt/intlayer_with_next-intl.md +3 -4
- package/blog/pt/intlayer_with_react-intl.md +1 -1
- package/blog/ru/intlayer_with_next-i18next.md +3 -4
- package/blog/ru/intlayer_with_next-intl.md +3 -4
- package/blog/ru/intlayer_with_react-i18next.md +1 -1
- package/blog/ru/intlayer_with_react-intl.md +1 -1
- package/blog/zh/intlayer_with_next-i18next.md +3 -4
- package/blog/zh/intlayer_with_next-intl.md +3 -4
- package/blog/zh/intlayer_with_react-i18next.md +1 -1
- package/blog/zh/intlayer_with_react-intl.md +1 -1
- package/dist/cjs/generated/docs.entry.cjs +41 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +41 -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/formatters.md +239 -0
- package/docs/ar/interest_of_intlayer.md +162 -49
- package/docs/ar/introduction.md +3 -3
- package/docs/ar/packages/intlayer/index.md +3 -3
- package/docs/ar/packages/next-intlayer/index.md +3 -3
- package/docs/de/formatters.md +239 -0
- package/docs/de/interest_of_intlayer.md +161 -47
- package/docs/de/introduction.md +3 -3
- package/docs/de/packages/intlayer/index.md +3 -3
- package/docs/de/packages/next-intlayer/index.md +3 -3
- package/docs/de/packages/react-intlayer/index.md +3 -3
- package/docs/en/formatters.md +250 -0
- package/docs/en/interest_of_intlayer.md +159 -46
- package/docs/en/introduction.md +3 -3
- package/docs/en/packages/intlayer/index.md +3 -3
- package/docs/en/packages/next-intlayer/index.md +3 -3
- package/docs/en/packages/react-intlayer/index.md +3 -3
- package/docs/en-GB/formatters.md +239 -0
- package/docs/en-GB/interest_of_intlayer.md +160 -53
- package/docs/en-GB/packages/intlayer/index.md +3 -3
- package/docs/en-GB/packages/next-intlayer/index.md +3 -3
- package/docs/en-GB/packages/react-intlayer/index.md +3 -3
- package/docs/es/formatters.md +239 -0
- package/docs/es/interest_of_intlayer.md +159 -47
- package/docs/es/introduction.md +3 -3
- package/docs/es/packages/intlayer/index.md +3 -3
- package/docs/es/packages/next-intlayer/index.md +3 -3
- package/docs/fr/formatters.md +239 -0
- package/docs/fr/interest_of_intlayer.md +160 -46
- package/docs/fr/introduction.md +3 -3
- package/docs/fr/packages/intlayer/index.md +3 -3
- package/docs/fr/packages/next-intlayer/index.md +3 -3
- package/docs/fr/packages/react-intlayer/index.md +3 -3
- package/docs/hi/formatters.md +239 -0
- package/docs/hi/interest_of_intlayer.md +158 -42
- package/docs/hi/introduction.md +3 -3
- package/docs/hi/packages/intlayer/index.md +3 -3
- package/docs/hi/packages/next-intlayer/index.md +3 -3
- package/docs/hi/packages/react-intlayer/index.md +3 -3
- package/docs/it/formatters.md +239 -0
- package/docs/it/interest_of_intlayer.md +160 -46
- package/docs/it/introduction.md +3 -3
- package/docs/it/packages/intlayer/index.md +3 -3
- package/docs/it/packages/next-intlayer/index.md +3 -3
- package/docs/it/packages/react-intlayer/index.md +3 -3
- package/docs/ja/formatters.md +261 -0
- package/docs/ja/interest_of_intlayer.md +157 -48
- package/docs/ja/introduction.md +3 -3
- package/docs/ja/packages/intlayer/index.md +3 -3
- package/docs/ja/packages/next-intlayer/index.md +3 -3
- package/docs/ja/packages/react-intlayer/index.md +3 -3
- package/docs/ko/formatters.md +258 -0
- package/docs/ko/interest_of_intlayer.md +160 -48
- package/docs/ko/introduction.md +3 -3
- package/docs/ko/packages/intlayer/index.md +3 -3
- package/docs/ko/packages/next-intlayer/index.md +3 -3
- package/docs/ko/packages/react-intlayer/index.md +3 -3
- package/docs/pt/formatters.md +239 -0
- package/docs/pt/interest_of_intlayer.md +162 -47
- package/docs/pt/introduction.md +3 -3
- package/docs/pt/packages/intlayer/index.md +3 -3
- package/docs/pt/packages/next-intlayer/index.md +3 -3
- package/docs/pt/packages/react-intlayer/index.md +3 -3
- package/docs/ru/formatters.md +239 -0
- package/docs/ru/interest_of_intlayer.md +168 -50
- package/docs/ru/introduction.md +3 -3
- package/docs/ru/packages/intlayer/index.md +3 -3
- package/docs/ru/packages/next-intlayer/index.md +3 -3
- package/docs/ru/packages/react-intlayer/index.md +3 -3
- package/docs/zh/formatters.md +239 -0
- package/docs/zh/interest_of_intlayer.md +158 -48
- package/docs/zh/introduction.md +3 -3
- package/docs/zh/packages/intlayer/index.md +3 -3
- package/docs/zh/packages/next-intlayer/index.md +3 -3
- package/docs/zh/packages/react-intlayer/index.md +3 -3
- package/package.json +12 -12
- package/src/generated/docs.entry.ts +41 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-14
|
|
3
|
-
updatedAt: 2025-
|
|
3
|
+
updatedAt: 2025-08-20
|
|
4
4
|
title: Intlayer का महत्व
|
|
5
5
|
description: अपने प्रोजेक्ट्स में Intlayer का उपयोग करने के लाभ और फायदे जानें। समझें कि Intlayer अन्य फ्रेमवर्क्स की तुलना में क्यों बेहतर है।
|
|
6
6
|
keywords:
|
|
@@ -11,41 +11,104 @@ keywords:
|
|
|
11
11
|
- तुलना
|
|
12
12
|
slugs:
|
|
13
13
|
- doc
|
|
14
|
-
-
|
|
15
|
-
- interest
|
|
14
|
+
- why
|
|
16
15
|
---
|
|
17
16
|
|
|
18
|
-
# Intlayer
|
|
17
|
+
# आपको Intlayer क्यों अपनाना चाहिए?
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
## Intlayer क्या है?
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
**Intlayer** एक अंतरराष्ट्रीयकरण लाइब्रेरी है जो विशेष रूप से जावास्क्रिप्ट डेवलपर्स के लिए डिज़ाइन की गई है। यह आपके कोड में कहीं भी आपकी सामग्री की घोषणा करने की अनुमति देता है। यह बहुभाषी सामग्री की घोषणाओं को संरचित शब्दकोशों में परिवर्तित करता है ताकि इसे आपके कोड में आसानी से एकीकृत किया जा सके। TypeScript का उपयोग करते हुए, **Intlayer** आपके विकास को मजबूत और अधिक कुशल बनाता है।
|
|
22
|
+
|
|
23
|
+
## Intlayer क्यों बनाया गया था?
|
|
24
|
+
|
|
25
|
+
Intlayer को एक सामान्य समस्या को हल करने के लिए बनाया गया था जो सभी सामान्य i18n लाइब्रेरीज़ जैसे `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl`, और `vue-i18n` को प्रभावित करती है।
|
|
26
|
+
|
|
27
|
+
ये सभी समाधान आपकी सामग्री को सूचीबद्ध और प्रबंधित करने के लिए एक केंद्रीकृत दृष्टिकोण अपनाते हैं। उदाहरण के लिए:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
.
|
|
31
|
+
├── locales
|
|
32
|
+
│ ├── en.json
|
|
33
|
+
│ ├── fr.json
|
|
34
|
+
│ └── es.json
|
|
35
|
+
├── i18n.ts
|
|
36
|
+
└── src
|
|
37
|
+
└── components
|
|
38
|
+
└── MyComponent
|
|
39
|
+
└── index.tsx
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
या यहाँ namespaces का उपयोग करते हुए:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
.
|
|
46
|
+
├── locales
|
|
47
|
+
│ ├── en
|
|
48
|
+
│ │ ├── footer.json
|
|
49
|
+
│ │ └── navbar.json
|
|
50
|
+
│ ├── fr
|
|
51
|
+
│ │ ├── footer.json
|
|
52
|
+
│ │ └── navbar.json
|
|
53
|
+
│ └── es
|
|
54
|
+
│ ├── footer.json
|
|
55
|
+
│ └── navbar.json
|
|
56
|
+
├── i18n.ts
|
|
57
|
+
└── src
|
|
58
|
+
└── components
|
|
59
|
+
└── MyComponent
|
|
60
|
+
└── index.tsx
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
इस प्रकार की संरचना विकास प्रक्रिया को धीमा कर देती है और कई कारणों से कोडबेस को बनाए रखना अधिक जटिल बना देती है:
|
|
64
|
+
|
|
65
|
+
1. **किसी भी नए घटक के लिए, आपको करना चाहिए:**
|
|
66
|
+
- `locales` फ़ोल्डर में नया संसाधन/namespace बनाएं
|
|
67
|
+
- अपने पेज में नए namespace को आयात करना याद रखें
|
|
68
|
+
- अपनी सामग्री का अनुवाद करें (अक्सर AI प्रदाताओं से कॉपी/पेस्ट करके मैन्युअल रूप से किया जाता है)
|
|
69
|
+
|
|
70
|
+
2. **अपने घटकों में किए गए किसी भी परिवर्तन के लिए, आपको करना चाहिए:**
|
|
71
|
+
- संबंधित संसाधन/namespace खोजें (घटक से दूर)
|
|
72
|
+
- अपनी सामग्री का अनुवाद करें
|
|
73
|
+
- सुनिश्चित करें कि आपकी सामग्री किसी भी locale के लिए अद्यतित है
|
|
74
|
+
- जांचें कि आपका namespace अप्रयुक्त कुंजी/मान शामिल नहीं करता है
|
|
75
|
+
- सुनिश्चित करें कि आपके JSON फ़ाइलों की संरचना सभी locales के लिए समान है
|
|
76
|
+
|
|
77
|
+
पेशेवर परियोजनाओं में, इन समाधानों का उपयोग करते हुए, अक्सर आपकी सामग्री के अनुवाद को प्रबंधित करने में मदद के लिए स्थानीयकरण प्लेटफ़ॉर्म का उपयोग किया जाता है। हालांकि, बड़े परियोजनाओं के लिए यह जल्दी महंगा हो सकता है।
|
|
78
|
+
|
|
79
|
+
इस समस्या को हल करने के लिए, Intlayer एक ऐसा दृष्टिकोण अपनाता है जो आपकी सामग्री को प्रति-घटक सीमित करता है और आपकी सामग्री को आपके घटक के करीब रखता है, जैसा कि हम अक्सर CSS (`styled-components`), प्रकार, दस्तावेज़ीकरण (`storybook`), या यूनिट परीक्षण (`jest`) के साथ करते हैं।
|
|
23
80
|
|
|
24
81
|
```bash codeFormat="typescript"
|
|
25
82
|
.
|
|
26
|
-
└──
|
|
83
|
+
└── components
|
|
27
84
|
└── MyComponent
|
|
28
85
|
├── index.content.ts
|
|
86
|
+
├── index.test.tsx
|
|
87
|
+
├── index.stories.tsx
|
|
29
88
|
└── index.tsx
|
|
30
89
|
```
|
|
31
90
|
|
|
32
91
|
```bash codeFormat="commonjs"
|
|
33
92
|
.
|
|
34
|
-
└──
|
|
93
|
+
└── components
|
|
35
94
|
└── MyComponent
|
|
36
95
|
├── index.content.cjs
|
|
37
|
-
|
|
96
|
+
├── index.test.mjs
|
|
97
|
+
├── index.stories.mjs
|
|
98
|
+
└── index.tsx
|
|
38
99
|
```
|
|
39
100
|
|
|
40
101
|
```bash codeFormat="esm"
|
|
41
102
|
.
|
|
42
|
-
└──
|
|
103
|
+
└── components
|
|
43
104
|
└── MyComponent
|
|
44
105
|
├── index.content.mjs
|
|
45
|
-
|
|
106
|
+
├── index.test.mjs
|
|
107
|
+
├── index.stories.mjs
|
|
108
|
+
└── index.tsx
|
|
46
109
|
```
|
|
47
110
|
|
|
48
|
-
```tsx fileName="./
|
|
111
|
+
```tsx fileName="./components/MyComponent/index.content.ts" codeFormat="typescript"
|
|
49
112
|
import { t, type Dictionary } from "intlayer";
|
|
50
113
|
|
|
51
114
|
const componentExampleContent = {
|
|
@@ -53,16 +116,16 @@ const componentExampleContent = {
|
|
|
53
116
|
content: {
|
|
54
117
|
myTranslatedContent: t({
|
|
55
118
|
en: "Hello World",
|
|
56
|
-
fr: "Bonjour le monde",
|
|
57
119
|
es: "Hola Mundo",
|
|
120
|
+
fr: "Bonjour le monde",
|
|
58
121
|
}),
|
|
59
122
|
},
|
|
60
|
-
} satisfies Dictionary;
|
|
123
|
+
} satisfies Dictionary;
|
|
61
124
|
|
|
62
125
|
export default componentExampleContent;
|
|
63
126
|
```
|
|
64
127
|
|
|
65
|
-
```jsx fileName="./
|
|
128
|
+
```jsx fileName="./components/MyComponent/index.mjx" codeFormat="esm"
|
|
66
129
|
import { t } from "intlayer";
|
|
67
130
|
|
|
68
131
|
/** @type {import('intlayer').Dictionary} */
|
|
@@ -71,8 +134,8 @@ const componentExampleContent = {
|
|
|
71
134
|
content: {
|
|
72
135
|
myTranslatedContent: t({
|
|
73
136
|
en: "Hello World",
|
|
74
|
-
fr: "Bonjour le monde",
|
|
75
137
|
es: "Hola Mundo",
|
|
138
|
+
fr: "Bonjour le monde",
|
|
76
139
|
}),
|
|
77
140
|
},
|
|
78
141
|
};
|
|
@@ -80,7 +143,7 @@ const componentExampleContent = {
|
|
|
80
143
|
export default componentExampleContent;
|
|
81
144
|
```
|
|
82
145
|
|
|
83
|
-
```jsx fileName="./
|
|
146
|
+
```jsx fileName="./components/MyComponent/index.csx" codeFormat="commonjs"
|
|
84
147
|
const { t } = require("intlayer");
|
|
85
148
|
|
|
86
149
|
/** @type {import('intlayer').Dictionary} */
|
|
@@ -89,8 +152,8 @@ const componentExampleContent = {
|
|
|
89
152
|
content: {
|
|
90
153
|
myTranslatedContent: t({
|
|
91
154
|
en: "Hello World",
|
|
92
|
-
fr: "Bonjour le monde",
|
|
93
155
|
es: "Hola Mundo",
|
|
156
|
+
fr: "Bonjour le monde",
|
|
94
157
|
}),
|
|
95
158
|
},
|
|
96
159
|
};
|
|
@@ -98,7 +161,7 @@ const componentExampleContent = {
|
|
|
98
161
|
module.exports = componentExampleContent;
|
|
99
162
|
```
|
|
100
163
|
|
|
101
|
-
```tsx fileName="./
|
|
164
|
+
```tsx fileName="./components/MyComponent/index.tsx" codeFormat="typescript"
|
|
102
165
|
import { useIntlayer } from "react-intlayer";
|
|
103
166
|
|
|
104
167
|
export const ComponentExample = () => {
|
|
@@ -108,7 +171,7 @@ export const ComponentExample = () => {
|
|
|
108
171
|
};
|
|
109
172
|
```
|
|
110
173
|
|
|
111
|
-
```jsx fileName="./
|
|
174
|
+
```jsx fileName="./components/MyComponent/index.mjx" codeFormat="esm"
|
|
112
175
|
import { useIntlayer } from "react-intlayer";
|
|
113
176
|
|
|
114
177
|
const ComponentExample = () => {
|
|
@@ -118,7 +181,7 @@ const ComponentExample = () => {
|
|
|
118
181
|
};
|
|
119
182
|
```
|
|
120
183
|
|
|
121
|
-
```jsx fileName="./
|
|
184
|
+
```jsx fileName="./components/MyComponent/index.csx" codeFormat="commonjs"
|
|
122
185
|
const { useIntlayer } = require("react-intlayer");
|
|
123
186
|
|
|
124
187
|
const ComponentExample = () => {
|
|
@@ -128,27 +191,80 @@ const ComponentExample = () => {
|
|
|
128
191
|
};
|
|
129
192
|
```
|
|
130
193
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
194
|
+
यह तरीका आपको अनुमति देता है:
|
|
195
|
+
|
|
196
|
+
1. **डेवलपमेंट की गति बढ़ाएं**
|
|
197
|
+
- `.content.{{ts|mjs|cjs|json}}` फ़ाइलें VSCode एक्सटेंशन का उपयोग करके बनाई जा सकती हैं
|
|
198
|
+
- आपके IDE में ऑटो-कम्प्लीशन AI टूल्स (जैसे GitHub Copilot) आपकी सामग्री घोषित करने में मदद कर सकते हैं, जिससे कॉपी/पेस्ट कम हो जाता है
|
|
199
|
+
|
|
200
|
+
2. **अपने कोडबेस की जटिलता को कम करें**
|
|
201
|
+
|
|
202
|
+
3. **अपने कोडबेस की रखरखाव क्षमता बढ़ाएं**
|
|
203
|
+
|
|
204
|
+
4. **अपने कॉम्पोनेंट्स और उनके संबंधित कंटेंट को आसानी से डुप्लिकेट करें (उदाहरण: लॉगिन/रजिस्टर कॉम्पोनेंट्स, आदि)**
|
|
205
|
+
- अन्य कॉम्पोनेंट्स की सामग्री को प्रभावित करने के जोखिम को सीमित करके
|
|
206
|
+
- अपनी सामग्री को एक एप्लिकेशन से दूसरे में बिना बाहरी निर्भरताओं के कॉपी/पेस्ट करके
|
|
207
|
+
|
|
208
|
+
5. **अपने कोडबेस को अप्रयुक्त कॉम्पोनेंट्स के लिए अप्रयुक्त कुंजियों/मूल्यों से प्रदूषित होने से बचाएं**
|
|
209
|
+
- यदि आप किसी कॉम्पोनेंट का उपयोग नहीं करते हैं, तो आपको उसकी सामग्री आयात करने की आवश्यकता नहीं है
|
|
210
|
+
- यदि आप कोई कॉम्पोनेंट हटाते हैं, तो संबंधित सामग्री को हटाना आपको अधिक आसानी से याद रहेगा क्योंकि यह उसी फ़ोल्डर में मौजूद होगी
|
|
211
|
+
|
|
212
|
+
6. **अपने बहुभाषी कंटेंट को घोषित करने के लिए AI एजेंट्स की तर्क लागत कम करें**
|
|
213
|
+
- AI एजेंट को यह जानने के लिए आपके पूरे कोडबेस को स्कैन करने की आवश्यकता नहीं होगी कि आपकी सामग्री कहां लागू करनी है
|
|
214
|
+
- अनुवाद आसानी से आपके IDE में ऑटो-कम्प्लीशन AI टूल्स (जैसे GitHub Copilot) द्वारा किए जा सकते हैं
|
|
215
|
+
|
|
216
|
+
7. **लोडिंग प्रदर्शन को अनुकूलित करें**
|
|
217
|
+
- यदि कोई कॉम्पोनेंट लेज़ी-लोड होता है, तो उसकी संबंधित सामग्री भी उसी समय लोड होगी
|
|
218
|
+
|
|
219
|
+
## Intlayer की अतिरिक्त विशेषताएँ
|
|
220
|
+
|
|
221
|
+
| फीचर | विवरण |
|
|
222
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
223
|
+
| ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
224
|
+
|  | **क्रॉस-फ्रेमवर्क समर्थन**<br><br>Intlayer सभी प्रमुख फ्रेमवर्क और लाइब्रेरी के साथ संगत है, जिनमें Next.js, React, Vite, Vue.js, Nuxt, Preact, Express, और अन्य शामिल हैं। |
|
|
225
|
+
|  | **जावास्क्रिप्ट-संचालित सामग्री प्रबंधन**<br><br>अपने कंटेंट को प्रभावी ढंग से परिभाषित और प्रबंधित करने के लिए जावास्क्रिप्ट की लचीलापन का उपयोग करें। <br><br> - [सामग्री घोषणा](https://intlayer.org/doc/concept/content) |
|
|
226
|
+
|  | **प्रति-स्थान सामग्री घोषणा फ़ाइल**<br><br>स्वचालित जनरेशन से पहले अपनी सामग्री को एक बार घोषित करके अपने विकास को तेज़ करें।<br><br> - [प्रति-स्थान सामग्री घोषणा फ़ाइल](https://intlayer.org/doc/concept/per-locale-file) |
|
|
227
|
+
|  | **टाइप-सेफ वातावरण**<br><br>TypeScript का उपयोग करें ताकि आपकी सामग्री परिभाषाएँ और कोड त्रुटि-मुक्त हों, साथ ही IDE ऑटोकंप्लीशन का लाभ भी प्राप्त करें।<br><br> - [TypeScript कॉन्फ़िगरेशन](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
228
|
+
|  | **सरल सेटअप**<br><br>न्यूनतम कॉन्फ़िगरेशन के साथ जल्दी से शुरू करें। अंतरराष्ट्रीयकरण, रूटिंग, AI, बिल्ड, और सामग्री प्रबंधन के लिए सेटिंग्स को आसानी से समायोजित करें। <br><br> - [Next.js एकीकरण का अन्वेषण करें](https://intlayer.org/doc/environment/nextjs) |
|
|
229
|
+
|  | **सरलीकृत सामग्री पुनःप्राप्ति**<br><br>प्रत्येक सामग्री के लिए अपनी `t` फ़ंक्शन को कॉल करने की आवश्यकता नहीं है। एक ही हुक का उपयोग करके अपनी सभी सामग्री सीधे पुनःप्राप्त करें।<br><br> - [React एकीकरण](https://intlayer.org/doc/environment/create-react-app) |
|
|
230
|
+
|  | **सुसंगत सर्वर कंपोनेंट कार्यान्वयन**<br><br>Next.js सर्वर कंपोनेंट्स के लिए पूरी तरह उपयुक्त, क्लाइंट और सर्वर दोनों कंपोनेंट्स के लिए एक ही कार्यान्वयन का उपयोग करें, प्रत्येक सर्वर कंपोनेंट में अपनी `t` फ़ंक्शन पास करने की आवश्यकता नहीं है। <br><br> - [सर्वर कंपोनेंट्स](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
231
|
+
|  | **संगठित कोडबेस**<br><br>अपने कोडबेस को अधिक संगठित रखें: 1 कंपोनेंट = उसी फ़ोल्डर में 1 शब्दकोश। संबंधित कंपोनेंट के पास अनुवाद रखकर रखरखाव और स्पष्टता बढ़ती है। <br><br> - [Intlayer कैसे काम करता है](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
232
|
+
|  | **सशक्त रूटिंग**<br><br>ऐप रूटिंग का पूर्ण समर्थन, जटिल एप्लिकेशन संरचनाओं के लिए सहजता से अनुकूलित, Next.js, React, Vite, Vue.js आदि के लिए।<br><br> - [Next.js एकीकरण का अन्वेषण करें](https://intlayer.org/doc/environment/nextjs) |
|
|
233
|
+
|  | **मार्कडाउन समर्थन**<br><br>बहुभाषी सामग्री जैसे गोपनीयता नीतियाँ, दस्तावेज़ आदि के लिए लोकल फाइलें और रिमोट मार्कडाउन आयात करें और व्याख्या करें। मार्कडाउन मेटाडेटा को व्याख्यायित करें और इसे अपने कोड में सुलभ बनाएं।<br><br> - [सामग्री फाइलें](https://intlayer.org/doc/concept/content/file) |
|
|
234
|
+
|  | **मुफ्त विज़ुअल एडिटर और CMS**<br><br>सामग्री लेखकों के लिए एक मुफ्त विज़ुअल एडिटर और CMS उपलब्ध है, जिससे लोकलाइज़ेशन प्लेटफ़ॉर्म की आवश्यकता समाप्त हो जाती है। Git का उपयोग करके अपनी सामग्री को सिंक्रनाइज़ रखें, या CMS के साथ इसे पूरी तरह या आंशिक रूप से बाहरी करें।<br><br> - [Intlayer एडिटर](https://intlayer.org/doc/concept/editor) <br> - [Intlayer CMS](https://intlayer.org/doc/concept/cms) |
|
|
235
|
+
|  | **ट्री-शेकेबल कंटेंट**<br><br>ट्री-शेकेबल कंटेंट, जो अंतिम बंडल के आकार को कम करता है। प्रत्येक कंपोनेंट के लिए कंटेंट लोड करता है, आपके बंडल से किसी भी अप्रयुक्त कंटेंट को बाहर रखता है। ऐप लोडिंग दक्षता बढ़ाने के लिए लेज़ी लोडिंग का समर्थन करता है। <br><br> - [ऐप बिल्ड ऑप्टिमाइज़ेशन](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
236
|
+
|  | **स्थैतिक रेंडरिंग**<br><br>स्थैतिक रेंडरिंग को अवरुद्ध नहीं करता। <br><br> - [Next.js एकीकरण](https://intlayer.org/doc/environment/nextjs) |
|
|
237
|
+
|  | **एआई-संचालित अनुवाद**<br><br>अपने वेबसाइट को केवल एक क्लिक में 231 भाषाओं में बदलें, Intlayer के उन्नत एआई-संचालित अनुवाद उपकरणों का उपयोग करके, अपने स्वयं के एआई प्रदाता/API कुंजी के साथ। <br><br> - [CI/CD एकीकरण](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI](https://intlayer.org/doc/concept/cli) <br> - [स्वचालित भराई](https://intlayer.org/doc/concept/auto-fill) |
|
|
238
|
+
|  | **MCP सर्वर एकीकरण**<br><br>IDE स्वचालन के लिए एक MCP (मॉडल संदर्भ प्रोटोकॉल) सर्वर प्रदान करता है, जो आपके विकास पर्यावरण के भीतर सीधे सहज सामग्री प्रबंधन और i18n वर्कफ़्लोज़ सक्षम करता है। <br><br> - [MCP सर्वर](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/mcp_server.md) |
|
|
239
|
+
|  | **VSCode एक्सटेंशन**<br><br>Intlayer एक VSCode एक्सटेंशन प्रदान करता है जो आपकी सामग्री और अनुवादों का प्रबंधन करने में मदद करता है, आपकी शब्दकोश बनाने, आपकी सामग्री का अनुवाद करने, और भी बहुत कुछ। <br><br> - [VSCode एक्सटेंशन](https://intlayer.org/doc/vs-code-extension) |
|
|
240
|
+
|  | **इंटरऑपरेबिलिटी**<br><br>react-i18next, next-i18next, next-intl, और react-intl के साथ इंटरऑपरेबिलिटी की अनुमति देता है। <br><br> - [Intlayer और react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer और next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer और next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
241
|
+
|
|
242
|
+
## Intlayer की अन्य समाधानों के साथ तुलना
|
|
243
|
+
|
|
244
|
+
| विशेषता | Intlayer | React-i18next / i18next | React-Intl (FormatJS) | LinguiJS | next-intl | next-i18next | vue-i18n |
|
|
245
|
+
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
246
|
+
| **घटक के पास अनुवाद** | हाँ, प्रत्येक घटक के साथ सामग्री सह-स्थित | नहीं | नहीं | नहीं | नहीं | नहीं | हाँ - `सिंगल फाइल कंपोनेंट्स` (SFCs) का उपयोग करते हुए |
|
|
247
|
+
| **टाइपस्क्रिप्ट एकीकरण** | उन्नत, स्वचालित रूप से उत्पन्न सख्त प्रकार | बुनियादी; सुरक्षा के लिए अतिरिक्त कॉन्फ़िगरेशन | अच्छा, लेकिन कम सख्त | टाइपिंग्स, कॉन्फ़िगरेशन की आवश्यकता | अच्छा | बुनियादी | अच्छा (प्रकार उपलब्ध; कुंजी-सुरक्षा सेटअप की आवश्यकता) |
|
|
248
|
+
| **अनुवाद की कमी का पता लगाना** | बिल्ड-टाइम त्रुटि/चेतावनी | अधिकांशतः रनटाइम पर फॉलबैक स्ट्रिंग्स | फॉलबैक स्ट्रिंग्स | अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता | रनटाइम फॉलबैक | रनटाइम फॉलबैक | रनटाइम फॉलबैक/चेतावनियाँ (कॉन्फ़िगर करने योग्य) |
|
|
249
|
+
| **रिच कंटेंट (JSX/मार्कडाउन/कंपोनेंट्स)** | सीधे समर्थन, यहां तक कि React नोड्स के लिए भी | सीमित / केवल इंटरपोलेशन | ICU सिंटैक्स, असली JSX नहीं | सीमित | रिच नोड्स के लिए डिज़ाइन नहीं किया गया | सीमित | सीमित (कंपोनेंट्स `<i18n-t>` के माध्यम से, मार्कडाउन प्लगइन्स के माध्यम से) |
|
|
250
|
+
| **एआई-संचालित अनुवाद** | हाँ, कई एआई प्रदाताओं का समर्थन करता है। अपने स्वयं के एपीआई कुंजी का उपयोग करके उपयोग किया जा सकता है। आपके आवेदन और सामग्री के संदर्भ को ध्यान में रखता है | नहीं | नहीं | नहीं | नहीं | नहीं | नहीं |
|
|
251
|
+
| **विज़ुअल एडिटर** | हाँ, स्थानीय विज़ुअल एडिटर + वैकल्पिक CMS; कोडबेस सामग्री को बाहरी रूप से प्रबंधित कर सकता है; एम्बेड करने योग्य | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध | नहीं / बाहरी स्थानीयकरण प्लेटफार्मों के माध्यम से उपलब्ध |
|
|
252
|
+
| **स्थानीयकृत रूटिंग** | अंतर्निर्मित, मिडलवेयर समर्थन | प्लगइन्स या मैनुअल कॉन्फ़िगरेशन | अंतर्निर्मित नहीं | प्लगइन/मैनुअल कॉन्फ़िगरेशन | अंतर्निर्मित | अंतर्निर्मित | मैनुअल विया Vue राउटर (Nuxt i18n इसे संभालता है) |
|
|
253
|
+
| **डायनामिक रूट जनरेशन** | हाँ | प्लगइन/इकोसिस्टम या मैनुअल सेटअप | प्रदान नहीं किया गया | प्लगइन/मैनुअल | हाँ | हाँ | प्रदान नहीं किया गया (Nuxt i18n प्रदान करता है) |
|
|
254
|
+
| **बहुवचन रूप** | गणना-आधारित पैटर्न; दस्तावेज़ देखें | कॉन्फ़िगर करने योग्य (i18next-icu जैसे प्लगइन्स) | उन्नत (ICU) | उन्नत (ICU/messageformat) | अच्छा | अच्छा | उन्नत (इन-बिल्ट बहुवचन नियम) |
|
|
255
|
+
| **फ़ॉर्मेटिंग (तिथियाँ, संख्याएँ, मुद्राएँ)** | अनुकूलित फॉर्मेटर्स (अंदर से Intl) | प्लगइन्स या कस्टम Intl उपयोग के माध्यम से | उन्नत ICU फॉर्मेटर्स | ICU/CLI सहायक | अच्छा (Intl सहायक) | अच्छा (Intl सहायक) | अंतर्निर्मित तिथि/संख्या फॉर्मेटर्स (Intl) |
|
|
256
|
+
| **सामग्री प्रारूप** | .tsx, .ts, .js, .json, .md, .txt | .json | .json, .js | .po, .json | .json, .js, .ts | .json | .json, .js |
|
|
257
|
+
| **आईसीयू समर्थन** | प्रगति पर (नेटिव ICU) | प्लगइन के माध्यम से (i18next-icu) | हाँ | हाँ | हाँ | प्लगइन के माध्यम से (i18next-icu) | कस्टम फॉर्मेटर/कंपाइलर के माध्यम से |
|
|
258
|
+
| **एसईओ सहायक (hreflang, साइटमैप)** | बिल्ट-इन टूल्स: साइटमैप, **robots.txt**, मेटाडेटा के लिए सहायक | कम्युनिटी प्लगइन्स/मैनुअल | कोर नहीं | कोर नहीं | अच्छा | अच्छा | कोर नहीं (Nuxt i18n सहायक प्रदान करता है) |
|
|
259
|
+
| **इकोसिस्टम / समुदाय** | छोटा लेकिन तेजी से बढ़ रहा है और प्रतिक्रियाशील | सबसे बड़ा और सबसे परिपक्व | बड़ा, उद्यम स्तर | बढ़ रहा है, छोटा | मध्यम आकार, Next.js-केंद्रित | मध्यम आकार, Next.js-केंद्रित | Vue इकोसिस्टम में बड़ा |
|
|
260
|
+
| **सर्वर-साइड रेंडरिंग और सर्वर कंपोनेंट्स** | हाँ, SSR / React सर्वर कंपोनेंट्स के लिए सुव्यवस्थित | समर्थित, कुछ कॉन्फ़िगरेशन आवश्यक | Next.js में समर्थित | समर्थित | पूर्ण समर्थन | पूर्ण समर्थन | Nuxt/Vue SSR के माध्यम से SSR (कोई RSC नहीं) |
|
|
261
|
+
| **ट्री-शेकिंग (केवल उपयोग की गई सामग्री लोड करें)** | हाँ, प्रति-कंपोनेंट बिल्ड समय पर Babel/SWC प्लगइन्स के माध्यम से | आमतौर पर सभी लोड करता है (नेमस्पेस/कोड-स्प्लिटिंग के साथ सुधार किया जा सकता है) | आमतौर पर सभी लोड करता है | डिफ़ॉल्ट नहीं | आंशिक | आंशिक | आंशिक (कोड-स्प्लिटिंग/मैनुअल सेटअप के साथ) |
|
|
262
|
+
| **लेट लोडिंग** | हाँ, प्रति-स्थान/प्रति-कंपोनेंट | हाँ (जैसे, बैकएंड/नेमस्पेस मांग पर) | हाँ (स्थान बंडलों को विभाजित करना) | हाँ (डायनामिक कैटलॉग आयात) | हाँ (प्रति-रूट/प्रति-स्थान) | हाँ (प्रति-रूट/प्रति-स्थान) | हाँ (असिंक्रोनस स्थान संदेश) |
|
|
263
|
+
| **बड़े प्रोजेक्ट्स का प्रबंधन** | मॉड्यूलर को प्रोत्साहित करता है, डिज़ाइन-सिस्टम के लिए उपयुक्त | अच्छी फ़ाइल अनुशासन की आवश्यकता होती है | केंद्रीय कैटलॉग बड़े हो सकते हैं | जटिल हो सकता है | सेटअप के साथ मॉड्यूलर | सेटअप के साथ मॉड्यूलर | Vue Router/Nuxt i18n सेटअप के साथ मॉड्यूलर |
|
|
151
264
|
|
|
152
265
|
## दस्तावेज़ इतिहास
|
|
153
266
|
|
|
154
|
-
|
|
267
|
+
| संस्करण | तिथि | परिवर्तन |
|
|
268
|
+
| ------- | ---------- | --------------------------- |
|
|
269
|
+
| 5.8.0 | 2025-08-19 | तुलनात्मक तालिका अपडेट करें |
|
|
270
|
+
| 5.5.10 | 2025-06-29 | इतिहास प्रारंभ करें |
|
package/docs/hi/introduction.md
CHANGED
|
@@ -44,8 +44,8 @@ const componentContent = {
|
|
|
44
44
|
content: {
|
|
45
45
|
myTranslatedContent: t({
|
|
46
46
|
en: "Hello World",
|
|
47
|
-
fr: "Bonjour le monde",
|
|
48
47
|
es: "Hola Mundo",
|
|
48
|
+
fr: "Bonjour le monde",
|
|
49
49
|
}),
|
|
50
50
|
},
|
|
51
51
|
} satisfies Dictionary;
|
|
@@ -63,8 +63,8 @@ const componentContent = {
|
|
|
63
63
|
content: {
|
|
64
64
|
myTranslatedContent: t({
|
|
65
65
|
en: "Hello World",
|
|
66
|
-
fr: "Bonjour le monde",
|
|
67
66
|
es: "Hola Mundo",
|
|
67
|
+
fr: "Bonjour le monde",
|
|
68
68
|
}),
|
|
69
69
|
},
|
|
70
70
|
};
|
|
@@ -82,8 +82,8 @@ const componentContent = {
|
|
|
82
82
|
content: {
|
|
83
83
|
myTranslatedContent: t({
|
|
84
84
|
en: "Hello World",
|
|
85
|
-
fr: "Bonjour le monde",
|
|
86
85
|
es: "Hola Mundo",
|
|
86
|
+
fr: "Bonjour le monde",
|
|
87
87
|
}),
|
|
88
88
|
},
|
|
89
89
|
};
|
|
@@ -149,8 +149,8 @@ const clientComponentContent = {
|
|
|
149
149
|
content: {
|
|
150
150
|
myTranslatedContent: t({
|
|
151
151
|
en: "Hello World",
|
|
152
|
-
fr: "Bonjour le monde",
|
|
153
152
|
es: "Hola Mundo",
|
|
153
|
+
fr: "Bonjour le monde",
|
|
154
154
|
}),
|
|
155
155
|
numberOfCar: enu({
|
|
156
156
|
"<-1": "Less than minus one car",
|
|
@@ -174,8 +174,8 @@ const clientComponentContent = {
|
|
|
174
174
|
content: {
|
|
175
175
|
myTranslatedContent: t({
|
|
176
176
|
en: "Hello World",
|
|
177
|
-
fr: "Bonjour le monde",
|
|
178
177
|
es: "Hola Mundo",
|
|
178
|
+
fr: "Bonjour le monde",
|
|
179
179
|
}),
|
|
180
180
|
numberOfCar: enu({
|
|
181
181
|
"<-1": "माइनस एक कार से कम",
|
|
@@ -200,8 +200,8 @@ const clientComponentContent = {
|
|
|
200
200
|
content: {
|
|
201
201
|
myTranslatedContent: t({
|
|
202
202
|
en: "Hello World",
|
|
203
|
-
fr: "Bonjour le monde",
|
|
204
203
|
es: "Hola Mundo",
|
|
204
|
+
fr: "Bonjour le monde",
|
|
205
205
|
}),
|
|
206
206
|
numberOfCar: enu({
|
|
207
207
|
"<-1": "माइनस एक कार से कम",
|
|
@@ -110,8 +110,8 @@ const clientComponentContent = {
|
|
|
110
110
|
content: {
|
|
111
111
|
myTranslatedContent: t({
|
|
112
112
|
en: "Hello World",
|
|
113
|
-
fr: "Bonjour le monde",
|
|
114
113
|
es: "Hola Mundo",
|
|
114
|
+
fr: "Bonjour le monde",
|
|
115
115
|
}),
|
|
116
116
|
numberOfCar: enu({
|
|
117
117
|
"<-1": "Less than minus one car",
|
|
@@ -136,8 +136,8 @@ const clientComponentContent = {
|
|
|
136
136
|
content: {
|
|
137
137
|
myTranslatedContent: t({
|
|
138
138
|
en: "Hello World",
|
|
139
|
-
fr: "Bonjour le monde",
|
|
140
139
|
es: "Hola Mundo",
|
|
140
|
+
fr: "Bonjour le monde",
|
|
141
141
|
}),
|
|
142
142
|
numberOfCar: enu({
|
|
143
143
|
"<-1": "माइनस एक से कम कार",
|
|
@@ -162,8 +162,8 @@ const clientComponentContent = {
|
|
|
162
162
|
content: {
|
|
163
163
|
myTranslatedContent: t({
|
|
164
164
|
en: "Hello World",
|
|
165
|
-
fr: "Bonjour le monde",
|
|
166
165
|
es: "Hola Mundo",
|
|
166
|
+
fr: "Bonjour le monde",
|
|
167
167
|
}),
|
|
168
168
|
numberOfCar: enu({
|
|
169
169
|
"<-1": "माइनस एक से कम कार",
|
|
@@ -110,8 +110,8 @@ const component1Content = {
|
|
|
110
110
|
content: {
|
|
111
111
|
myTranslatedContent: t({
|
|
112
112
|
en: "Hello World",
|
|
113
|
-
fr: "Bonjour le monde",
|
|
114
113
|
es: "Hola Mundo",
|
|
114
|
+
fr: "Bonjour le monde",
|
|
115
115
|
}),
|
|
116
116
|
numberOfCar: enu({
|
|
117
117
|
"<-1": "माइनस एक कार से कम",
|
|
@@ -136,8 +136,8 @@ const component1Content = {
|
|
|
136
136
|
content: {
|
|
137
137
|
myTranslatedContent: t({
|
|
138
138
|
en: "Hello World",
|
|
139
|
-
fr: "Bonjour le monde",
|
|
140
139
|
es: "Hola Mundo",
|
|
140
|
+
fr: "Bonjour le monde",
|
|
141
141
|
}),
|
|
142
142
|
numberOfCar: enu({
|
|
143
143
|
"<-1": "माइनस एक कार से कम",
|
|
@@ -162,8 +162,8 @@ const component1Content = {
|
|
|
162
162
|
content: {
|
|
163
163
|
myTranslatedContent: t({
|
|
164
164
|
en: "Hello World",
|
|
165
|
-
fr: "Bonjour le monde",
|
|
166
165
|
es: "Hola Mundo",
|
|
166
|
+
fr: "Bonjour le monde",
|
|
167
167
|
}),
|
|
168
168
|
numberOfCar: enu({
|
|
169
169
|
"<-1": "माइनस एक कार से कम",
|