Potentially this is not an OS problem, but a problem with the specific application (LibreOffice Calc).
I have created and compiled a custom locale:
$ set |grep LANG=
LANG=en_XX.UTF-8
$ cat /usr/share/i18n/locales/en_XX
comment_char %
escape_char /
% This file is part of the GNU C Library and contains locale data.
% The Free Software Foundation does not claim any copyright interest
% in the locale data contained in this file. The foregoing does not
% affect the license of the GNU C Library as a whole. It does not
% exempt you from the conditions of the license if your use would
% otherwise be governed by that license.
% Locale for English locale in the USA
% Contributed by Ulrich Drepper <drepper@redhat.com>, 2000
% EDITED BY v010dya
LC_IDENTIFICATION
title "English locale for the V010DYA"
source "FSF and v010dya"
address "https:////www.gnu.org//software//libc//"
contact ""
email "bug-glibc-locales@gnu.org"
tel ""
fax ""
language "British English"
territory "Russia"
revision "1.0"
date "2000-06-24"
category "i18n:2012";LC_IDENTIFICATION
category "i18n:2012";LC_CTYPE
category "i18n:2012";LC_COLLATE
category "i18n:2012";LC_TIME
category "i18n:2012";LC_NUMERIC
category "i18n:2012";LC_MONETARY
category "i18n:2012";LC_MESSAGES
category "i18n:2012";LC_PAPER
category "i18n:2012";LC_NAME
category "i18n:2012";LC_ADDRESS
category "i18n:2012";LC_TELEPHONE
category "i18n:2012";LC_MEASUREMENT
END LC_IDENTIFICATION
LC_CTYPE
copy "en_GB"
END LC_CTYPE
LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
END LC_COLLATE
LC_MONETARY
int_curr_symbol "USD "
currency_symbol "$"
mon_decimal_point ","
mon_thousands_sep "<U202F>"
mon_grouping 3;3
positive_sign ""
negative_sign "-"
int_frac_digits 2
frac_digits 2
p_cs_precedes 1
int_p_sep_by_space 1
p_sep_by_space 0
n_cs_precedes 1
int_n_sep_by_space 1
n_sep_by_space 0
p_sign_posn 1
n_sign_posn 1
%
END LC_MONETARY
LC_NUMERIC
decimal_point ","
thousands_sep "<U202F>"
grouping 3;3
END LC_NUMERIC
LC_TIME
abday "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat"
day "Sunday";/
"Monday";/
"Tuesday";/
"Wednesday";/
"Thursday";/
"Friday";/
"Saturday"
week 7;19971130;1
first_weekday 2
abmon "Jan";"Feb";/
"Mar";"Apr";/
"May";"Jun";/
"Jul";"Aug";/
"Sep";"Oct";/
"Nov";"Dec"
mon "January";/
"February";/
"March";/
"April";/
"May";/
"June";/
"July";/
"August";/
"September";/
"October";/
"November";/
"December"
% Appropriate date and time representation (%c)
d_t_fmt "%x %X"
%
% Appropriate date representation (%x)
d_fmt "%Y-%m-%d"
%
% Appropriate time representation (%X)
t_fmt "%H:%M:%S"
%
% Appropriate AM/PM time representation (%r)
t_fmt_ampm "%I:%M:%S %p"
%
% Appropriate date and time representation for date(1)
date_fmt "%a %d %b %Y %r %Z"
%
% Strings for AM/PM
%
am_pm "AM";"PM"
END LC_TIME
LC_MESSAGES
yesexpr "^[+1yY]"
noexpr "^[-0nN]"
yesstr "yes"
nostr "no"
END LC_MESSAGES
LC_PAPER
copy "i18n"
END LC_PAPER
LC_NAME
name_fmt "%d%t%g%t%m%t%f"
name_miss "Miss."
name_mr "Mr."
name_mrs "Mrs."
name_ms "Ms."
END LC_NAME
LC_ADDRESS
postal_fmt "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
country_name "<U0420><U043E><U0441><U0441><U0438><U044F>"
country_ab2 "RU"
country_ab3 "RUS"
country_num 643
country_car "RUS"
lang_name "<U0440><U0443><U0441><U0441><U043A><U0438><U0439>"
lang_ab "ru"
lang_term "rus"
lang_lib "rus"
END LC_ADDRESS
LC_TELEPHONE
tel_int_fmt "+%c %a %l"
int_prefix "7"
int_select "0~10"
END LC_TELEPHONE
LC_MEASUREMENT
copy "i18n"
END LC_MEASUREMENT
The reason for this is that i want mostly Russian style for numbers, phone numbers, start-of-week day, etc. But i want to use dollar sign as a currency, English language week and month labels. And an alternative date format.
Most things seem to work, however, when it comes to LibreOffice Calc, it insists in only allowing me to edit the date in the very weird M/D/Y format. I wouldn't even tremendously mind something like D/M/Y, but this is driving me insane. I have attempted to ask around, but i believe that it is trying to use the locale that is set.
Is there something in my locale file that is incorrect that Calc is defaulting to en_US?