Najlepšie postupy
Uložte URL adresy do premenných
Pri prekladaní reťazcov, ktoré obsahujú URL alebo podobné údaje, sa považuje za dobrú prax umiestniť tieto 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 popisy, aby bola zabezpečená prístupnosť. ARIA popisy pomáhajú čítačkám obrazovky poskytnúť 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 popisu:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>
Niečo na tom pôsobí veľmi meta.
Globálne pole originov a viac originov pre komponenty
Tento vzor funguje len pri používaní 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 pôvodov. Tento prístup pomáha znížiť veľkosť balíkov a časy prenosu, čím zabezpečuje efektívnu a škálovateľnú lokalizáciu.
Hoci je to pri vykresľovaní iba na strane klienta jednoduché, správa pôvodov sa pri získavaní prekladov pre vykresľovanie na strane servera rýchlo skomplikuje. Avšak správu pôvodov môžete automatizovať využitím poľa klienta TacoTranslate origins
.
Pozrite si napríklad tento príklad, kde sme oddelili naše komponenty a stránky 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});
}
Pozrite si naše príklady renderovania na strane servera pre viac informácií o getTacoTranslateStaticProps
.