Defnyddio TacoTranslate
Cyfieithu llinynnau
Ar hyn o bryd mae tri ffordd i gyfieithu llinynnau: y cydran Translate
, y hac useTranslation
, neu'r offeryn translateEntries
.
Defnyddio'r cydran Translate
.
Yn allbwn cyfieithiadau o fewn elfen span
, ac yn cefnogi gwneud 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.
Yn dychwelyd cyfieithiadau 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 cyfleustodau translateEntries
.
Cyfieithwch groenau ar ochr y gweinydd. Rhowch bŵer ychwanegol 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 mae llinynnau'n cael eu cyfieithu
Pan gyrhaeddant yr edefynnau ein gweinyddion, rydym yn eu dilysu ac yn eu cadw yn 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 swydd cyfieithu anhygyrch i greu cyfieithiad AI o ansawdd uchel, 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 bob tro y byddwch yn gofyn am gyfieithiadau ar gyfer eich llinynnau.
Os ydych chi wedi cyfieithu llinyn yn llaw, mae’r cyfieithiadau hynny yn cael rhagoriaeth ac fe’u dyfernir yn hytrach.
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 Origins yn caniatáu i chi wahanu llinynnau i mewn i gynhwysyddion ystyrlon. Er enghraifft, gallech gael un origin ar gyfer dogfennaeth a un arall ar gyfer eich tudalen marchnata.
Ar gyfer rheolaeth fwy manwl, gallech sefydlu tarddiadau ar lefel y cydran.
I gyflawni hyn, ystyriwch ddefnyddio sawl darparwr TacoTranslate o fewn eich prosiect.
Sylwch fod yr un llinyn yn gallu derbyn cyfieithiadau gwahanol mewn gwahanol tarddiadau.
Yn y pen draw, sut rydych chi'n gwahanu llinynnau i mewn i darddiadau yw hi i chi a'ch anghenion. Fodd bynnag, nodwch y gall 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 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 anablu rendro HTML wrth gyfieithu cynnwys anhysbys, megis cynnwys a gynhyrchwyd gan ddefnyddwyr.
Mae pob allbwn yn cael ei lanhau bob amser 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 yr enghraifft uchod yn cael ei rendro fel testun plaen.