1 votos

No se puede cambiar el idioma del terminal a pesar de hacer todo aparentemente correctamente, la interfaz gráfica está traducida

Ocurriendo en macOS: 14.4.1

No puedo cambiar a través de la GUI ya que se requiere que sea hecho para varios idiomas y debe ser automatizado, las diferentes configuraciones regionales estarán en un script.

Todo lo que he intentado hasta ahora - GUI traducida, Terminal no

Aquí están los comandos que ejecuté para cambiar la GUI a francés (sólo se necesitan los primeros 2).
Estos son excesivos ya que estaba intentando hacer que el terminal se traduzca:

sudo defaults write /Library/Preferences/.GlobalPreferences AppleLanguages -array fr-FR
sudo defaults write /Library/Preferences/.GlobalPreferences AppleLocale -string fr_FR
sudo defaults write /Library/Preferences/.GlobalPreferences Country -string FR

sudo defaults write ~/Library/Preferences/.GlobalPreferences AppleLanguages -array fr-FR
sudo defaults write ~/Library/Preferences/.GlobalPreferences AppleLocale -string fr_FR
sudo defaults write ~/Library/Preferences/.GlobalPreferences Country -string FR

Luego reinicié la máquina, al verificar la configuración regional obtengo en_GB:

defaults read -g AppleLocale
en_GB

Sin embargo el archivo que supuestamente lee el comando anterior muestra fr_FR:

defaults read /Library/Preferences/.GlobalPreferences AppleLocale
fr_FR

El idioma también se muestra como fr-FR:

defaults read /Library/Preferences/.GlobalPreferences AppleLanguages
{
"fr-FR"
}

Los resultados son los mismos para .GlobalPreferences en ~/Library.

Luego intenté exportar estas variables a ~/.zshrc lo cual resolvió el problema para otros:

cat ~/.zshrc

# intentado esto antes sin éxito, otras respuestas dijeron usar la variable LANG descomentada
# export LANG='fr_FR' 
export LANG='fr_FR.UTF-8'
export LC_ALL='fr_FR.UTF-8'

locale

locale
LANG="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_CTYPE="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8"

Ejemplo para mostrar que el terminal sigue en inglés (el texto de error debería estar traducido):

ls fged

ls: fged: No such file or directory

Preferencias del Sistema muestra francés. ¿Alguna idea?

1voto

R3D34THR4Y Puntos 13

Para la traducción y localización de la IU, todo lo que necesitas son estos comandos:

sudo defaults write /Library/Preferences/.GlobalPreferences AppleLanguages -array ${lang}_${country}
sudo defaults write /Library/Preferences/.GlobalPreferences AppleLocale -array ${lang}-${country}

# también este para la zona horaria (lo necesitaba)
# redirección porque da errores sin razón, gracias a Linc por señalarlo

sudo systemsetup -settimezone $timeZone > /dev/null 2>&1

Ahora en la Terminal, al ejecutar sudo defaults read -g |, mostrará los que hayas configurado previamente.

  • Esto es así incluso si actualizaste los archivos plist globales y de usuario
  • Esto no tenía sentido para mí, ya que sudo defaults read -g | debería leer (o eso pensaba) desde /Library/Preferences/.GlobalPreferences.plist
  • Esto se puede confirmar ejecutando sudo defaults read -g |
  • Así que para actualizar la configuración global de estos tienes que ejecutar
    • sudo defaults write -g AppleLocale ${lang}_${country}
    • sudo defaults write -g AppleLanguage ${lang}-${country}
  • Esto no traducirá la terminal debido a las limitaciones de macOS, pero fue importante en mi caso para que las aplicaciones tradujeran sus mensajes según el idioma y la configuración regional establecida; con alguna de ellas faltante, obtenía caracteres extraños en mis mensajes
  • Acabo de hacer esto para Linux, así que pensé que era necesario traducir toda la terminal
  • Parece que este ha sido el caso desde que Apple eliminó las ubicaciones de GNU hace 11 años, hay una respuesta en un comentario que publiqué que muestra esto

0voto

Linc D. Puntos 11

MacOS no es GNU. La mayoría de los comandos de shell incluidos no están localizados. Las únicas excepciones que conozco son los comandos de CUPS como lpstat(1). De lo contrario, si desea locales de shell, tendrá que instalar cosas de GNU usted mismo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X