Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
¿Cómo obtener el idioma de la cadena devuelta por i18next.t?

Digamos que tengo dos recursos de traducción (es decir, idiomas). Un recurso contiene valores para todas las claves utilizadas en el software. Este recurso (aquí denominado "en") está configurado como respaldo. El otro recurso (aquí denominado "cn") no tiene valores para todas las claves. Supongamos que el idioma predeterminado es "cn".

Ahora podemos buscar una clave usando const translation = t("some_key") . Editar : por lo tanto, podría ser que la translation ahora se tome de "cn" o "en", dependiendo de si se define en "cn".

Cómo determinar el idioma de translation ; o, de manera más general, ¿cómo hacer que i18next busque alguna clave y también devuelva información sobre el recurso utilizado?

No estoy interesado en enfoques que exploren todos los recursos para la translation , ni en enfoques heurísticos basados en los contenidos de la translation .

Motivo de la pregunta: quiero aplicar el atributo lang correcto en el navegador en un determinado elemento DOM. La localización se ejecuta en el lado del servidor y se transmite a través de JSON, por lo que no se trata de i18next-react .

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

internamente i18next tiene una función de resolución que devuelve el idioma utilizado...

Puede intentar acceder a i18next.translator.resolve (clave, opciones) pero, como se dijo, esto no está documentado y no es una interfaz pública oficial.

Editar: Desde v21.7.0 hay una nueva opción returnDetails que se puede establecer en verdadero para obtener toda la información relevante.

 const resolved = t('key', { returnDetails: true }); resolved.res; resolved.usedKey; resolved.exactUsedKey; resolved.usedNS; resolved.usedLng;
about 4 years ago · Juan Pablo Isaza Report

0

Tal vez pueda intentar obtener la configuración regional para i18n. Por ejemplo, en Vue 2, puedes obtenerlo con:

 let lang = this.$i18n.locale //return lang set ('es', 'en', 'cn', 'fr', etc)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!