comment_char %
escape_char  /
%
% Romanian Language Locale for Romania
% Source: RAP
% Address: Sankt Jo//rgens Alle 8
%    DK-1615 Ko//benhavn V, Danmark
% Contact: Keld Simonsen
% Email: Keld.Simonsen@dkuug.dk
% Tel: +45 - 31226543
% Fax: +45 - 33256543
% Language: ro
% Territory: RO
% Revision: 4.3
% Date: 1996-10-15
% Application: general
% Users: general
% Charset: UTF-8
% Distribution and use is free, also
% for commercial purposes.
%
% Corrections by:
%  2006-01-07
%  Eddy Petrisor <eddy.petrisor@gmail.com>

LC_IDENTIFICATION
title      "Romanian locale for Romania"
source     "RAP"
address    "Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark"
contact    ""
email      "bug-glibc-locales@gnu.org"
tel        ""
fax        ""
language   "Romanian"
territory  "Romania"
revision   "1.0"
date       "2000-06-29"
%
category  "ro_RO:2000";LC_IDENTIFICATION
category  "ro_RO:2000";LC_CTYPE
category  "ro_RO:2000";LC_COLLATE
category  "ro_RO:2000";LC_TIME
category  "ro_RO:2000";LC_NUMERIC
category  "ro_RO:2000";LC_MONETARY
category  "ro_RO:2000";LC_MESSAGES
category  "ro_RO:2000";LC_PAPER
category  "ro_RO:2000";LC_NAME
category  "ro_RO:2000";LC_ADDRESS
category  "ro_RO:2000";LC_TELEPHONE

END LC_IDENTIFICATION

LC_COLLATE

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

