TacoTranslatea käyttäminen
Merkkijonojen kääntäminen
Tällä hetkellä on kolme tapaa kääntää merkkijonoja: Translate
-komponentti, useTranslation
-hook tai translateEntries
-apuohjelma.
Translate
-komponentin käyttäminen.
Tuottaa käännökset span
-elementin sisälle ja tukee HTML:n renderöintiä.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Voit muuttaa elementin tyyppiä käyttämällä komponentissa esimerkiksi as="p"
.
useTranslation
-hookin käyttö.
Palauttaa käännökset tavallisena merkkijonona. Hyödyllinen esimerkiksi meta
-tageissa.
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>
);
}
translateEntries
-apuohjelman käyttäminen.
Käännä merkkijonot palvelinpuolella. Tehosta OpenGraph-kuviasi.
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)
};
}
Miten merkkijonot käännetään
Kun merkkijonot saapuvat palvelimillemme, tarkistamme ja tallennamme ne ensin ja palautamme välittömästi konekäännöksen. Vaikka konekäännökset ovat yleensä laadultaan heikompia kuin tekoälykäännöksemme, ne tarjoavat nopean alkuvastauksen.
Samanaikaisesti käynnistämme asynkronisen käännöstehtävän tuottaaksemme korkealaatuisen, huippuluokan tekoälykäännöksen merkkijonollesi. Kun tekoälykäännös on valmis, se korvaa konekäännöksen ja lähetetään aina, kun pyydät käännöksiä merkkijonoillesi.
Jos olet kääntänyt merkkijonon manuaalisesti, nuo käännökset ovat etusijalla ja ne palautetaan sen sijaan.
Originien käyttäminen
TacoTranslate-projektit sisältävät sitä, mitä kutsumme origins-kohteiksi. Ajattele niitä sisäänkäyntipisteiksi, kansioiksi tai ryhmiksi merkkijonoillesi ja käännöksillesi.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Originien avulla voit jakaa merkkijonot tarkoituksenmukaisiin kokonaisuuksiin. Esimerkiksi voit käyttää yhtä originia dokumentaatiolle ja toista markkinointisivullesi.
Tarkempaan hallintaan voit määrittää originit komponenttitasolla.
Tämän saavuttamiseksi harkitse useampien TacoTranslate tarjoajien käyttöä projektissasi.
Huomaa, että sama merkkijono voi saada eri käännöksiä eri alkuperissä.
Lopulta se, miten erotat merkkijonot origin-ryhmiin, riippuu sinusta ja tarpeistasi. Huomaa kuitenkin, että jos yhdessä originissa on paljon merkkijonoja, latausajat voivat kasvaa.
Muuttujien käsittely
Käytä aina muuttujia dynaamiseen sisältöön, kuten käyttäjänimiin, päivämääriin, sähköpostiosoitteisiin ja muuhun.
Merkkijonoissa käytetään muuttujien merkitsemiseen kahden aaltosulkeen muodostamaa syntaksia, kuten {{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}});
}
HTML-sisällön hallinta
Oletusarvoisesti Translate
-komponentti tukee ja renderöi HTML-sisältöä. Voit kuitenkin poistaa tämän käytöstä asettamalla useDangerouslySetInnerHTML
arvoksi false
.
HTML:n renderoinnin poistaminen käytöstä on erittäin suositeltavaa, kun käännetään epäluotettavaa sisältöä, kuten käyttäjien luomaa sisältöä.
Kaikki tulosteet puhdistetaan aina sanitize-html ennen niiden renderöintiä.
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}
/>
);
}
Yllä oleva esimerkki näytetään pelkkänä tekstinä.