Para personalizar una configuración regional y, por lo tanto, crear una nueva a partir de configuraciones regionales locales, debe preparar por lo menos tres archivos de origen de definición de configuración regional:
Archivo de origen localedef: contiene las definiciones necesarias para la configuración regional.
Archivo de origen charmap: contiene asignaciones entre valores de punto de código y nombres simbólicos que pueden ser leídos por las personas. Los nombres simbólicos se usan en el archivo de origen localedef. El archivo de origen charmap también contiene otras definiciones, como el nombre de juego de códigos para la configuración regional, el número máximo de bytes que se pueden representar en un punto de código de configuración regional, etc.
Archivo de origen extension: contiene asignaciones de interfaces estándar, como strcoll(3C) y fgetwc(3C) para los métodos de configuración regional interna y otra información necesaria para el funcionamiento adecuado de la configuración regional.
Las configuraciones regionales proporcionadas por el sistema tienen sus archivos de definición de datos de configuración regional respectivos en el paquete source/locale/localedef. Pueden ser útiles cuando solamente se requiere un pequeño cambio en la configuración regional existente del sistema.
$ sudo pkg install system/header source/locale/localedef
$ export PATH=<oracle-studio-path>/bin:$PATH
$ mkdir mynewlocale $ cd mynewlocale $ mkdir amd64 $ cp /usr/lib/locale/common/methods_unicode.so.3 . $ cp /usr/lib/locale/common/amd64/methods_unicode.so.3 amd64/ $ cp /usr/lib/localedef/src/charmaps/UTF-8.charmap \ /usr/lib/localedef/src/extensions/UTF-8.x \ /usr/lib/localedef/src/locales/fr_FR.UTF-8.src .
$ localedef -m lp64 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \ -L "-R\\\$ORIGIN/../../common/amd64 -Bdirect -M /usr/lib/ld/map.pagealign \ -M /usr/lib/ld/map.noexdata" fr_FR.UTF-8@custom $ mv fr_FR.UTF-8@custom.so.3 amd64/
$ localedef -m ilp32 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \ -L "-R\\\$ORIGIN/../common" fr_FR.UTF-8@custom
$ sudo mkdir -p /usr/lib/locale/fr_FR.UTF-8\@custom/amd64 $ sudo cp fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/ $ sudo cp amd64/fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/amd64/
$ export LANG=fr_FR.UTF-8@custom