1 votos

Obligando a una secuencia de comandos para ejecutar en inglés

Mi Mac se ejecuta Mavericks en inglés, pero debido a que mi región se establece en Portugal y mi teclado es el portugués, al ejecutar algunos scripts que muestra los mensajes en portugués. Por lo general odio a ejecutar el software creado por los no-nativos en portugués porque la traducción es siempre de mierda. Termino con mensajes como "cubra no está definido". Lo que el infierno es un "cubra"?

Así, estos scripts están leyendo algo del sistema y de conmutación para el portugués. Es allí una manera a la fuerza para que se ejecute siempre en inglés?

Mi terminal tiene esta opción seleccionada:

Terminal > Preferences > Settings > [profile] > Advanced > Set locale environment variables on startup

2voto

Joe Puntos 391

Depende del programa. Si se utiliza gettext que es una biblioteca común para hacer de la internacionalización, a continuación, ajuste el LANG variable de entorno en_US (o en_UK si desea Británico Enligh vs Americana en inglés) debe hacer el truco.

Si usted sólo desea que las aplicaciones específicas para el uso de mensajes en inglés, a continuación, usted puede alias el comando para algo como LANG=en_US command-you-want-in-english.

El Aliasing es dependiente de shell que usted está usando, pero en bash (el shell por defecto en MacOSX) poner el siguiente comando en su .bashrc o .bash_profile:

alias command='LANG=en_US command'

Cuando en duda - buscar para el hombre o página de manual del comando que se ejecuta a ver si dan más detalles sobre cómo su internacionalización se implementa y cómo usted como usuario puede controlar.

0voto

Ya que no ha desmarcado "Establecer configuración regional de las variables de entorno en el inicio", juegos de Terminales LANG basado en la región seleccionada en las Preferencias del Sistema.

$ defaults read -g AppleLocale
ja_JP
$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=
$ asd
bash: asd: コマンドが見つかりません

Usted puede cambiar LANG mediante la adición de una línea como esta a ~/.bash_profile:

export LANG=en_US.UTF-8

Después de que los comandos anteriores, debe imprimir algo como esto:

$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
$ asd
bash: asd: command not found

LC_ALL no tiene que ser establecido. LANG y LC_ALL son diferentes maneras de cambiar el el real LC_ variables que se muestran entre LANG y LC_ALL por encima. LANG se utiliza como valor predeterminado para anular la configuración regional de variables. LC_ALL anula la configuración regional de variables, incluso si se han fijado, y si se establece, el cambio de configuración regional de variables no tiene ningún efecto.

Si desmarca la opción "Establecer configuración regional de las variables de entorno en el inicio" y no configure la configuración regional de variables en cualquier lugar, conchas va a utilizar el C de la configuración regional por defecto. Esto hace que trabajar con texto no ASCII, aunque difícil. En bash no-ASCII, los caracteres se muestran y se inserta como secuencias de escape y por ejemplo ä se interpreta como M-l. Usted puede arreglar todos aquellos que por el cambio de salida-meta, la de entrada a meta, y convertir-meta en ~/.inputrc, pero incluso entonces pbpaste y pbcopy mezcla de caracteres UTF-8, ls muestra caracteres no ASCII como signos de interrogación, y que no se puede escribir caracteres que no son ASCII en Emacs. Es más fácil de usar UTF-8 configuración regional, en mi opinión.

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: