Locale en_RU is English language locale for Russia. Locale en_RU developed and tested in Fedora and will likely work in other GNU/Linux distros based on glibc. There are prebult RPM packages for a few versions of Fedora and Red Hat/CentOS, source tarball for
configure && make && make install is also available. Locale en_RU is free software.
This document describes Locale en_RU version 0.5.2-1 released on 2017-04-10.
Locale name consists of four parts:
As a part of glibc, locales may affect any application, either console or GUI, which uses glibc. Since glibc is used by a great majority of GNU/Linux applications, locales may affect almost all applications.
As you can deduce from its name, en_RU is English language (en) locale for Russia (RU). What does it mean? Look:
$ export LANG=en_RU.utf8 $ date +%c Wed 05 Nov 2014 18:00:00 MSK # Note 24-hour clock. $ cal November 2014 Mo Tu We Th Fr Sa Su # Week starts on Monday. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 $ printf "%'0.2f\n" 1000000 1 000 000.00 # Thousand separator is space.
Nowadays the great majority of people use computers every day, either at work or home. They are not computer professionals (programmers or system administrators), they are just end users. They may know English language or may not. Programs for end users are usually internationalized and localized to let users talk with computers using their mother tongue. That's generally right approach, but some old fogeys who still prefer English for user interface because English commands and messages are often shorter than Russian counterparts, localizations are incomplete or outdated, or just because it is a very old habit.
However, using locale en_US (English for the USA) or other predefined locales like en_GB (English for Great Britain) or en_CA (English for Canada) has noticeable drawbacks: ridiculous 12-hour clock (anybody knows if 12pm is noon or midnight? 12am?), confusing (at least for Russians)
mm/dd/yyyy date format, ugly imperial units, etc.
$ export LANG=ru_RU.utf8 $ export LC_MESSAGES=en_US.utf8 $ date +%c Ср 05 ноя 2014 18:01:43 # Note Russian weekday and month names. $ cal Ноябрь 2014 # Again. Пн Вт Ср Чт Пт Сб Вс 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 $ printf "%'0.2f\n" 1000000 1 000 000,00 # Decimal mark is comma.
Simple Google search1 shows I am not the only inventor of the locale, and not the first of inventors. However, the same search also shows the idea of such a locale visited many unretated minds. From time to time different people asked for such a locale:
…or provided instructions how to set up it:
The most noticeable attempt to the problem was made by Kirill A. Korinskiy in 2009: he submitted a proposal of a new locale to glibc Bugzilla. However, glibc maintainer Ulrich Drepper rejected it, he said people interested in the new locale can compile it themselves.
The easiest way to install Locale en_RU is using prebuilt RPM package. Enable my repository first, then:
Download Locale en_RU source tarball:
$ wget https://sourceforge.net/projects/en-ru/files/0.5.2/locale-en_RU-0.5.2.tar.gz
$ tar xaf locale-en_RU-0.5.2.tar.gz $ cd locale-en_RU-0.5.2
then follow instructions in INSTALL.en.md.
Just set environment variable
en_RU.utf8 before running desired application, e. g.:
$ LANG=en_RU.utf8 gedit
$ printenv | grep ^LC_
Output should be empty. If it is not, unset all the variables:
$ unset `printenv | grep ^LC_ | cut -f1 -d=`
Set environment variable
LANG to value
en_RU.utf8 in your profile script.
LANG=en_US.utf8 export LANG
In case of other shells, name of your profile script and assignment syntax may vary.
Changes in profile will have effect at your next login.
Setting default locale depends on your graphical desktop environment (e. g. Gnome, KDE, etc). It could be either special GUI application (named Settings, Preferences, or Control Center), or a kind of configuration file.
Settings → Region & Language; set Language to English (Russian Federation), and Formats to Russian Federation (English). Change will be applied the next time you log in.
$ localectl status
to see current system locale, and
$ localectl set-locale LANG=en_RU.utf8
to change it to locale en_RU.
This command may be executed from non-root account. If so, user will be propmted for root password.
Note: System default locale is often overriden by user's personal settings, especially in graphic sessions.
Locale en_RU consistenly sticks to English language, but fixes other parameters which look ugly for Russians:
mm/dd/yyyyto unambiguous ISO 8601 format
yyyy-mm-dd. It is not (yet?) widely used in Russia, but I believe advocating this format is a right thing to do.
₽" (U+20BD)4, see Russian ruble.
RUB", accordingly to ISO 4217.
glibc-locale-en_RU-0.001-1prevents ugrading it. You will need uninstall it first, then install another version.
If you found a bug of any sort (including an typo or mistake in supporting documentation and/or website) or have a request, please submit a ticket. Questions and discussions are welcome at forums. Feel free to post a review and rate the project.
Note: Sorry, anonymous posts are not allowed. You have to register at SourceForge to get write permissions.
If registration at SourceForge is not feasible to you, send an email directly to author: mailto:firstname.lastname@example.org.
# dnf install dnf-plugins-core # dnf copr enable vandebugger/release
# yum install yum-plugin-copr # yum copr enable vandebugger/release
Copyright © 2013-2014, 2016, 2017 Van de Bugger.
Locale en_RU is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Locale en_RU is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Google search depends on searching history, so your may see different results.↩
Width of narrow no-break space depends on the font. In monospaced font all the glyphs should have the same width and so narrow no-break space has the same width as normal space. In proportional font narrow no-break space may be really narrow.↩