उन्नत उपयोग
दाएँ-से-बाएँ भाषाओं को संभालना
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';
// ...
}अनुवाद अक्षम करना
किसी स्ट्रिंग के विशिष्ट हिस्सों के अनुवाद को अक्षम करने के लिए या यह सुनिश्चित करने के लिए कि कुछ खंड वैसे ही संरक्षित रहें, आप ट्रिपल स्क्वायर ब्रैकेट्स का उपयोग कर सकते हैं। यह सुविधा नामों, तकनीकी शब्दों, या किसी भी अन्य सामग्री के मूल स्वरूप को बनाए रखने के लिए उपयोगी है जिसे अनुवाद नहीं किया जाना चाहिए।
import {Translate} from 'tacotranslate/react';
function Component() {
return (
<Translate string="Hello, [[[TacoTranslate]]]!" />
);
}इस उदाहरण में, शब्द “TacoTranslate” अनुवाद में अपरिवर्तित रहेगा।
कई TacoTranslate प्रदाता
हम आपकी ऐप में कई TacoTranslate प्रदाताओं का उपयोग करने की दृढ़ सिफारिश करते हैं। यह आपके अनुवादों और स्ट्रिंग्स को विभिन्न ओरिजिनों, जैसे कि हेडर, फ़ूटर, या विशिष्ट सेक्शनों में व्यवस्थित करने के लिए उपयोगी है।
आप यहाँ origins के उपयोग के बारे में और पढ़ सकते हैं।
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)}}
/>
);
}कई भाषाएँ
एक ही एप्लिकेशन के भीतर एक साथ कई भाषाओं का समर्थन करने के लिए, आप कई 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>
);
}अनुवाद आईडीज़ का उपयोग
आप id को Translate कंपोनेंट में जोड़ सकते हैं ताकि एक ही स्ट्रिंग के विभिन्न अनुवादों या अर्थों को संभाला जा सके। यह विशेष रूप से तब उपयोगी होता है जब एक ही टेक्स्ट को संदर्भ के आधार पर अलग-अलग अनुवादों की आवश्यकता होती है। अनूठी आईडी असाइन करके आप सुनिश्चित करते हैं कि स्ट्रिंग के प्रत्येक उदाहरण का अनुवाद उसके विशिष्ट अर्थ के अनुसार सटीक रूप से किया जाए।
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” हो सकता है।