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

Menggunakan TacoTranslate

Menterjemahkan rentetan

Pada masa ini terdapat tiga cara untuk menterjemahkan rentetan: Komponen Translate, hook useTranslation, atau utiliti translateEntries.


Menggunakan komponen Translate.
Memaparkan terjemahan dalam elemen span, dan menyokong pemaparan HTML.

import {Translate} from 'tacotranslate/react';

function Page() {
	return <Translate string="Hello, world!" />;
}

Anda boleh menukar jenis elemen menggunakan, contohnya, as="p" pada komponen.


Menggunakan hook useTranslation.
Mengembalikan terjemahan sebagai rentetan biasa. Berguna, contohnya, dalam tag meta.

import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';

function Page() {
	const helloWorld = useTranslation('Hello, world!');

	useEffect(() => {
		alert(helloWorld);
	}, [helloWorld]);

	return (
		<title>{useTranslation('My page title')}</title>
	);
}

Menggunakan utiliti translateEntries.
Terjemahkan rentetan di sisi pelayan. Perkasakan gambar OpenGraph anda.

import {createEntry, translateEntries} from 'tacotranslate';

async function generateMetadata(locale = 'es') {
	const title = createEntry({string: 'Hello, world!'});
	const description = createEntry({string: 'TacoTranslate on the server'});

	const translations = await translateEntries(
		tacoTranslate,
		{origin: 'opengraph', locale},
		[title, description]
	);

	return {
		title: translations(title),
		description: translations(description)
	};
}

Bagaimana rentetan diterjemahkan

Apabila rentetan sampai ke pelayan kami, kami terlebih dahulu mengesahkan dan menyimpannya, kemudian segera mengembalikan terjemahan mesin. Walaupun terjemahan mesin biasanya kurang berkualiti berbanding terjemahan AI kami, ia memberikan respons awal yang pantas.

Pada masa yang sama, kami memulakan tugas terjemahan secara tak segerak untuk menghasilkan terjemahan AI berkualiti tinggi dan termaju untuk rentetan anda. Setelah terjemahan AI siap, ia akan menggantikan terjemahan mesin dan akan dihantar setiap kali anda meminta terjemahan bagi rentetan anda.

Jika anda telah menterjemah sesuatu rentetan secara manual, terjemahan itu diutamakan dan akan dikembalikan sebagai gantinya.

Menggunakan origins

Projek TacoTranslate mengandungi apa yang kami panggil origins. Anggap ia sebagai titik masuk, folder, atau kumpulan untuk rentetan dan terjemahan anda.

import {TacoTranslate} from 'tacotranslate/react';

function Menu() {
	return (
		<TacoTranslate origin="application-menu">
			// ...
		</TacoTranslate>
	);
}

Origins membolehkan anda memisahkan rentetan ke dalam bekas yang bermakna. Sebagai contoh, anda boleh mempunyai satu origin untuk dokumentasi dan satu lagi untuk halaman pemasaran anda.

Untuk kawalan yang lebih terperinci, anda boleh menetapkan origins pada peringkat komponen.

Untuk mencapai ini, pertimbangkan menggunakan beberapa penyedia TacoTranslate dalam projek anda.

Sila ambil perhatian bahawa rentetan yang sama mungkin diterjemahkan secara berbeza dalam origin yang berbeza.

Akhirnya, bagaimana anda memisahkan rentetan ke dalam origin adalah terpulang kepada anda dan keperluan anda. Walau bagaimanapun, perhatikan bahawa mempunyai banyak rentetan dalam satu origin mungkin meningkatkan masa pemuatan.

Mengendalikan pembolehubah

Anda harus sentiasa menggunakan pembolehubah untuk kandungan dinamik, seperti nama pengguna, tarikh, alamat e-mel, dan sebagainya.

Pembolehubah dalam rentetan dinyatakan menggunakan kurungan berganda, seperti {{variable}}.

import {Translate} from 'tacotranslate/react';

function Greeting() {
	const name = 'Juan';
	return <Translate string="Hello, {{name}}!" variables={{name}} />;
}
import {useTranslation} from 'tacotranslate/react';

function useGreeting() {
	const name = 'Juan';
	return useTranslation('Hello, {{name}}!', {variables: {name}});
}

Mengurus kandungan HTML

Secara lalai, komponen Translate menyokong dan merender kandungan HTML. Walau bagaimanapun, anda boleh memilih untuk tidak menggunakan tingkah laku ini dengan menetapkan useDangerouslySetInnerHTML kepada false.

Mematikan rendering HTML sangat disyorkan apabila menterjemah kandungan yang tidak boleh dipercayai, seperti kandungan yang dihasilkan pengguna.

Semua keluaran sentiasa disanitasi dengan sanitize-html sebelum dipaparkan.

import {Translate} from 'tacotranslate/react';

function Page() {
	return (
		<Translate
			string={`
				Welcome to <strong>my</strong> website.
				I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
			`}
			variables={{url: 'https://tacotranslate.com'}}
			useDangerouslySetInnerHTML={false}
		/>
	);
}

Contoh di atas akan dipaparkan sebagai teks biasa.

Pemerenderan di sisi pelayan

Produk daripada NattskiftetDibuat di Norway