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

Uso avanzado

Manejo de idiomas de derecha a izquierda

TacoTranslate facilita el soporte de idiomas de derecha a izquierda (RTL), como árabe y hebreo, en sus aplicaciones React. El manejo adecuado de los idiomas RTL garantiza que su contenido se muestre correctamente a los usuarios que leen de derecha a izquierda.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

También puede usar la función proporcionada isRightToLeftLocaleCode para comprobar el idioma actual fuera de React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Desactivar la traducción

Para desactivar la traducción de partes específicas de una cadena o para asegurar que ciertos segmentos se conserven tal cual, puedes usar corchetes cuadrados triples. Esta función es útil para mantener el formato original de nombres, términos técnicos u otros contenidos que no deben traducirse.

import {Translate} from 'tacotranslate/react';

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

En este ejemplo, la palabra “TacoTranslate” permanecerá sin cambios en la traducción.

Múltiples proveedores de TacoTranslate

Recomendamos encarecidamente utilizar múltiples proveedores TacoTranslate en su aplicación. Esto es útil para organizar sus traducciones y cadenas en diferentes orígenes, como su encabezado, pie de página o secciones específicas.

Puede leer más sobre cómo utilizar orígenes aquí.

TacoTranslate los proveedores heredan la configuración de cualquier proveedor principal, por lo que no tendrás que repetir ninguna otra configuración.

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

Sobrescribir origen o configuración regional

Además de usar múltiples TacoTranslate proveedores, también puedes sobrescribir tanto el origen como la configuración regional en los niveles del componente Translate y del 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" />
		</>
	);
}

Manejo de la carga

Al cambiar el idioma en el lado del cliente, la obtención de las traducciones puede tardar unos momentos según la conexión del usuario. Puedes mostrar un indicador de carga para mejorar la experiencia del usuario proporcionando retroalimentación visual durante el cambio.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Pluralización

Para manejar la pluralización y mostrar correctamente las etiquetas basadas en la cantidad en diferentes idiomas, esto se considera la mejor práctica:

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

Varios idiomas

Para admitir varios idiomas simultáneamente en la misma aplicación, puede usar varios proveedores de TacoTranslate con diferentes valores de locale como se muestra a continuación:

También puedes sobrescribir el locale a nivel de componente o de 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>
	);
}

Uso de identificadores de traducción

Puedes agregar un id al componente Translate para manejar diferentes traducciones o significados de la misma cadena. Esto es especialmente útil cuando el mismo texto requiere diferentes traducciones según el contexto. Al asignar identificadores únicos, te aseguras de que cada instancia de la cadena se traduzca con precisión según su 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 ejemplo, el botón de inicio de sesión del encabezado podría traducirse como “Iniciar sesión”, y el del pie de página podría traducirse como “Acceder” en español.

Buenas prácticas

Un producto de NattskiftetHecho en Noruega