Cele mai bune practici
Puneți adresele URL î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 referiți în șabloanele dvs.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Folosiți 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"
/>Există ceva în legătură cu asta care pare foarte meta.
Array global de origini și origini multiple pentru componente
Acest model funcționează doar atunci când utilizați Next.js Pages Router.
Când lucrați cu aplicații mai mari, este util 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 redă doar pe partea clientului, gestionarea originilor devine rapid complexă atunci când se preiau traducerile pentru randare pe server. Totuși, puteți automatiza gestionarea originilor utilizând array-ul origins al clientului TacoTranslate.
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});
}Consultați exemplele noastre de randare pe server pentru mai multe informații despre getTacoTranslateStaticProps.