i18n-chain 2.0 lanzado, compatible con componentes internacionales de TypeScript

actualizar contenido

Roturas

  • Los datos ya no están conectados a la cadena de primer nivel y deben obtenerse de la cadena (este tipo de escenario de uso directo también es menor)
- valor constante = i18n.button.submit; 
+ valor constante = i18n.chain.button.submit;
  • Elimine el subrayado _y ajuste el método incorporado de nuevo a la cadena del primer nivel
- i18n ._. local ('zh'); 
+ i18n.local ('zh');
  • Eliminar useI18n, cambiar para obtener la cadena de la instancia
función Aplicación: FC = () => {
 - useI18n (i18n); 
+ cadena constante = i18n.use (); 

  return <div> {chain.button.submit} </div>; 
}
  • Eliminar componentes de alto nivel  I18nProvidery cambiar para obtener hoc desde la instancia
clase Aplicación amplía Componente { 
  render () { +    const {cadena} = this.props; -    return <div> {i18n.button.submit} </div>; +    return <div> {cadena.button.submit} </div>; 
  } 
} - exportar I18nProvider predeterminado (i18n) (aplicación); + exportar i18n.hoc predeterminado (aplicación);






Caracteristicas

  • Se utilizan nuevos métodos translate, tconsistentes con esos, para traducir plantillas de cadenas
  • Nueva herramienta de generación de plantillas de cadenas
// Es lo mismo que escribir una cadena directamente, pero aquí hay un mensaje 
const key = i18n. Literal . Button . Submit ; // key === 'button.submit' 

// Puede usar el método translate para obtener el
 valor de la constante de datos reales = i18n. translate (clave);   // valor === 'Enviar'

------------------------------------

Introducción

Hablando de internacionalización, ¿ha estado en la duplicación de copiar y pegar durante todo el año? t('home:submit') t('common:something:success') No hay sugerencias como  estas, debe recordar, no solo la eficiencia del desarrollo es baja, sino que el teclado es fácil de escribir las letras incorrectas rápidamente, el punto es que difícilmente puede encontrar este tipo de error.

Prefiero el código con sugerencias. Usándolo typescript, inventé un componente i18n que usa operaciones encadenadas y tiene todas las sugerencias. Así  i18n.common.something.success , el código se puede completar automáticamente para asegurar que no haya errores.

compatibilidad

ES DECIR Borde Cromo Firefox Safari Nodo
9+ 12+ 5+ 4+ 5+ *

Supongo que te gusta

Origin www.oschina.net/news/119725/i18n-chain-2-0-released
Recomendado
Clasificación