@intlayer/docs 7.1.8 → 7.2.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.
Files changed (44) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/generated/docs.entry.cjs +19 -0
  3. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  4. package/dist/esm/generated/docs.entry.mjs +19 -0
  5. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  6. package/dist/types/generated/docs.entry.d.ts +1 -0
  7. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  8. package/docs/ar/intlayer_with_svelte_kit.md +730 -0
  9. package/docs/ar/intlayer_with_vite+svelte.md +288 -104
  10. package/docs/de/intlayer_with_svelte_kit.md +730 -0
  11. package/docs/de/intlayer_with_vite+svelte.md +302 -101
  12. package/docs/en/intlayer_with_svelte_kit.md +560 -0
  13. package/docs/en/intlayer_with_vite+svelte.md +153 -15
  14. package/docs/en/introduction.md +2 -0
  15. package/docs/en-GB/intlayer_with_svelte_kit.md +730 -0
  16. package/docs/en-GB/intlayer_with_vite+svelte.md +262 -84
  17. package/docs/es/intlayer_with_svelte_kit.md +730 -0
  18. package/docs/es/intlayer_with_vite+svelte.md +300 -107
  19. package/docs/fr/intlayer_with_svelte_kit.md +762 -0
  20. package/docs/fr/intlayer_with_vite+svelte.md +297 -101
  21. package/docs/hi/intlayer_with_svelte_kit.md +730 -0
  22. package/docs/hi/intlayer_with_vite+svelte.md +298 -108
  23. package/docs/id/intlayer_with_svelte_kit.md +730 -0
  24. package/docs/id/intlayer_with_vite+svelte.md +277 -99
  25. package/docs/it/intlayer_with_svelte_kit.md +762 -0
  26. package/docs/it/intlayer_with_vite+svelte.md +275 -99
  27. package/docs/ja/intlayer_with_svelte_kit.md +730 -0
  28. package/docs/ja/intlayer_with_vite+svelte.md +295 -110
  29. package/docs/ko/intlayer_with_svelte_kit.md +730 -0
  30. package/docs/ko/intlayer_with_vite+svelte.md +286 -199
  31. package/docs/pl/intlayer_with_svelte_kit.md +732 -0
  32. package/docs/pl/intlayer_with_vite+svelte.md +273 -101
  33. package/docs/pt/intlayer_with_svelte_kit.md +764 -0
  34. package/docs/pt/intlayer_with_vite+svelte.md +290 -96
  35. package/docs/ru/intlayer_with_svelte_kit.md +730 -0
  36. package/docs/ru/intlayer_with_vite+svelte.md +275 -99
  37. package/docs/tr/intlayer_with_svelte_kit.md +730 -0
  38. package/docs/tr/intlayer_with_vite+svelte.md +297 -119
  39. package/docs/vi/intlayer_with_svelte_kit.md +730 -0
  40. package/docs/vi/intlayer_with_vite+svelte.md +275 -102
  41. package/docs/zh/intlayer_with_svelte_kit.md +730 -0
  42. package/docs/zh/intlayer_with_vite+svelte.md +309 -107
  43. package/package.json +6 -6
  44. package/src/generated/docs.entry.ts +19 -0
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2025-06-29
4
- title: अपना Vite and Svelte ऐप कैसे अनुवाद करें – i18n गाइड 2025
3
+ updatedAt: 2025-11-19
4
+ title: अपने Vite और Svelte ऐप का अनुवाद कैसे करें – i18n गाइड 2025
5
5
  description: जानें कि अपनी Vite और Svelte वेबसाइट को बहुभाषी कैसे बनाएं। अंतरराष्ट्रीयकरण (i18n) और अनुवाद के लिए दस्तावेज़ का पालन करें।
6
6
  keywords:
7
7
  - अंतरराष्ट्रीयकरण
8
- - दस्तावेज़ीकरण
8
+ - दस्तावेज़
9
9
  - Intlayer
10
10
  - Vite
11
11
  - Svelte
@@ -14,35 +14,48 @@ slugs:
14
14
  - doc
15
15
  - environment
16
16
  - vite-and-svelte
17
- # applicationTemplate: https://github.com/aymericzip/intlayer-vite-svelte-template
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-vite-svelte-template
18
18
  history:
