Labākās prakses
Ievietojiet URL mainīgajos
Tulkodami virknes, kas satur URL vai līdzīgus datus, ir uzskatāms par labu praksi ievietot šos URL mainīgajos un pēc tam atsaukties uz tiem savos veidņu failos.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Izmantojiet ARIA etiķetes
Tulkodami interaktīvo elementu, piemēram, pogu, tekstu, ir svarīgi iekļaut ARIA etiķetes, lai nodrošinātu pieejamību. ARIA etiķetes palīdz ekrāna lasītājiem sniegt aprakstošu informāciju par elementa funkciju.
Piemēram, ja jums ir poga, kas ļauj lietotājiem kopēt tekstu no koda bloka, varat izmantot atributu aria-label
skaidram aprakstam:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Ar šo kaut kas šķiet ļoti meta.
Globālais avotu masīvs un vairāki komponentu avoti
Šī modeļa izmantošana darbojas tikai, lietojot Next.js Pages Router.
Strādājot ar lielākām lietojumprogrammām, ir izdevīgi sadalīt virknes un tulkojumus vairākās, mazākās izcelsmēs. Šī pieeja palīdz samazināt saišu izmēru un pārsūtīšanas laiku, nodrošinot efektīvu un mērogojamu lokalizāciju.
Lai gan tas ir vienkārši, renderējot tikai klienta pusē, izcelsmju pārvaldība ātri kļūst sarežģīta, iegūstot tulkojumus servera puses renderēšanai. Tomēr jūs varat automatizēt izcelsmju pārvaldību, izmantojot TacoTranslate klienta origins
masīvu.
Ņemiet vērā šo piemēru, kur esam atdalījuši savus komponentus un lapas atsevišķos failos.
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});
}
Skatiet mūsu servera puses renderēšanas piemērus, lai iegūtu vairāk informācijas par getTacoTranslateStaticProps
.