Skip to content

Instantly share code, notes, and snippets.

@se35710
Created August 8, 2018 11:40
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save se35710/ac3b53e615b30fbb97864f37443f9f46 to your computer and use it in GitHub Desktop.
Save se35710/ac3b53e615b30fbb97864f37443f9f46 to your computer and use it in GitHub Desktop.
en_SE locale
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.
% English language locale for Sweden
% Contact: Mathias Hermansson
% Email: herman@skenbe.net
% Language: en
% Territory: SE
% Revision: 0.2
% Date: 2018-08-08
% Application: general
% Users: general
% This is a 4 step version.
% The Swedish Technical Standard
% TN34:1 requires 7 steps, of which the
% step 3 handling numerics cannot be
% dealt with correctly with current
% POSIX specifications.
LC_IDENTIFICATION
title "English locale for Sweden"
source ""
address ""
contact "Mathias Hermansson"
email "herman@skenbe.net"
tel ""
fax ""
language "English"
territory "Sweden"
revision "0.2"
date "2018-08-08"
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_COLLATE
copy "iso14651_t1"
collating-symbol <aring>
collating-symbol <ae>
collating-symbol <oumlaut>
collating-symbol <oslash>
% æ is sorted after ä and å etc.
reorder-after <REU>
<LIG>
reorder-after <z>
<aring>
<ae>
<oumlaut>
<oslash>
% The letter w is normally not present in the Swedish alphabet. It
% exists in some names in Swedish and foreign words, but is accounted
% for as a variant of 'v'. Words and names with 'w' are in Swedish
% ordered alphabetically among the words and names with 'v'. If two
% words or names are only to be distinguished by 'v' or % 'w', 'v' is
% placed before 'w'.
reorder-after <U0056>
<U0057> <v>;<BAS>;<CAP>;<w> % W
reorder-after <U0076>
<U0077> <v>;<BAS>;<MIN>;<w> % w
reorder-after <U00E3>
<U00E4> <ae>;<REU>;<MIN>;IGNORE % ä
<U00E5> <aring>;<RNE>;<MIN>;IGNORE % å
<U00E6> <ae>;<LIG>;<MIN>;IGNORE % æ
reorder-after <U00F5>
<U00F6> <oumlaut>;<REU>;<MIN>;IGNORE % ö
<U00F8> <oslash>;<OBL>;<MIN>;IGNORE % ø
reorder-after <U00C3>
<U00C4> <ae>;<REU>;<CAP>;IGNORE % Ä
<U00C5> <aring>;<RNE>;<CAP>;IGNORE % Å
<U00C6> <ae>;<LIG>;<CAP>;IGNORE % Æ
reorder-after <U00D5>
<U00D6> <oumlaut>;<REU>;<CAP>;IGNORE % Ö
<U00D8> <oslash>;<OBL>;<CAP>;IGNORE % Ø
% ü/Ü is treated like y/Y but is sorted after the latter
reorder-after <U00FB>
<U00FC> <y>;<REU>;<MIN>;IGNORE % ü
reorder-after <U00DB>
<U00DC> <y>;<REU>;<CAP>;IGNORE % Ü
reorder-end
END LC_COLLATE
LC_CTYPE
copy "i18n"
translit_start
include "translit_combining";""
% LATIN CAPITAL LETTER A WITH DIAERESIS -> "AE"
<U00C4> "<U0041><U0308>";"<U0041><U0045>"
% LATIN CAPITAL LETTER A WITH RING ABOVE -> "AA"
<U00C5> "<U0041><U030A>";"<U0041><U0041>"
% LATIN CAPITAL LETTER AE -> "AE"
<U00C6> "<U0041><U0045>"
% LATIN CAPITAL LETTER O WITH DIAERESIS -> "OE"
<U00D6> "<U004F><U0308>";"<U004F><U0045>"
% LATIN CAPITAL LETTER O WITH STROKE -> "OE"
<U00D8> "<U004F><U0338>";"<U004F><U0045>"
% LATIN SMALL LETTER A WITH DIAERESIS -> "ae"
<U00E4> "<U0061><U0308>";"<U0061><U0065>"
% LATIN SMALL LETTER A WITH RING ABOVE -> "aa"
<U00E5> "<U0061><U030A>";"<U0061><U0061>"
% LATIN SMALL LETTER AE -> "ae"
<U00E6> "<U0061><U0065>"
% LATIN SMALL LETTER O WITH DIAERESIS -> "oe"
<U00F6> "<U006F><U0308>";"<U006F><U0065>"
% LATIN SMALL LETTER O WITH STROKE -> "oe"
<U00F8> "<U006F><U0338>";"<U006F><U0065>"
translit_end
END LC_CTYPE
LC_MONETARY
int_curr_symbol "SEK "
currency_symbol "kr"
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 0
p_sep_by_space 1
n_cs_precedes 0
n_sep_by_space 1
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"
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"
d_t_fmt "%a %e %b %Y %H:%M:%S"
d_fmt "%Y-%m-%d"
t_fmt "%H:%M:%S"
am_pm "";""
t_fmt_ampm ""
date_fmt "%a %e %b %H:%M:%S %Z %Y"
week 7;19971130;4
first_weekday 2
END LC_TIME
LC_MESSAGES
% en_SE is used outside Sweden, as some sort of generic continental
% European English locale. Therefore, it makes sense to have matches
% for more than just English in yesexpr:
% + is ised in many applications for yes (- for no)
% 1 is common yes, 0 is common no, - langage neutral
% Jj is Danish/German/Swedish/Norwegian/Dutch "ja"
% sS is Spanish/Italian "si"
% yY is English "yes"
% oO is French "oui"
yesexpr "^[+1yYjJsSoO]"
noexpr "^[-0nN]"
yesstr "yes"
nostr "no"
END LC_MESSAGES
LC_PAPER
copy "sv_SE"
END LC_PAPER
LC_TELEPHONE
tel_int_fmt "+%c-%a-%l"
tel_dom_fmt "0%a-%l"
int_select "00"
int_prefix "46"
END LC_TELEPHONE
LC_MEASUREMENT
copy "sv_SE"
END LC_MEASUREMENT
LC_NAME
name_fmt "%d%t%g%t%m%t%f"
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 "Sverige"
country_ab2 "SE"
country_ab3 "SWE"
country_num 752
country_car "S"
lang_name "English"
lang_ab "en"
lang_term "eng"
lang_lib "eng"
END LC_ADDRESS
@Beep6581
Copy link

