En éstos días publiqué un par de versiones nuevas de mullvadrb, la interfaz de usuario de terminal para Mullvad VPN con Ruby. Me parecía que el estado de la conexión necesitaba estar más claro, así que agregué algunos saltos de línea y mejoras visuales. Particularmente cuando la VPN está desconectada. Con la magia de Ruby, obtengo el estado de mullvad status -v y meto unos encantos encadenados como reject, gsub y push de "\n" y queda mucho más visible el estado actual.

Lo otro importante que le agregué fue el soporte para internacionalización de la aplicación. Así que ahora está disponible tanto en Inglés como en Español. No sé si alguien aparte de mí usará esta gema, pero me gustó la idea de agregarle Español. Los siguientes pasos serían agregar Gaélico Escocés, Escocés, Galés e Irlandés (cuando tenga tiempo... y aprenda bien esos idiomas 😅). Hay una cadena de texto en Gaélico Escocés en la aplicación que dejé hardcodeada.

Agregar soporte para varios idiomas en Ruby es relativamente sencillo con la gema i18n. La agregué como dependencia, y creé el directorio config/locales con dos archivos YAML, uno para inglés (en.yml) y otro para español (es.yml). Cada archivo tiene como raíz la clave con el código de idioma, y después claves para cada String que quiero usar:

es:
  account_info: "Información de la cuenta"
  backend_mullvad: "Mullvad - mullvad"
  backend_using: "Usando %{backend} como backend"

Después tuve que decirle a i18n dónde encontrar los archivos de traducción:

I18n.load_path += Dir["#{File.expand_path('../config/locales', __dir__)}/*.yml"]

Para usar estas cadenas de texto en la aplicación, en cualquier parte del código fuente donde estuviera usando text traducible, lo reemplacé por I18n.t(:clave) donde clave se corresponde con una de las claves en el archivo de configuración. Por ejemplo I18n.t(:account_info) va a mostrar "Información de la cuenta". Para mostrar un valor variable, como el backend, la clave tiene el formato %{backend} y se envía el valor desde el código con I18n.t(:backend_using, backend: @backend).

El código fuente está disponible en GitHub, y se puede instalar el ejecutable con gem install mullvadrb.

Está muy bueno esto de tener un proyecto ya desarrollado, que uso casi que a diario, y poder ir agregándole cosas gradualmente cuando se me ocurre algo nuevo...

Mullvardb en Español

No hay comentarios en este post

Feed de comentarios

Dejar un comentario

Toasty!