@intlayer/docs 8.0.0 → 8.0.1-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/dist/cjs/generated/docs.entry.cjs +160 -0
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +160 -0
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +8 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_with_adonisjs.md +394 -0
- package/docs/ar/intlayer_with_hono.md +223 -0
- package/docs/ar/intlayer_with_vite+preact.md +317 -675
- package/docs/ar/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ar/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ar/packages/adonis-intlayer/t.md +149 -0
- package/docs/ar/packages/hono-intlayer/exports.md +59 -0
- package/docs/ar/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ar/packages/hono-intlayer/t.md +268 -0
- package/docs/de/intlayer_with_adonisjs.md +392 -0
- package/docs/de/intlayer_with_hono.md +418 -0
- package/docs/de/intlayer_with_vite+preact.md +272 -632
- package/docs/de/packages/adonis-intlayer/exports.md +50 -0
- package/docs/de/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/de/packages/adonis-intlayer/t.md +149 -0
- package/docs/de/packages/hono-intlayer/exports.md +59 -0
- package/docs/de/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/de/packages/hono-intlayer/t.md +316 -0
- package/docs/en/index.md +8 -0
- package/docs/en/intlayer_with_adonisjs.md +388 -0
- package/docs/en/intlayer_with_hono.md +418 -0
- package/docs/en/intlayer_with_vite+preact.md +171 -556
- package/docs/en/introduction.md +1 -0
- package/docs/en/packages/adonis-intlayer/exports.md +50 -0
- package/docs/en/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/en/packages/adonis-intlayer/t.md +149 -0
- package/docs/en/packages/hono-intlayer/exports.md +59 -0
- package/docs/en/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/en/packages/hono-intlayer/t.md +316 -0
- package/docs/en-GB/intlayer_with_adonisjs.md +394 -0
- package/docs/en-GB/intlayer_with_hono.md +418 -0
- package/docs/en-GB/intlayer_with_vite+preact.md +236 -583
- package/docs/en-GB/packages/adonis-intlayer/exports.md +50 -0
- package/docs/en-GB/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/en-GB/packages/adonis-intlayer/t.md +149 -0
- package/docs/en-GB/packages/hono-intlayer/exports.md +59 -0
- package/docs/en-GB/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/en-GB/packages/hono-intlayer/t.md +316 -0
- package/docs/es/intlayer_with_adonisjs.md +388 -0
- package/docs/es/intlayer_with_hono.md +418 -0
- package/docs/es/intlayer_with_vite+preact.md +286 -650
- package/docs/es/packages/adonis-intlayer/exports.md +50 -0
- package/docs/es/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/es/packages/adonis-intlayer/t.md +149 -0
- package/docs/es/packages/hono-intlayer/exports.md +59 -0
- package/docs/es/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/es/packages/hono-intlayer/t.md +316 -0
- package/docs/fr/intlayer_with_adonisjs.md +388 -0
- package/docs/fr/intlayer_with_hono.md +418 -0
- package/docs/fr/intlayer_with_vite+preact.md +274 -614
- package/docs/fr/packages/adonis-intlayer/exports.md +50 -0
- package/docs/fr/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/fr/packages/adonis-intlayer/t.md +149 -0
- package/docs/fr/packages/hono-intlayer/exports.md +59 -0
- package/docs/fr/packages/hono-intlayer/intlayer.md +59 -0
- package/docs/fr/packages/hono-intlayer/t.md +316 -0
- package/docs/hi/intlayer_with_adonisjs.md +394 -0
- package/docs/hi/intlayer_with_hono.md +227 -0
- package/docs/hi/intlayer_with_vite+preact.md +304 -680
- package/docs/hi/packages/adonis-intlayer/exports.md +50 -0
- package/docs/hi/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/hi/packages/adonis-intlayer/t.md +149 -0
- package/docs/hi/packages/hono-intlayer/exports.md +59 -0
- package/docs/hi/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/hi/packages/hono-intlayer/t.md +268 -0
- package/docs/id/intlayer_with_adonisjs.md +394 -0
- package/docs/id/intlayer_with_hono.md +227 -0
- package/docs/id/intlayer_with_vite+preact.md +297 -697
- package/docs/id/packages/adonis-intlayer/exports.md +50 -0
- package/docs/id/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/id/packages/adonis-intlayer/t.md +149 -0
- package/docs/id/packages/hono-intlayer/exports.md +59 -0
- package/docs/id/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/id/packages/hono-intlayer/t.md +268 -0
- package/docs/it/intlayer_with_adonisjs.md +394 -0
- package/docs/it/intlayer_with_hono.md +227 -0
- package/docs/it/intlayer_with_vite+preact.md +290 -659
- package/docs/it/packages/adonis-intlayer/exports.md +50 -0
- package/docs/it/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/it/packages/adonis-intlayer/t.md +149 -0
- package/docs/it/packages/hono-intlayer/exports.md +59 -0
- package/docs/it/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/it/packages/hono-intlayer/t.md +268 -0
- package/docs/ja/intlayer_with_adonisjs.md +394 -0
- package/docs/ja/intlayer_with_hono.md +227 -0
- package/docs/ja/intlayer_with_vite+preact.md +307 -662
- package/docs/ja/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ja/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ja/packages/adonis-intlayer/t.md +149 -0
- package/docs/ja/packages/hono-intlayer/exports.md +59 -0
- package/docs/ja/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ja/packages/hono-intlayer/t.md +268 -0
- package/docs/ko/intlayer_with_adonisjs.md +394 -0
- package/docs/ko/intlayer_with_hono.md +227 -0
- package/docs/ko/intlayer_with_vite+preact.md +303 -703
- package/docs/ko/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ko/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ko/packages/adonis-intlayer/t.md +149 -0
- package/docs/ko/packages/hono-intlayer/exports.md +59 -0
- package/docs/ko/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ko/packages/hono-intlayer/t.md +268 -0
- package/docs/pl/intlayer_with_adonisjs.md +394 -0
- package/docs/pl/intlayer_with_hono.md +227 -0
- package/docs/pl/intlayer_with_vite+preact.md +289 -690
- package/docs/pl/packages/adonis-intlayer/exports.md +50 -0
- package/docs/pl/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/pl/packages/adonis-intlayer/t.md +149 -0
- package/docs/pl/packages/hono-intlayer/exports.md +59 -0
- package/docs/pl/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/pl/packages/hono-intlayer/t.md +268 -0
- package/docs/pt/intlayer_with_adonisjs.md +394 -0
- package/docs/pt/intlayer_with_hono.md +227 -0
- package/docs/pt/intlayer_with_vite+preact.md +275 -637
- package/docs/pt/packages/adonis-intlayer/exports.md +50 -0
- package/docs/pt/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/pt/packages/adonis-intlayer/t.md +149 -0
- package/docs/pt/packages/hono-intlayer/exports.md +59 -0
- package/docs/pt/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/pt/packages/hono-intlayer/t.md +268 -0
- package/docs/ru/intlayer_with_adonisjs.md +393 -0
- package/docs/ru/intlayer_with_hono.md +223 -0
- package/docs/ru/intlayer_with_vite+preact.md +319 -683
- package/docs/ru/packages/adonis-intlayer/exports.md +50 -0
- package/docs/ru/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/ru/packages/adonis-intlayer/t.md +149 -0
- package/docs/ru/packages/hono-intlayer/exports.md +59 -0
- package/docs/ru/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/ru/packages/hono-intlayer/t.md +268 -0
- package/docs/tr/intlayer_with_adonisjs.md +394 -0
- package/docs/tr/intlayer_with_hono.md +227 -0
- package/docs/tr/intlayer_with_vite+preact.md +332 -665
- package/docs/tr/packages/adonis-intlayer/exports.md +50 -0
- package/docs/tr/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/tr/packages/adonis-intlayer/t.md +149 -0
- package/docs/tr/packages/hono-intlayer/exports.md +59 -0
- package/docs/tr/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/tr/packages/hono-intlayer/t.md +268 -0
- package/docs/uk/intlayer_with_adonisjs.md +394 -0
- package/docs/uk/intlayer_with_hono.md +227 -0
- package/docs/uk/intlayer_with_vite+preact.md +228 -626
- package/docs/uk/packages/adonis-intlayer/exports.md +50 -0
- package/docs/uk/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/uk/packages/adonis-intlayer/t.md +149 -0
- package/docs/uk/packages/hono-intlayer/exports.md +59 -0
- package/docs/uk/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/uk/packages/hono-intlayer/t.md +268 -0
- package/docs/vi/intlayer_with_adonisjs.md +394 -0
- package/docs/vi/intlayer_with_hono.md +227 -0
- package/docs/vi/intlayer_with_vite+preact.md +294 -679
- package/docs/vi/packages/adonis-intlayer/exports.md +50 -0
- package/docs/vi/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/vi/packages/adonis-intlayer/t.md +149 -0
- package/docs/vi/packages/hono-intlayer/exports.md +59 -0
- package/docs/vi/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/vi/packages/hono-intlayer/t.md +268 -0
- package/docs/zh/intlayer_with_adonisjs.md +393 -0
- package/docs/zh/intlayer_with_hono.md +418 -0
- package/docs/zh/intlayer_with_vite+preact.md +338 -743
- package/docs/zh/packages/adonis-intlayer/exports.md +50 -0
- package/docs/zh/packages/adonis-intlayer/intlayer.md +54 -0
- package/docs/zh/packages/adonis-intlayer/t.md +149 -0
- package/docs/zh/packages/hono-intlayer/exports.md +59 -0
- package/docs/zh/packages/hono-intlayer/intlayer.md +60 -0
- package/docs/zh/packages/hono-intlayer/t.md +294 -0
- package/package.json +6 -6
- package/src/generated/docs.entry.ts +160 -0
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-12-30
|
|
4
|
+
title: AdonisJS i18n - अपने AdonisJS ऐप का अनुवाद कैसे करें – गाइड 2026
|
|
5
|
+
description: जानें कि अपने AdonisJS बैकएंड को बहुभाषी कैसे बनाया जाए। अंतर्राष्ट्रीयकरण (i18n) और अनुवाद के लिए दस्तावेज़ों का पालन करें।
|
|
6
|
+
keywords:
|
|
7
|
+
- अंतर्राष्ट्रीयकरण
|
|
8
|
+
- दस्तावेज़
|
|
9
|
+
- Intlayer
|
|
10
|
+
- AdonisJS
|
|
11
|
+
- JavaScript
|
|
12
|
+
- बैकएंड
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- environment
|
|
16
|
+
- adonisjs
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-adonisjs-template
|
|
18
|
+
history:
|
|
19
|
+
- version: 8.0.0
|
|
20
|
+
date: 2025-12-30
|
|
21
|
+
changes: इतिहास प्रारंभ करें
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Intlayer का उपयोग करके अपनी AdonisJS बैकएंड वेबसाइट का अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
|
|
25
|
+
|
|
26
|
+
`adonis-intlayer` AdonisJS अनुप्रयोगों के लिए एक शक्तिशाली अंतर्राष्ट्रीयकरण (i18n) पैकेज है, जिसे क्लाइंट की प्राथमिकताओं के आधार पर स्थानीयकृत प्रतिक्रियाएं प्रदान करके आपकी बैकएंड सेवाओं को विश्व स्तर पर सुलभ बनाने के लिए डिज़ाइन किया गया है।
|
|
27
|
+
|
|
28
|
+
### व्यावहारिक उपयोग के मामले
|
|
29
|
+
|
|
30
|
+
- **उपयोगकर्ता की भाषा में बैकएंड त्रुटियां प्रदर्शित करना**: जब कोई त्रुटि होती है, तो संदेशों को उपयोगकर्ता की मूल भाषा में प्रदर्शित करने से समझ में सुधार होता है और हताशा कम होती है। यह गतिशील त्रुटि संदेशों के लिए विशेष रूप से उपयोगी है जो टोस्ट या मोडल जैसे फ्रंट-एंड घटकों में दिखाए जा सकते हैं।
|
|
31
|
+
|
|
32
|
+
- **बहुभाषी सामग्री प्राप्त करना**: डेटाबेस से सामग्री खींचने वाले अनुप्रयोगों के लिए, अंतर्राष्ट्रीयकरण यह सुनिश्चित करता है कि आप इस सामग्री को कई भाषाओं में परोस सकें। यह ई-कॉमर्स साइटों या सामग्री प्रबंधन प्रणालियों जैसे प्लेटफार्मों के लिए महत्वपूर्ण है जिन्हें उत्पाद विवरण, लेख और अन्य सामग्री उपयोगकर्ता द्वारा पसंद की जाने वाली भाषा में प्रदर्शित करने की आवश्यकता होती है।
|
|
33
|
+
|
|
34
|
+
- **बहुभाषी ईमेल भेजना**: चाहे वह ट्रांसेक्शनल ईमेल हो, मार्केटिंग अभियान हो, या सूचनाएं हों, प्राप्तकर्ता की भाषा में ईमेल भेजने से जुड़ाव और प्रभावशीलता में काफी वृद्धि हो सकती है।
|
|
35
|
+
|
|
36
|
+
- **बहुभाषी पुश सूचनाएं**: मोबाइल अनुप्रयोगों के लिए, उपयोगकर्ता की पसंदीदा भाषा में पुश सूचनाएं भेजने से बातचीत और प्रतिधारण बढ़ सकता है। यह व्यक्तिगत स्पर्श सूचनाओं को अधिक प्रासंगिक और कार्रवाई योग्य महसूस करा सकता है।
|
|
37
|
+
|
|
38
|
+
- **अन्य संचार**: बैकएंड से संचार का कोई भी रूप, जैसे एसएमएस संदेश, सिस्टम अलर्ट, या उपयोगकर्ता इंटरफ़ेस अपडेट, उपयोगकर्ता की भाषा में होने से लाभान्वित होता है, स्पष्टता सुनिश्चित करता है और समग्र उपयोगकर्ता अनुभव को बढ़ाता है।
|
|
39
|
+
|
|
40
|
+
बैकएंड का अंतर्राष्ट्रीयकरण करके, आपका एप्लिकेशन न केवल सांस्कृतिक अंतरों का सम्मान करता है बल्कि वैश्विक बाजार की जरूरतों के साथ बेहतर तालमेल बिठाता है, जिससे यह आपकी सेवाओं को दुनिया भर में स्केल करने का एक महत्वपूर्ण कदम बन जाता है।
|
|
41
|
+
|
|
42
|
+
## शुरू करना
|
|
43
|
+
|
|
44
|
+
### स्थापना
|
|
45
|
+
|
|
46
|
+
`adonis-intlayer` का उपयोग शुरू करने के लिए, npm का उपयोग करके पैकेज स्थापित करें:
|
|
47
|
+
|
|
48
|
+
```bash packageManager="npm"
|
|
49
|
+
npm install intlayer adonis-intlayer
|
|
50
|
+
npx intlayer init
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```bash packageManager="pnpm"
|
|
54
|
+
pnpm add intlayer adonis-intlayer
|
|
55
|
+
pnpm intlayer init
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```bash packageManager="yarn"
|
|
59
|
+
yarn add intlayer adonis-intlayer
|
|
60
|
+
yarn intlayer init
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```bash packageManager="bun"
|
|
64
|
+
bun add intlayer adonis-intlayer
|
|
65
|
+
bunx intlayer init
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### सेटअप
|
|
69
|
+
|
|
70
|
+
अपने प्रोजेक्ट रूट में `intlayer.config.ts` बनाकर अंतर्राष्ट्रीयकरण सेटिंग्स कॉन्फ़िगर करें:
|
|
71
|
+
|
|
72
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
73
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
74
|
+
|
|
75
|
+
const config: IntlayerConfig = {
|
|
76
|
+
internationalization: {
|
|
77
|
+
locales: [
|
|
78
|
+
Locales.ENGLISH,
|
|
79
|
+
Locales.RUSSIAN,
|
|
80
|
+
Locales.JAPANESE,
|
|
81
|
+
Locales.FRENCH,
|
|
82
|
+
Locales.KOREAN,
|
|
83
|
+
Locales.CHINESE,
|
|
84
|
+
Locales.SPANISH,
|
|
85
|
+
Locales.GERMAN,
|
|
86
|
+
Locales.ARABIC,
|
|
87
|
+
Locales.ITALIAN,
|
|
88
|
+
Locales.ENGLISH_UNITED_KINGDOM,
|
|
89
|
+
Locales.PORTUGUESE,
|
|
90
|
+
Locales.HINDI,
|
|
91
|
+
Locales.TURKISH,
|
|
92
|
+
Locales.POLISH,
|
|
93
|
+
Locales.INDONESIAN,
|
|
94
|
+
Locales.VIETNAMESE,
|
|
95
|
+
Locales.UKRAINIAN,
|
|
96
|
+
],
|
|
97
|
+
defaultLocale: Locales.ENGLISH,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export default config;
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
105
|
+
import { Locales } from "intlayer";
|
|
106
|
+
|
|
107
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
108
|
+
const config = {
|
|
109
|
+
internationalization: {
|
|
110
|
+
locales: [
|
|
111
|
+
Locales.ENGLISH,
|
|
112
|
+
Locales.RUSSIAN,
|
|
113
|
+
Locales.JAPANESE,
|
|
114
|
+
Locales.FRENCH,
|
|
115
|
+
Locales.KOREAN,
|
|
116
|
+
Locales.CHINESE,
|
|
117
|
+
Locales.SPANISH,
|
|
118
|
+
Locales.GERMAN,
|
|
119
|
+
Locales.ARABIC,
|
|
120
|
+
Locales.ITALIAN,
|
|
121
|
+
Locales.ENGLISH_UNITED_KINGDOM,
|
|
122
|
+
Locales.PORTUGUESE,
|
|
123
|
+
Locales.HINDI,
|
|
124
|
+
Locales.TURKISH,
|
|
125
|
+
Locales.POLISH,
|
|
126
|
+
Locales.INDONESIAN,
|
|
127
|
+
Locales.VIETNAMESE,
|
|
128
|
+
Locales.UKRAINIAN,
|
|
129
|
+
],
|
|
130
|
+
defaultLocale: Locales.ENGLISH,
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default config;
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
138
|
+
const { Locales } = require("intlayer");
|
|
139
|
+
|
|
140
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
141
|
+
const config = {
|
|
142
|
+
internationalization: {
|
|
143
|
+
locales: [
|
|
144
|
+
Locales.ENGLISH,
|
|
145
|
+
Locales.RUSSIAN,
|
|
146
|
+
Locales.JAPANESE,
|
|
147
|
+
Locales.FRENCH,
|
|
148
|
+
Locales.KOREAN,
|
|
149
|
+
Locales.CHINESE,
|
|
150
|
+
Locales.SPANISH,
|
|
151
|
+
Locales.GERMAN,
|
|
152
|
+
Locales.ARABIC,
|
|
153
|
+
Locales.ITALIAN,
|
|
154
|
+
Locales.ENGLISH_UNITED_KINGDOM,
|
|
155
|
+
Locales.PORTUGUESE,
|
|
156
|
+
Locales.HINDI,
|
|
157
|
+
Locales.TURKISH,
|
|
158
|
+
Locales.POLISH,
|
|
159
|
+
Locales.INDONESIAN,
|
|
160
|
+
Locales.VIETNAMESE,
|
|
161
|
+
Locales.UKRAINIAN,
|
|
162
|
+
],
|
|
163
|
+
defaultLocale: Locales.ENGLISH,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
module.exports = config;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### अपनी सामग्री घोषित करें
|
|
171
|
+
|
|
172
|
+
अनुवादों को संग्रहीत करने के लिए अपनी सामग्री घोषणाएं बनाएं और प्रबंधित करें:
|
|
173
|
+
|
|
174
|
+
```typescript fileName="app/index.content.ts" contentDeclarationFormat="typescript"
|
|
175
|
+
import { t, type Dictionary } from "intlayer";
|
|
176
|
+
|
|
177
|
+
const indexContent = {
|
|
178
|
+
key: "index",
|
|
179
|
+
content: {
|
|
180
|
+
exampleOfContent: t({
|
|
181
|
+
en: "Example of returned content in English",
|
|
182
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
183
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
184
|
+
"es-ES": "Ejemplo de contenido devuelto en español (España)",
|
|
185
|
+
"es-MX": "Ejemplo de contenido devuelto en español (México)",
|
|
186
|
+
}),
|
|
187
|
+
},
|
|
188
|
+
} satisfies Dictionary;
|
|
189
|
+
|
|
190
|
+
export default indexContent;
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
```javascript fileName="app/index.content.mjs" contentDeclarationFormat="esm"
|
|
194
|
+
import { t } from "intlayer";
|
|
195
|
+
|
|
196
|
+
/** @type {import('intlayer').Dictionary} */
|
|
197
|
+
const indexContent = {
|
|
198
|
+
key: "index",
|
|
199
|
+
content: {
|
|
200
|
+
exampleOfContent: t({
|
|
201
|
+
en: "Example of returned content in English",
|
|
202
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
203
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
204
|
+
"es-ES": "Ejemplo de contenido devuelto en español (España)",
|
|
205
|
+
"es-MX": "Ejemplo de contenido devuelto en español (México)",
|
|
206
|
+
}),
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
export default indexContent;
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
```javascript fileName="app/index.content.cjs" contentDeclarationFormat="commonjs"
|
|
214
|
+
const { t } = require("intlayer");
|
|
215
|
+
|
|
216
|
+
/** @type {import('intlayer').Dictionary} */
|
|
217
|
+
const indexContent = {
|
|
218
|
+
key: "index",
|
|
219
|
+
content: {
|
|
220
|
+
exampleOfContent: t({
|
|
221
|
+
en: "Example of returned content in English",
|
|
222
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
223
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
224
|
+
"es-ES": "Ejemplo de contenido devuelto en español (España)",
|
|
225
|
+
"es-MX": "Ejemplo de contenido devuelto en español (México)",
|
|
226
|
+
}),
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
module.exports = indexContent;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
```json fileName="app/index.content.json" contentDeclarationFormat="json"
|
|
234
|
+
{
|
|
235
|
+
"$schema": "https://intlayer.org/schema.json",
|
|
236
|
+
"key": "index",
|
|
237
|
+
"content": {
|
|
238
|
+
"exampleOfContent": {
|
|
239
|
+
"nodeType": "translation",
|
|
240
|
+
"translation": {
|
|
241
|
+
"en": "Example of returned content in English",
|
|
242
|
+
"fr": "Exemple de contenu renvoyé en français",
|
|
243
|
+
"hi": "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
244
|
+
"es-ES": "Ejemplo de contenido devuelto en español (España)",
|
|
245
|
+
"es-MX": "Ejemplo de contenido devuelto en español (México)"
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
> आपकी सामग्री घोषणाएं आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं, बशर्ते वे `contentDir` निर्देशिका (डिफ़ॉल्ट रूप से, `./src` या `./app`) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,cjs}`) से मेल खाती हों।
|
|
253
|
+
|
|
254
|
+
> अधिक विवरण के लिए, [सामग्री घोषणा दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md) देखें।
|
|
255
|
+
|
|
256
|
+
### AdonisJS अनुप्रयोग सेटअप
|
|
257
|
+
|
|
258
|
+
`adonis-intlayer` का उपयोग करने के लिए अपना AdonisJS एप्लिकेशन सेटअप करें।
|
|
259
|
+
|
|
260
|
+
#### मिडलवेयर पंजीकृत करें
|
|
261
|
+
|
|
262
|
+
सबसे पहले, आपको अपने एप्लिकेशन में `intlayer` मिडलवेयर पंजीकृत करना होगा।
|
|
263
|
+
|
|
264
|
+
```typescript fileName="start/kernel.ts"
|
|
265
|
+
router.use([() => import("adonis-intlayer/middleware")]);
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
#### अपने मार्ग (routes) परिभाषित करें
|
|
269
|
+
|
|
270
|
+
```typescript fileName="start/routes.ts"
|
|
271
|
+
import router from "@adonisjs/core/services/router";
|
|
272
|
+
import { t, getIntlayer, getDictionary } from "adonis-intlayer";
|
|
273
|
+
import indexContent from "../app/index.content";
|
|
274
|
+
|
|
275
|
+
router.get("/t_example", async () => {
|
|
276
|
+
return t({
|
|
277
|
+
en: "Example of returned content in English",
|
|
278
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
279
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
280
|
+
"es-ES": "Ejemplo de contenido devuelto en español (España)",
|
|
281
|
+
"es-MX": "Ejemplo de contenido devuelto en español (México)",
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
router.get("/getIntlayer_example", async () => {
|
|
286
|
+
return getIntlayer("index").exampleOfContent;
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
router.get("/getDictionary_example", async () => {
|
|
290
|
+
return getDictionary(indexContent).exampleOfContent;
|
|
291
|
+
});
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
#### कार्य (Functions)
|
|
295
|
+
|
|
296
|
+
`adonis-intlayer` आपके एप्लिकेशन में अंतर्राष्ट्रीयकरण को संभालने के लिए कई कार्यों को निर्यात करता है:
|
|
297
|
+
|
|
298
|
+
- `t(content, locale?)`: मूल अनुवाद कार्य।
|
|
299
|
+
- `getIntlayer(key, locale?)`: अपने शब्दकोशों से कुंजी द्वारा सामग्री प्राप्त करें।
|
|
300
|
+
- `getDictionary(dictionary, locale?)`: एक विशिष्ट शब्दकोश वस्तु से सामग्री प्राप्त करें।
|
|
301
|
+
- `getLocale()`: अनुरोध संदर्भ से वर्तमान लोकेल प्राप्त करें।
|
|
302
|
+
|
|
303
|
+
#### नियंत्रकों (Controllers) में उपयोग करें
|
|
304
|
+
|
|
305
|
+
```typescript fileName="app/controllers/example_controller.ts"
|
|
306
|
+
import type { HttpContext } from "@adonisjs/core/http";
|
|
307
|
+
import { t } from "adonis-intlayer";
|
|
308
|
+
|
|
309
|
+
export default class ExampleController {
|
|
310
|
+
async index({ response }: HttpContext) {
|
|
311
|
+
return response.send(
|
|
312
|
+
t({
|
|
313
|
+
en: "Hello from controller",
|
|
314
|
+
fr: "Bonjour depuis le contrôleur",
|
|
315
|
+
hi: "कंट्रोलर से नमस्ते",
|
|
316
|
+
})
|
|
317
|
+
);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### संगतता
|
|
323
|
+
|
|
324
|
+
`adonis-intlayer` पूरी तरह से इनके साथ संगत है:
|
|
325
|
+
|
|
326
|
+
- React अनुप्रयोगों के लिए [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/index.md)
|
|
327
|
+
- Next.js अनुप्रयोगों के लिए [`next-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/next-intlayer/index.md)
|
|
328
|
+
- Vite अनुप्रयोगों के लिए [`vite-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/vite-intlayer/index.md)
|
|
329
|
+
|
|
330
|
+
यह ब्राउज़र और एपीआई अनुरोधों सहित विभिन्न वातावरणों में किसी भी अंतर्राष्ट्रीयकरण समाधान के साथ सहजता से काम करता है। आप हेडर या कुकीज़ के माध्यम से लोकेल का पता लगाने के लिए मिडलवेयर को अनुकूलित कर सकते हैं:
|
|
331
|
+
|
|
332
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
333
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
334
|
+
|
|
335
|
+
const config: IntlayerConfig = {
|
|
336
|
+
// ... अन्य कॉन्फ़िगरेशन विकल्प
|
|
337
|
+
middleware: {
|
|
338
|
+
headerName: "my-locale-header",
|
|
339
|
+
cookieName: "my-locale-cookie",
|
|
340
|
+
},
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
export default config;
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
डिफ़ॉल्ट रूप से, `adonis-intlayer` क्लाइंट की पसंदीदा भाषा निर्धारित करने के लिए `Accept-Language` हेडर की व्याख्या करेगा।
|
|
347
|
+
|
|
348
|
+
> कॉन्फ़िगरेशन और उन्नत विषयों पर अधिक जानकारी के लिए, हमारे [दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) पर जाएँ।
|
|
349
|
+
|
|
350
|
+
### TypeScript कॉन्फ़िगर करें
|
|
351
|
+
|
|
352
|
+
`adonis-intlayer` अंतर्राष्ट्रीयकरण प्रक्रिया को बढ़ाने के लिए TypeScript की मजबूत क्षमताओं का लाभ उठाता है। TypeScript की स्थिर टाइपिंग यह सुनिश्चित करती है कि प्रत्येक अनुवाद कुंजी का हिसाब रखा जाए, जिससे अनुवाद गायब होने का जोखिम कम हो जाता है और रखरखाव में सुधार होता है।
|
|
353
|
+
|
|
354
|
+

|
|
355
|
+
|
|
356
|
+

|
|
357
|
+
|
|
358
|
+
सुनिश्चित करें कि स्वतः उत्पन्न प्रकार (डिफ़ॉल्ट रूप से ./types/intlayer.d.ts पर) आपकी tsconfig.json फ़ाइल में शामिल हैं।
|
|
359
|
+
|
|
360
|
+
```json5 fileName="tsconfig.json"
|
|
361
|
+
{
|
|
362
|
+
// ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
363
|
+
"include": [
|
|
364
|
+
// ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
365
|
+
".intlayer/**/*.ts", // स्वतः उत्पन्न प्रकार शामिल करें
|
|
366
|
+
],
|
|
367
|
+
}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### VS Code एक्सटेंशन
|
|
371
|
+
|
|
372
|
+
Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS Code एक्सटेंशन** स्थापित कर सकते हैं।
|
|
373
|
+
|
|
374
|
+
[VS Code मार्केटप्लेस से इंस्टॉल करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
375
|
+
|
|
376
|
+
यह एक्सटेंशन प्रदान करता है:
|
|
377
|
+
|
|
378
|
+
- अनुवाद कुंजियों के लिए **ऑटो-पूर्णता**।
|
|
379
|
+
- गायब अनुवादों के लिए **रीयल-टाइम त्रुटि पहचान**।
|
|
380
|
+
- अनुवादित सामग्री का **इनलाइन पूर्वावलोकन**।
|
|
381
|
+
- आसानी से अनुवाद बनाने और अपडेट करने के लिए **त्वरित कार्रवाई**।
|
|
382
|
+
|
|
383
|
+
एक्सटेंशन का उपयोग करने के तरीके के बारे में अधिक विवरण के लिए, [Intlayer VS Code एक्सटेंशन दस्तावेज़](https://intlayer.org/hi/doc/vs-code-extension) देखें।
|
|
384
|
+
|
|
385
|
+
### Git कॉन्फ़िगरेशन
|
|
386
|
+
|
|
387
|
+
Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करने की अनुशंसा की जाती है। यह आपको उन्हें अपने Git रिपॉजिटरी में कमिट करने से बचने की अनुमति देता है।
|
|
388
|
+
|
|
389
|
+
ऐसा करने के लिए, आप अपनी `.gitignore` फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
|
|
390
|
+
|
|
391
|
+
```plaintext fileName=".gitignore"
|
|
392
|
+
# Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करें
|
|
393
|
+
.intlayer
|
|
394
|
+
```
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
---
|
|
2
|
+
createdAt: 2025-08-23
|
|
3
|
+
updatedAt: 2025-12-30
|
|
4
|
+
title: Hono i18n - अपने Hono ऐप का अनुवाद कैसे करें – गाइड 2026
|
|
5
|
+
description: जानें कि अपने Hono बैकएंड को बहुभाषी कैसे बनाया जाए। इसे अंतर्राष्ट्रीयकृत (i18n) करने और अनुवाद करने के लिए दस्तावेज़ीकरण का पालन करें।
|
|
6
|
+
keywords:
|
|
7
|
+
- अंतर्राष्ट्रीयकरण
|
|
8
|
+
- दस्तावेज़ीकरण
|
|
9
|
+
- Intlayer
|
|
10
|
+
- Hono
|
|
11
|
+
- JavaScript
|
|
12
|
+
- बैकएंड
|
|
13
|
+
slugs:
|
|
14
|
+
- doc
|
|
15
|
+
- environment
|
|
16
|
+
- hono
|
|
17
|
+
applicationTemplate: https://github.com/aymericzip/intlayer-hono-template
|
|
18
|
+
history:
|
|
19
|
+
- version: 7.5.9
|
|
20
|
+
date: 2025-12-30
|
|
21
|
+
changes: init कमांड जोड़ें
|
|
22
|
+
- version: 5.5.10
|
|
23
|
+
date: 2025-06-29
|
|
24
|
+
changes: इतिहास प्रारंभ करें
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Intlayer का उपयोग करके अपनी Hono बैकएंड वेबसाइट का अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
|
|
28
|
+
|
|
29
|
+
`hono-intlayer` Hono अनुप्रयोगों के लिए एक शक्तिशाली अंतर्राष्ट्रीयकरण (i18n) मिडलवेयर है, जिसे क्लाइंट की प्राथमिकताओं के आधार पर स्थानीयकृत प्रतिक्रियाएं प्रदान करके आपकी बैकएंड सेवाओं को वैश्विक रूप से सुलभ बनाने के लिए डिज़ाइन किया गया है।
|
|
30
|
+
|
|
31
|
+
### व्यावहारिक उपयोग के मामले
|
|
32
|
+
|
|
33
|
+
- **उपयोगकर्ता की भाषा में बैकएंड त्रुटियां प्रदर्शित करना**: जब कोई त्रुटि होती है, तो संदेशों को उपयोगकर्ता की मूल भाषा में प्रदर्शित करने से समझ में सुधार होता है और निराशा कम होती है। यह विशेष रूप से गतिशील त्रुटि संदेशों के लिए उपयोगी है जो टोस्ट या मोडल जैसे फ्रंट-एंड घटकों में दिखाए जा सकते हैं।
|
|
34
|
+
|
|
35
|
+
- **बहुभाषी सामग्री प्राप्त करना**: डेटाबेस से सामग्री खींचने वाले अनुप्रयोगों के लिए, अंतर्राष्ट्रीयकरण यह सुनिश्चित करता है कि आप इस सामग्री को कई भाषाओं में परोस सकते हैं। यह ई-कॉमर्स साइटों या सामग्री प्रबंधन प्रणालियों जैसे प्लेटफार्मों के लिए महत्वपूर्ण है जिन्हें उत्पाद विवरण, लेख और अन्य सामग्री उपयोगकर्ता द्वारा पसंद की जाने वाली भाषा में प्रदर्शित करने की आवश्यकता होती है।
|
|
36
|
+
|
|
37
|
+
- **बहुभाषी ईमेल भेजना**: चाहे वह ट्रांजेक्शनल ईमेल हों, मार्केटिंग अभियान हों या सूचनाएं, प्राप्तकर्ता की भाषा में ईमेल भेजने से जुड़ाव और प्रभावशीलता में काफी वृद्धि हो सकती है।
|
|
38
|
+
|
|
39
|
+
- **बहुभाषी पुश सूचनाएं**: मोबाइल अनुप्रयोगों के लिए, उपयोगकर्ता की पसंदीदा भाषा में पुश सूचनाएं भेजने से बातचीत और प्रतिधारण बढ़ सकता है। यह व्यक्तिगत स्पर्श सूचनाओं को अधिक प्रासंगिक और कार्रवाई योग्य महसूस करा सकता है।
|
|
40
|
+
|
|
41
|
+
- **अन्य संचार**: बैकएंड से संचार का कोई भी रूप, जैसे एसएमएस संदेश, सिस्टम अलर्ट, या उपयोगकर्ता इंटरफ़ेस अपडेट, उपयोगकर्ता की भाषा में होने से लाभान्वित होता है, स्पष्टता सुनिश्चित करता है और समग्र उपयोगकर्ता अनुभव को बढ़ाता है।
|
|
42
|
+
|
|
43
|
+
बैकएंड को अंतर्राष्ट्रीयकृत करके, आपका एप्लिकेशन न केवल सांस्कृतिक मतभेदों का सम्मान करता है बल्कि वैश्विक बाजार की जरूरतों के साथ बेहतर तालमेल बिठाता है, जिससे यह आपकी सेवाओं को दुनिया भर में स्केल करने में एक महत्वपूर्ण कदम बन जाता है।
|
|
44
|
+
|
|
45
|
+
## शुरुआत करना
|
|
46
|
+
|
|
47
|
+
### स्थापना
|
|
48
|
+
|
|
49
|
+
`hono-intlayer` का उपयोग शुरू करने के लिए, npm का उपयोग करके पैकेज स्थापित करें:
|
|
50
|
+
|
|
51
|
+
```bash packageManager="npm"
|
|
52
|
+
npm install intlayer hono-intlayer
|
|
53
|
+
npx intlayer init
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```bash packageManager="pnpm"
|
|
57
|
+
pnpm add intlayer hono-intlayer
|
|
58
|
+
pnpm intlayer init
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
```bash packageManager="yarn"
|
|
62
|
+
yarn add intlayer hono-intlayer
|
|
63
|
+
yarn intlayer init
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```bash packageManager="bun"
|
|
67
|
+
bun add intlayer hono-intlayer
|
|
68
|
+
bunx intlayer init
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### सेटअप
|
|
72
|
+
|
|
73
|
+
अपने प्रोजेक्ट रूट में `intlayer.config.ts` बनाकर अंतर्राष्ट्रीयकरण सेटिंग्स कॉन्फ़िगर करें:
|
|
74
|
+
|
|
75
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
76
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
77
|
+
|
|
78
|
+
const config: IntlayerConfig = {
|
|
79
|
+
internationalization: {
|
|
80
|
+
locales: [
|
|
81
|
+
Locales.ENGLISH,
|
|
82
|
+
Locales.FRENCH,
|
|
83
|
+
Locales.SPANISH_MEXICO,
|
|
84
|
+
Locales.SPANISH_SPAIN,
|
|
85
|
+
Locales.HINDI,
|
|
86
|
+
],
|
|
87
|
+
defaultLocale: Locales.ENGLISH,
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export default config;
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### अपनी सामग्री घोषित करें
|
|
95
|
+
|
|
96
|
+
अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाएं बनाएं और प्रबंधित करें:
|
|
97
|
+
|
|
98
|
+
```typescript fileName="src/index.content.ts" contentDeclarationFormat="typescript"
|
|
99
|
+
import { t, type Dictionary } from "intlayer";
|
|
100
|
+
|
|
101
|
+
const indexContent = {
|
|
102
|
+
key: "index",
|
|
103
|
+
content: {
|
|
104
|
+
exampleOfContent: t({
|
|
105
|
+
en: "Example of returned content in English",
|
|
106
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
107
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
108
|
+
}),
|
|
109
|
+
},
|
|
110
|
+
} satisfies Dictionary;
|
|
111
|
+
|
|
112
|
+
export default indexContent;
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
> आपकी सामग्री घोषणाएं आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक कि वे `contentDir` निर्देशिका (डिफ़ॉल्ट रूप से, `./src`) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,cjs}`) से मेल खाती हों।
|
|
116
|
+
|
|
117
|
+
> अधिक विवरण के लिए, [सामग्री घोषणा दस्तावेज़ीकरण](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md) देखें।
|
|
118
|
+
|
|
119
|
+
### Hono एप्लिकेशन सेटअप
|
|
120
|
+
|
|
121
|
+
`hono-intlayer` का उपयोग करने के लिए अपना Hono एप्लिकेशन सेट करें:
|
|
122
|
+
|
|
123
|
+
```typescript fileName="src/index.ts" codeFormat="typescript"
|
|
124
|
+
import { Hono } from "hono";
|
|
125
|
+
import { intlayer, t, getDictionary, getIntlayer } from "hono-intlayer";
|
|
126
|
+
import dictionaryExample from "./index.content";
|
|
127
|
+
|
|
128
|
+
const app = new Hono();
|
|
129
|
+
|
|
130
|
+
// अंतर्राष्ट्रीयकरण अनुरोध हैंडलर लोड करें
|
|
131
|
+
app.use("*", intlayer());
|
|
132
|
+
|
|
133
|
+
// रूट
|
|
134
|
+
app.get("/t_example", (c) => {
|
|
135
|
+
return c.text(
|
|
136
|
+
t({
|
|
137
|
+
en: "Example of returned content in English",
|
|
138
|
+
fr: "Exemple de contenu renvoyé en français",
|
|
139
|
+
hi: "हिंदी में लौटाई गई सामग्री का उदाहरण",
|
|
140
|
+
})
|
|
141
|
+
);
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
app.get("/getIntlayer_example", (c) => {
|
|
145
|
+
return c.json(getIntlayer("index").exampleOfContent);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
app.get("/getDictionary_example", (c) => {
|
|
149
|
+
return c.json(getDictionary(dictionaryExample).exampleOfContent);
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
export default app;
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### संगतता
|
|
156
|
+
|
|
157
|
+
`hono-intlayer` इनके साथ पूरी तरह से संगत है:
|
|
158
|
+
|
|
159
|
+
- React अनुप्रयोगों के लिए [`react-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/react-intlayer/index.md)
|
|
160
|
+
- Next.js अनुप्रयोगों के लिए [`next-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/next-intlayer/index.md)
|
|
161
|
+
- Vite अनुप्रयोगों के लिए [`vite-intlayer`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/packages/vite-intlayer/index.md)
|
|
162
|
+
|
|
163
|
+
यह ब्राउज़र और एपीआई अनुरोधों सहित विभिन्न वातावरणों में किसी भी अंतर्राष्ट्रीयकरण समाधान के साथ निर्बाध रूप से काम करता है। आप हेडर या कुकीज़ के माध्यम से लोकेल का पता लगाने के लिए मिडलवेयर को कस्टमाइज़ कर सकते हैं:
|
|
164
|
+
|
|
165
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
166
|
+
import { Locales, type IntlayerConfig } from "intlayer";
|
|
167
|
+
|
|
168
|
+
const config: IntlayerConfig = {
|
|
169
|
+
// ... अन्य कॉन्फ़िगरेशन विकल्प
|
|
170
|
+
middleware: {
|
|
171
|
+
headerName: "my-locale-header",
|
|
172
|
+
cookieName: "my-locale-cookie",
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export default config;
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
डिफ़ॉल्ट रूप से, `hono-intlayer` क्लाइंट की पसंदीदा भाषा निर्धारित करने के लिए `Accept-Language` हेडर की व्याख्या करेगा।
|
|
180
|
+
|
|
181
|
+
> कॉन्फ़िगरेशन और उन्नत विषयों के बारे में अधिक जानकारी के लिए, हमारे [दस्तावेज़ीकरण](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) पर जाएँ।
|
|
182
|
+
|
|
183
|
+
### TypeScript कॉन्फ़िगर करें
|
|
184
|
+
|
|
185
|
+
`hono-intlayer` अंतर्राष्ट्रीयकरण प्रक्रिया को बढ़ाने के लिए TypeScript की मजबूत क्षमताओं का लाभ उठाता है। TypeScript की स्टैटिक टाइपिंग यह सुनिश्चित करती है कि हर अनुवाद कुंजी का हिसाब रखा जाए, जिससे अनुवाद छूटने का जोखिम कम हो जाता है और रखरखाव में सुधार होता है।
|
|
186
|
+
|
|
187
|
+

|
|
188
|
+
|
|
189
|
+

|
|
190
|
+
|
|
191
|
+
सुनिश्चित करें कि ऑटोजेनरेटेड प्रकार (डिफ़ॉल्ट रूप से ./types/intlayer.d.ts पर) आपकी tsconfig.json फ़ाइल में शामिल हैं।
|
|
192
|
+
|
|
193
|
+
```json5 fileName="tsconfig.json"
|
|
194
|
+
{
|
|
195
|
+
// ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
196
|
+
"include": [
|
|
197
|
+
// ... आपके मौजूदा TypeScript कॉन्फ़िगरेशन
|
|
198
|
+
".intlayer/**/*.ts", // ऑटोजेनरेटेड प्रकार शामिल करें
|
|
199
|
+
],
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### VS Code एक्सटेंशन
|
|
204
|
+
|
|
205
|
+
Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS Code Extension** स्थापित कर सकते हैं।
|
|
206
|
+
|
|
207
|
+
[VS Code Marketplace से स्थापित करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
|
|
208
|
+
|
|
209
|
+
यह एक्सटेंशन प्रदान करता है:
|
|
210
|
+
|
|
211
|
+
- अनुवाद कुंजियों के लिए **ऑटो-कम्प्लीशन**।
|
|
212
|
+
- गायब अनुवादों के लिए **रीयल-टाइम त्रुटि पहचान**।
|
|
213
|
+
- अनुवादित सामग्री का **इनलाइन पूर्वावलोकन**।
|
|
214
|
+
- आसानी से अनुवाद बनाने और अपडेट करने के लिए **त्वरित कार्रवाई**।
|
|
215
|
+
|
|
216
|
+
एक्सटेंशन का उपयोग करने के तरीके के बारे में अधिक विवरण के लिए, [Intlayer VS Code Extension दस्तावेज़ीकरण](https://intlayer.org/doc/vs-code-extension) देखें।
|
|
217
|
+
|
|
218
|
+
### Git कॉन्फ़िगरेशन
|
|
219
|
+
|
|
220
|
+
Intlayer द्वारा जेनरेट की गई फ़ाइलों को अनदेखा करने की अनुशंसा की जाती है। यह आपको उन्हें अपने Git रिपॉजिटरी में कमिट करने से बचने की अनुमति देता है।
|
|
221
|
+
|
|
222
|
+
ऐसा करने के लिए, आप अपनी `.gitignore` फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
|
|
223
|
+
|
|
224
|
+
```plaintext fileName=".gitignore"
|
|
225
|
+
# Intlayer द्वारा जेनरेट की गई फ़ाइलों को अनदेखा करें
|
|
226
|
+
.intlayer
|
|
227
|
+
```
|