Saltar al contenido

El blog de Skatox Entradas

Cómo crear un menú de navegación multi idioma en Shopify

Si creas un aplicación embebida en Shopify, tienes la posibilidad de crear un menú de navegación multi idioma para acceder a las distintas partes de tu aplicación, en el idioma establecido para la cuenta del administrador.

El menú de navegación de una aplicación embebida

Normalmente éste menú lo puedes definir en la configuración de la aplicación. Y se creará automáticamente al momento de cargar la página. Pero posee la limitación de solo ser compatible con un solo idioma, entonces, si tienes mas ese menú va a estar siempre en el mismo idioma.

Crear el menú desde React con App-Bridge

Para solventar esto podemos usar el componente NavigationMenu de App-Bridge. Que no es para crear menús adicionales, sino acceder a el mismo que mostré en el párrafo anterior y se crea antes de renderizar el resto de la aplicación. Con App-Bridge le decimos a Shopify que vamos a crear un menú y le pasamos la etiqueta y dirección de cada sección.

Crear un componente para definir las rutas

Para la creación del menú de navegación multi idioma, necesitamos definir el texto y el enlace de cada entrada del menú con Applink, pues éste es el tipo de dato que acepta NavigationMenu.

Entoces simplemente podemos hacer un arreglo con la traducción del texto (en este caso uso react-i18n de Shopify) y el enlace. Posteriormente recorremos cada posición del arreglo y generamos el AppLink para enviarlo a la aplicación.

import { AppLink } from '@shopify/app-bridge/actions';

const menuEntries = (i18n) => ([
  {
    label: i18n.translate('Menu.dashboard'),
    destination: '/dashboard',
  },
  {
    label: i18n.translate('Menu.settings'),
    destination: '/settings',
  },
]);

const menuItems = (app, i18n) => {
  const items = [];
  const entries = menuEntries(i18n);

  let active;

  entries.forEach((entry) => {
    const menuLink = AppLink.create(app, entry);
    items.push(menuLink);

    if (window.location.pathname.includes(entry.destination)) {
      active = menuLink;
    }
  });

  return { items, active };
};

export { menuItems };

Cargar el componente en la aplicación

Una vez que tengamos un componente que devuelva las entradas del menú traducidas y en formato AppLink. Podemos pasarlas al componente NavigationMenu utilizando la función create().

Primero importamos el componente realizado en el paso anterior:

import { menuItems } from './NavMenu';

Luego simplemente usamos el hook useAppBridge() para obtener la instacia de la aplicación embebida. Guardamos los enlaces en una variable y posteriormente se lo pasamos como argumentos a NavigationMenu para que cree el menú.

const app = useAppBridge();
const menuOptions = menuItems(app, i18n);

NavigationMenu.create(app, menuOptions);

¡Y listo! Ya tendrás tu menú de navegación multi idioma.

Espero que te haya sido de ayuda y ahora puedas tener un menú principal que funcione en los idiomas soportados por tú aplicación.

Deja un comentario

Mi entrevista en Camino Dev

Camino Dev es un podcast 100% en español hospedado por Lina Montaño y Miguelangel Rendon. En éste podcast cuentan las historias y anécdotas de los inicios de muchos profesionales de las TICs.

Debido a que conocí a Lina en un JSConf, empecé a escuchar el podcast desde sus inicios y me encantó por ser distinto a todos. El hecho de conocer cómo otras personas se iniciaron te hace recordar cómo fue tu inicios, lo complicado que parecía todo, las barreras y la motivación inicial para continuar. Además que todos los episodios terminan en final feliz porque los invitados son personas que están trabajando en las TICs y como les va actualmente.

Episodio #19 de Camino Dev

Tuve la oportunidad de participar en la edición 19 del podcast. Fui invitado por los organizadores para hablar de mis inicios, como llegué a ser programador y profesor y muchas cosas que prefiero que escuchen en el podcast.

Fue una gran experiencia participar en él. Es fácil escuchar las historias de los demás pero hablar de la de uno me pareció difícil. Creo que nunca había contado mi experiencia públicamente y pensaba que no es interesante o que va a aburrir y dar pena. Pero ojalá os guste y sea motivadora a algunas personas que lo escuchen.

Si quieren conocer mas de mí y de mis inicios en mi carrera profesional, los invito a escuchar el episodio #19 de Camino Dev a continuación.

#19: Miguel Ángel Useche - Camino Dev
El episodio #19 donde aparezco

Les recomiendo seguir este podcast si desean buscar motivación para iniciarse en el mundo de la informática, si están empezando para que conozcan otras historias y apliquen los que hicieron en sus vidas. Si ya son profesionales, no está demás conocer las historias de otros e inclusive usar esas experiencias cuando uno se cambia de área.

Y si te gusta mucho, comparte el contenido para que llegue a otros y expandir mas nuestros conocimientos.

Deja un comentario

¿Te gustaría saber cómo comprimir PDF en Windows?

Ya he mencionado en artículos anteriores como los archivos en formato PDF son «el estándar» de documentos de texto en el mundo virtual. Puesto que todo dispositivo actualmente posee un lector de este formato, el documento no se altera visualmente en distintos tamaños de pantalla, podemos usar el compresor de PDF perteneciente a FormatPDF.com para que ocupe menos espacio y porque nos permite rellenar información o agregar capas de seguridad para validar la información.

