es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo traducir una oración dinámica con react i18next?

Así es como quiero que se muestre en mi página:

<p><strong><code>hay ${number} monos viviendo en nuestro zoológico</code></strong></p>

Entonces, el número es un número obtenido del servidor.

Mi pregunta es cómo utilizar la función t de react-18next para hacerlo y qué debo hacer en mis archivos de localización para traducirlo?

Muchas gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para utilizar la función t de react-i18next para traducir la cadena “hay {number} monos viviendo en nuestro zoológico”, puedes agregarla a tu componente de la siguiente manera:

    import React from 'react';
    import { useTranslation } from 'react-i18next';
    
    const MonkeysLiving = ({ number }) => {
      const { t } = useTranslation();
    
      return <p>{t('monkeysLiving', { number })}</p>;
    };
    
    export default MonkeysLiving;
    

    En este ejemplo, estamos pasando la propiedad number a la función t junto con una clave llamada monkeysLiving. Esta clave debe estar presente en tus archivos de localización para la traducción. Para configurar la traducción de esta clave en tus archivos de localización, puedes agregar las siguientes entradas:

    {
      "monkeysLiving": "Hay {{number}} monos viviendo en nuestro zoológico",
      "monkeysLiving_plural": "Hay {{number}} monos viviendo en nuestro zoológico"
    }
    

    Ten en cuenta que hemos agregado versiones tanto en singular como en plural de la traducción, ya que el número puede ser plural. También estamos utilizando la sintaxis de doble llave para interpolar la variable number en la traducción.

Comments are closed.