Ubuntu 18.04 Server / Cómo cambiar el idioma del sistema

Para cambiar el idioma predeterminado de Ubuntu 18.04 Server, prepare los datos de configuración regional y los paquetes de traducción, configure update-locale y vuelva a iniciar sesión. Esta guía utiliza el coreano, ko_KR.UTF-8, como ejemplo y distingue los valores guardados en el archivo de los activos en la sesión actual.

Comprobar la configuración y crear una copia de seguridad

La configuración regional (locale) determina el idioma de los programas, la codificación de caracteres, los formatos de fecha y números y las reglas de ordenación. Esta guía se centra en el terminal de Ubuntu 18.04 Server. Los métodos de entrada y la distribución del teclado del escritorio se configuran por separado.

El mantenimiento de seguridad estándar de Ubuntu 18.04 LTS terminó en mayo de 2023. Si administra un servidor existente, compruebe también su cobertura de mantenimiento de seguridad ampliado con Ubuntu Pro o su plan de actualización del sistema operativo. Consulte el ciclo oficial de versiones de Ubuntu para conocer la cobertura.

Acceda con una cuenta con permisos sudo y ejecute los comandos por separado. locale muestra los ajustes de la sesión actual, locale -a enumera las configuraciones regionales disponibles y el último comando muestra el archivo predeterminado del sistema.

locale
locale -a
cat /etc/default/locale

Si la sesión muestra LANG=en_US.UTF-8, la configuración regional predeterminada es inglés de Estados Unidos. Compruebe también las siguientes variables, ya que pueden sustituir categorías concretas o toda la configuración.

Variable Función y aspectos que comprobar
LANG Configuración regional predeterminada cuando una categoría no tiene un ajuste específico.
LC_*, como LC_MESSAGES Define una categoría concreta, como mensajes, fechas o números, con prioridad sobre LANG en esa categoría.
LC_ALL Sustituye todas las categorías de configuración regional. Suele ser apropiada para ejecutar temporalmente un comando con una configuración específica, en lugar de establecer un valor permanente.
LANGUAGE Define las preferencias de traducción de mensajes de los programas que usan GNU gettext. No cambia todos los formatos de fecha y números; revísela si el idioma de los mensajes no es el esperado.

El manual locale(7) de Ubuntu 18.04 explica las funciones y la prioridad de estas variables, incluido el uso de LANGUAGE para los mensajes traducidos. Un programa sin traducción coreana puede seguir mostrando mensajes en inglés aunque utilice una configuración regional coreana.

Antes de modificar el archivo predeterminado, cree una copia de seguridad. Si el nombre indicado a continuación ya existe, elija otro para no sobrescribir una copia anterior. Utilice el nombre real de la copia al restaurarla.

sudo cp -a /etc/default/locale /etc/default/locale.backup

Preparar la configuración regional coreana y las traducciones

Los datos de configuración regional y los mensajes traducidos cumplen funciones diferentes. Escribir un nombre en el archivo no instala los datos necesarios ni las traducciones de todos los programas. Primero actualice la lista de paquetes e instale las herramientas de configuración regional y el paquete de idioma coreano.

sudo apt-get update
sudo apt-get install locales language-pack-ko
sudo locale-gen ko_KR.UTF-8
locale -a

Continúe con cada comando solo cuando el anterior termine sin errores. Si la lista final incluye ko_KR.utf8, la configuración regional coreana UTF-8 está disponible. La lista puede mostrar .utf8, mientras que los ejemplos usan .UTF-8. locale-gen genera los datos; elegir el idioma predeterminado requiere otro paso. Consulte el manual de locale-gen de Ubuntu 18.04.

Si no se encuentra un paquete o falla la descarga, resuelva primero los errores de apt-get update y compruebe los repositorios y la conexión de red. Imponer solo un nombre de configuración regional tras una instalación fallida puede generar advertencias en los comandos posteriores.

Cambiar el idioma predeterminado del sistema

Utilice la siguiente configuración si quiere emplear los valores coreanos predeterminados tanto para el idioma como para los formatos de fecha y números.

sudo update-locale --reset LANG=ko_KR.UTF-8
cat /etc/default/locale

--reset elimina de /etc/default/locale las variables no indicadas en el comando. Así evita que las entradas anteriores de LANGUAGE o LC_* de ese archivo sustituyan el valor coreano predeterminado. Si usa intencionadamente otra región en algunas categorías, no aplique esta opción sin adaptarla: conserve esos ajustes y modifique solo las variables necesarias.

