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"
/>

Щось у цьому відчувається дуже мета.

Глобальний масив origins та кілька origins компонентів

Цей патерн працює лише при використанні 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