Esta respuesta demostrará cómo personalizar completamente un entorno local, opcionalmente utilizando un entorno local existente como base. El tipo de configuración regional que se utilizará en esta respuesta es el i18n
tipo; dicho tipo de configuración regional estará implícito en cada mención de la palabra "configuración regional" en el cuerpo de la respuesta.
Encuentra una guía
Lo primero que necesita para personalizar una configuración regional es conocer el formato de la configuración regional. Este editor de entorno web tiene una descripción completa de cada campo en un entorno local, a pesar de que no puede ser utilizado por cualquiera de forma inmediata. Esta será la guía para usar.
Herramientas necesarias
Las únicas herramientas que necesita para trabajar con configuraciones regionales son
- Un editor de texto. Cualquiera servirá, aunque VIM sobresaldrá.
- Un convertidor de texto a unicode. Sería de esperar que no tuvieras uno, así que te proporcionaré uno simple. Lea la siguiente subsección para obtenerla.
Le recomiendo que cree un directorio y guarde todo lo relacionado con el trabajo que realizará en la configuración regional.
Convertidor de texto a unicode (encodestr)
NOTA: si está utilizando caracteres no comunes , puede tener problemas con el script que escribo a continuación; es posible que desee echar un vistazo a los scripts alternativos vinculados por nass .
Guarde el siguiente código en un archivo. Su sistema identificará este archivo como un script de Python, lo cual está bien porque es uno. Esta guía asume que llamó el guión encodestr
.
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
Después de haberlo guardado, otorgue permiso para la ejecución del archivo; esto será útil. Puede hacer que el uso de Nautilus, o ejecutando desde un terminal el siguiente comando, en el directorio en el que guardó la secuencia de comandos: chmod +x encodestr
.
Ahora puede probar esta secuencia de comandos que se ejecutan en el mismo directorio: ./encodestr hello
. Debería obtener una salida igual a <U0068><U0065><U006C><U006C><U006F>
.
Modificar una configuración regional existente
La modificación de una configuración regional existente es el caso más fácil, ya que lo ideal sería elegir una configuración regional que se adapte a sus necesidades casi por completo, en cuyo caso solo debe realizar pequeñas modificaciones. Para personalizarlo, puede usar la guía para saber cuáles de las secciones son las que desea cambiar y cómo puede cambiarlas. Todas las configuraciones regionales instaladas residen /usr/share/i18n/locales
, sin embargo, la guía contiene prácticamente todas las configuraciones regionales creadas.
Sin embargo, lo primero que notará cuando abra una configuración regional es que leerá palabras en inglés tanto como <UXXXX>
códigos extraños . Deberá poder crear estos códigos: aquí es donde encodestr
viene el script.
Cuando sepa qué secciones debe cambiar, debe conocer cada campo contenido en la sección.
Por ejemplo, la LC_TIME
sección contiene el campo t_fmt
y muchos otros. Cada campo tiene su propia descripción en la guía .
Ahora que sabe qué campos modificar, use la guía nuevamente para averiguar qué valores acepta el campo.
Por ejemplo, el campo t_fmt
acepta texto y las variables strfmt comunes .
Justo cuando sepa qué escribir en los campos que desea modificar, ejecute el texto a través del encodestr
script para obtener su equivalente codificado.
NOTA: no todos los campos deben codificarse; si es necesario, utilice una configuración regional existente como referencia.
Por ejemplo, si desea tener el formato de hora Time: %T
en el t_fmt
campo, ejecute ./encodestr "Time: %T"
; esto volverá <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
y, por lo tanto, tendrá la línea t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
en su localidad (en su sección respectiva, por supuesto).
Una vez que haya modificado todos los campos que desea, deberá proceder a instalar la configuración regional en el sistema, de modo que pueda usarse. Vaya a la sección de instalación para esto.
Crear un entorno local desde cero
A diferencia de la modificación de uno, el otro método que puede usar para crear su ubicación personalizada es trabajar desde cero. Esto no es muy difícil si, de nuevo, usa la guía . Sin embargo, aquí hay un consejo útil: puede copiar secciones de otras configuraciones regionales sin métodos reales de copiar y pegar . Solo tienes que seguir este formato:
LC_SECTION
copy "locale"
END LC_SECTION
¿Dónde LC_SECTION
está la sección que desea modificar y locale
es la configuración regional desde la que desea copiar esa sección?
Por ejemplo, si desea copiar el formato de hora en la configuración regional en inglés, tendrá este texto en su archivo de configuración regional personalizado:
LC_TIME
copy "en_GB"
END LC_TIME
Y eso le ahorra mucho trabajo y asegura que cualquier cambio realizado en el entorno local referenciado se reflejará en el suyo.
Instalar su localidad personalizada
Los pasos que voy a mostrar a continuación pueden no ser óptimos, pero funcionan.
Compila tu localidad. ¡No entres en pánico! Esto no lleva tiempo. Simplemente ejecute el comando sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
donde custom
está el nombre de su localidad.
Copie su configuración regional en el /usr/share/i18n/locales/
directorio. Definitivamente necesitará privilegios de sudo para hacer esto, y puede hacerlo con el comando sudo cp locale /usr/share/i18n/locales/
donde locale
está el nombre de archivo de su configuración regional personalizada.
Especifique su ubicación en /var/lib/locales/supported.d/
. Por ejemplo, cree un nombre de archivo /var/lib/locales/supported.d/asd
y agregue la línea custom UTF-8
, donde personalizado es el nombre de su configuración regional.
Ejecuta el comando mágico. En realidad no sé qué hace exactamente este comando, pero es crucial. Ejecutar sudo locale-gen
. Es muy probable que genere referencias a las configuraciones regionales disponibles donde sea necesario.
Dígale a su sistema que use la configuración regional. Si desea que la configuración regional se use en todo el sistema, modifique el /etc/environment
archivo. De lo contrario, puede modificar su ~/.profile
archivo o cualquier otro que se origine en el inicio. Si no sabe lo que significa esto último, no se preocupe, solo use el ~/.profile
archivo. Para saber lo que tiene que escribir, primero ejecute el locale
comando. Se debe emitir una lista con otros productos como LANGUAGE
, LC_MESSAGES
, LC_CTYPE
y muchos otros. Escribirá, para cada una de las secciones que desee (enumeradas por el comando anterior), en líneas separadas, aquí es SECTION="locale"
donde se SECTION
encuentra la sección y locale
el nombre de su configuración regional personalizada.
Por ejemplo, si desea utilizar el formato de hora de los Países Bajos, pero el idioma inglés, escriba:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
NOTA: Si desea utilizar una configuración regional para cada configuración regional, escriba LC_ALL="locale"
dónde locale
está el nombre de su configuración regional personalizada. Si desea utilizar una configuración regional para todo menos para el idioma, puede escribir LANG="locale"
y (en otra línea, por supuesto) LANGUAGE="locale":XX
dónde XX
está el código de 2 letras para el idioma que desea.
Por ejemplo, si desea usar el idioma holandés y el idioma inglés, puede usar:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
Has terminado
La próxima vez que inicie sesión, su configuración regional debe estar en uso. Puede probar esto ejecutando el locale
comando nuevamente.
¡Comente sobre inconsistencias o declaraciones falsas en esta guía!
πμ
, genera<U00CF><U0080><U00CE><U00BC>
, en lugar de los caracteres esperados<U03C0><U03BC>
. Aquí hay un enlace que funciona.custom UTF-8
a/usr/share/i18n/SUPPORTED
antes de que pudiera funcionarsudo locale-gen
. De lo contrario, no estaría en la lista.No estoy seguro de qué tipo de personalización desea, pero puede establecer algunas variables de configuración regional utilizando su
~/.locale
. Por ejemplo, para recibir mensajes en inglés pero en alemán y los me gusta que usoTambién es posible generar configuraciones regionales personalizadas. Consulte, por ejemplo, esta guía para las fechas.
fuente
en_US
paraLC_NUMERIC
yde_DE
paraLC_MONETARY
yLC_MEASUREMENT
le da otros efectos secundarios? Vea también el nuevo enlace para generar una localización personal.