2

I want to create an en_IL.UTF-8 locale: Languages is English (US English if I need to be specific), but date, number, etc. as is common in Israel/Palestine.

What do I need to do to make this happen?

Note: In case it matters, the distribution is either Devuan Beowulf or antiX 19.3.

einpoklum
  • 8,772
  • 19
  • 65
  • 129

2 Answers2

1

incomplete but functional solution:

fist check the output of $ locale

then read the manuals of these packages and install if suited:

locale, localedef, localehelper, locales-all, and localepurge

I only installed locales-all and set this in my .bashrc

export LANG="en_GB"
export LANGUAGE="en_GB:en"
export LC_CTYPE="en_GB"
export LC_NUMERIC="de_DE"
export LC_TIME="de_DE"
export LC_COLLATE="de_DE"
export LC_MONETARY="es_MX"
export LC_MESSAGES="en_GB"
export LC_PAPER="de_DE"
export LC_NAME="de_DE"
export LC_ADDRESS="de_DE"
export LC_TELEPHONE="de_DE"
export LC_MEASUREMENT="es_MX"
export LC_IDENTIFICATION="de_DE"
export LC_ALL=

upon next log-in, my sytem was as desired.

with this I have an overhead: unused locales stored in arround 250MiB (as far as I could extract from ncdu). Since Storage is cheap nowadays, I will keep these for now.

scjorge
  • 351
  • 1
  • 3
  • 16
0

Here is what i needed to do, to create a new locale:

Find a locale that is closest to what is needed, in my case it was en_US, now:

cd /usr/share/i18n/locales
sudo cp en_US en_XX
sudo vim en_XX

Of course, you would not use en_XX, for your particular question it would be something like en_IL. On Debian there are rather nice comments in the files that make it easy enough to edit them. I also took a peek at the file in my country to get the address strings and paper measurements.

Then it is important to compile that locale:

sudo localedef --no-archive -i en_XX  -f UTF-8 en_XX.UTF-8

and finally it is possible to actually set it:

sudo localectl set-locale en_XX.UTF-8
v010dya
  • 413
  • 4
  • 10