Cele mai bune practici
Puneți URL-urile în variabile
Când traduceți șiruri care conțin URL-uri sau date similare, se consideră o bună practică să plasați aceste URL-uri în variabile și apoi să le faceți referire în interiorul șabloanelor voastre.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Folosește etichete ARIA
Când traduceți textul elementelor interactive precum butoanele, este important să includeți etichete ARIA pentru a asigura accesibilitatea. Etichetele ARIA ajută cititoarele de ecran să ofere informații descriptive despre funcția elementului.
De exemplu, dacă aveți un buton care permite utilizatorilor să copieze text dintr-un bloc de cod, puteți folosi atributul aria-label
pentru a oferi o descriere clară:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Ceva legat de asta pare foarte meta.
Array global de origini și origini multiple ale componentelor
Acest tipar funcționează doar când se folosește Next.js Pages Router.
Atunci când lucrați cu aplicații mai mari, este benefic să împărțiți șirurile și traducerile în mai multe origini mai mici. Această abordare ajută la reducerea dimensiunilor pachetelor și a timpilor de transfer, asigurând o localizare eficientă și scalabilă.
Deși acest lucru este simplu atunci când se face redarea doar pe partea clientului, gestionarea originilor devine rapid complexă atunci când se preiau traducerile pentru redarea pe server. Totuși, puteți automatiza gestionarea originilor utilizând array-ul clientului TacoTranslate origins
.
Luați în considerare acest exemplu, în care am separat componentele și paginile în fișiere separate.
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});
}
Vezi exemplele noastre de redare pe server pentru mai multe informații despre getTacoTranslateStaticProps
.