Location ignored

Bug #37138 reported by Tero Karvinen on 2006-03-29
36
This bug affects 4 people
Affects Status Importance Assigned to Milestone
localechooser (Ubuntu)
Medium
Unassigned

Bug Description

Ubuntu installer asks for location ("United States", "Finland"...), but the answer seems to be ignored.

To reproduce
1) Boot from 5.10 Breezy Install CD (Update: also broken in Hardy 8.04.1 and Intrepid 8.10)
2) Language: English
3) Location: Other: Finland

What should happen: Keyboard dialog should have keyboard "Finnish" preselected, because that is the only keyboard used in Finland. Paper size should be A4 (US letter is only used in four countries in the world). Metric system should be used. Time should be presented in Finnish locale.

What actually happens: answer to location question seems to be ignored. Keyboard question offers US keyboard as default. Paper size is US letter. Feet and inches are used in programs instead of the metric (SI) system.

I assume that large part of computer literate users choose English as language. Many of us would still like to use the metric system or A4 paper size.

Suggestions: Use location to set correct locales. Put all locations on a single list instead of listing half of the world under "other".

From Dapper Flight 6 /var/log/installer/syslog:

Installer seems to have a mechanism for setting default values for future questions.
Apr 9 07:29:28 localechooser: info: Set debian-installer/locale = 'en'
Apr 9 07:29:28 localechooser: info: Set countrychooser/country-name = 'United States'

Looks like it sets an incorrect locale:
Apr 9 07:29:42 localechooser: info: Set debian-installer/country = 'FI'
Apr 9 07:29:42 localechooser: info: Set debian-installer/locale = 'en_US.UTF-8'
Apr 9 07:29:43 main-menu[2172]: (process:2193): locale-gen: not found

Colin Watson (cjwatson) wrote :

I'm afraid there's no en_FI locale - it simply doesn't exist - so the installer has to guess whether you wanted en_SOMETHING or something_FI.

> I'm afraid there's no en_FI locale

In Debian-based distributions, you have separate settings for language, measurement system, time and money: locales.

For example, here is the printout of 'locale' in a Debian system (just an example, this is not a good config for me):
$ locale
LANG=en_US
LANGUAGE=en_FI:en_US:en_GB:en
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=en_US

With location Finland, installer should set:
Measurement: metric (SI) system
Paper: A4
Monetary unit: EUR (euro)
Numeric system: Use comma as decimal separator, use space to separate thousands (the SI way) 126 023,15
Time format: Finnish, 10.4.2006

In addition to locales, installer should set default answer to keyboard question to "Finnish".

Colin Watson (cjwatson) wrote :

I'm well aware of how locales work, but you can't legally set en_FI as *any* of those locale items because that locale simply does not exist. The best the installer could possibly do is set fi_FI.UTF-8 for some of those items, which would leave you with a bizarre mix of English and Finnish in places (e.g. dates). Having selected the English language, I'm afraid you need to select a country where a locale is defined for English in order to get good results.

The keyboard point is valid, since that's internal to the installer.

You understood my idea, I think most of the locales for location "Finland" should be fi_FI.UTF8. You have a point about the long dates: "today is maantai" would sound funny. Dates are (hopefully) the only part of locale that could use something like en_FI.UTF8 or just left like they are now.

Especially metric system, A4 paper size and number format are important. Finnish keyboard has comma "," in number pad, so it is very slow to input decimal numbers using dot ".". Users in Finland don't know how long is a feet or an inch, users just change units to metric system one program at a time. Just like most of the world, we always use A4 paper, and it is not possible to buy US letter from normal shops here. Many printers just blink a red light and freeze when sending US letter print jobs to them.

So, I think that most of the locale settings should be set to fi_FI.UTF8.

Here is a working setup for English in location Finland. In my tests I have not seen a word of Finnish, so I think it is quite possible to use Finnish localization with English without mixing languages.

Many of these are required for computer to work normally, as described above. I also found out that using "LC_TIME=en_US.UTF-8", week numbers are different from (ISO-8601 standard) weeks used in Finland.

/etc/locale.gen
fi_FI.UTF-8 UTF-8
en_DK.UTF-8 UTF-8

$ sudo locale-gen

/etc/environment
LANG=en_DK.UTF-8"
LC_CTYPE=fi_FI.UTF-8"
LC_NUMERIC=fi_FI.UTF-8"
LC_TIME=en_DK.UTF-8"
LC_COLLATE=fi_FI.UTF-8"
LC_MONETARY=fi_FI.UTF-8"
LC_MESSAGES=en_DK.UTF-8"
LC_PAPER=fi_FI.UTF-8"
LC_NAME=fi_FI.UTF-8
LC_ADDRESS=fi_FI.UTF-8
LC_TELEPHONE=fi_FI.UTF-8
LC_MEASUREMENT=fi_FI.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8" "

Details on English in Finland and a cfeninge configuration script
http://www.iki.fi/karvinen/english_in_finland_on_ubuntu.html

Here is the /etc/environment, fixed the typos that I made when I removed my comments on it:
/etc/environment
LANG="en_DK.UTF-8"
LC_CTYPE="fi_FI.UTF-8"
LC_NUMERIC="fi_FI.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE="fi_FI.UTF-8"
LC_MONETARY="fi_FI.UTF-8"
LC_MESSAGES="en_DK.UTF-8"
LC_PAPER="fi_FI.UTF-8"
LC_NAME="fi_FI.UTF-8"
LC_ADDRESS="fi_FI.UTF-8"
LC_TELEPHONE="fi_FI.UTF-8
LC_MEASUREMENT="fi_FI.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
I have been testing this config on Breezy and Dapper Flight 6, seems to work.

Changed in localechooser:
status: Unconfirmed → Confirmed

It is possible add en_FI locale to Ubuntu? English isn't Finland official language but very many people in Finland want use they Ubuntu to English so I think it's good idea. My suggestion to en_FI locale is in attachment.

Jyri Sillanpaa (ubuntu-amorco) wrote :

Olli, I think that the best way to add the locale is to suggest it in the Debian forums,
http://forums.debian.net/viewforum.php?f=19
That way it will end up in the next Ubuntu release (if you get it through the developers ;-).

Marcus Granado (mrc-gran) wrote :

I'm curious if the country location could be used to facilitate automatic selection of certain packages which are considered non-appropriate for certain countries. For instance, if either US or JP is selected, then libdvdcss2 is not installed, otherwise it is automatically installed, saving most of the world from the hassle of seeking this package for post-installation.

Broken in Hardy Beta. Location is still only used for time zone.

Details of Hardy test setup used, including some command outputs:
http://myy.helia.fi/~karte/ubuntu_hardy_8.04.html#internationalization_and_localization

description: updated
Jorge Morais (jorgemorais) wrote :

This bug is still present in 8.04.1 and 8.10, which is depressing.
In both cases I installed through the alternate installer. Right in the boot prompt I chose English language and Brazilian keymap. Later, when asked, I told I live in Brazil.
But the locale was all set to en_US.UTF-8.
I had to manually edit /etc/environment and /etc/default/locale. They now contain:

jorge@JorgePeixoto:~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG=pt_BR.UTF-8
LC_MESSAGES="en_US.UTF-8"
LANGUAGE="en_US:en"

jorge@JorgePeixoto:~$ cat /etc/default/locale
LANG="pt_BR.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LANGUAGE="en_US:en"

Why doesn't do installer do something like this automatically?

description: updated

This bug is still in Lucid 10.04.

localechooser does not consider a situation that a user is a foreigner lives in the country he selected.
it will change all LC_* variable by the country, not user prefers.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments