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.

При роботі з великими додатками корисно розділяти рядки та переклади на кілька менших джерел. Такий підхід допомагає зменшити розміри бандлів і час передачі, що забезпечує ефективну та масштабовану локалізацію.

Хоча це просто при рендерингу лише на клієнтській стороні, керування джерелами швидко ускладнюється при отриманні перекладів для серверного рендерингу. Однак ви можете автоматизувати керування джерелами, використовуючи масив клієнта TacoTranslate origins.

Розгляньте цей приклад, де ми розділили наші компоненти та сторінки на окремі файли.

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Зроблено в Норвегії