Hay un buen número de alternativas para implementar la localización e internacionalización sin embargo son básicamente funciones o componentes que le agregan esa capa de funcionalidad a la aplicación, así que estuve buscando un poco más, algo que fuera más a nivel del compilador, menos engorroso y que a la vez impactara de forma mínima la visibilidad y claridad del código.
Encontre una solución basada en babeljs(un precompilador de javascript), es un plugin que permite utilizar template literals en lugar de una función o un tag, no se agrega ningún import(lo hace babeljs), y en lugar de ver algo como esto con react-intl,
<p>
<FormattedMessage
id="Home.dayMessage"
defaultMessage="It's a beautiful day outside."
/>
</p>
puede simplificarse a algo así,
<p>
i18n`It's a beautiful day outside.`
</p>
no es la mejor solución, no tiene un gran manejo de la pluralización, los archivos con las traducciones podrían organizarse mejor, pero son cosas que pueden arreglarse en el camino, en un camino con un código más limpio.
- i18n-tag
- react-intl