Defnyddio TacoTranslate
Cyfieithu llinynnau
Ar hyn o bryd mae tair ffordd i gyfieithu llinynnau: y cydran Translate, y hook useTranslation, neu'r offeryn translateEntries.
Defnyddio'r Translate cydran.
Yn dangos cyfieithiadau o fewn elfen span, ac mae'n cefnogi arddangos HTML.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Gallwch newid math yr elfen drwy 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 cyfleustod 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 fydd llinynnau yn cyrraedd 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 tasg gyfieithu sy'n rhedeg yn y cefndir i gynhyrchu cyfieithiad AI o ansawdd uchel, o'r radd flaenaf, ar gyfer eich testun. Pryd y bydd y cyfieithiad AI yn barod, bydd yn disodli'r cyfieithiad peirianyddol a caiff ei anfon bob tro y byddwch yn gofyn am gyfieithiadau ar gyfer eich testunau.
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 alwn yn ffynonellau. Ystyriwch nhw fel pwyntiau mynediad, ffolderi, neu grwpiau ar gyfer eich llinynnau testun a'ch cyfieithiadau.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Mae ffynonellau yn eich galluogi i wahanu llinynnau i mewn i gynwysyddion ystyrlon. Er enghraifft, gallech gael un ffynhonnell ar gyfer dogfennaeth a ffynhonnell arall ar gyfer eich tudalen farchnata.
I gael mwy o reolaeth fanwl, gallech sefydlu tarddiadau ar lefel y cydran.
Er mwyn cyflawni hyn, ystyriwch ddefnyddio sawl darparwr TacoTranslate o fewn eich prosiect.
Sylwch y gall yr un llinyn dderbyn cyfieithiadau gwahanol mewn tarddiadau gwahanol.
Yn y pen draw, mae'r ffordd rydych chi'n gwahanu llinynnau i darddiadau yn dibynnu arnoch chi a'ch anghenion. 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 arddangos cynnwys HTML. Fodd bynnag, gallwch analluogi'r ymddygiad hwn trwy osod useDangerouslySetInnerHTML i false.
Mae dadactifadu rendro HTML yn cael ei argymell yn gryf wrth gyfieithu cynnwys nad yw'n ymddiriedadwy, megis cynnwys a gynhyrchir gan ddefnyddwyr.
Mae'r holl 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.