TacoTranslate
/
DocumentaciónPrecios
 
  1. Introducción
  2. Primeros pasos
  3. Configuración y ajustes
  4. Uso de TacoTranslate
  5. Renderizado del lado del servidor
  6. Uso avanzado
  7. Mejores prácticas
  8. Manejo de errores y depuración
  9. Idiomas compatibles

Mejores prácticas

Poner URLs en variables

Al traducir cadenas que contienen URLs u otros datos similares, se considera una buena práctica colocar esas URLs en variables y luego referenciarlas en tus plantillas.

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

Usar etiquetas ARIA

Al traducir el texto de elementos interactivos como botones, es importante incluir etiquetas ARIA para garantizar la accesibilidad. Las etiquetas ARIA ayudan a que los lectores de pantalla proporcionen información descriptiva sobre la función del elemento.

Por ejemplo, si tienes un botón que permite a los usuarios copiar texto de un bloque de código, puedes usar el atributo aria-label para proporcionar una descripción clara:

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

Algo de esto se siente muy meta.

Array global de orígenes y orígenes múltiples por componente

Este patrón solo funciona cuando se usa el Next.js Pages Router.

Cuando se trabaja con aplicaciones más grandes, es beneficioso dividir las cadenas y las traducciones en múltiples orígenes más pequeños. Este enfoque ayuda a reducir el tamaño de los paquetes y los tiempos de transferencia, asegurando una localización eficiente y escalable.

Aunque esto es sencillo cuando se renderiza solo en el lado del cliente, gestionar los orígenes se vuelve rápidamente complejo al obtener traducciones para el renderizado del lado del servidor. Sin embargo, puede automatizar la gestión de orígenes utilizando la matriz origins del cliente TacoTranslate.

Considere este ejemplo, donde hemos separado nuestros componentes y páginas en archivos separados.

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

Consulte nuestros ejemplos de renderizado del lado del servidor para más información sobre getTacoTranslateStaticProps.

Manejo de errores y depuración

Un producto de NattskiftetHecho en Noruega