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

Melhores práticas

Colocar URLs em variáveis

Ao traduzir strings que contêm URLs ou dados semelhantes, considera-se uma boa prática colocar essas URLs dentro de variáveis e depois referenciá-las dentro dos seus templates.

<Translate
	string={`Click <a href="{{url}}">here</a>`}
	variables={{url: 'https://tacotranslate.com'}}
/>

Utilizar etiquetas ARIA

Ao traduzir o texto de elementos interativos, como botões, é importante incluir etiquetas ARIA para garantir a acessibilidade. As etiquetas ARIA ajudam os leitores de ecrã a fornecer informações descritivas sobre a função do elemento.

Por exemplo, se tiver um botão que permite aos utilizadores copiar texto de um bloco de código, pode usar o atributo aria-label para fornecer uma descrição clara:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

Algo sobre isto parece muito meta.

Array global de origens e múltiplas origens de componentes

Este padrão só funciona ao usar o Next.js Pages Router.

Ao trabalhar com aplicações maiores, é benéfico dividir strings e traduções em múltiplas origens menores. Esta abordagem ajuda a reduzir o tamanho dos pacotes e os tempos de transferência, garantindo uma localização eficiente e escalável.

Embora isto seja simples ao renderizar apenas no lado do cliente, gerir as origens torna-se rapidamente complexo ao buscar traduções para renderização no lado do servidor. No entanto, pode automatizar a gestão das origens utilizando o array origins do cliente TacoTranslate.

Considere este exemplo, onde separamos os nossos componentes e páginas em ficheiros distintos.

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

Veja os nossos exemplos de renderização do lado do servidor para mais informações sobre getTacoTranslateStaticProps.

Tratamento de erros e depuração

Um produto de Nattskiftet