19
+ - version: 5.5.11
20
+ date: 2025-11-19
21
+ changes: दस्तावेज़ अपडेट करें
19
22
  - version: 5.5.10
20
23
  date: 2025-06-29
21
- changes: प्रारंभिक इतिहास
24
+ changes: इतिहास प्रारंभ करें
22
25
  ---
23
26
 
24
- # Intlayer के साथ अपना Vite and Svelte अनुवाद करें | अंतर्राष्ट्रीयकरण (i18n)
27
+ # Intlayer का उपयोग करके अपनी Vite और Svelte वेबसाइट का अनुवाद करें | अंतरराष्ट्रीयकरण (i18n)
25
28
 
26
- > यह पैकेज विकासाधीन है। अधिक जानकारी के लिए [issue](https://github.com/aymericzip/intlayer/issues/114) देखें। Intlayer for Svelte में अपनी रुचि दिखाने के लिए इस issue को लाइक करें
29
+ ## सामग्री तालिका
27
30
 
28
- <!-- GitHub पर [Application Template](https://github.com/aymericzip/intlayer-solid-template) देखें। -->
31
+ <TOC/>
29
32
 
30
33
  ## Intlayer क्या है?
31
34
 
32
- **Intlayer** एक अभिनव, ओपन-सोर्स अंतरराष्ट्रीयकरण (i18n) लाइब्रेरी है जिसे आधुनिक वेब एप्लिकेशन में बहुभाषी समर्थन को सरल बनाने के लिए डिज़ाइन किया गया है।
35
+ **Intlayer** एक अभिनव, ओपन-सोर्स अंतरराष्ट्रीयकरण (i18n) लाइब्रेरी है, जिसे आधुनिक वेब एप्लिकेशन में बहुभाषी समर्थन को सरल बनाने के लिए डिज़ाइन किया गया है।
33
36
 
34
37
  Intlayer के साथ, आप कर सकते हैं:
35
38
 
36
- - **घोषणात्मक शब्दकोशों का उपयोग करके अनुवादों का आसानी से प्रबंधन करें** जो कंपोनेंट स्तर पर होते हैं।
39
+ - **घोषणात्मक शब्दकोशों का उपयोग करके अनुवादों का आसानी से प्रबंधन करें** जो कि कॉम्पोनेंट स्तर पर होते हैं।
37
40
  - **मेटाडेटा, रूट्स, और सामग्री को गतिशील रूप से स्थानीयकृत करें**।
38
- - **TypeScript समर्थन सुनिश्चित करें** ऑटो-जेनरेटेड टाइप्स के साथ, जो ऑटो-कम्प्लीशन और त्रुटि पहचान में सुधार करते हैं।
39
- - **उन्नत विशेषताओं का लाभ उठाएं**, जैसे गतिशील लोकल डिटेक्शन और स्विचिंग।
41
+ - **TypeScript समर्थन सुनिश्चित करें** ऑटो-जेनरेटेड टाइप्स के साथ, जो ऑटो-कम्प्लीशन और त्रुटि पहचान में सुधार करता है।
42
+ - **उन्नत फीचर्स का लाभ उठाएं**, जैसे गतिशील लोकल डिटेक्शन और स्विचिंग।
40
43
 
41
44
  ---
42
45
 
43
46
  ## Vite और Svelte एप्लिकेशन में Intlayer सेटअप करने के लिए चरण-दर-चरण मार्गदर्शिका
44
47
 
45
- ### चरण 1: निर्भरताएँ इंस्टॉल करें
48
+ <iframe
49
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-react-template?embed=1&ctl=1&file=intlayer.config.ts"
50
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
51
+ title="Demo CodeSandbox - Intlayer का उपयोग करके अपने एप्लिकेशन का अंतरराष्ट्रीयकरण कैसे करें"
52
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
53
+ loading="lazy"
54
+ />
55
+
56
+ GitHub पर [एप्लिकेशन टेम्पलेट](https://github.com/aymericzip/intlayer-vite-svelte-template) देखें।
57
+
58
+ ### चरण 1: Dependencies इंस्टॉल करें
46
59
 
47
60
  npm का उपयोग करके आवश्यक पैकेज इंस्टॉल करें:
48
61
 
@@ -61,23 +74,27 @@ yarn add intlayer svelte-intlayer
61
74
  yarn add vite-intlayer --save-dev
62
75
  ```
63
76
 
64
- - **intlayer**
77
+ ```bash packageManager="bun"
78
+ bun add intlayer svelte-intlayer
79
+ bun add vite-intlayer --save-dev
80
+ ```
65
81
 
66
82
  - **intlayer**
67
83
 
68
- मुख्य पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, [सामग्री घोषणा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md), ट्रांसपाइलेशन, और [CLI कमांड्स](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_cli.md) के लिए अंतरराष्ट्रीयकरण उपकरण प्रदान करता है।
84
+ मुख्य पैकेज जो कॉन्फ़िगरेशन प्रबंधन, अनुवाद, [सामग्री घोषणा](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md), ट्रांसपाइलेशन, और [CLI कमांड](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_cli.md) के लिए अंतरराष्ट्रीयकरण उपकरण प्रदान करता है।
69
85
 
70
86
  - **svelte-intlayer**
71
- वह पैकेज जो Intlayer को Svelte एप्लिकेशन के साथ एकीकृत करता है। यह Svelte अंतरराष्ट्रीयकरण के लिए संदर्भ प्रदाता और हुक्स प्रदान करता है।
87
+ - **svelte-intlayer**
88
+ वह पैकेज जो Intlayer को Svelte एप्लिकेशन के साथ एकीकृत करता है। यह Svelte अंतरराष्ट्रीयकरण के लिए context providers और hooks प्रदान करता है।
72
89
 
73
- - **vite-intlayer**
74
- Vite प्लगइन शामिल करता है जो Intlayer को [Vite बंडलर](https://vite.dev/guide/why.html#why-bundle-for-production) के साथ एकीकृत करता है, साथ ही उपयोगकर्ता की पसंदीदा लोकल का पता लगाने, कुकीज़ प्रबंधित करने, और URL पुनर्निर्देशन को संभालने के लिए मिडलवेयर भी प्रदान करता है।
90
+ - **vite-intlayer**
91
+ इसमें Vite प्लगइन शामिल है जो Intlayer को [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production) के साथ एकीकृत करता है, साथ ही उपयोगकर्ता की पसंदीदा locale का पता लगाने, कुकीज़ प्रबंधित करने, और URL पुनर्निर्देशन को संभालने के लिए middleware भी शामिल है।
75
92
 
76
93
  ### चरण 2: अपने प्रोजेक्ट का कॉन्फ़िगरेशन
77
94
 
78
- अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक कॉन्फ़िग फ़ाइल बनाएं:
95
+ अपने एप्लिकेशन की भाषाओं को कॉन्फ़िगर करने के लिए एक config फ़ाइल बनाएं:
79
96
 
80
- ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
97
+ ```typescript fileName="intlayer.config.ts"
81
98
  import { Locales, type IntlayerConfig } from "intlayer";
82
99
 
83
100
  const config: IntlayerConfig = {
@@ -95,51 +112,13 @@ const config: IntlayerConfig = {
95
112
  export default config;
96
113
  ```
97
114
 
98
- ```javascript fileName="intlayer.config.mjs" codeFormat="esm"
99
- import { Locales } from "intlayer";
100
-
101
- /** @type {import('intlayer').IntlayerConfig} */
102
- const config = {
103
- internationalization: {
104
- locales: [
105
- Locales.ENGLISH,
106
- Locales.FRENCH,
107
- Locales.SPANISH,
108
- // आपकी अन्य भाषाएँ
109
- ],
110
- defaultLocale: Locales.ENGLISH,
111
- },
112
- };
113
-
114
- export default config;
115
- ```
116
-
117
- ```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
118
- const { Locales } = require("intlayer");
119
-
120
- /** @type {import('intlayer').IntlayerConfig} */
121
- const config = {
122
- internationalization: {
123
- locales: [
124
- Locales.ENGLISH,
125
- Locales.FRENCH,
126
- Locales.SPANISH,
127
- // आपकी अन्य भाषाएँ
128
- ],
129
- defaultLocale: Locales.ENGLISH,
130
- },
131
- };
132
-
133
- module.exports = config;
134
- ```
135
-
136
- > इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URLs, मिडलवेयर पुनर्निर्देशन, कुकी नाम, आपकी सामग्री घोषणाओं का स्थान और एक्सटेंशन, कंसोल में Intlayer लॉग को अक्षम करना, और भी बहुत कुछ सेट कर सकते हैं। उपलब्ध सभी पैरामीटरों की पूरी सूची के लिए, [कॉन्फ़िगरेशन दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) देखें।
115
+ > इस कॉन्फ़िगरेशन फ़ाइल के माध्यम से, आप स्थानीयकृत URL, middleware पुनर्निर्देशन, कुकी नाम, अपनी सामग्री घोषणाओं का स्थान और एक्सटेंशन सेट कर सकते हैं, कंसोल में Intlayer लॉग को अक्षम कर सकते हैं, और भी बहुत कुछ। उपलब्ध सभी पैरामीटर की पूरी सूची के लिए, [कॉन्फ़िगरेशन दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) देखें।
137
116
 
138
117
  ### चरण 3: अपने Vite कॉन्फ़िगरेशन में Intlayer को एकीकृत करें
139
118
 
140
119
  अपने कॉन्फ़िगरेशन में intlayer प्लगइन जोड़ें।
141
120
 
142
- ```typescript fileName="vite.config.ts" codeFormat="typescript"
121
+ ```typescript fileName="vite.config.ts"
143
122
  import { defineConfig } from "vite";
144
123
  import { svelte } from "@sveltejs/vite-plugin-svelte";
145
124
  import { intlayer } from "vite-intlayer";
@@ -150,33 +129,11 @@ export default defineConfig({
150
129
  });
151
130
  ```
152
131
 
153
- ```javascript fileName="vite.config.mjs" codeFormat="esm"
154
- import { defineConfig } from "vite";
155
- import { svelte } from "@sveltejs/vite-plugin-svelte";
156
- import { intlayer } from "vite-intlayer";
157
-
158
- // https://vitejs.dev/config/
159
- export default defineConfig({
160
- plugins: [svelte(), intlayer()],
161
- });
162
- ```
163
-
164
- ```javascript fileName="vite.config.cjs" codeFormat="commonjs"
165
- const { defineConfig } = require("vite");
166
- const react = require("@vitejs/plugin-react-swc");
167
- const { intlayer } = require("vite-intlayer");
168
-
169
- // https://vitejs.dev/config/
170
- module.exports = defineConfig({
171
- plugins: [react(), intlayer()],
172
- });
173
- ```
174
-
175
- > `intlayer()` Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह कंटेंट घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में उनकी निगरानी करता है। यह Vite एप्लिकेशन के भीतर Intlayer पर्यावरण चर को परिभाषित करता है। इसके अतिरिक्त, यह प्रदर्शन को अनुकूलित करने के लिए उपनाम प्रदान करता है।
132
+ > `intlayer()` Vite प्लगइन का उपयोग Intlayer को Vite के साथ एकीकृत करने के लिए किया जाता है। यह कंटेंट घोषणा फ़ाइलों के निर्माण को सुनिश्चित करता है और विकास मोड में उन्हें मॉनिटर करता है। यह Vite एप्लिकेशन के भीतर Intlayer पर्यावरण चर को परिभाषित करता है। इसके अतिरिक्त, यह प्रदर्शन को अनुकूलित करने के लिए उपनाम प्रदान करता है।
176
133
 
177
134
  ### चरण 4: अपनी सामग्री घोषित करें
178
135
 
179
- अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाओं को बनाएं और प्रबंधित करें:
136
+ अनुवाद संग्रहीत करने के लिए अपनी सामग्री घोषणाओं को बनाएँ और प्रबंधित करें:
180
137
 
181
138
  ```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
182
139
  import { t, type Dictionary } from "intlayer";
@@ -199,11 +156,26 @@ export default appContent;
199
156
  import { t } from "intlayer";
200
157
 
201
158
  /** @type {import('intlayer').Dictionary} */
202
- javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
159
+ // appContent नामक सामग्री शब्दकोश घोषित करता है
160
+ const appContent = {
161
+ key: "app",
162
+ content: {
163
+ title: t({
164
+ en: "Hello World",
165
+ fr: "Bonjour le monde",
166
+ es: "Hola mundo",
167
+ }),
168
+ },
169
+ };
170
+
171
+ export default appContent;
172
+ ```
173
+
174
+ ```javascript fileName="src/app.content.cjs" contentDeclarationFormat="commonjs"
203
175
  const { t } = require("intlayer");
204
176
 
205
177
  /** @type {import('intlayer').Dictionary} */
206
- // सामग्री घोषणा के लिए टाइप निर्दिष्ट करता है
178
+ // appContent नामक सामग्री शब्दकोश घोषित करता है
207
179
  const appContent = {
208
180
  key: "app",
209
181
  content: {
@@ -235,39 +207,259 @@ module.exports = appContent;
235
207
  }
236
208
  ```
237
209
 
238
- > आपकी सामग्री घोषणाएँ आपके एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक कि वे `contentDir` निर्देशिका में शामिल हों (डिफ़ॉल्ट रूप से, `./src`) और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हों (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)।
210
+ > आपकी सामग्री घोषणाएँ आपकी एप्लिकेशन में कहीं भी परिभाषित की जा सकती हैं जब तक कि वे `contentDir` निर्देशिका (डिफ़ॉल्ट रूप से, `./src`) में शामिल हों। और सामग्री घोषणा फ़ाइल एक्सटेंशन से मेल खाती हों (डिफ़ॉल्ट रूप से, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)।
239
211
 
240
- > अधिक विवरण के लिए, [सामग्री घोषणा प्रलेखन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/get_started.md) देखें।
212
+ > अधिक विवरण के लिए, [content declaration documentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/dictionary/content_file.md) देखें।
241
213
 
242
214
  ### चरण 5: अपने कोड में Intlayer का उपयोग करें
243
215
 
244
- [पूरा किया जाना है]
216
+ ```svelte fileName="src/App.svelte"
217
+ <script>
218
+ import { useIntlayer } from "svelte-intlayer";
219
+
220
+ const content = useIntlayer("app");
221
+ </script>
222
+
223
+ <div>
224
+
225
+
226
+ <!-- सामग्री को सरल सामग्री के रूप में रेंडर करें -->
227
+ <h1>{$content.title}</h1>
228
+ <!-- संपादक का उपयोग करके सामग्री को संपादन योग्य रूप में रेंडर करने के लिए -->
229
+ <h1><svelte:component this={$content.title} /></h1>
230
+ <!-- सामग्री को स्ट्रिंग के रूप में रेंडर करने के लिए -->
231
+ <div aria-label={$content.title.value}></div>
232
+ ```
245
233
 
246
234
  ### (वैकल्पिक) चरण 6: अपनी सामग्री की भाषा बदलें
247
235
 
248
- [पूरा किया जाना है]
236
+ ```svelte fileName="src/App.svelte"
237
+ <script lang="ts">
238
+ import { getLocaleName } from 'intlayer';
239
+ import { useLocale } from 'svelte-intlayer';
240
+
241
+ // लोकल जानकारी और setLocale फ़ंक्शन प्राप्त करें
242
+ const { locale, availableLocales, setLocale } = useLocale();
243
+
244
+ // लोकल परिवर्तन को संभालें
245
+ const changeLocale = (event: Event) => {
246
+ const target = event.target as HTMLSelectElement;
247
+ const newLocale = target.value;
248
+ setLocale(newLocale);
249
+ };
250
+ </script>
251
+
252
+ <div>
253
+ <select value={$locale} on:change={changeLocale}>
254
+ {#each availableLocales ?? [] as loc}
255
+ <option value={loc}>
256
+ {getLocaleName(loc)}
257
+ </option>
258
+ {/each}
259
+ </select>
260
+ </div>
261
+ ```
262
+
263
+ ### (वैकल्पिक) चरण 7: मार्कडाउन रेंडर करें
264
+
265
+ Intlayer सीधे आपके Svelte एप्लिकेशन में Markdown सामग्री को रेंडर करने का समर्थन करता है। डिफ़ॉल्ट रूप से, Markdown को सादा टेक्स्ट के रूप में माना जाता है। Markdown को समृद्ध HTML में बदलने के लिए, आप `@humanspeak/svelte-markdown` या किसी अन्य markdown पार्सर को एकीकृत कर सकते हैं।
266
+
267
+ > `intlayer` पैकेज का उपयोग करके markdown सामग्री को कैसे घोषित करें, यह देखने के लिए [markdown doc](https://github.com/aymericzip/intlayer/tree/main/docs/docs/hi/dictionary/markdown.md) देखें।
268
+
269
+ ```svelte fileName="src/App.svelte"
270
+ <script>
271
+ import { setIntlayerMarkdown } from "svelte-intlayer";
272
+
273
+ setIntlayerMarkdown((markdown) =>
274
+ // मार्कडाउन सामग्री को एक स्ट्रिंग के रूप में रेंडर करें
275
+ return markdown;
276
+ );
277
+ </script>
249
278
 
250
- ### (वैकल्पिक) चरण 7: अपने एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ें
279
+ <h1>{$content.markdownContent}</h1>
280
+ ```
281
+
282
+ > आप अपने मार्कडाउन फ्रंट-मैटर डेटा को `content.markdownContent.metadata.xxx` प्रॉपर्टी का उपयोग करके भी एक्सेस कर सकते हैं।
283
+
284
+ ### (वैकल्पिक) चरण 8: intlayer संपादक / CMS सेट करें
251
285
 
252
- [पूरा किया जाना है]
286
+ intlayer संपादक सेट करने के लिए, आपको [intlayer संपादक दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) का पालन करना होगा।
253
287
 
254
- ### (वैकल्पिक) चरण 8: जब भाषा बदलती है तो URL बदलें
288
+ intlayer CMS सेट करने के लिए, आपको [intlayer CMS दस्तावेज़](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का पालन करना होगा।
255
289
 
256
- [पूरा किया जाना है]
290
+ साथ ही, अपनी Svelte एप्लिकेशन में, आपको निम्नलिखित लाइन को किसी लेआउट में या अपनी एप्लिकेशन की रूट में जोड़ना होगा:
257
291
 
258
- ### (वैकल्पिक) चरण 9: HTML भाषा और दिशा विशेषताएँ स्विच करें
292
+ ```svelte fileName="src/layout.svelte"
293
+ import { useIntlayerEditor } from "svelte-intlayer";
294
+
295
+ useIntlayerEditor();
296
+ ```
259
297
 
260
- [पूरा किया जाना है]
298
+ ### (वैकल्पिक) चरण 7: अपनी एप्लिकेशन में स्थानीयकृत रूटिंग जोड़ें
261
299
 
262
- ### (वैकल्पिक) चरण 10: एक स्थानीयकृत लिंक कॉम्पोनेंट बनाना
300
+ अपनी Svelte एप्लिकेशन में स्थानीयकृत रूटिंग को संभालने के लिए, आप `svelte-spa-router` का उपयोग Intlayer के `localeFlatMap` के साथ कर सकते हैं ताकि प्रत्येक लोकल के लिए रूट्स जनरेट किए जा सकें।
263
301
 
264
- [पूरा किया जाना है]
302
+ सबसे पहले, `svelte-spa-router` इंस्टॉल करें:
303
+
304
+ ```bash packageManager="npm"
305
+ npm install svelte-spa-router
306
+ ```
307
+
308
+ ```bash packageManager="pnpm"
309
+ pnpm add svelte-spa-router
310
+ ```
311
+
312
+ ```bash packageManager="yarn"
313
+ yarn add svelte-spa-router
314
+ ```
315
+
316
+ ```bash packageManager="bun"
317
+ bun add svelte-spa-router
318
+ ```
319
+
320
+ फिर, अपने रूट्स को परिभाषित करने के लिए एक `Router.svelte` फ़ाइल बनाएं:
321
+
322
+ ```svelte fileName="src/Router.svelte"
323
+ <script lang="ts">
324
+ import { localeFlatMap } from "intlayer";
325
+ import Router from "svelte-spa-router";
326
+ import { wrap } from "svelte-spa-router/wrap";
327
+ import App from "./App.svelte";
328
+
329
+ const routes = Object.fromEntries(
330
+ localeFlatMap(({locale, urlPrefix}) => [
331
+ [
332
+ urlPrefix || '/',
333
+ wrap({
334
+ component: App as any,
335
+ props: {
336
+ locale,
337
+ },
338
+ }),
339
+ ],
340
+ ])
341
+ );
342
+ </script>
343
+
344
+ <Router {routes} />
345
+ ```
346
+
347
+ अपने `main.ts` को अपडेट करें ताकि `App` के बजाय `Router` कंपोनेंट को माउंट किया जा सके:
348
+
349
+ ```typescript fileName="src/main.ts"
350
+ import { mount } from "svelte";
351
+ import Router from "./Router.svelte";
352
+
353
+ const app = mount(Router, {
354
+ target: document.getElementById("app")!,
355
+ });
356
+
357
+ export default app;
358
+ ```
359
+
360
+ अंत में, अपने `App.svelte` को अपडेट करें ताकि वह `locale` prop प्राप्त कर सके और इसे `useIntlayer` के साथ उपयोग कर सके:
361
+
362
+ ```svelte fileName="src/App.svelte"
363
+ <script lang="ts">
364
+ import type { Locale } from 'intlayer';
365
+ import { useIntlayer } from 'svelte-intlayer';
366
+ import Counter from './lib/Counter.svelte';
367
+ import LocaleSwitcher from './lib/LocaleSwitcher.svelte';
368
+
369
+ export let locale: Locale;
370
+
371
+ $: content = useIntlayer('app', locale);
372
+ </script>
373
+
374
+ <main>
375
+ <div class="locale-switcher-container">
376
+ <LocaleSwitcher currentLocale={locale} />
377
+ </div>
378
+
379
+ <!-- ... आपके ऐप का बाकी हिस्सा ... -->
380
+ </main>
381
+ ```
382
+
383
+ #### सर्वर-साइड रूटिंग कॉन्फ़िगर करें (वैकल्पिक)
384
+
385
+ साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान locale को स्वचालित रूप से पहचान लेगा और उपयुक्त locale कुकी सेट करेगा। यदि कोई locale निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त locale निर्धारित करेगा। यदि कोई locale पता नहीं चलता है, तो यह डिफ़ॉल्ट locale पर पुनर्निर्देशित कर देगा।
386
+
387
+ > ध्यान दें कि उत्पादन में `intlayerProxy` का उपयोग करने के लिए, आपको `vite-intlayer` पैकेज को `devDependencies` से `dependencies` में स्विच करना होगा।
388
+
389
+ ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
390
+ import { defineConfig } from "vite";
391
+ import { svelte } from "@sveltejs/vite-plugin-svelte";
392
+ import { intlayer, intlayerProxy } from "vite-intlayer";
393
+
394
+ plugins: [svelte(), intlayer(), intlayerProxy()],
395
+ });
396
+ ```
397
+
398
+ ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
399
+ import { defineConfig } from "vite";
400
+ import { svelte } from "@sveltejs/vite-plugin-svelte";
401
+ import { intlayer, intlayerProxy } from "vite-intlayer";
402
+
403
+ // https://vitejs.dev/config/
404
+ export default defineConfig({
405
+ plugins: [svelte(), intlayer(), intlayerProxy()],
406
+ });
407
+ ```
408
+
409
+ ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
410
+ const { defineConfig } = require("vite");
411
+ const { svelte } = require("@sveltejs/vite-plugin-svelte");
412
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
413
+
414
+ // https://vitejs.dev/config/
415
+ module.exports = defineConfig({
416
+ plugins: [svelte(), intlayer(), intlayerProxy()],
417
+ });
418
+ plugins: [svelte(), intlayer(), intlayerProxy()],
419
+ });
420
+ ```
421
+
422
+ ### (वैकल्पिक) चरण 8: जब locale बदलता है तो URL बदलें
423
+
424
+ उपयोगकर्ताओं को भाषाएँ बदलने और URL को उसके अनुसार अपडेट करने की अनुमति देने के लिए, आप एक `LocaleSwitcher` कॉम्पोनेंट बना सकते हैं। यह कॉम्पोनेंट `intlayer` से `getLocalizedUrl` और `svelte-spa-router` से `push` का उपयोग करेगा।
425
+
426
+ ```svelte fileName="src/lib/LocaleSwitcher.svelte"
427
+ <script lang="ts">
428
+ import { getLocaleName, getLocalizedUrl } from "intlayer";
429
+ import { useLocale } from "svelte-intlayer";
430
+ import { push } from "svelte-spa-router";
431
+
432
+ export let currentLocale: string | undefined = undefined;
433
+
434
+ // locale जानकारी प्राप्त करें
435
+ const { locale, availableLocales } = useLocale();
436
+
437
+ // locale परिवर्तन को संभालें
438
+ const changeLocale = (event: Event) => {
439
+ const target = event.target as HTMLSelectElement;
440
+ const newLocale = target.value;
441
+ const currentUrl = window.location.pathname;
442
+ const url = getLocalizedUrl( currentUrl, newLocale);
443
+ push(url);
444
+ };
445
+ </script>
446
+
447
+ <div class="locale-switcher">
448
+ <select value={currentLocale ?? $locale} onchange={changeLocale}>
449
+ {#each availableLocales ?? [] as loc}
450
+ <option value={loc}>
451
+ {getLocaleName(loc)}
452
+ </option>
453
+ {/each}
454
+ </select>
455
+ </div>
456
+ ```
265
457
 
266
458
  ### Git कॉन्फ़िगरेशन
267
459
 
268
- सुझाव दिया जाता है कि Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा किया जाए। इससे आप उन्हें अपने Git रिपॉजिटरी में कमिट करने से बच सकते हैं।
460
+ यह अनुशंसा की जाती है कि Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा किया जाए। इससे आप उन्हें अपने Git रिपॉजिटरी में कमिट करने से बच सकते हैं।
269
461
 
270
- इसे करने के लिए, आप अपनी `.gitignore` फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
462
+ ऐसा करने के लिए, आप अपनी `.gitignore` फ़ाइल में निम्नलिखित निर्देश जोड़ सकते हैं:
271
463
 
272
464
  ```plaintext
273
465
  # Intlayer द्वारा उत्पन्न फ़ाइलों को अनदेखा करें
@@ -276,23 +468,21 @@ module.exports = appContent;
276
468
 
277
469
  ### VS कोड एक्सटेंशन
278
470
 
279
- Intlayer के साथ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS कोड एक्सटेंशन** इंस्टॉल कर सकते हैं।
471
+ अपने विकास अनुभव को बेहतर बनाने के लिए, आप आधिकारिक **Intlayer VS Code Extension** इंस्टॉल कर सकते हैं।
280
472
 
281
- [VS कोड मार्केटप्लेस से इंस्टॉल करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
473
+ [VS Code Marketplace से इंस्टॉल करें](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
282
474
 
283
475
  यह एक्सटेंशन प्रदान करता है:
284
476
 
285
477
  - अनुवाद कुंजियों के लिए **ऑटोकंप्लीशन**।
286
- - गायब अनुवादों के लिए **रीयल-टाइम त्रुटि पहचान**।
478
+ - गायब अनुवादों के लिए **रीयल-टाइम त्रुटि पता लगाना**।
287
479
  - अनुवादित सामग्री के **इनलाइन पूर्वावलोकन**।
288
- - अनुवादों को आसानी से बनाने और अपडेट करने के लिए **त्वरित क्रियाएँ**।
480
+ - अनुवादों को आसानी से बनाने और अपडेट करने के लिए **त्वरित क्रियाएं**।
289
481
 
290
- एक्सटेंशन का उपयोग कैसे करें, इसके लिए अधिक जानकारी के लिए देखें [Intlayer VS कोड एक्सटेंशन दस्तावेज़](https://intlayer.org/doc/vs-code-extension)।
482
+ एक्सटेंशन का उपयोग कैसे करें, इसके लिए अधिक जानकारी के लिए देखें [Intlayer VS Code Extension दस्तावेज़](https://intlayer.org/doc/vs-code-extension)।
291
483
 
292
484
  ---
293
485
 
294
486
  ### आगे बढ़ें
295
487
 
296
- आगे बढ़ने के लिए, आप [विज़ुअल एडिटर](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) को लागू कर सकते हैं या अपनी सामग्री को [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का उपयोग करके बाहरी रूप से प्रबंधित कर सकते हैं।
297
-
298
- ---
488
+ आगे बढ़ने के लिए, आप [visual editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_visual_editor.md) को लागू कर सकते हैं या अपनी सामग्री को [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/intlayer_CMS.md) का उपयोग करके बाहरी रूप से प्रबंधित कर सकते हैं।