Inicio
NexoPOS

Traduciendo NexoPOS

NexoPOS se puede traducir registrando el código de idioma, extrayendo las cadenas de localización disponibles y, luego, editando los archivos JSON generados. Esta guía explica el proceso completo para la aplicación principal y los módulos instalados.

Antes de empezar

Necesitas acceso a los archivos fuente de NexoPOS y a una terminal desde el directorio raíz de la instalación. También debes conocer el código de idioma que quieres usar, como it para italiano, de para alemán o es para español. Usa un código de idioma ISO válido para que el nombre del archivo generado y la opción de idioma del perfil se mantengan consistentes.

Agregar un idioma que aún no aparece en la lista requiere un cambio de configuración a nivel de la base. Si la traducción debe estar disponible para otros usuarios, realiza el cambio en una bifurcación (fork) del repositorio de NexoPOS y envíalo como una solicitud de extracción (pull request).

Registrar el idioma

Abre config/nexopos.php y agrega el idioma al array de languages. La clave del array es el código del idioma y el valor es el nombre que se muestra dentro de NexoPOS.

'languages' => [
    'en' => 'English',
    'fr' => 'Francais',
    'it' => 'Italian',
],
nimshot-2026-06-29-121105-hlmbo

Para un idioma de derecha a izquierda, también agrega el código de idioma al array rtl-languages. Por ejemplo, el árabe se registra con ar.

'rtl-languages' => [ 'ar' ],

Extraer cadenas de traducción principales

Ejecuta el comando de traducción con el código de idioma que registraste. Este ejemplo extrae cadenas en italiano.

php artisan ns:translate --extract --lang=it

NexoPOS crea o actualiza el archivo de idioma en lang/it.json. Reemplázalo con el código del idioma que estás traduciendo.

image-3732467

El archivo JSON

Abra el archivo JSON generado en su editor de texto preferido. Cada clave es el texto original utilizado por NexoPOS, y cada valor es el texto traducido que se mostrará a los usuarios. Mantenga las claves sin cambios y traduzca solo los valores.

{
    "Dashboard": "Cruscotto",
    "Products": "Prodotti"
}

Después de editar, asegúrate de que el archivo siga siendo un JSON válido. Una comilla, una coma o una llave de cierre faltante pueden impedir que el archivo de idioma se cargue.

image-4945521

Un módulo

Los módulos tienen sus propios archivos de localización. Primero, identifica el espacio de nombres del módulo a partir del nombre de la carpeta dentro del directorio modules. Por ejemplo, un módulo instalado en modules/NsGastro usa NsGastro como su espacio de nombres.

php artisan ns:translate NsGastro --extract --lang=it

Esto crea o actualiza el archivo de idioma del módulo en modules/NsGastro/Lang/it.json. Abre ese archivo y traduce los valores de la misma manera en que tradujiste el archivo de idioma principal.

image-5300387

Hacer disponibles los archivos de idioma

Si las traducciones se guardan pero el navegador no puede cargarlas, actualiza los enlaces públicos de idiomas. Para los archivos de idioma principales, ejecuta:

php artisan ns:translate --symlink --force

Para un módulo específico, actualice el enlace público del módulo con el espacio de nombres del módulo:

php artisan modules:symlink NsGastro

También puedes actualizar los enlaces públicos de todos los módulos instalados ejecutando el comando sin un espacio de nombres.

php artisan modules:symlink

Selecciona el idioma del perfil

Después de que los archivos de traducción estén listos, inicia sesión en NexoPOS y abre el perfil de usuario desde el encabezado del panel de control. $

open-profile411952

Selecciona el idioma traducido, guarda el perfil y, luego, vuelve a cargar el panel.

set-language-profile590876

Si la traducción no se aplica

Si NexoPOS aún muestra el texto original, revisa primero las causas más comunes.

  • El idioma no se seleccionó en el perfil del usuario.
  • El código de idioma en config/nexopos.php no coincide con el nombre del archivo JSON generado.
  • El archivo JSON contiene un error de sintaxis.
  • El navegador no puede acceder a los archivos de idioma desde public/lang ni al directorio del módulo public.
  • El espacio de nombres del módulo pasado a php artisan ns:translate no es el espacio de nombres del módulo correcto.
image-7445231

Resumen

  • Registra el idioma en config/nexopos.php.
  • Extrae las cadenas principales con php artisan ns:translate --extract --lang={code}.
  • Traduce el archivo JSON generado en lang.
  • Extrae cadenas de módulos con php artisan ns:translate {ModuleNamespace} --extract --lang={code}.
  • Actualiza los enlaces públicos de idiomas y, luego, selecciona el idioma desde el perfil del usuario.