TacoTranslate
/
ДокументацијаЦени
 
  1. Вовед
  2. Први чекори
  3. Поставување и конфигурација
  4. Користење на TacoTranslate
  5. Серверско рендерирање
  6. Напредна употреба
  7. Најдобри практики
  8. Ракување со грешки и дебагирање
  9. Поддржани јазици

Најдобри практики

Ставете 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 клиентот.

Разгледајте го овој пример, каде ги разделивме нашите компоненти и страници во посебни датотеки.

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});
}

Погледнете ги нашите примери за серверско рендерирање за повеќе информации за getTacoTranslateStaticProps.

Ракување со грешки и дебагирање

Производ од NattskiftetПроизведено во Норвешка