Defnyddio TacoTranslate
Cyfieithu llinynnau
Ar hyn o bryd mae tair ffordd i gyfieithu cadwyni: y cydran Translate
, y hook useTranslation
, neu'r cyfleustod translateEntries
.
Defnyddio'r cydran Translate
.
Yn allbynnu cyfieithiadau o fewn elfen span
, ac yn cefnogi rendro HTML.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Gallwch newid y math o elfennau gan ddefnyddio, er enghraifft, as="p"
ar y cydran.
Defnyddio useTranslation
hook.
Yn dychwelyd cyfieithiadau fel llinyn syml. Defnyddiol mewn, er enghraifft, 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 gweithgareddwr translateEntries
Cyfieithwch greiniau ar ochr y gweinydd. Rhagorwch eich delwedau OpenGraph.
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 rhain yn cyrraedd ein gweinyddion, rydym yn eu dilysu a'u cadw yn gyntaf, yna'n dychwelyd cyfieithiad peiriant yn syth. Er bod cyfieithiadau peiriant yn gyffredinol o ansawdd is na'n cyfieithiadau Deallusrwydd Artiffisial (AI), maent yn darparu ymateb cychwynnol cyflym.
Ar yr un pryd, rydym yn dechrau swydd cyfieithu anhrefn er mwyn creu cyfieithiad AI o ansawdd uchel ac o'r radd flaenaf ar gyfer eich llinyn. Unwaith y bydd y cyfieithiad AI yn barod, bydd yn disodli'r cyfieithiad peiriant a bydd yn cael ei anfon pa bryd bynnag y gofynnwch am gyfieithiadau ar gyfer eich llinellau.
Os ydych wedi cyfieithu llinyn â llaw, mae’r cyfieithiadau hynny’n cael blaenoriaeth ac yn cael eu dychwelyd yn lle hynny.
Defnyddio tarddiadau
Mae prosiectau TacoTranslate yn cynnwys yr hyn a alwn yn ffynonellau. Meddyliwch amdanynt 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 Tirffurfiau yn eich galluogi i wahanu chwaith mewn cynwysyddion ystyrlon. Er enghraifft, gallech fod ag un tirffurf ar gyfer dogfennaeth a thirffurf arall ar gyfer eich tudalen farchnata.
Am fwy o reolaeth fanwl, gallech sefydlu tarddiadau ar lefel y cydran.
I gyflawni hyn, ystyriwch ddefnyddio sawl darparwr TacoTranslate o fewn eich prosiect.
Sylwer y gall yr un llinyn dderbyn cyfieithiadau gwahanol mewn gwahanol tarddiadau.
Yn y pen draw, sut rydych chi'n gwahanu llinynnau i mewn i wreiddiau yw i chi a'ch anghenion. Fodd bynnag, sylwch y gall cael llawer o linynnau o dan un gwreiddyn gynyddu amseroedd llwytho.
Delio gyda newidynnau
Dylech bob amser ddefnyddio newidynnau ar gyfer cynnwys deinamig, megis enwau defnyddwyr, dyddiadau, cyfeiriadau e-bost, a mwy.
Datgelir amrywiolion mewn llinynnau 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 cydran Translate
yn cefnogi ac yn rendro cynnwys HTML. Fodd bynnag, gallwch ddewis peidio â defnyddio’r ymddygiad hwn drwy osod useDangerouslySetInnerHTML
i false
.
Argymhellir yn gryf anablu rendro HTML wrth gyfieithu cynnwys nad yw’n sicr, megis cynnwys a grëwyd gan ddefnyddwyr.
Bydd pob allbwn yn cael ei lanhau bob tro gyda sanitize-html cyn cael 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 y enghraifft uchod yn cael ei rendro fel testun plaen.