Labākā prakse
Ievietojiet URL mainīgajos
Tulkojot virknes, kas satur URL vai līdzīgus datus, par labu praksi uzskata ievietot šos URL mainīgajos un pēc tam atsaukties uz tiem savās veidnēs.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Izmantojiet ARIA etiķetes
Tulkojot interaktīvus elementus, piemēram, pogas, 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 aria-label atribūtu, lai sniegtu skaidru aprakstu:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>Kaut kas šajā šķiet ļoti meta.
Globālais originu masīvs un vairāki komponentu origini
Šī pieeja darbojas tikai, ja tiek izmantots Next.js Pages Router.
Strādājot ar lielākām lietojumprogrammām, ir lietderīgi sadalīt teksta virknes un tulkojumus vairākos, mazākos avotos. Šāda pieeja palīdz samazināt pakešu izmērus un pārsūtīšanas laikus, nodrošinot efektīvu un mērogojamu lokalizāciju.
Kaut arī tas ir vienkārši, ja renderēšana notiek tikai klienta pusē, avotu pārvaldība ātri kļūst sarežģīta, kad tiek iegūti tulkojumi servera puses renderēšanai. Tomēr jūs varat automatizēt avotu pārvaldību, izmantojot TacoTranslate klienta origins masīvu.
Apsveriet šo piemēru, kur mūsu komponenti un lapas ir sadalīti 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 uzzinātu vairāk par getTacoTranslateStaticProps.