Defnyddio TacoTranslate
Cyfieithu llinynnau
Mae tri ffyrdd ar hyn o bryd i gyfieithu llinynnau: y cydran Translate
, y hook useTranslation
, neu'r cyfleustodyn translateEntries
.
Defnyddio'r gydran Translate
.
Yn allbwn cyfieithiadau mewn elfen span
, ac mae'n 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 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 offeryn translateEntries
.
Cyfieithu llinynnau ar ochr y gweinydd. Rhoi hwb 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 caiff llinynnau eu cyfieithu
Pan gyrhaeddir y llinynnau ar ein gweinyddion, rydym yn eu dilysu ac yn eu cadw'n 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 gwaith cyfieithu yn y cefndir i gynhyrchu 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 ac fe'i anfonir 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 dyfernir yn eu lle.
Defnyddio tarddiadau
Mae prosiectau TacoTranslate yn cynnwys yr hyn a elwir gennym 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 caniatáu ichi wahanu llinynnau i gynwysyddion ystyrlon. Er enghraifft, gallech gael un tarddiad ar gyfer dogfennaeth a llall ar gyfer eich tudalen farchnata.
Er mwyn cael mwy o reolaeth fanwl, gallech sefydlu tarddiadau ar lefel y cydran.
Er mwyn cyflawni hyn, ystyriwch defnyddio sawl TacoTranslate ddarparwr yn eich prosiect.
Sylwch y gall yr un llinyn gael cyfieithiadau gwahanol mewn tarddiadau gwahanol.
Yn y pen draw, mae'n dibynnu arnoch chi a'ch anghenion sut rydych chi'n gwahanu'r llinynnau i darddiadau. Fodd bynnag, nodwch y gall cael llawer o llinynnau 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 ichi ddiffodd arddangos HTML pan fyddwch yn cyfieithu cynnwys nad yw'n ymddiriedadwy, megis cynnwys a gynhyrchir gan ddefnyddwyr.
Caiff pob allbwn ei lanhau bob amser 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 rendro fel testun plaen.