Најдобри практики
Ставете URLs во променливи
Кога преведувате низи што содржат 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
.