Beep6581 commented Jun 17, 2019

Hello @se35710

This used to work, but now using locale-gen-1.42 and glibc-2.29 I get failures when generating:

$ grep en_SE /etc/locale.gen 
en_SE.UTF-8 UTF-8
$ sudo locale-gen            
 * Generating 4 locales (this might take a while) with 4 jobs
 *  (2/4) Generating en_US.ISO-8859-1 ...                                                                                                                                                                                                                                [ ok ]
 *  (4/4) Generating C.UTF-8 ...                                                                                                                                                                                                                                         [ ok ]
 *  (3/4) Generating en_US.UTF-8 ...                                                                                                                                                                                                                                     [ ok ]
 *  (1/4) Generating en_SE.UTF-8 ...
failed to set locale!
/usr/share/i18n/locales/en_SE:64: LC_COLLATE: cannot reorder after REU: symbol not known
failed to set locale!
/usr/share/i18n/locales/en_SE:67: LC_COLLATE: cannot reorder after z: symbol not known
failed to set locale!
/usr/share/i18n/locales/en_SE:85: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:85: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:86: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:86: [error] symbol `RNE' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:87: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:87: [error] symbol `LIG' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:89: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:89: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:90: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:90: [error] symbol `OBL' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:102: [error] symbol `y' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:102: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:82: [error] symbol `v' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:82: [error] symbol `BAS' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:82: [error] symbol `w' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:93: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:93: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:94: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:94: [error] symbol `RNE' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:95: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:95: [error] symbol `LIG' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:97: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:97: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:98: [error] symbol `(null)' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:98: [error] symbol `OBL' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:104: [error] symbol `y' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:104: [error] symbol `REU' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:80: [error] symbol `v' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:80: [error] symbol `BAS' not defined
failed to set locale!
/usr/share/i18n/locales/en_SE:80: [error] symbol `w' not defined                                                                                                                                                                                                         [ ok ]
 * Generation complete
 * Adding locales to archive ...                                                                                                                                                                                                                                         

Is there a known fix?

@Beep6581
Copy link

Very odd, when I add --ask it seems to complete successfully...

$ sudo locale-gen --ask
 * Generating 4 locales (this might take a while) with 4 jobs
 *  (1/4) Generate en_SE.UTF-8 ? (Y/n) y
 *  (2/4) Generate en_US.ISO-8859-1 ? (Y/n) y
 *  (3/4) Generate en_US.UTF-8 ? (Y/n) y
 *  (4/4) Generate C.UTF-8 ? (Y/n) y
 * Generation complete
 * Adding locales to archive ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment