Defnyddio TacoTranslate
Cyfieithu llinynnau
Mae tair ffordd ar hyn o bryd i gyfieithu llinynnau: y cydran Translate, y hook useTranslation, neu'r offeryn translateEntries.
Defnyddio'r cydran Translate.
Yn dychwelyd cyfieithiadau o fewn elfen span, ac yn cefnogi rendro HTML.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Gallwch newid math yr elfen gan ddefnyddio, er enghraifft, as="p" ar y cydran.
Defnyddio'r useTranslation hook.
Dychwelir cyfieithiadau fel llinyn syml. Defnyddiol, er enghraifft, mewn tagiau 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>
);
}Defnyddio'r offeryn translateEntries.
Cyfieithwch stringiau ar ochr y gweinydd. Gwella eich delweddau OpenGraph yn sylweddol.
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)
};
}Sut mae llinynnau yn cael eu cyfieithu
Pan fydd y llinynnau yn cyrraedd ein gweinyddion, rydym yn eu dilysu ac yn eu storio'n gyntaf, ac yna'n dychwelyd cyfieithiad peiriant ar unwaith. Er bod cyfieithiadau peiriant fel arfer o ansawdd is nag ein cyfieithiadau AI, maen nhw'n darparu ymateb cychwynnol cyflym.
Ar yr un pryd, rydym yn cychwyn gwaith cyfieithu cefndir i gynhyrchu cyfieithiad AI o'r radd flaenaf ar gyfer eich llinyn. Unwaith y bydd y cyfieithiad AI yn barod, bydd yn disodli'r cyfieithiad peiriant ac fe'i hanfonir bob tro y byddwch yn gofyn am gyfieithiadau ar gyfer eich llinynnau.
Os ydych wedi cyfieithu llinyn â llaw, mae'r cyfieithiadau hynny'n cael blaenoriaeth ac fe'u dychwelir yn eu lle.
Defnyddio tarddiadau
Mae prosiectau TacoTranslate yn cynnwys yr hyn a elwir yn tarddiadau. Ystyriwch nhw fel pwyntiau mynediad, ffolderi, neu grwpiau ar gyfer eich llinynnau a'ch cyfieithiadau.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Mae Tarddiadau yn eich galluogi i wahanu llinynnau i mewn i gynwysyddion ystyrus. Er enghraifft, gallwch gael un tarddiad ar gyfer dogfennaeth a tarddiad arall ar gyfer eich tudalen farchnata.
I gael rheolaeth fwy manwl, gallech sefydlu origins ar lefel y cydran.
I gyflawni hyn, ystyriwch ddefnyddio sawl darparwr TacoTranslate o fewn eich prosiect.
Sylwch y gall yr un llinyn gael cyfieithiadau gwahanol mewn tarddiadau gwahanol.
Yn y pen draw, chi sy'n penderfynu sut i rannu'r llinynnau mewn origins, yn unol â'ch anghenion. Fodd bynnag, nodwch y gall cael llawer o llinynnau mewn un origin gynyddu'r amser llwytho.
Delio â newidynnau
Dylech bob amser ddefnyddio newidynnau ar gyfer cynnwys deinamig, megis enwau defnyddwyr, dyddiadau, cyfeiriadau e-bost, a mwy.
Mae newidynnau mewn llinynnau yn cael eu datgan gan ddefnyddio cromfachau dwbl, fel {{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}});
}Rheoli cynnwys HTML
Yn ddiofyn, mae'r cydran Translate yn cefnogi ac yn arddangos cynnwys HTML. Fodd bynnag, gallwch ddewis peidio â defnyddio'r ymddygiad hwn drwy osod useDangerouslySetInnerHTML i false.
Argymhellir yn gryf analluogi rendro HTML pan fyddwch yn cyfieithu cynnwys nad yw'n ymddiriedadwy, megis cynnwys a gynhyrchir gan ddefnyddwyr.
Mae pob allbwn bob amser yn cael ei lanhau gan sanitize-html cyn ei arddangos.
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}
/>
);
}Bydd yr enghraifft uchod yn cael ei arddangos fel testun plaen.