Beste praktyke
Sit URL's in veranderlikes
Wanneer jy stringe vertaal wat URL's of soortgelyke data bevat, is dit 'n goeie praktyk om hierdie URL's in veranderlikes te plaas en hulle dan in jou templates te gebruik.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Gebruik ARIA-etikette
Wanneer jy die teks van interaktiewe elemente soos knoppies vertaal, is dit belangrik om ARIA-labels in te sluit om toeganklikheid te verseker. ARIA-labels help skermslesers om beskrywende inligting oor die element se funksie te gee.
Byvoorbeeld, as jy ’n knoppie het wat gebruikers toelaat om teks uit ’n kodeblok te kopieer, kan jy die aria-label
attribuut gebruik om ’n duidelike beskrywing te verskaf:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Iets hieraan voel baie meta.
Globale oorspronge-array en meervoudige komponentoorspronge
Hierdie patroon werk slegs wanneer die Next.js Pages Router gebruik word.
Wanneer u met groter toepassings werk, is dit voordelig om stringe en vertalings in verskeie, kleiner oorspronge op te deel. Hierdie benadering help om bundelgroottes en oordragtye te verminder, wat doeltreffende en skaalbare lokalisering verseker.
Terwyl dit eenvoudig is wanneer slegs aan die kliëntkant gerender word, word die bestuur van oorspronge vinnig kompleks wanneer vertalings vir die bedienerkant-rendering opgehaal word. U kan egter oorsprongbestuur outomatiseer deur die TacoTranslate-kliënt se origins
reeks te gebruik.
Kyk na hierdie voorbeeld, waar ons ons komponente en bladsye in aparte lêers verdeel het.
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});
}
Sien ons voorbeelde van bedienerkant-weergawes vir meer inligting oor getTacoTranslateStaticProps
.