ब्रिज मोड
i1n की टाइप-सेफ ऑटो-कंप्लीट, AI ट्रांसलेशन और फ़ाइल मैनेजमेंट को जोड़ते हुए अपनी मौजूदा i18n लाइब्रेरी को बनाए रखें।
ब्रिज मोड क्या है?
ब्रिज मोड आपको अपनी मौजूदा i18n लाइब्रेरी (i18next, react-intl, vue-i18n, ngx-translate, i18n-js) को बनाए रखने देता है, जबकि अनुवाद फ़ाइलों, AI अनुवाद और प्रकार जनरेशन को प्रबंधित करने के लिए i1n का उपयोग करता है।
registerI1n() का उपयोग करके अपनी लाइब्रेरी को एक ही लाइन से कनेक्ट करें। i1n t() फ़ंक्शन पर्दे के पीछे आपकी लाइब्रेरी को सौंपता है, लेकिन उत्पन्न i1n.d.ts से सख्त टाइप चेकिंग और पूर्ण IDE ऑटो-कंप्लीट के साथ।
लाइब्रेरी द्वारा सेटअप
प्रति लाइब्रेरी एक पंक्ति। अपनी लाइब्रेरी के अनुवाद फ़ंक्शन के साथ registerI1n() को कॉल करें और आपका काम हो गया — i1n बाकी सब संभाल लेगा। अपने विशिष्ट सेटअप के लिए नीचे दिए गए कोड उदाहरण देखें।
vue-i18n: registerI1n((key, params) => i18n.global.t(key, params)). ngx-translate (Angular): registerI1n((key, params) => translateService.instant(key, params)). i18n-js (React Native): registerI1n((key, params) => i18n.t(key, params)).
कस्टम फ़ंक्शन: registerI1n((key, params) => yourLookup(key, params))। ब्रिज मोड किसी भी ऐसे फ़ंक्शन के साथ काम करता है जो एक कुंजी और वैकल्पिक पैरामीटर लेता है और एक स्ट्रिंग लौटाता है।
यह कैसे काम करता है
registerI1n() को कॉल करने के बाद, i1n t() फ़ंक्शन के प्रत्येक कॉल को आपके पंजीकृत कॉलबैक पर अग्रेषित किया जाता है। i1n इसके ऊपर टाइप सुरक्षा जोड़ता है — यदि कोई कुंजी आपकी अनुवाद फ़ाइलों में मौजूद नहीं है, तो TypeScript कंपाइल समय पर त्रुटि पकड़ लेता है।
i1n अनुवाद फ़ाइलों (पुश, पुल, एआई अनुवाद) का प्रबंधन करना और i1n.d.ts जेनरेट करना जारी रखता है। आपकी लाइब्रेरी रनटाइम लोडिंग, इंटरपोलेशन और प्लुरलाइज़ेशन को संभालना जारी रखती है। दोनों सिस्टम सहजता से एक साथ काम करते हैं।
ब्रिज मोड बनाम स्टैंडअलोन का उपयोग कब करें
ब्रिज मोड का उपयोग तब करें जब आपके पास एक स्थापित i18n लाइब्रेरी वाला मौजूदा प्रोजेक्ट हो और आप एप्लिकेशन कोड को फिर से नहीं लिखना चाहते हों। ब्रिज मोड एक शून्य-लागत माइग्रेशन पथ प्रदान करता है — आप एक भी कंपोनेंट बदले बिना i1n के इंफ्रास्ट्रक्चर को अपना सकते हैं।
नए प्रोजेक्ट के लिए या जब आप अपनी i18n लाइब्रेरी को पूरी तरह से बदलना चाहते हैं, तो स्टैंडअलोन मोड का उपयोग करें। i1n SDK इनिशियलाइज़ेशन, इंटरपोलेशन, प्लुरलाइज़ेशन और लोकेल स्विचिंग को नेटिव रूप से संभालता है, बिना किसी बाहरी निर्भरता के।
import { registerI1n } from 'i1n'
import i18next from 'i18next'
registerI1n((key, params) => i18next.t(key, params)) import { registerI1n } from 'i1n'
import { useIntl } from 'react-intl'
const intl = useIntl()
registerI1n((key, params) => intl.formatMessage({ id: key }, params)) import { registerI1n } from 'i1n'
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
registerI1n((key, params) => t(key, params)) import { registerI1n } from 'i1n'
import { TranslateService } from '@ngx-translate/core'
constructor(private translate: TranslateService) {
registerI1n((key, params) => this.translate.instant(key, params))
} import { registerI1n } from 'i1n'
import { I18n } from 'i18n-js'
const i18n = new I18n(translations)
registerI1n((key, params) => i18n.t(key, params)) import { registerI1n } from 'i1n'
// Works with any function: (key, params?) => string
registerI1n((key, params) => myCustomLookup(key, params))