उन्नत उपयोग
दाएँ-से-बाएँ भाषाओं को संभालना
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>
);
}आप प्रदान की गई isRightToLeftLocaleCode फ़ंक्शन का उपयोग React के बाहर वर्तमान भाषा की जाँच करने के लिए भी कर सकते हैं।
import {isRightToLeftLocaleCode} from 'tacotranslate';
function foo(locale = 'es') {
const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
// ...
}अनुवाद अक्षम करना
किसी स्ट्रिंग के विशिष्ट भागों के अनुवाद को अक्षम करने या यह सुनिश्चित करने के लिए कि कुछ हिस्से ज्यों के त्यों रहें, आप triple square brackets का उपयोग कर सकते हैं। यह सुविधा नामों, तकनीकी शब्दों, या किसी भी अन्य सामग्री के मूल प्रारूप को बनाए रखने के लिए उपयोगी है जिसे अनुवाद नहीं किया जाना चाहिए।
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 हुक स्तरों पर origin और locale दोनों को ओवरराइड भी कर सकते हैं।
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)}}
/>
);
}कई भाषाएँ
एक ही एप्लिकेशन में एक साथ कई भाषाओं का समर्थन करने के लिए, आप अलग-अलग locale मानों के साथ कई TacoTranslate प्रदाताओं का उपयोग कर सकते हैं, जैसा कि नीचे दिखाया गया है:
आप 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>
);
}अनुवाद आईडी का उपयोग
आप id को Translate कंपोनेंट में जोड़ सकते हैं ताकि समान स्ट्रिंग के लिए विभिन्न अनुवादों या अर्थों को संभाला जा सके। यह विशेष रूप से तब उपयोगी होता है जब वही टेक्स्ट संदर्भ के अनुसार अलग‑अलग अनुवादों की आवश्यकता करता है। अद्वितीय IDs असाइन करके, आप सुनिश्चित करते हैं कि स्ट्रिंग के प्रत्येक उदाहरण का अनुवाद उसके विशिष्ट अर्थ के अनुसार सही ढंग से किया जाए।
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” हो सकता है।