TacoTranslate
/
DokumentasiePryse
 
  1. Inleiding
  2. Aan die gang kom
  3. Opstelling en konfigurasie
  4. Gebruik TacoTranslate
  5. Bediener-kant rendering
  6. Gevorderde gebruik
  7. Beste praktyke
  8. Fouthantering en ontfouting
  9. Ondersteunde tale

Beste praktyke

Sit URL's in veranderlikes

Wanneer strings vertaal word wat URL's of soortgelyke data bevat, word dit as ’n goeie praktyk beskou om hierdie URL's binne veranderlikes te plaas en dan daarna te verwys binne jou templates.

<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-etikette in te sluit om toegangbaarheid te verseker. ARIA-etikette help skermlesers 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 verskaf:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

Iets hieraan voel baie meta.

Globale oorsprong-voorraad en meervoudige komponentoorspronge

Hierdie patroon werk slegs wanneer daar gebruik gemaak word van die Next.js Pages Router.

Wanneer daar met groter toepassings gewerk word, is dit voordelig om stringe en vertalings in meerdere, kleiner oorspronge te verdeel. Hierdie benadering help om pakkiegroottes en oordragtye te verminder, wat doeltreffende en skealbare lokalisering verseker.

Al is dit reguit wanneer net aan die kliëntkant gerender word, word die bestuur van oorspronge vinnig ingewikkeld wanneer vertalings vir bedienerkant rendering opgevra word. U kan egter oorsprongbestuur outomatiseer deur gebruik te maak van die TacoTranslate kliënt origins array.

Oorweeg hierdie voorbeeld, waar ons ons komponente en bladsye in afsonderlike lêers geskei het.

components/pricing-table.tsx
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>
	);
}
pages/pricing.tsx
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 voorbeeld van bediener-kant weergawes vir meer inligting oor getTacoTranslateStaticProps.

Fouthantering en ontfouting

'n Produk van Nattskiftet