Najlepšie postupy
Uložte adresy URL do premenných
Pri prekladaní reťazcov, ktoré obsahujú adresy URL alebo podobné údaje, sa považuje za dobrú prax uložiť tieto adresy URL do premenných a potom na ne odkazovať vo vašich šablónach.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Použite ARIA štítky
Pri preklade textu interaktívnych prvkov, ako sú tlačidlá, je dôležité zahrnúť ARIA štítky, aby bola zabezpečená prístupnosť. ARIA štítky pomáhajú čítačkám obrazovky poskytovať popisné informácie o funkcii prvku.
Napríklad, ak máte tlačidlo, ktoré umožňuje používateľom skopírovať text z bloku kódu, môžete použiť atribút aria-label na poskytnutie jasného opisu:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>Niečo na tom je veľmi meta.
Globálne pole pôvodov a viaceré pôvody komponentov
Tento vzor funguje iba pri použití Next.js Pages Router.
Pri práci s väčšími aplikáciami je výhodné rozdeliť reťazce a preklady do viacerých menších zdrojov. Tento prístup pomáha zmenšiť veľkosť balíkov a časy prenosu, čím zabezpečuje efektívnu a škálovateľnú lokalizáciu.
Zatiaľ čo je to jednoduché pri vykresľovaní iba na strane klienta, správa zdrojov sa rýchlo stáva zložitejšou pri načítavaní prekladov pre vykresľovanie na strane servera. Môžete však automatizovať správu zdrojov pomocou poľa TacoTranslate klienta origins.
Pozrite si tento príklad, kde sme naše komponenty a stránky rozdelili do samostatných súborov.
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});
}Viac informácií o getTacoTranslateStaticProps nájdete v našich príkladoch renderovania na serveri.