Najbolje prakse
Stavite URL-ove u promenljive
Kada prevodite stringove koji sadrže URL adrese ili slične podatke, smatra se dobrom praksom da te URL adrese stavite unutar promenljivih, a zatim ih referencirate unutar vaših šablona.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Koristite ARIA oznake
При превођењу текста интерактивних елемената као што су дугмад, важно је укључити ARIA ознаке како би се обезбедила приступачност. ARIA ознаке помажу читачима екрана да пруже описне информације о функцији елемента.
На пример, ако имате дугме које омогућава корисницима да копирају текст из блока кода, можете користити aria-label
атрибут за пружање јасног описа:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Nešto u vezi ovoga deluje veoma meta.
Globalni niz origin-a i višestruki origin-i komponenti
Ovaj obrazac funkcioniše samo pri korišćenju Next.js Pages Router.
Kada radite sa većim aplikacijama, korisno je podeliti stringove i prevode u više manjih izvora. Ovaj pristup pomaže u smanjenju veličine paketa i vremena prenosa, čime se obezbeđuje efikasna i skalabilna lokalizacija.
Dok je ovo jednostavno kada se renderuje samo na strani klijenta, upravljanje izvorima brzo postaje složeno prilikom dobijanja prevoda za server-side rendering. Međutim, upravljanje izvorima možete automatizovati korišćenjem TacoTranslate klijentskog origins
niza.
Razmotrite ovaj primer, gde smo razdvojili naše komponente i stranice u odvojene fajlove.
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});
}
Pogledajte naše primere server-side renderovanja za više informacija o getTacoTranslateStaticProps
.