TacoTranslate
/
DocumentaçãoPreços
 
  1. Introdução
  2. Começar
  3. Configuração e instalação
  4. Utilizar o TacoTranslate
  5. Renderização do lado do servidor
  6. Utilização avançada
  7. Boas práticas
  8. Tratamento de erros e depuração
  9. Línguas suportadas

Utilização avançada

Manipulação de idiomas da direita para a esquerda

O TacoTranslate facilita o suporte a idiomas da direita para a esquerda (RTL), como Árabe e Hebraico, nas suas aplicações React. O manuseamento adequado de idiomas RTL garante que o seu conteúdo seja exibido corretamente para os utilizadores que leem da direita para a esquerda.

import {useTacoTranslate} from 'tacotranslate/react';

function Document() {
	const {locale, isRightToLeft} = useTacoTranslate();

	return (
		<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
			<body>
				// ...
			</body>
		</html>
	);
}

Também pode usar a função fornecida isRightToLeftLocaleCode para verificar a língua atual fora do React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

function foo(locale = 'es') {
	const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
	// ...
}

Desativar tradução

Para desativar a tradução de partes específicas de uma cadeia de texto ou para garantir que certos segmentos sejam preservados tal como estão, pode usar colchetes triplos. Esta funcionalidade é útil para manter o formato original de nomes, termos técnicos ou qualquer outro conteúdo que não deva ser traduzido.

import {Translate} from 'tacotranslate/react';

function Component() {
	return (
		<Translate string="Hello, [[[TacoTranslate]]]!" />
	);
}

Neste exemplo, a palavra “TacoTranslate” permanecerá inalterada na tradução.

Vários fornecedores TacoTranslate

Encorajamos vivamente a utilização de múltiplos fornecedores TacoTranslate na sua aplicação. Isto é útil para organizar as suas traduções e cadeias de texto em diferentes origens, como o seu cabeçalho, rodapé ou secções específicas.

Pode ler mais sobre a utilização de origens aqui.

Os fornecedores TacoTranslate herdam as definições de qualquer fornecedor pai, por isso não terá de repetir quaisquer outras definições.

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Header() {
	return (
		<TacoTranslate origin="header">
			// ...
		</TacoTranslate>
	);
}

function Menu() {
	return (
		<TacoTranslate origin="menu">
			// ...
		</TacoTranslate>
	);
}

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Header />
			<Menu />
		</TacoTranslate>
	);
}

Substituir origem ou localidade

Além de usar múltiplos fornecedores TacoTranslate, também pode substituir tanto a origem como a localidade nos níveis do componente Translate e do hook useTranslation.

import {Translate, useTranslation} from 'tacotranslate/react';

function Greeting() {
	const spanishHello = useTranslation('Hello!', {locale: 'es'});

	return (
		<>
			{spanishHello}
			<Translate string="What’s up?" origin="greeting" />
		</>
	);
}

Gerir o carregamento

Ao alterar o idioma no lado do cliente, a obtenção das traduções pode demorar alguns instantes dependendo da ligação do utilizador. Pode exibir um indicador de carregamento para melhorar a experiência do utilizador, fornecendo um feedback visual durante a troca.

import {useTacoTranslate} from 'tacotranslate/react';

function Component() {
	const {isLoading} = useTacoTranslate();

	return (
		isLoading ? 'Translations are loading...' : null
	);
}

Pluralização

Para lidar com a pluralização e exibir etiquetas baseadas em contagem corretamente em diferentes idiomas, esta é considerada uma boa prática:

import {Translate, useLocale} from 'tacotranslate/react';

function PhotoCount() {
	const locale = useLocale();
	const count = 1;

	return count === 0 ? (
		<Translate string="You have no photos." />
	) : count === 1 ? (
		<Translate string="You have 1 photo." />
	) : (
		<Translate
			string="You have {{count}} photos."
			variables={{count: count.toLocaleString(locale)}}
		/>
	);
}

Múltiplos idiomas

Para suportar múltiplos idiomas simultaneamente dentro da mesma aplicação, pode usar vários fornecedores TacoTranslate com diferentes valores locale conforme mostrado abaixo:

Também pode sobrescrever o locale ao nível do componente ou do hook.

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate, Translate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Spanish() {
	return (
		<TacoTranslate locale="es">
			<Translate string="Hello, world in Spanish!" />
		</TacoTranslate>
	);
}

function Norwegian() {
	return (
		<TacoTranslate locale="no">
			<Translate string="Hello, world in Norwegian!" />
		</TacoTranslate>
	);
}

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Spanish />
			<Norwegian />
		</TacoTranslate>
	);
}

Utilizar IDs de tradução

Pode adicionar um id ao componente Translate para gerir diferentes traduções ou significados para a mesma cadeia de caracteres. Isto é particularmente útil quando o mesmo texto requer traduções diferentes consoante o contexto. Ao atribuir IDs únicos, garante que cada instância da cadeia é traduzida com precisão de acordo com o seu significado específico.

import {Translate} from 'tacotranslate/react';

function Header() {
	return (
		<Translate id="header" string="Login" />
	);
}

function Footer() {
	return (
		<Translate id="footer" string="Login" />
	);
}

Por exemplo, o login do cabeçalho pode ser traduzido como “Iniciar sesión”, e o login do rodapé pode ser traduzido como “Acceder” em espanhol.

Boas práticas

Um produto de NattskiftetFeito na Noruega