TacoTranslate
/
DokumentasiHarga
 
  1. Pengenalan
  2. Mula
  3. Persediaan dan konfigurasi
  4. Menggunakan TacoTranslate
  5. Rendering di sisi pelayan
  6. Penggunaan lanjutan
  7. Amalan terbaik
  8. Pengendalian ralat dan penyahpepijatan
  9. Bahasa yang disokong

Penggunaan lanjutan

Menangani bahasa dari kanan ke kiri

TacoTranslate memudahkan menyokong bahasa yang ditulis dari kanan ke kiri (RTL), seperti Bahasa Arab dan Ibrani, dalam aplikasi React anda. Pengendalian yang betul terhadap bahasa RTL memastikan kandungan anda dipaparkan dengan betul untuk pengguna yang membaca dari kanan ke kiri.

import {useTacoTranslate} from 'tacotranslate/react';

function Document() {
	const {locale, isRightToLeft} = useTacoTranslate();

	return (
		<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
			<body>
				// ...
			</body>
		</html>
	);
}

Anda juga boleh menggunakan fungsi isRightToLeftLocaleCode yang disediakan untuk memeriksa bahasa semasa di luar React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

function foo(locale = 'es') {
	const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
	// ...
}

Mematikan terjemahan

Untuk menyahaktifkan terjemahan bagi bahagian tertentu dalam sesuatu rentetan atau untuk memastikan segmen tertentu dikekalkan seperti asal, anda boleh menggunakan tiga tanda kurungan siku. Ciri ini berguna untuk mengekalkan format asal bagi nama, istilah teknikal, atau apa-apa kandungan lain yang tidak sepatutnya diterjemahkan.

import {Translate} from 'tacotranslate/react';

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

Dalam contoh ini, perkataan “TacoTranslate” akan kekal tidak berubah dalam terjemahan.

Beberapa penyedia TacoTranslate

Kami sangat menggalakkan menggunakan beberapa TacoTranslate penyedia dalam aplikasi anda. Ini berguna untuk mengatur terjemahan dan rentetan anda ke dalam sumber yang berbeza, seperti bahagian atas, bahagian bawah, atau seksyen tertentu.

Anda boleh membaca lebih lanjut tentang penggunaan origins di sini.

Penyedia TacoTranslate mewarisi tetapan daripada mana-mana penyedia induk, jadi anda tidak perlu mengulangi sebarang tetapan lain.

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>
	);
}

Menimpa asal atau tetapan tempatan

Selain menggunakan beberapa penyedia TacoTranslate, anda juga boleh menimpa kedua-dua nilai asal dan lokal pada peringkat komponen Translate dan peringkat hook useTranslation.

import {Translate, useTranslation} from 'tacotranslate/react';

function Greeting() {
	const spanishHello = useTranslation('Hello!', {locale: 'es'});

	return (
		<>
			{spanishHello}
			<Translate string="What’s up?" origin="greeting" />
		</>
	);
}

Mengendalikan pemuatan

Apabila menukar bahasa di sisi klien, memuatkan terjemahan mungkin mengambil masa beberapa saat bergantung pada sambungan pengguna. Anda boleh memaparkan indikator pemuatan untuk meningkatkan pengalaman pengguna dengan memberi maklum balas visual semasa pertukaran.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Pluralisasi

Untuk mengendalikan pluralisasi dan memaparkan label berasaskan bilangan dengan betul dalam pelbagai bahasa, ini dianggap sebagai amalan terbaik:

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)}}
		/>
	);
}

Pelbagai bahasa

Untuk menyokong berbilang bahasa secara serentak dalam aplikasi yang sama, anda boleh menggunakan beberapa penyedia TacoTranslate dengan nilai locale yang berbeza seperti yang ditunjukkan di bawah:

Anda juga boleh menimpa locale pada peringkat komponen atau hook.

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>
	);
}

Menggunakan ID terjemahan

Anda boleh menambah id pada komponen Translate untuk mengurus terjemahan atau makna yang berbeza bagi rentetan yang sama. Ini sangat berguna apabila teks yang sama memerlukan terjemahan berbeza bergantung pada konteks. Dengan memberikan ID unik, anda memastikan setiap contoh rentetan diterjemahkan dengan tepat mengikut makna tertentu.

import {Translate} from 'tacotranslate/react';

function Header() {
	return (
		<Translate id="header" string="Login" />
	);
}

function Footer() {
	return (
		<Translate id="footer" string="Login" />
	);
}

Sebagai contoh, log masuk pada header mungkin diterjemahkan kepada “Iniciar sesión”, dan log masuk pada footer mungkin diterjemahkan kepada “Acceder” dalam bahasa Sepanyol.

Amalan terbaik

Sebuah produk daripada NattskiftetDibuat di Norway