Menggunakan TacoTranslate
Menterjemah rentetan teks
Terdapat tiga cara untuk menterjemah rentetan teks pada masa ini: Komponen Translate
, kait useTranslation
, atau utiliti translateEntries
.
Menggunakan komponen Translate
.
Menghasilkan terjemahan dalam elemen span
, dan menyokong rendering 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 useTranslation
hook.
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. Mantapkan imej 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 mula-mula mengesahkan dan menyimpannya, kemudian segera mengembalikan terjemahan mesin. Walaupun terjemahan mesin biasanya berkualiti lebih rendah berbanding terjemahan AI kami, ia memberikan respons awal yang pantas.
Serentak, kami memulakan tugasan terjemahan tak segerak untuk menghasilkan terjemahan AI berkualiti tinggi dan canggih bagi rentetan anda. Sebaik sahaja terjemahan AI siap, ia akan menggantikan terjemahan mesin dan dihantar setiap kali anda meminta terjemahan bagi rentetan anda.
Jika anda telah menterjemah sebuah string secara manual, terjemahan tersebut diutamakan dan akan dikembalikan sebagai gantinya.
Memanfaatkan asal-usul
Projek TacoTranslate mengandungi apa yang kami panggil origins. Anggap ia sebagai titik kemasukan, 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 menerima terjemahan yang berbeza dalam asal yang berbeza.
Akhirnya, cara anda memisahkan rentetan ke dalam origins adalah bergantung 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 pemboleh ubah untuk kandungan dinamik, seperti nama pengguna, tarikh, alamat e-mel, dan banyak lagi.
Pemboleh ubah dalam string diumumkan 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}});
}
Menguruskan kandungan HTML
Secara lalai, komponen Translate
menyokong dan memaparkan kandungan HTML. Walau bagaimanapun, anda boleh menolak tingkah laku ini dengan menetapkan useDangerouslySetInnerHTML
kepada false
.
Melumpuhkan rendering HTML sangat disarankan apabila menterjemah kandungan yang tidak dipercayai, seperti kandungan yang dihasilkan oleh pengguna.
Semua output 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.