Bestu vinnubrögð
Settu slóðir í breytur
Þegar verið er að þýða strengja sem innihalda URL-tengla eða svipuð gögn, er talið góð venja að setja þessa URL-tengla inn í breytur og vísa síðan í þá innan sniðmáta þinna.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Notaðu ARIA merkimiða
Þegar þýða á texta í gagnvirkum þáttum eins og hnöppum, er mikilvægt að bæta við ARIA merkimiðum til að tryggja aðgengi. ARIA merkimiðar hjálpa skjálesurum að gefa lýsandi upplýsingar um virkni þáttarins.
Sem dæmi, ef þú ert með hnapp sem leyfir notendum að afrita texta úr kóðablokk, getur þú notað aria-label
eiginleikann til að veita skýra lýsingu:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Eitthvað við þetta finnst mjög meta.
Alheims uppruna fylki og margir upprunarhlutar
Þessi aðferð virkar aðeins þegar nota Next.js Pages Router.
Þegar unnið er með stærri forrit er gagnlegt að skipta strengjum og þýðingum upp í mörg, minni origin. Þessi nálgun hjálpar til við að minnka pakkastærðir og flutningstíma, sem tryggir skilvirka og stigstærða staðfærsla.
Þó að þetta sé einfalt þegar aðeins er renderað á viðskiptavinahlið, verður stjórn á origin fljótlega flókin þegar þýðingar eru sóttar fyrir server-side rendering. Hins vegar geturðu sjálfvirknivætt stjórn á origin með því að nota TacoTranslate client origins
fylkið.
Íhugið þetta dæmi, þar sem við höfum skipt okkar íhlutum og síðum í aðskilin skrár.
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';
// Set an origin name for this component
const origin = 'components/pricing-table';
// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);
export default function PricingTable() {
return (
<TacoTranslate origin={origin}>
<Translate string="Pricing table" />
// ...
</TacoTranslate>
);
}
import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';
const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);
export default function PricingPage() {
return (
<TacoTranslate origin={origin}>
<Translate string="Pricing page" />
<PricingTable />
</TacoTranslate>
);
}
// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}
Sjáðu dæmi um server-side rendering fyrir frekari upplýsingar um getTacoTranslateStaticProps
.