Najbolje prakse
Stavite URL-ove u varijable
Prilikom prevođenja nizova koji sadrže URL-ove ili slične podatke, smatra se dobrom praksom smjestiti te URL-ove u varijable i potom ih referencirati unutar predložaka.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Koristite ARIA oznake
Prilikom prevođenja teksta interaktivnih elemenata poput dugmadi, važno je uključiti ARIA oznake kako bi se osigurala pristupačnost. ARIA oznake pomažu čitačima ekrana da pruže opisne informacije o funkciji elementa.
Na primjer, ako imate dugme koje omogućava korisnicima da kopiraju tekst iz bloka koda, možete koristiti aria-label
atribut da biste dali jasan opis:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Nešto u vezi ovoga djeluje vrlo meta.
Globalni niz izvora i više izvora komponenti
Ovaj pristup funkcioniše samo kada se koristi Next.js Pages Router.
Kod rada sa većim aplikacijama korisno je podijeliti stringove i prijevode u više, manjih izvora. Ovaj pristup pomaže smanjiti veličine paketa i vrijeme prijenosa, osiguravajući efikasnu i skalabilnu lokalizaciju.
Iako je to jednostavno prilikom renderiranja samo na klijentskoj strani, upravljanje izvorima brzo postaje složeno prilikom dohvaćanja prijevoda za renderiranje na strani servera. Međutim, možete automatizirati upravljanje izvorima koristeći niz origins
u TacoTranslate klijentu.
Razmotrite ovaj primjer, gdje smo naše komponente i stranice podijelili 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 serverskoj strani za više informacija o getTacoTranslateStaticProps
.