Najbolje prakse
Stavite URL-ove u varijable
Prilikom prevođenja nizova koji sadrže URL-ove ili slične podatke, smatra se dobrom praksom staviti te URL-ove u varijable i zatim ih referencirati u svojim predlošcima.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Koristite ARIA oznake
Prilikom prevođenja teksta interaktivnih elemenata poput gumba, važno je uključiti ARIA oznake kako bi se osigurala pristupačnost. ARIA oznake pomažu čitačima zaslona da pruže opisne informacije o funkciji elementa.
Na primjer, ako imate gumb koji korisnicima omogućuje kopiranje teksta iz bloka koda, možete upotrijebiti atribut aria-label kako biste dali jasan opis:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>Nešto u vezi ovoga djeluje jako meta.
Globalni niz izvora i više izvora po komponenti
Ovaj pristup funkcionira samo ako koristite Next.js Pages Router.
Kod rada s većim aplikacijama korisno je razdvojiti stringove i prijevode u više manjih izvora. Ovaj pristup pomaže smanjiti veličinu paketa i vrijeme prijenosa, osiguravajući učinkovitu i skalabilnu lokalizaciju.
Iako je to jednostavno pri renderiranju samo na strani klijenta, upravljanje izvorima brzo postaje složeno prilikom dohvaćanja prijevoda za renderiranje na strani poslužitelja. Međutim, upravljanje izvorima možete automatizirati korištenjem niza origins klijenta TacoTranslate.
Razmotrite ovaj primjer, gdje smo naše komponente i stranice razdvojili u zasebne datoteke.
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 primjere renderiranja na strani poslužitelja za više informacija o getTacoTranslateStaticProps.