Menggunakan TacoTranslate
Menterjemah rentetan
Pada masa ini terdapat tiga cara untuk menterjemah rentetan: 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 dengan menggunakan, contohnya, as="p"
pada komponen tersebut.
Menggunakan kait useTranslation
.
Memulangkan terjemahan sebagai rentetan biasa. Berguna dalam, contohnya, 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 pada sisi pelayan. Tingkatkan 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 memulangkan terjemahan mesin. Walaupun terjemahan mesin biasanya mempunyai kualiti yang lebih rendah berbanding terjemahan AI kami, ia memberikan respons awal yang pantas.
Serentak, kami memulakan tugasan terjemahan tak segerak untuk menjana terjemahan AI berkualiti tinggi dan canggih bagi tali rentang anda. Sebaik sahaja terjemahan AI siap, ia akan menggantikan terjemahan mesin dan akan dihantar setiap kali anda meminta terjemahan untuk tali rentang anda.
Jika anda telah menterjemah rentetan secara manual, terjemahan tersebut akan diutamakan dan dikembalikan sebagai gantinya.
Menggunakan asal-usul
Projek TacoTranslate mengandungi apa yang kami panggil origins. Anggap ia sebagai pintu 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. Contohnya, anda boleh mempunyai satu origin untuk dokumentasi dan satu lagi untuk halaman pemasaran anda.
Untuk kawalan yang lebih terperinci, anda boleh menetapkan origins di peringkat komponen.
Untuk mencapainya, pertimbangkan menggunakan beberapa penyedia TacoTranslate dalam projek anda.
Sila ambil perhatian bahawa rentetan yang sama mungkin menerima terjemahan yang berbeza di origin yang berbeza.
Akhirnya, bagaimana anda memisahkan string ke dalam origins adalah terpulang kepada anda dan keperluan anda. Walau bagaimanapun, perhatikan bahawa mempunyai banyak string 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 lain-lain.
Pemboleh ubah 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}});
}
Menguruskan kandungan HTML
Secara lalai, komponen Translate
menyokong dan memaparkan kandungan HTML. Walau bagaimanapun, anda boleh memilih untuk tidak menggunakan tingkah laku ini dengan menetapkan useDangerouslySetInnerHTML
kepada false
.
Menonaktifkan rendering HTML sangat disarankan apabila menterjemah kandungan yang tidak dipercayai, seperti kandungan yang dijana 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.