Najbolje prakse
Stavite URL-ove u promenljive
Kada prevodite nizove koji sadrže URL adrese ili slične podatke, smatra se dobrom praksom da te URL adrese smestite u promenljive, a zatim ih pozivate unutar vaših šablona.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Koristite ARIA oznake
Pri prevođenju teksta interaktivnih elemenata kao što su dugmad, važno je uključiti ARIA etikete kako bi se obezbedila pristupačnost. ARIA etikete pomažu čitačima ekrana da pruže opisne informacije o funkciji elementa.
Na primer, ako imate dugme koje korisnicima omogućava kopiranje teksta iz bloka koda, možete koristiti atribut aria-label
kako biste dali jasan opis:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Nešto u vezi sa ovim deluje veoma meta.
Global niz originova i višestruki originovi komponenti
Ovaj obrazac funkcioniše samo kada se koristi Next.js Pages Router.
Kada radite sa većim aplikacijama, korisno je podeliti stringove i prevode na više manjih izvora. Ovaj pristup pomaže u smanjenju veličine paketa i vremena prenosa, obezbeđujući efikasnu i skalabilnu lokalizaciju.
Dok je ovo jednostavno kada se renderuje samo na klijentskoj strani, upravljanje izvorima brzo postaje složeno prilikom preuzimanja prevoda za server-side rendering. Međutim, možete automatizovati upravljanje izvorima korišćenjem origins
niza klijenta TacoTranslate.
Razmotrite ovaj primer, gde smo naše komponente i stranice razdvojili u posebne 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
.