Typesafe-i18n TypeScript: पूर्ण गाइड उदाहरण और सेटअप

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Typesafe-i18n: TypeScript में पूर्ण टाइप सपोर्ट के साथ अंतर्राष्ट्रीयकरण

आधुनिक वेब डेवलपमेंट में, अंतर्राष्ट्रीयकरण (i18n) सिर्फ टेक्स्ट का अनुवाद नहीं है, बल्कि लोकलाइज़ेशन प्रबंधन की एक पूरी प्रणाली है। Typesafe-i18n एक TypeScript लाइब्रेरी है जो अंतर्राष्ट्रीयकरण को एक नए स्तर पर ले जाती है, अनुवाद लिखने से लेकर कोड में उपयोग करने तक हर चरण में पूर्ण टाइप सुरक्षा प्रदान करती है।

इस लाइब्रेरी की आवश्यकता क्यों है? पारंपरिक i18n समाधान (जैसे i18next) अक्सर डायनामिक स्ट्रिंग्स के साथ काम करते हैं, जिससे त्रुटियाँ होती हैं: कीज़ में टाइपो, गलत आर्गुमेंट्स या गायब अनुवाद। Typesafe-i18n इस समस्या को मौलिक रूप से हल करता है: यदि आपने LL.WELCOME({name: "राहुल"}) लिखा है, तो TypeScript जाँच करेगा कि WELCOME की मौजूद है या नहीं, क्या यह name पैरामीटर स्वीकार करता है और यह पैरामीटर किस प्रकार का है। लोकलाइज़ेशन त्रुटियाँ कंपाइलेशन त्रुटियाँ बन जाती हैं, runtime बग नहीं।

यह लाइब्रेरी उन प्रोजेक्ट्स के लिए आदर्श है जहाँ सख्त टाइपिंग महत्वपूर्ण है: React/Vue/Angular एप्लिकेशन, Node.js सर्वर, कम्पोनेंट लाइब्रेरीज़। यह बहुवचन, इंटरपोलेशन, नेस्टेड कीज़, एसिंक्रोनस लोडिंग और आपकी अनुवाद फ़ाइलों के आधार पर टाइप जनरेशन का समर्थन करता है। इस लेख में हम Typesafe-i18n के सभी पहलुओं को कवर करेंगे: इंस्टॉलेशन से लेकर उन्नत तकनीकों तक।

इंस्टॉलेशन

इंस्टॉलेशन npm (या yarn/pnpm) के माध्यम से किया जाता है:

npm install typesafe-i18n

टाइप और अनुवाद फ़ाइलें जनरेट करने के लिए एक अतिरिक्त पैकेज की आवश्यकता होगी:

npm install --save-dev typesafe-i18n-cli

इंस्टॉलेशन के बाद प्रोजेक्ट को इनिशियलाइज़ करें:

npx typesafe-i18n --init

यह कमांड बेसिक फ़ोल्डर संरचना और कॉन्फ़िगरेशन फ़ाइलें बनाएगा।

त्वरित शुरुआत: न्यूनतम कार्यशील उदाहरण

एक सरल एप्लिकेशन बनाते हैं जो उपयोगकर्ता का विभिन्न भाषाओं में स्वागत करता है।

चरण 1: अनुवाद फ़ाइल बनाएँ

फ़ाइल src/i18n/en/index.ts बनाएँ:

import type { Translation } from '../i18n-types'

const en: Translation = {
   HI: 'Hello {name}!',
   GOODBYE: 'Goodbye, {name}!'
}

export default en

चरण 2: हिंदी के लिए अनुवाद फ़ाइल बनाएँ

फ़ाइल src/i18n/hi/index.ts बनाएँ:

import type { Translation } from '../i18n-types'

const hi: Translation = {
   HI: 'नमस्ते {name}!',
   GOODBYE: 'अलविदा, {name}!'
}

export default hi

चरण 3: टाइप जनरेशन चलाएँ

npx typesafe-i18n

चरण 4: कोड में उपयोग करें

import { i18n } from './i18n/i18n-util'
import { loadLocale } from './i18n/i18n-util.sync'
import { L } from './i18n/i18n-util'

// लोकेल लोड करें
loadLocale('en')
loadLocale('hi')

// अंग्रेजी के लिए इंस्टेंस बनाएँ
const LL_en = i18n('en')
console.log(LL_en.HI({ name: 'Alex' })) // आउटपुट: Hello Alex!

// हिंदी पर स्विच करें
const LL_hi = i18n('hi')
console.log(LL_hi.HI({ name: 'राहुल' })) // आउटपुट: नमस्ते राहुल!

ध्यान दें: यदि आप LL_en.HI() को बिना name आर्गुमेंट के कॉल करने का प्रयास करते हैं, तो TypeScript कंपाइलेशन त्रुटि देगा। यदि आप की में टाइपो करते हैं (LL_en.Hello) — फिर से त्रुटि।

मुख्य तरीके और फंक्शन

Typesafe-i18n लाइब्रेरी के 8 प्रमुख फंक्शन और तरीकों पर नज़र डालते हैं।

1. i18n(locale: Locales): TranslationFunctions

सिग्नेचर: i18n(locale: Locales): TranslationFunctions

कार्य: निर्दिष्ट लोकेल के लिए अनुवादक का इंस्टेंस बनाता है। सभी अनुवाद फंक्शन वाला ऑब्जेक्ट लौटाता है।


  
  

अनुशंसाएँ