Beste praktyke
Sit URL’s in veranderlikes
Wanneer strings vertaal word wat URLs of soortgelyke data bevat, word dit as ’n goeie praktyk beskou om hierdie URLs binne veranderlikes te plaas en hulle dan binne jou templates te verwys.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>
Gebruik ARIA etikette
Wanneer u 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 funksie van die element te verskaf.
Byvoorbeeld, as u ’n knoppie het wat gebruikers toelaat om teks uit ’n kodeblok te kopieer, kan u die aria-label
attribuut gebruik om ’n duidelike beskrywing te gee:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Iets hieroor voel baie meta.
Globale oorspronge-reeks en verskeie komponentoorspronge
Hierdie patroon werk slegs wanneer die Next.js Pages Router gebruik word.
Wanneer jy met groter toepassings werk, is dit voordelig om stringe en vertalings in verskeie, kleiner oorspronge te verdeel. Hierdie benadering help om bondelgroottes 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 bedienerkant-rendering opgevra word. Jy kan egter oorsprongsbestuur outomatiseer deur die TacoTranslate kliënt se origins
lys te gebruik.
Oorweeg hierdie voorbeeld, waar ons ons komponente en bladsye in afsonderlike 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-rendering vir meer inligting oor getTacoTranslateStaticProps
.