TacoTranslate
/
DokumentacijaKainodara
 
  1. Įvadas
  2. Pradžia
  3. Nustatymas ir konfigūravimas
  4. Naudojant TacoTranslate
  5. Serverio pusės atvaizdavimas
  6. Išplėstinis naudojimas
  7. Geriausios praktikos
  8. Klaidų tvarkymas ir derinimas
  9. Palaikomos kalbos

Išplėstinis naudojimas

Darbas su kalbomis, rašomomis iš dešinės į kairę

TacoTranslate palengvina iš dešinės į kairę rašančių (RTL) kalbų, tokių kaip arabų ir hebrajų, palaikymą jūsų React programose. Teisingas tokių kalbų tvarkymas užtikrina, kad jūsų turinys būtų tinkamai 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ą isRightToLeftLocaleCode funkciją, kad patikrintumėte dabartinę kalbą ne React aplinkoje.

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 nepakeisti, galite naudoti trigubus kvadratinius skliaustelius. Ši funkcija naudinga išlaikant vardų, techninių terminų ar bet kokio kito turinio, kurio versti nereikėtų, pradinį formatą.

import {Translate} from 'tacotranslate/react';

function Component() {
	return (
		<Translate string="Hello, [[[TacoTranslate]]]!" />
	);
}

Šiame pavyzdyje žodis “TacoTranslate” liks nepakitęs vertime.

Keli TacoTranslate teikėjai

Primygtinai rekomenduojame savo programoje naudoti kelis TacoTranslate teikėjus. Tai naudinga organizuojant vertimus ir eilutes į skirtingas sritis, pavyzdžiui, antraštę, poraštę ar konkrečias skiltis.

Galite sužinoti daugiau apie originų naudojimą čia.

TacoTranslate teikėjai paveldi bet kurio tėvinio teikėjo nustatymus, 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, naudodami kelis TacoTranslate tiekėjus, taip pat galite perrašyti tiek originą, tiek lokalę komponento Translate ir hook'o useTranslation 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. Perjungimo metu galite rodyti įkrovimo indikatorių, kad suteiktumėte vizualinį atsiliepimą ir pagerintumėte vartotojo patirtį.

import {useTacoTranslate} from 'tacotranslate/react';

function Component() {
	const {isLoading} = useTacoTranslate();

	return (
		isLoading ? 'Translations are loading...' : null
	);
}

Daugiskaita

Norint teisingai tvarkyti daugiskaitą ir rodyti skaičiumi pagrįstas etiketes skirtingomis kalbomis, 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 toje pačioje programoje vienu metu palaikyti kelias kalbas, 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 ta pati eilutė turėtų skirtingus vertimus arba reikšmes. Tai ypač naudinga, kai tas pats tekstas pagal kontekstą reikalauja skirtingų vertimų. Priskirdami unikalius ID užtikrinate, kad kiekvienas eilutės atvejis būtų išverstas tiksliai pagal savo 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, antraštės prisijungimas gali būti išverstas kaip “Iniciar sesión”, o poraštės prisijungimas — kaip “Acceder” ispanų kalba.

Geriausios praktikos

Produktas iš NattskiftetPagaminta Norvegijoje