Најдобри практики
Ставете URL-адреси во променливи
При преведување на низи кои содржат URL-адреси или слични податоци, се смета за добра пракса да ги сместите овие URL-адреси во променливи и потоа да ги повикувате во вашите шаблони.
<Translate
string={`Click <a href="{{url}}">here</a>`}
variables={{url: 'https://tacotranslate.com'}}
/>Користете ARIA ознаки
При преведувањето на текстот на интерактивни елементи, како што се копчињата, важно е да се вклучат ARIA ознаки за да се обезбеди пристапност. ARIA ознаките им помагаат на читачите на екранот да обезбедат описна информација за функцијата на елементот.
На пример, ако имате копче што им овозможува на корисниците да копираат текст од блок со код, можете да го користите атрибутот aria-label за да дадете јасен опис:
<Translate
aria-label={useTranslation('Copy to clipboard')}
string="Copy"
/>Ова некако звучи многу мета.
Глобален низ на извори и повеќе извори за компоненти
Овој образец работи само кога се користи Next.js Pages Router.
Кога работите со поголеми апликации, корисно е да ги поделите стринговите и преводите на повеќе, помали извори. Овој пристап помага да се намали големината на пакетите и времето за пренос, обезбедувајќи ефикасна и скалируема локализација.
Иако ова е едноставно кога се рендерира само на клиентската страна, управувањето со извори брзо станува сложено кога се повлекуваат преводите за серверско рендерирање. Сепак, можете да го автоматизирате управувањето со извори со користење на масивот origins на TacoTranslate клиентот.
Разгледајте го овој пример, каде ги разделивме нашите компоненти и страници во посебни датотеки.
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});
}Погледајте ги нашите примери за серверско рендерирање за повеќе информации за getTacoTranslateStaticProps.