Parhaat käytännöt
Laita URL-osoitteet muuttujiksi
Kun käännetään merkkijonoja, jotka sisältävät URL-osoitteita tai vastaavia tietoja, on hyvä käytäntö laittaa nämä URL-osoitteet muuttujiksi ja viitata niihin malleissasi.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Käytä ARIA-tunnisteita
Kun käännät interaktiivisten elementtien, kuten painikkeiden, tekstejä, on tärkeää lisätä ARIA-tunnisteita saavutettavuuden varmistamiseksi. ARIA-tunnisteet auttavat ruudunlukijoita antamaan kuvailevaa tietoa elementin toiminnasta.
Esimerkiksi, jos sinulla on painike, jonka avulla käyttäjät voivat kopioida tekstiä koodilohkosta, voit käyttää aria-label
-attribuuttia tarjotaksesi selkeän kuvauksen:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Tämä tuntuu jotenkin hyvin metalta.
Globaalinen origins-taulukko ja useat komponenttikohtaiset originit
Tämä malli toimii vain, kun käytetään Next.js Pages Router.
Kun työskennellään suurempien sovellusten parissa, on hyödyllistä jakaa merkkijonot ja käännökset useampiin, pienempiin origin‑lähteisiin. Tämä lähestymistapa auttaa pienentämään pakettien kokoa ja siirtoaikoja, mikä varmistaa tehokkaan ja skaalautuvan lokalisaation.
Vaikka tämä on suoraviivaista silloin, kun renderöinti tapahtuu vain asiakaspuolella, originien hallinta muuttuu nopeasti monimutkaiseksi, kun käännöksiä haetaan palvelinpuolen renderöintiä varten. Voit kuitenkin automatisoida originien hallinnan hyödyntämällä TacoTranslate-asiakasohjelman origins
taulukkoa.
Katsotaanpa tätä esimerkkiä, jossa olemme erottaneet komponentit ja sivut omiin tiedostoihinsa.
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});
}
Tutustu palvelinpuolen renderöinnin esimerkkeihimme saadaksesi lisätietoja getTacoTranslateStaticProps
.