% The modern Romanian alphabet has 31 letters, ordered as below:
% a a( a> b c d e f g h i i> j k l m n o p q r s s, t t, u v w x y z

collating-symbol <a(>
collating-symbol <a/>>
collating-symbol <i/>>
collating-symbol <s,>
collating-symbol <t,>

reorder-after <GRA>
<CIR>
<BRE>

reorder-after <a>
<a(>
<a/>>
reorder-after <i>
<i/>>
reorder-after <s>
<s,>
reorder-after <t>
<t,>

reorder-after <U0061>
<U0103> <a(>;<BRE>;<MIN>;IGNORE
<U00E2> <a/>>;<CIR>;<MIN>;IGNORE
reorder-after <U0041>
<U0102> <a(>;<BRE>;<CAP>;IGNORE
<U00C2> <a/>>;<CIR>;<CAP>;IGNORE

reorder-after <U0069>
<U00EE> <i/>>;<CIR>;<MIN>;IGNORE
reorder-after <U0049>
<U00CE> <i/>>;<CIR>;<CAP>;IGNORE

reorder-after <U0073>
<U0219> <s,>;<CDI>;<MIN>;IGNORE
<U015F> <s,>;<CDI>;<MIN>;IGNORE
reorder-after <U0053>
<U0218> <s,>;<CDI>;<CAP>;IGNORE
<U015E> <s,>;<CDI>;<CAP>;IGNORE

reorder-after <U0074>
<U021B> <t,>;<CDI>;<MIN>;IGNORE
<U0163> <t,>;<CDI>;<MIN>;IGNORE
reorder-after <U0054>
<U021A> <t,>;<CDI>;<CAP>;IGNORE
<U0162> <t,>;<CDI>;<CAP>;IGNORE

reorder-end

END LC_COLLATE



LC_CTYPE
copy "i18n"

%
% Transliteration is _currently_ a good idea as most fonts/applications do not
% have the correct diacritics for "t comma bellow" (U021A, U021B) and 
% "s comma bellow" (U0218, U0219). Thus we currently use and compromise with
% "t cedilla" (U0162, U0163) - which, actually, does not belong to any 
% language - and "s cedilla" (U015E, U015F) - which is _not_ correct for
% Romanian, but is correct for Turkish.
%
% This issue should be fixed in the future, when enough font and application
% support will be provided in current operating systems.
%
translit_start
include "translit_combining";""

% if t/scomma is not available, try first t/scedilla
<U0218> "<U015E>";"<U0053>"
<U0219> "<U015F>";"<U0073>"
<U021A> "<U0162>";"<U0054>"
<U021B> "<U0163>";"<U0074>"

% if t/scedilla is not available, try first t/scomma
<U015E> "<U0218>";"<U0053>"
<U015F> "<U0219>";"<U0073>"
<U0162> "<U021A>";"<U0054>"
<U0163> "<U021B>";"<U0074>"

translit_end
END LC_CTYPE



LC_MESSAGES
yesexpr "<U005E><U005B><U0044><U0064><U0059><U0079><U005D><U002E><U002A>"
noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
END LC_MESSAGES


LC_MONETARY
% Since the 1st of July 2005, the new currency is the ROmanian New leu
% the symbol is RON and 1 RON = 10000 ROL (old ROmanian Leu)...
int_curr_symbol           "<U0052><U004F><U004E><U0020>"
% but representing counted coins is made in the same way as before.
currency_symbol           "<U004C><U0065><U0069>"
% decimal point is comma
mon_decimal_point         "<U002C>"
% the separation of digits is made in groups of three
% and the separator between the groups is the full stop (dot)
mon_thousands_sep         "<U002E>"
mon_grouping              3;3
% the positive sign is not usualy represented
positive_sign             ""
% while the negative one is
negative_sign             "<U002D>"
% usualy one will display only two digits after the decimal point
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
% same rules as for monetary apply for regular figures:
% decimal point is comma
decimal_point             "<U002C>"
% and the separator between groups is full stop
thousands_sep             "<U002E>"
% the separation of figures is made in groups of three
grouping                  3;3
END LC_NUMERIC


LC_TIME
% abbreviated day names are (starting from Monday): Lu Ma Mi Jo Vi Sb Du
abday   "<U0044><U0075>";"<U004C><U0075>";"<U004D><U0061>";"<U004D><U0069>";/
        "<U004A><U006F>";"<U0056><U0069>";"<U0053><U0062>"
%
% Because in 1992 the Romanian Academy stated that within words the
% writing of the letter i> (i circumflex - U00EE) should be replaced
% by a> (acircumflex - U00E2), we use the post92 writing.
% Note: The actual rule is more complex, but the case which applies for 
% Satruday is covered by the exposed explanation above.
%
% Day names are not capitalized:
% duminic<abreve>, luni, mar<tcomma>i, 
% miercuri, joi, vineri,
% s<acircumflex>mb<abreve>t<abreve>
%
% Note that Tuesday Romanian day should be using t comma, not t cedilla,
% but due to the low availability of the glyph (U021B) in fonts we use
% the "so called t cedilla"
day     "<U0064><U0075><U006D><U0069><U006E><U0069><U0063><U0103>";/
        "<U006C><U0075><U006E><U0069>";/
        "<U006D><U0061><U0072><U0163><U0069>";/
        "<U006D><U0069><U0065><U0072><U0063><U0075><U0072><U0069>";/
        "<U006A><U006F><U0069>";/
        "<U0076><U0069><U006E><U0065><U0072><U0069>";/
        "<U0073><U00E2><U006D><U0062><U0103><U0074><U0103>"
%
% All month abbreviations are composed of the first three letters of the full
% Romanian names of the months, except for November, whose abbreviation comes
% from the Latin month name, thus the abbreviation is "nov"
%
% Month names are not capitalized:
% ian feb mar apr mai iun iul aug sep oct nov dec
abmon   "<U0069><U0061><U006E>";"<U0066><U0065><U0062>";/
        "<U006D><U0061><U0072>";"<U0061><U0070><U0072>";/
        "<U006D><U0061><U0069>";"<U0069><U0075><U006E>";/
        "<U0069><U0075><U006C>";"<U0061><U0075><U0067>";/
        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
        "<U006E><U006F><U0076>";"<U0064><U0065><U0063>"
%
% Month names are _not_ capitalized in Romanian:
% ianuarie februarie martie
% aprilie mai iunie
% iulie august septembrie
% octombrie noiembrie decembrie
mon     "<U0069><U0061><U006E><U0075><U0061><U0072><U0069><U0065>";/
        "<U0066><U0065><U0062><U0072><U0075><U0061><U0072><U0069><U0065>";/
        "<U006D><U0061><U0072><U0074><U0069><U0065>";/
        "<U0061><U0070><U0072><U0069><U006C><U0069><U0065>";/
        "<U006D><U0061><U0069>";/
        "<U0069><U0075><U006E><U0069><U0065>";/
        "<U0069><U0075><U006C><U0069><U0065>";/
        "<U0061><U0075><U0067><U0075><U0073><U0074>";/
        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0069><U0065>";/
        "<U006F><U0063><U0074><U006F><U006D><U0062><U0072><U0069><U0065>";/
        "<U006E><U006F><U0069><U0065><U006D><U0062><U0072><U0069><U0065>";/
        "<U0064><U0065><U0063><U0065><U006D><U0062><U0072><U0069><U0065>"
% Appropriate date and time representation (%c)
% Romania uses daylight saving and the names of the time zones are 
% not widely known nor used
%	"%a %d %b %Y %T %z"
d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020>/
<U0025><U0059><U0020><U0025><U0054><U0020><U0025><U007A>"
%
% Appropriate date representation (%x)
%	"%d.%m.%Y"
d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
% 24 hour format is used,
t_fmt   "<U0025><U0054>"
%  thus no am/pm markers are defined/used
am_pm   "";""
% also am/pm hour display format is not used
t_fmt_ampm ""
% %A %-e %B %Y, %H:%M:%S %z
date_fmt       "<U0025><U0041><U0020><U0025><U002D><U0065><U0020><U0025><U0042>/
<U0020><U0025><U0059><U002C><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U007A>"
% First week day is Monday
first_weekday 2
% First work day is Monday
first_workday 2
END LC_TIME


% Romania uses A4 paper format
LC_PAPER
height   297
width    210
END LC_PAPER


LC_TELEPHONE
tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
<U006C>"
int_prefix     "<U0034><U0030>"
END LC_TELEPHONE


% Romania uses the metric system
LC_MEASUREMENT
measurement    1
END LC_MEASUREMENT


LC_NAME
% Format of a name, taken from the glibc locale for Ukrainian.
% %f Family names.
% %F Family names in uppercase. 
% %g First given name.
% %G First given initial.
% %l First given name with Latin letters.
% %o Other shorter name.
% %m Additional given names.
% %M Initials for additional given names.
% %p Profession.
% %s Salutation, such as "Doctor"
% %S Abbreviated salutation, such as "Mr." or "Dr."
% %d Salutation, using the FDCC-sets conventions
%    1 for the name_gen
%    2 for name_mr
%    3 for name_mrs
%    4 for name_miss
%    5 for name_ms
% %t If the preceding field descriptor resulted in an empty string,
%    then the empty string, else a <space>.
%
% FIXME: There are two prefered ways:
% %d%t%s%t%g%t%f and %d%t%s%t%f%t%g%t%m
% The current tendency is to use the first form, while the second is the most
% popular form, it is widespread and widely known.
% Now we stick to the traditional/old/second form: %d%t%s%t%f%t%g%t%m
name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0073><U0025>/
<U0074><U0025><U0066><U0025><U0074><U0025><U0067><U0025><U0074>/
<U0025><U006D>"
% Dl.
name_mr     "<U0044><U006C><U002E>"
% D-na.
name_mrs    "<U0044><U002D><U006E><U0061><U002E>"
% D-ra.
name_miss     "<U0044><U002D><U0072><U0061><U002E>"
END LC_NAME

LC_ADDRESS
% Format of an address. The fields have the following meaning
% (inspired originaly by glibc locale for Ukranian):

% %n Person's name, possibly constructed with the LC_NAME
%    "name_fmt" keyword. (it appears to be invalid)
% %a Care of person, or organization. 
% %f Firm name. 
% %d Department name. 
% %b Building name. 
% %s Street or block (eg. Japanese) name. 
% %h House number or designation. 
% %N Insert an <end-of-line> if the previous descriptor
%    value was not an empty string; otherwise ignore.
% %t Insert a <space> if the previous descriptor value
%    was not an empty string; otherwise ignore.
% %r Room number, door designation. 
% %e Floor number. 
% %C Country designation, from the <country_post> keyword. 
% %l Local township within town or city. (it appears to be invalid)
% %z Zip number, postal code. 
% %T Town, city. 
% %S State, province, or prefecture. 
% %c Country, as taken from data record.
%
% FIXME: it appears that %n and %l are not working; correct form is:
% %n%N%f%N%a%d%N%s%t%h%N%b%t%e%t%r%N%l%z%t%T%N%S%t%c%N
% implemented form:
% %f%N%a%d%N%s%t%h%N%b%t%e%t%r%N%z%t%T%N%S%t%c%N
postal_fmt    "<U0025><U0066>/
<U0025><U004E><U0025><U0061><U0025><U0064><U0025><U004E>/
<U0025><U0073><U0025><U0074><U0025><U0068><U0025><U004E>/
<U0025><U0062><U0025><U0074><U0025><U0065><U0025><U0074>/
<U0025><U0072><U0025><U004E><U0025><U007A>/
<U0025><U0074><U0025><U0054><U0025><U004E><U0025><U0053>/
<U0025><U0074><U0025><U0063><U0025><U004E>"
% Country names are capitalized: Roma>nia
country_name "<U0052><U006F><U006D><U00E2><U006E><U0069><U0061>"
country_ab2 "<U0052><U004F>"
country_ab3 "<U0052><U004F><U0055>"
country_num 642
country_car "<U0052><U004F>"
% ISBN code is 973
% see: http://homepages.cwi.nl/~dik/english/codes/isbn.html
% and other sources
country_isbn 973
% FIXME: is it really RO?
country_post "<U0052><U004F>"
% language names are not capitalized in Romanian ( roma>na( )
lang_name "<U0072><U006F><U006D><U00E2><U006E><U0103>"
lang_ab "<U0072><U006F>"
% set the terminology code to "ron" as defined in iso639-2
lang_term "<U0072><U006F><U006E>"
% set the bibliographic code to "rum" as defined in iso639-2
lang_lib "<U0072><U0075><U006D>"
END LC_ADDRESS

