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.

% German Language Locale for Austria
% Source: O:sterreiches Normungsinstitut
% Address: Postfach 130, A-1021 Wien
% Contact: Gerhard Budin
% Email: not available
% Tel: +43-222-25 75 35 ext 310
% Fax: +43-222-216 32 72
% Language: de
% Territory: AT
% Revision: 4.3
% Date: 1996-10-15
% Users: general

LC_IDENTIFICATION
title      "German locale for Austria"
source     "O:sterreiches Normungsinstitut"
address    "Postfach 130, A-1021 Wien"
contact    "Gerhard Budin"
email      "bug-glibc-locales@gnu.org"
tel        ""
fax        ""
language   "Austrian German"
territory  "Austria"
revision   "1.0"
date       "2000-06-28"

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 "de_DE"
END LC_CTYPE

LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
END LC_COLLATE

LC_MESSAGES
copy "de_DE"
END LC_MESSAGES

LC_MONETARY
int_curr_symbol           "EUR "
currency_symbol           "<U20AC>"
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
p_sep_by_space            1
n_cs_precedes             1
n_sep_by_space            1
p_sign_posn               1
n_sign_posn               1

END LC_MONETARY

LC_NUMERIC
copy "de_DE"
END LC_NUMERIC

LC_TIME
abday	"So";"Mo";/
	"Di";"Mi";/
	"Do";"Fr";/
	"Sa"
day     "Sonntag";/
	"Montag";/
	"Dienstag";/
	"Mittwoch";/
	"Donnerstag";/
	"Freitag";/
	"Samstag"
abmon   "J<U00E4>n";"Feb";/
	"M<U00E4>r";"Apr";/
	"Mai";"Jun";/
	"Jul";"Aug";/
	"Sep";"Okt";/
	"Nov";"Dez"
mon     "J<U00E4>nner";/
	"Februar";/
	"M<U00E4>rz";/
	"April";/
	"Mai";/
	"Juni";/
	"Juli";/
	"August";/
	"September";/
	"Oktober";/
	"November";/
	"Dezember"
d_t_fmt "%a %d %b %Y %T %Z"
d_fmt   "%Y-%m-%d"
t_fmt   "%T"
am_pm   "";""
t_fmt_ampm ""
week    7;19971130;4
first_weekday 2
END LC_TIME

LC_PAPER
copy "i18n"
END LC_PAPER

LC_TELEPHONE
tel_int_fmt    "+%c %a %l"
tel_dom_fmt    "%a %l"
int_prefix     "43"
int_select     "00"
END LC_TELEPHONE

LC_MEASUREMENT
copy "i18n"
END LC_MEASUREMENT

LC_NAME
copy "de_DE"
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 "<U00D6>sterreich"
country_ab2 "AT"
country_ab3 "AUT"
country_num 040
country_car    "A"
lang_name     "Deutsch"
lang_ab       "de"
lang_term     "deu"
lang_lib      "ger"
END LC_ADDRESS
