I have issue with locales. I'm living in Estonia. If I choose country like Estonia. I'll have calendar and other local things in Estonian, but I with have it in English. And no options for make different language for Estonia. Can be work around this? Actually this issue exists in any distro. Ubuntu team assuming that county you currently is set you language, which is not always true.
Yes, since you installed in Estonia, Ubuntu 'guessed' that you prefer date and time formats, currency etc. 'the Estonian way'. If you want e.g. English instead, you can open Language Support, select the Regional Formats tab, and change it.
Edit:
If the weekday and month names are your primarily concern, while you want to keep other format aspects to Estonian as far as possible, one option is to open the
~/.profile
file for editing and add this line:There are several ways. The easiest one, is to specify the exceptions. Let me show me my configuration using screenshots. What you will open is the "Languages Support" application. On the first run, it usually asks you to install the missing components. Let it do so.
Go to "Install Remove Languages" and get all the languages that you are interested in. For me that would be English, Dutch, French and German:
Now, in the main window, drag the languages you want for displaying on top. They are top to bottom, in preference. I prefer, in order: en_GB, en_US and finally just en:
Finally, go to the second tab called "Regional Formats". There you select the date/time/currency formats you want to use. For me that's fr_LU:
That's basically it. In my case, everything is displayed in English, but my formats are according to the Luxembourgish standard.
If you click "Apply System-Wide", it becomes a system-wide default. I usually do this, individual users can still change it to their liking (and even revert it for the system if they have an administrative account).
Alternative method: Set environment variables. Basically that's what the above application does for you. Here are mine:
If you want to change them system wide, the file that you are interested in
/etc/default/locale
.Finally, you can create a new locale. It's what I used to do, but the environment variable system works good enough for me. Basically, the locale definitions files can be found in
/usr/share/i18n/locales
. It contains a bunch of files named xx_XX. You pick the one that fits the formatting you want. For me that would befr_LU
. Now copy that to the (inexisting) locale you want to create:cp fr_LU en_LU
. At this point edit the new file and replace the language name by the wordEnglish
. In my case that wasFrench
intoEnglish
. Finally, you need to add the new locale to/etc/locale.gen
and and runsudo locale-gen
and then use that in/etc/default/locale
. Needless to say this is a quite complicated way, and I'm writing this from memory. I almost certainly forgot something.For the locale generating (thanks to Gunnar for the wise additions), this should be the full procedure. I included output and commands.
Sorry, for yet another edit. The above create locale file will still display dates in French. Since locale files define what is displayed, you can now edit that file (in my example
/usr/local/share/i18n/localesen_LU
). You will look forLC_TIME
andEND LC_TIME
. Now, replace all the stuff within those two lines, with the wordscopy "en_GB"
. Regenerate your locale (sudo locale-gen
) and the new locale is ready for use. There might be other linguistic remnants, and you'll have to adapt those too if you are irked by them.However Doing all this, tells us it will be easier to do the following. Edit the /etc/defaults/locale file to reflect what you want. Above I pasted mine, it is full of
fr_LU.UTF-8
. Each of these variables represent one aspect of the way locale-specific data is represented. This means, to achieve the same thing we did by creating a new locale, we could simple do this (content of/etc/default/locale
:This basically tells the system: format anything to the
fr_LU.UTF-8
locale, except forLC_TIME
, because that I want to see inen_GB.UTF-8
. This should be the solution you are looking for.Remark: You also might want to remove or change these environment variables in
~/.pam_environment
. Those per-user and will override the default settings you set in/etc/default/locale
. GUI applications, like "Language Support" might overwrite those-For more see this link