2010-07-27

How to add (generate) locales on Debian and Ubuntu

This blog post gives instructions to add (and generate) locales on Debian and Ubuntu systems. The instructions given here work on Debian Etch and newer, and Ubuntu Hardy and newer (including Intrepid, Jaunty and Karmic).

To add the locales hu_HU.ISO8859-2 and hu_HU.UTF-8, run

$ echo 'hu_HU.ISO8859-2 ISO-8859-2' | sudo tee -a /var/lib/locales/supported.d/hu
$ echo 'hu_HU.UTF-8 UTF-8' | sudo tee -a /var/lib/locales/supported.d/hu
$ sudo dpkg-reconfigure locales 

To verify that the locales are installed correctly, run the following commands and verify that they don't print anything:

$ LC_ALL=hu_HU.ISO8859-2 perl -e0
$ LC_ALL=hu_HU.UTF-8 perl -e0

4 comments:

Arun said...

Hi
How to generate a locale for russian language

pts said...

@Arun: Try ru_RU instead of hu_HU for the UTF-8 lines in the blog post.

Arun said...

Hi
I tried with ru_RU but i when i try to "sudo dpkg-reconfigure locales"
i face the following error
ru_RU.ISO-8859-2... /usr/share/i18n/locales/ru_RU:76: LC_MESSAGES: unknown character in field `yesexpr'
/usr/share/i18n/locales/ru_RU:77: LC_MESSAGES: unknown character in field `noexpr'
/usr/share/i18n/locales/ru_RU:82: LC_MONETARY: unknown character in field `currency_symbol'
/usr/share/i18n/locales/ru_RU:105: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:106: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:107: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:108: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:109: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:110: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:111: LC_TIME: unknown character in field `day'
/usr/share/i18n/locales/ru_RU:112: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:113: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:114: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:115: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:116: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:117: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:118: LC_TIME: unknown character in field `abday'
/usr/share/i18n/locales/ru_RU:119: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:120: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:121: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:122: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:123: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:124: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:125: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:126: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:127: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:128: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:129: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:130: LC_TIME: unknown character in field `mon'
/usr/share/i18n/locales/ru_RU:131: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:132: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:133: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:134: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:135: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:136: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:137: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:138: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:139: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:140: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:141: LC_TIME: unknown character in field `abmon'
/usr/share/i18n/locales/ru_RU:142: LC_TIME: unknown character in field `abmon'
LC_MESSAGES: value for field `yesexpr' must not be an empty string
LC_MESSAGES: value for field `noexpr' must not be an empty string
failed
ru_RU.UTF-8... done
Generation complete.

can you please suggest what kind of error.and how to solve this

pts said...

@Arun: ``Generation complete.'' indicates success. Next time please skip the ISO-8859-2 part, and use UTF-8 only for Russian.