Mga pinakamahusay na kasanayan
Ilagay ang mga URL sa mga variable
Kapag nagsasalin ng mga string na naglalaman ng mga URL o katulad na datos, itinuturing na magandang gawain ang ilagay ang mga URL na ito sa loob ng mga variable at pagkatapos ay i-refer ang mga ito sa loob ng inyong mga template.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Gumamit ng mga label na ARIA
Kapag isinasalin ang teksto ng mga interactive na elemento tulad ng mga button, mahalagang isama ang mga ARIA label upang matiyak ang accessibility. Ang mga ARIA label ay tumutulong sa mga screen reader na magbigay ng malinaw na impormasyon tungkol sa function ng elemento.
Halimbawa, kung mayroon kang button na nagpapahintulot sa mga gumagamit na kopyahin ang teksto mula sa isang code block, maaari mong gamitin ang aria-label
attribute upang magbigay ng malinaw na paglalarawan:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
May isang bagay tungkol dito na parang napaka-meta.
Global origins array at maramihang pinagmulan ng bahagi
Ang pattern na ito ay gumagana lamang kapag ginagamit ang Next.js Pages Router.
Kapag nagtatrabaho sa mas malalaking aplikasyon, kapaki-pakinabang na hatiin ang mga string at pagsasalin sa maraming mas maliliit na pinagmulan. Ang pamamaraang ito ay tumutulong upang mabawasan ang laki ng bundle at oras ng paglilipat, na tinitiyak ang mahusay at nasusukat na lokal na pagsasalin.
Bagaman ito ay direkta kapag nagre-render lamang sa client side, ang pamamahala ng mga pinagmulan ay mabilis na nagiging kumplikado kapag kumukuha ng mga pagsasalin para sa server-side rendering. Gayunpaman, maaari mong i-automate ang pamamahala ng pinagmulan gamit ang TacoTranslate client origins
array.
Isaalang-alang ang halimbawa na ito, kung saan inihiwalay namin ang aming mga components at pages sa magkakahiwalay na mga file.
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});
}
Tingnan ang aming mga halimbawa ng server-side rendering para sa karagdagang impormasyon tungkol sa getTacoTranslateStaticProps
.