El archivo debe contener la siguiente entrada. Puede incluir también comentarios generados automáticamente.

LANG=ko_KR.UTF-8

update-locale comprueba los valores y modifica el archivo predeterminado, pero no cambia las variables de entorno de un shell que ya está en ejecución. El manual de update-locale de Ubuntu 18.04 describe este comportamiento y la opción --reset.

Volver a iniciar sesión y comprobar el resultado

Si se conecta mediante SSH, cierre la conexión y abra una sesión nueva. Normalmente no hace falta reiniciar el servidor, pero las sesiones y los programas ya abiertos pueden conservar el entorno anterior. Volver a conectarse a tmux o screen no demuestra que se haya cargado un nuevo entorno de inicio de sesión. En los servicios del sistema, revise también su configuración de entorno propia.

Ejecute los siguientes comandos en la nueva sesión.

locale
locale charmap

La configuración básica estará aplicada si aparece LANG=ko_KR.UTF-8, las categorías sin sustituciones usan la configuración regional coreana y la codificación es UTF-8. Un valor vacío como LC_ALL= no es un error: significa que no hay una sustitución global. Consulte el manual del comando locale para interpretar el entorno real.

Compare los formatos mostrando la misma fecha con dos configuraciones regionales. Estos ejemplos solo asignan el ajuste durante cada comando y no modifican el archivo predeterminado.

LC_ALL=C date -d '2026-01-02' '+%A %B'
LC_ALL=ko_KR.UTF-8 date -d '2026-01-02' '+%A %B'

El primer comando debe mostrar los nombres en inglés, Friday January; el segundo, el día de la semana y el mes de la configuración coreana instalada. El idioma de la fecha y la zona horaria son ajustes distintos. Si la hora en sí es incorrecta, consulte cómo configurar la zona horaria en Ubuntu 18.04 Server.

Qué comprobar si el ajuste no se aplica

  • Advertencias de configuración regional: compruebe que locale -a enumera la configuración seleccionada. Si no aparece, revise la instalación de paquetes y la generación de datos. Añadir un nombre al archivo no crea los datos que faltan.
  • El archivo indica coreano, pero la sesión usa otro idioma: examine LC_ALL, las variables LC_* y LANGUAGE con locale. Busque también ajustes en ~/.profile, ~/.bashrc y /etc/environment. Modifique solo lo necesario y vuelva a iniciar sesión.
  • El idioma cambia únicamente con SSH: las opciones SendEnv del cliente y AcceptEnv del servidor pueden transmitir LANG y LC_*. Compare la configuración regional del cliente con las generadas en el servidor. Consulte la configuración del cliente OpenSSH y la del servidor OpenSSH. No cambie indiscriminadamente el acceso remoto ni reinicie SSH solo para corregir una diferencia de idioma.
  • Solo algunos mensajes siguen en inglés: compruebe si el programa ofrece traducción coreana y revise LANGUAGE. Un mensaje en inglés no significa que haya fallado toda la configuración regional.
  • El coreano aparece como cuadros o caracteres ilegibles: revise la codificación UTF-8 del terminal SSH y la compatibilidad de la fuente con el coreano. Cambiar la configuración regional del servidor no instala fuentes ni un método de entrada coreano en el cliente.

Restaurar la configuración original o cambiar a inglés

Para volver al estado original, restaure la copia creada antes de la modificación y vuelva a iniciar sesión. También se restaurarán los ajustes regionales específicos guardados en esa copia.

sudo cp -a /etc/default/locale.backup /etc/default/locale
cat /etc/default/locale

Para elegir inglés de Estados Unidos UTF-8 como nuevo valor predeterminado, en lugar de recuperar el estado anterior, genere esa configuración regional y actualice los ajustes. Los comandos siguientes también restablecen las entradas individuales del archivo predeterminado; revise antes las excepciones que necesite conservar.

sudo locale-gen en_US.UTF-8
sudo update-locale --reset LANG=en_US.UTF-8

Tras volver a iniciar sesión, compruebe el resultado con locale y locale charmap. Si un valor diferente sigue apareciendo solo con SSH, revise las variables del usuario y la transmisión de entorno de SSH, en lugar de sobrescribir repetidamente el archivo con la copia de seguridad.