Sin embargo, a veces éstos documentos poseen imágenes y mucho contenido de gran tamaño. Si deseamos enviarlo por correo electrónico y sobrepasan el límite de tamaño no podrán ser enviados y nos crean dificultades. O si necesitamos almacenar varios documentos en un medio limitado como un pendrive, pero no tenemos espacio disponible necesitaremos comprimir PDF para reducir el espacio.

Comprimir PDF significa que se aplican técnicas para que el texto del documento se almacene en una forma que ocupe menos espacio, se alteran las imágenes para eliminar información adicional (sin alterar la calidad de la misma) que solo las máquinas interpretan pero no el ojo humano, entre otros.

Comprimir PDF de Format PDF

Existe una suite de herramientas para archivos PDF perteneciente a FormatPDF. Entre ellas se incluye una llamada Comprimir PDF que te permite reducir el tamaño de un archivo PDF desde el navegador. No necesitas instalar una herramienta adicional en tu computadora, solo navegas hasta la página y listo.

Comprimir PDF con Smart PDF
Comprimir PDF con Smart PDF, simplemente arrastra el archivo y obtén la versión comprimida

Para comprimir tu archivo, selecciona el archivo PDF o lo arrastras allí. Luego en las opciones puedes seleccionar el nivel de compresión: mientras más compresión el archivo ocupa menos espacio, pero sacrificas calidad de las imágenes y de texto. Mi recomendación es que si no te importa mucho la calidad sino la información dentro del documento, entonces selecciona «Compresión extrema» así el archivo tendrá el menor tamaño posible.

¡Y listo! No necesitas hacer más nada. Esperar a que finalice el proceso de compresión y luego puedes descargar el nuevo archivo PDF con menor tamaño. Para que puedas enviarlo o copiarlo a tu medio de almacenamiento. Es muy fácil comprimir PDF específicamente en Windows donde no hay herramientas nativas para realizar estas cosas.

Espero que esta información te sea muy útil. Recuerda compartirla con otros si te gustó y deja tu comentario opinando sobre esta herramienta o cualquier cosa que desees.

Deja un comentario

¡Felices 20 años Archlinux!

Hoy hace 20 años se anunció el lanzamiento de la primera versión de Archlinux 0.1 denominada Homer. Desde hace 16 años es mi distribución de uso diario y he escrito sobre Arch a lo largo de estos años. Una vez que la probé no tuve que seguir buscando una mejor distribución a mis necesidades.

Las principales ventajas de Archlinux

En ese entonces Archlinux era una distribución compilada para la micro-arquitectura i686 en vez de i386, por lo que si tenías un equipo moderno para la época podrías disfrutar de mayor velocidad que el resto de las distribuciones sin tener que recompilar todo como en Gentoo.

Otra de sus principales ventajas, era su simplicidad debido que sigue la filosofía KISS (Keep it Simple Stupid, en español sería Manténlo Estúpidamente Simplemente). A diferencia de otras distribuciones (y creo aún se mantiene) donde al instalar un paquete te instala también las dependencias opciones, documentación, librerías que ofrece, etc. En Archlinux sólo tendrás lo necesario y el resto de cosas va en paquetes separados por lo que tendrás una instalación sencilla y limpia.

Uno de los mayores puntos de Archlinux es que es rolling-release. Esto significa que sólo necesitas instalarlo una vez y puedes actualizarla cada día sin instalar de nuevo. Otras distribuciones requieren que reinstales de nuevo para actualizar o lanzan actualizaciones grandes cada cierto tiempo para mejorar el sistema, como Ubuntu que cada 6 meses saca una nueva versión con nuevo Gnome, nuevos paquetes, etc. En Archlinux, todo los días hay actualizaciones y tienes un sistema seguro. De hecho, tuve instalaciones de 5 años que por problema de disco tuve que reinstalar, pero el sistema siempre fue estable y sin problemas luego de tanto tiempo.

Mi distribución favorita desde el 2006

La wiki de Archlinux

Cuando empecé a usar Arch, me di cuenta que su Wiki era muy simple y a la vez muy concisa. Solo tiene la información necesaria para informarte de algo o resolver un problema. Por esta razón es muy utilizada por otras distribuciones porque la calidad es muy buena.

La wiki de Archlinux es uno de los puntos fuertes de esta distribución de Linux. Al seguir el principio KISS le ha permitido crear excelentes entradas a lo largo de estos años. De hecho uno de mis primeros aportes al software libre, fue traducir artículos al español en la antigua comunidad de Archlinux en Español.

A lo largo de estos años, no ha parado de tener contenido nuevo y de calidad. Mantiene su principio KISS y estoy seguro que seguirá siendo así en los próximos años por venir.

El crecimiento de Arch

Cuando empecé a usar esta distribución en el 2006. No era muy conocida ni las principales, pero poco a poco a ido creciendo por las ventajas mencionadas anteriormente y la disponibilidad para nuevas arquitecturas. Por ello, ahora vez Archlinux en la Raspberry PI, en la SteamDeck de Valve, con núcleo BSD, entre otros.

De hecho ahora se ha popularizado la frase «Yo uso Archlinux» porque inicialmente sus usuarios se sentían orgullosos de usar una distribución no popular pero que erá medio complicada de instalar para un novato, rápida y excelente. Pero como cada vez somos mas usuarios de Arch ya es algo común y se volvió meme.

Deseo que Archlinux siga cumpliendo muchos años mas y tenga la misma visión que actualmente posee. Hasta los momentos, ha sido una excelente distribución que ha crecido gracias a su filosofía.

¡Gracias Archlinux por todos estos años!

Deja un comentario