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.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Oromo language locale for Kenya.
%
% Oromo terms are provided by Mahdi Hamid Muudee of Sagalee Oromoo
% Publishing Co. Inc and formatted in this locale by Daniel Yacob of
% the Ge'ez Frontier Foundation.  The Oromo language terms used here
% are those considered to be canonical in the Oromo language under
% contemporary and progressive usage adopted by government bureaus
% across the Oromo region.  Regional synonyms naturally exist for many
% of the month and day names.
%
% This locale data has been developed under the Yeha Project:
%      http://yeha.sourceforge.net/
%
% build with: localedef -f ISO-8859-1 -i om_KE om_KE
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


LC_IDENTIFICATION
%
title      "Oromo language locale for Kenya."
source     "Ge'ez Frontier Foundation & Sagalee Oromoo Publishing Co. Inc."
address    "7802 Solomon Seal Dr., Springfield, VA 22152, USA"
contact    ""
email      "locales@geez.org"
tel        ""
fax        ""
language   "Oromo"
territory  "Kenya"
revision   "0.20"
date       "2003-07-05"

category "i18n:2012";LC_IDENTIFICATION
category "i18n:2012";LC_COLLATE
category "i18n:2012";LC_CTYPE
category "i18n:2012";LC_MEASUREMENT
category "i18n:2012";LC_MONETARY
category "i18n:2012";LC_NUMERIC
category "i18n:2012";LC_PAPER
category "i18n:2012";LC_TELEPHONE
category "i18n:2012";LC_MESSAGES
category "i18n:2012";LC_NAME
category "i18n:2012";LC_ADDRESS
category "i18n:2012";LC_TIME
END LC_IDENTIFICATION


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Qubee Specific Data:
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LC_COLLATE
%
% Copy the template from ISO/IEC 14651
%
copy "iso14651_t1"
%
% Define extra Oromo letters and their sort order:
%
collating-symbol  <CAP-MIN>
collating-symbol  <ch-qubee>
collating-element <CH> from "CH"
collating-element <Ch> from "Ch"
collating-element <ch> from "ch"
collating-symbol  <dh-qubee>
collating-element <DH> from "DH"
collating-element <Dh> from "Dh"
collating-element <dh> from "dh"
collating-symbol  <kh-qubee>
collating-element <KH> from "KH"
collating-element <Kh> from "Kh"
collating-element <kh> from "kh"
collating-symbol  <ny-qubee>
collating-element <NY> from "NY"
collating-element <Ny> from "Ny"
collating-element <ny> from "ny"
collating-symbol  <ph-qubee>
collating-element <PH> from "PH"
collating-element <Ph> from "Ph"
collating-element <ph> from "ph"
collating-symbol  <sh-qubee>
collating-element <SH> from "SH"
collating-element <Sh> from "Sh"
collating-element <sh> from "sh"

reorder-after <MIN>
<CAP-MIN>

reorder-after <z>
<ch-qubee>
<dh-qubee>
<kh-qubee>
<ny-qubee>
<ph-qubee>
<sh-qubee>

reorder-after <U00DE>
<ch>	<ch-qubee>;<MIN>;<MIN>;IGNORE
<Ch>	<ch-qubee>;<CAP>;<MIN>;IGNORE
<CH>	<ch-qubee>;<CAP>;<CAP>;IGNORE
<dh>	<dh-qubee>;<MIN>;<MIN>;IGNORE
<Dh>	<dh-qubee>;<CAP>;<MIN>;IGNORE
<DH>	<dh-qubee>;<CAP>;<CAP>;IGNORE
<kh>	<kh-qubee>;<MIN>;<MIN>;IGNORE
<Kh>	<kh-qubee>;<CAP>;<MIN>;IGNORE
<KH>	<kh-qubee>;<CAP>;<CAP>;IGNORE
<ny>	<ny-qubee>;<MIN>;<MIN>;IGNORE
<Ny>	<ny-qubee>;<CAP>;<MIN>;IGNORE
<NY>	<ny-qubee>;<CAP>;<CAP>;IGNORE
<ph>	<ph-qubee>;<MIN>;<MIN>;IGNORE
<Ph>	<ph-qubee>;<CAP>;<MIN>;IGNORE
<PH>	<ph-qubee>;<CAP>;<CAP>;IGNORE
<sh>	<sh-qubee>;<MIN>;<MIN>;IGNORE
<Sh>	<sh-qubee>;<CAP>;<MIN>;IGNORE
<SH>	<sh-qubee>;<CAP>;<CAP>;IGNORE

reorder-end
%
END LC_COLLATE


LC_CTYPE
copy "i18n"

translit_start
include  "translit_combining";""
translit_end
END LC_CTYPE


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Kenya Specific and Shared Data:
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


LC_MEASUREMENT
copy "i18n"
END LC_MEASUREMENT

LC_MONETARY
%
int_curr_symbol       "KES "
currency_symbol       "Ksh"
mon_decimal_point     "."
mon_thousands_sep     ","
mon_grouping          3;3
positive_sign         ""
negative_sign         "-"
int_frac_digits       2
frac_digits           2
p_cs_precedes         1
p_sep_by_space        0
n_cs_precedes         1
n_sep_by_space        0
p_sign_posn           1
n_sign_posn           1
%
END LC_MONETARY


LC_NUMERIC
%
% This is the POSIX Locale definition for the LC_NUMERIC category.
%
decimal_point          "."
thousands_sep          ","
grouping               3;3
%
END LC_NUMERIC


LC_PAPER
copy "i18n"
END LC_PAPER


LC_TELEPHONE
%
% This is the ISO_IEC TR14652 Locale definition for the LC_TELEPHONE category.
%
tel_dom_fmt    "%a-%l"
tel_int_fmt    "%c-%a-%l"
int_prefix     "254"
int_select   "000"
%
END LC_TELEPHONE


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Oromo Specific Data:
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LC_MESSAGES
copy "om_ET"
END LC_MESSAGES

LC_NAME
copy "om_ET"
END LC_NAME


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Oromo/KE Specific Data:
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LC_ADDRESS
%
% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category.
%
postal_fmt    "%z%c%T%s%b%e%r"
country_name  "Keeniyaa"
country_post  "KEN"
country_ab2   "KE"
country_ab3   "KEN"
country_num   404
country_car   "EAK"
% country_isbn  unknown, Need ISO 2108
lang_name     "Oromoo"
lang_ab       "om"
lang_term     "orm"
lang_lib      "orm"
%
END LC_ADDRESS


LC_TIME
copy "om_ET"
END LC_TIME
