उन्नत उपयोग
दाएँ से बाएँ भाषाओं को संभालना
TacoTranslate आपके React एप्लिकेशन में अरबी और हिब्रू जैसी दाएं से बाएं (RTL) भाषाओं का समर्थन करना आसान बनाता है। RTL भाषाओं का उचित प्रबंधन यह सुनिश्चित करता है कि आपकी सामग्री उन उपयोगकर्ताओं के लिए सही तरीके से प्रदर्शित हो जो दाएं से बाएं पढ़ते हैं।
import {useTacoTranslate} from 'tacotranslate/react';
function Document() {
const {locale, isRightToLeft} = useTacoTranslate();
return (
<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
<body>
// ...
</body>
</html>
);
}
आप वर्तमान भाषा की जांच करने के लिए React के बाहर प्रदान किया गया isRightToLeftLocaleCode
फ़ंक्शन भी उपयोग कर सकते हैं।
import {isRightToLeftLocaleCode} from 'tacotranslate';
function foo(locale = 'es') {
const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
// ...
}
अनुवाद अक्षम करना
किसी स्ट्रिंग के विशिष्ट भागों के अनुवाद को अक्षम करने के लिए या यह सुनिश्चित करने के लिए कि कुछ खंड वैसे ही संरक्षित रहें, आप त्रिगुणित चौकोर कोष्ठकों का उपयोग कर सकते हैं। यह फीचर नामों, तकनीकी शब्दों, या किसी भी अन्य सामग्री का मूल स्वरूप बनाए रखने के लिए उपयोगी है जिसे अनुवादित नहीं किया जाना चाहिए।
import {Translate} from 'tacotranslate/react';
function Component() {
return (
<Translate string="Hello, [[[TacoTranslate]]]!" />
);
}
इस उदाहरण में, शब्द “TacoTranslate” अनुवाद में अपरिवर्तित रहेगा।
कई TacoTranslate प्रदाता
हम आपके ऐप में कई TacoTranslate
प्रदाताओं का उपयोग करने के लिए दृढ़ता से प्रोत्साहित करते हैं। यह आपके अनुवादों और स्ट्रिंग्स को अलग-अलग स्रोतों में व्यवस्थित करने के लिए उपयोगी है, जैसे कि आपका हेडर, फ़ूटर, या विशिष्ट सेक्शन।
आप यहाँ उत्पत्तियों का उपयोग करने के बारे में अधिक पढ़ सकते हैं।
TacoTranslate
प्रदाता किसी भी पैरेंट प्रदाता से सेटिंग्स विरासत में लेते हैं, इसलिए आपको कोई अन्य सेटिंग दोहराने की आवश्यकता नहीं होगी।
import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate} from 'tacotranslate/react';
const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});
function Header() {
return (
<TacoTranslate origin="header">
// ...
</TacoTranslate>
);
}
function Menu() {
return (
<TacoTranslate origin="menu">
// ...
</TacoTranslate>
);
}
export default function App() {
return (
<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
<Header />
<Menu />
</TacoTranslate>
);
}
मूल या क्षेत्र को ओवरराइड करना
कई TacoTranslate
प्रदाताओं का उपयोग करने के अलावा, आप Translate
कंपोनेंट और useTranslation
हुक स्तरों पर मूल और स्थानीय दोनों को भी ओवरराइड कर सकते हैं।
import {Translate, useTranslation} from 'tacotranslate/react';
function Greeting() {
const spanishHello = useTranslation('Hello!', {locale: 'es'});
return (
<>
{spanishHello}
<Translate string="What’s up?" origin="greeting" />
</>
);
}
लोडिंग हैंडल करना
क्लाइंट साइड पर भाषा बदलते समय, उपयोगकर्ता के कनेक्शन पर निर्भर करते हुए अनुवाद प्राप्त करने में कुछ क्षण लग सकते हैं। आप स्विच के दौरान दृश्य प्रतिक्रिया प्रदान करके उपयोगकर्ता अनुभव को बेहतर बनाने के लिए एक लोडिंग संकेतक दिखा सकते हैं।
import {useTacoTranslate} from 'tacotranslate/react';
function Component() {
const {isLoading} = useTacoTranslate();
return (
isLoading ? 'Translations are loading...' : null
);
}
बहुवचनकरण
विभक्तिवचन को संभालने और विभिन्न भाषाओं में गणना-आधारित लेबलों को सही ढंग से प्रदर्शित करने के लिए, इसे सर्वोत्तम अभ्यास माना जाता है:
import {Translate, useLocale} from 'tacotranslate/react';
function PhotoCount() {
const locale = useLocale();
const count = 1;
return count === 0 ? (
<Translate string="You have no photos." />
) : count === 1 ? (
<Translate string="You have 1 photo." />
) : (
<Translate
string="You have {{count}} photos."
variables={{count: count.toLocaleString(locale)}}
/>
);
}
एकाधिक भाषाएँ
एक ही एप्लिकेशन में एक साथ कई भाषाओं का समर्थन करने के लिए, आप कई TacoTranslate
प्रदाताओं का उपयोग कर सकते हैं, जिनके पास विभिन्न locale
मान हों, जैसा कि नीचे दिखाया गया है:
आप locale
को कम्पोनेंट या हुक स्तर पर भी ओवरराइड कर सकते हैं।
import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate, Translate} from 'tacotranslate/react';
const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});
function Spanish() {
return (
<TacoTranslate locale="es">
<Translate string="Hello, world in Spanish!" />
</TacoTranslate>
);
}
function Norwegian() {
return (
<TacoTranslate locale="no">
<Translate string="Hello, world in Norwegian!" />
</TacoTranslate>
);
}
export default function App() {
return (
<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
<Spanish />
<Norwegian />
</TacoTranslate>
);
}
अनुवाद आईडी का उपयोग करना
आप Translate
कंपोनेंट में id
जोड़ सकते हैं ताकि एक ही स्ट्रिंग के लिए अलग-अलग अनुवाद या अर्थों को हैंडल किया जा सके। यह विशेष रूप से तब उपयोगी होता है जब एक ही टेक्स्ट को संदर्भ के आधार पर अलग-अलग अनुवादों की आवश्यकता होती है। अद्वितीय आईडी असाइन करके, आप सुनिश्चित करते हैं कि स्ट्रिंग के प्रत्येक उदाहरण का अनुवाद उसके विशिष्ट अर्थ के अनुसार सही ढंग से किया जाए।
import {Translate} from 'tacotranslate/react';
function Header() {
return (
<Translate id="header" string="Login" />
);
}
function Footer() {
return (
<Translate id="footer" string="Login" />
);
}
उदाहरण के लिए, हेडर लॉगिन का अनुवाद स्पैनिश में “Iniciar sesión” हो सकता है, और फूटर लॉगिन का अनुवाद “Acceder” हो सकता है।