Defnyddio TacoTranslate
Cyfieithu llinynnau
Ar hyn o bryd mae tair ffordd i gyfieithu cadwyni testun: y cydran Translate, y hook useTranslation, neu'r offeryn translateEntries.
Defnyddio'r Translate cydran.
Yn arddangos 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.
Gan ddefnyddio'r useTranslation hook.
Yn dychwelyd gyfieithiadau fel llinyn plaen. 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 llinynnau ar ochr y gweinydd. Rhoddwch hwb mawr i'ch delweddau 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 y caiff llinynnau eu cyfieithu
Pan fydd y llinynnau yn cyrraedd ein gweinyddion, rydyn ni'n eu dilysu ac yn eu cadw gyntaf, ac yna'n dychwelyd cyfieithiad peiriant ar unwaith. Er bod cyfieithiadau peiriant yn gyffredinol o ansawdd is na'n cyfieithiadau AI, maent yn darparu ymateb cychwynnol cyflym.
Ar yr un pryd, rydym yn cychwyn tasg gyfieithu yn y cefndir i greu cyfieithiad AI o ansawdd uchel, o'r safon ddiweddaraf, ar gyfer eich llinyn. Unwaith y bydd y cyfieithiad AI yn barod, bydd yn disodli'r cyfieithiad peiriant ac fe'i anfonir bob tro y byddwch yn gofyn am gyfieithiadau ar gyfer eich llinynnau.
Os ydych wedi cyfieithu llinyn â llaw, bydd y cyfieithiadau hynny'n cael blaenoriaeth ac yn cael eu dychwelyd yn eu lle.
Defnyddio tarddiadau
Mae prosiectau TacoTranslate yn cynnwys yr hyn yr ydym yn ei alw'n tarddiadau. Ystyriwch nhw fel pwyntiau mynediad, ffolderi, neu grwpiau ar gyfer eich testunau a'ch cyfieithiadau.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Mae Tarddiadau yn eich galluogi i wahanu llinynnau mewn cynwysyddion ystyrlon. Er enghraifft, gallwch gael un tarddiad ar gyfer dogfennaeth ac un arall ar gyfer eich tudalen farchnata.
Er mwyn rheolaeth fwy manwl, gallech sefydlu tarddiadau ar lefel y cydran.
Er mwyn cyflawni hyn, ystyriwch defnyddio sawl darparwr TacoTranslate o fewn eich prosiect.
Sylwch y gall yr un llinyn gael cyfieithiadau gwahanol mewn tarddiadau gwahanol.
Yn y pen draw, mae sut rydych chi'n gwahanu'r llinynnau i darddiadau yn dibynnu arnoch chi a'ch anghenion. Fodd bynnag, nodwch y gallai cael llawer o linynnau mewn un tarddiad gynyddu amseroedd 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 rendro cynnwys HTML. Fodd bynnag, gallwch ddewis peidio â defnyddio'r ymddygiad hwn trwy 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 yn cael ei lanhau bob amser gyda 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.