Išplėstinis naudojimas
Kalbų, rašomų iš dešinės į kairę, tvarkymas
TacoTranslate palengvina dešinės į kairę (RTL) kalbų, pvz., arabų ir hebrajų, palaikymą jūsų React programose. Tinkamas RTL kalbų tvarkymas užtikrina, kad jūsų turinys būtų teisingai rodomas vartotojams, kurie skaito iš dešinės į kairę.
import {useTacoTranslate} from 'tacotranslate/react';
function Document() {
const {locale, isRightToLeft} = useTacoTranslate();
return (
<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
<body>
// ...
</body>
</html>
);
}Taip pat galite naudoti pateiktą funkciją isRightToLeftLocaleCode norėdami patikrinti dabartinę kalbą už React ribų.
import {isRightToLeftLocaleCode} from 'tacotranslate';
function foo(locale = 'es') {
const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
// ...
}Vertimo išjungimas
Norėdami išjungti vertimą tam tikroms eilutės dalims arba užtikrinti, kad tam tikri segmentai būtų palikti nepakitę, galite naudoti trigubas kvadratines skliausteles. Ši funkcija naudinga išsaugant vardų, techninių terminų ar bet kokio kito turinio, kurio nereikėtų versti, pradinį formatą.
import {Translate} from 'tacotranslate/react';
function Component() {
return (
<Translate string="Hello, [[[TacoTranslate]]]!" />
);
}Šiame pavyzdyje žodis „TacoTranslate“ vertime liks nepakeistas.
Keli TacoTranslate teikėjai
Mes labai rekomenduojame naudoti kelis TacoTranslate tiekėjus savo programoje. Tai naudinga tvarkant vertimus ir tekstus skirtinguose originuose, pavyzdžiui, jūsų antraštėje, poraštėje ar konkrečiose skiltyse.
Galite daugiau sužinoti apie originų naudojimą čia.
TacoTranslate teikėjai paveldi nustatymus iš bet kurio tėvinio teikėjo, todėl jums nereikės kartoti jokių kitų nustatymų.
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>
);
}Origin arba lokalės perrašymas
Be to, naudojant kelis TacoTranslate teikėjus, taip pat galite perrašyti tiek originą, tiek lokalę Translate komponento ir useTranslation hook lygiuose.
import {Translate, useTranslation} from 'tacotranslate/react';
function Greeting() {
const spanishHello = useTranslation('Hello!', {locale: 'es'});
return (
<>
{spanishHello}
<Translate string="What’s up?" origin="greeting" />
</>
);
}Krovimo tvarkymas
Keičiant kalbą kliento pusėje, vertimų užkrovimas gali užtrukti kelias akimirkas, priklausomai nuo vartotojo ryšio. Galite rodyti užkrovimo indikatorius, kad pagerintumėte vartotojo patirtį, suteikdami vizualinę grįžtamąją informaciją perjungimo metu.
import {useTacoTranslate} from 'tacotranslate/react';
function Component() {
const {isLoading} = useTacoTranslate();
return (
isLoading ? 'Translations are loading...' : null
);
}Daugiskaita
Kad daugiskaita ir skaičiumi pagrįstos etiketės skirtingomis kalbomis būtų rodomos tinkamai, tai laikoma gerąja praktika:
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)}}
/>
);
}Kelios kalbos
Norėdami vienu metu palaikyti kelias kalbas toje pačioje programoje, galite naudoti kelis TacoTranslate teikėjus su skirtingomis locale reikšmėmis, kaip parodyta žemiau:
Taip pat galite perrašyti locale komponento arba hook lygmenyje.
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>
);
}Vertimų ID naudojimas
Galite pridėti id prie Translate komponento, kad būtų galima tvarkyti tos pačios eilutės skirtingus vertimus arba reikšmes. Tai ypač naudinga, kai tas pats tekstas priklausomai nuo konteksto reikalauja skirtingų vertimų. Priskirdami unikalius ID, užtikrinate, kad kiekvienas eilutės atvejis būtų išverstas tiksliai pagal jo konkrečią reikšmę.
import {Translate} from 'tacotranslate/react';
function Header() {
return (
<Translate id="header" string="Login" />
);
}
function Footer() {
return (
<Translate id="footer" string="Login" />
);
}Pavyzdžiui, prisijungimo tekstas antraštėje gali būti išverstas kaip “Iniciar sesión”, o prisijungimo tekstas poraštėje — kaip “Acceder” ispaniškai.