---
name: "update-locale-config"
section: "8"
platform: "linux"
package: "localization-config"
version: "1.07+nmu1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/update-locale-config"
---

# update-locale-config(8)

Update differnt programs' language settings

## NAME

update-locale-config - Update differnt programs' language settings

## SYNOPSIS

**update-locale-config** \[*--preinst\|-p*\] \[*--list\|-l*\] \<*language*\>

## DESCRIPTION

**update-locale-config** is a script that automatically updates the language settings  of different programs based on the language code passed as parameter. This script is run by **base-config** throughout the Debian installation process so that the user language selection is made visible to packages and thus preventing debconf interfaces from asking questions related to language settings and adjusting packages' system-wide configuration files to the user selection.

**update-locale-config** can run in two modes, pre-inst or post-inst (the default). Pre-inst mode will run all scripts under /usr/lib/localization-config with a **preinst** suffix, most of these scripts will do  **debconf** preseeding and will run before packages are actually installed. The postinst mode (default) will run all scripts under the same directory with a **postinst** suffix, most of these will modify configuration files that are available once the package has been installed on the system.

System administrators should not need to run **update-locale-config** by hand, although this option is available. Notice, however, that running **update-locale-config** in pre-inst mode will not affect the system unless the packages whose debconf configuration has changed are reconfigured  (with **dpkg-reconfigure PACKAGE**).

Users should not run  **update-locale-config** as all the changes this script makes are systemwide.  If a user wants to change his *locale configuration and adjust the language configuration of his own* *configuration files*  **set-language-env** *(available in the* **language-env** package) should be used instead.

## OPTIONS

- **-d \| --debug**

  Debugging mode

- **-l \| --list**

  List supported locales.

- **-p \| --preinst**

  Run the pre-install scripts instead of the (default) postinst scripts.

- *language*

  specify your favorite native language.   Here are some of the supported languages:\
   **ca\_ES@euro** Catalan (Spain)\
   **da\_DK** Danish\
   **de\_BE@euro** German (Belgium)\
   **de\_DE@euro** German (Germany)\
   **el\_GR.UTF-8** Greek (Greece, UTF-8 mode)\
   **es\_ES@euro** Spanish (Spain)\
   **es\_MX** Spanish (Mexico)\
   **fr\_BE@euro** French (Belgium)\
   **fr\_FR@euro** French (France)\
   **lv\_LV** Latvian\
   **nb\_NO or no\_NO (depricated)** Norwegian Bokmaal\
   **nds\_DE** Low Saxon\
   **nl\_BE@euro** Dutch (Belgium)\
   **nl\_NL@euro** Dutch (The Netherlands)\
   **nn\_NO** Norwegian Nynorsk\
   **se\_NO** Northern Sami

## PACKAGE SCRIPTS

Support for new packages is based on scripts present in  /usr/lib/localization-config. These scripts must analyse the official  locale language code (**language\[\_territory\]\[.codeset\]\[@modifier\]**) and modify the package as appropriate. Since language modifications might vary between different package versions, the scripts in that directory should just check the package version and call scripts in per-distribution subdirectories (**sarge**, **woody**, etc.).

These scripts take as input the locale language code and should do whatever modifications are need in order to configure the package. Possible modifications include:

- *debconf-preseeding*

  If the package asks to the user through **debconf** settings that might depend on the language and charset, and if an accurate guess can be made based on the users locale language code then the script should preseed the debconf values so that the user will not have to answer the questions himself upon package installation. Debconf preseeding is usually done in the *preinst* phase.\
   *configuration file modification* If the package has configuration files that can be modified to  adjust for the user's selection of locale language code, the script should make any reasonable changes in order to help the user configure the package. **Conffiles** (see Debian policy) should be treated with extreme care (to avoid prompts of configuration file changes by dpkg when upgrading).

- All changes done by the scripts should be idempotent.

  ## LANGUAGE SUPPORT

Language support is embedded in the scripts available at  /usr/lib/localization-config. These scripts hold the *knowledge* on how to transform a given language code into a package's modification. Adding support for a new language (or variant) should be done by  modifying these scripts. The code presently available that provides support for some languages could be used as a basis for new language support. In many scripts, adding support for a new language is just a matter of defining it and the values that need to be changed for it in a **database** of languages and changes (actually implemented in most cases as hash array in Perl)

## FILES

- */usr/lib/localization-config*

  Location of the scripts that adjust programs to use the user configured locale.

## SEE ALSO

**[base-config(8)](/base-config/8.md),** **[debconf(1)](/debconf/1.md),** **language-env(1),** **[locale(1)](/locale/1.md)**

Recommended reading also includes  *Debian GNU/Linux - Install manual* (available at **http://www.debian.org/releases/stable/installmanual**) which descirbes how language and country selection works in the debian installer and *Introduction to i18n* (available at **http://www.debian.org/doc/manuals/intro-i18n/**) which describes i18n (and locale) to developers.

## BUGS

Bugs regarding this software should be sent against the  **localization-config** package, preferably using the  **report-bug** script.

## AUTHOR

This software and a first version of the manpage was written by Dagfinn Ilmari Mannsaaker \<ilmari@ping.uio.no\> for the Skolelinux  distribution.  This manpage was later modified for the Debian GNU/Linux by  Javier Fernandez-Sanguino. Minor changes by Konstantinos Margaritis
