comment_char %
escape_char /
% Charset: UTF-8
% WARNING: This file has been autogenerated by the Locale Helper application
%          Check it carefully before using it in production.
LC_IDENTIFICATION
title      "Aymara (ayc) locale for Peru"
source       "runasimipi.org"
address      ""
contact      ""
email        "libc-alpha@sourceware.org"
tel          ""
fax          ""
language  "Aymara"
territory "Peru"
revision  "1.0"
date      "2011-11-13"
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Aymara, Southern (ayc) language locale for Peru
%
% Charset: ISO-8859-1
%
% Aymara terms provided by Edgar Quispe Chambi <equispe7@gmail.com> and
% Amos Batto <amosbatto@yahoo.com>
%
% Prepared and contributed to glibc by Chris Leonard <cjl@sugarlabs.org> and
% Amos Batto <amosbatto@yahoo.com>
%
% This locale data has been developed in collaboration between:
% Sugar Labs,  http://www.sugarlabs.org/
% One Laptop Per Child, http://one.laptop.org/
% Runasimipi Quespiqa Software, http://runasimipi.org/
% Somos Azúcar. http://somosazucar.org/
%
% Los autores desean agradecer a los desafíos de la clasificación de las lenguas andinas
% con los códigos ISO-639 disponibles en la actualidad y su disposición a trabajar con
% todos los interesados ​​en mejorar la representación de todas las lenguas andinas.
%
%
% build with: localedef -f ISO-8859-1 -i ayc_PE ayc_PE
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
category  "ayc_PE:2011";LC_IDENTIFICATION
category  "ayc_PE:2011";LC_CTYPE
category  "ayc_PE:2011";LC_COLLATE
category  "ayc_PE:2011";LC_TIME
category  "ayc_PE:2011";LC_NUMERIC
category  "ayc_PE:2011";LC_MONETARY
category  "ayc_PE:2011";LC_PAPER
category  "ayc_PE:2011";LC_MEASUREMENT
category  "ayc_PE:2011";LC_MESSAGES
category  "ayc_PE:2011";LC_NAME
category  "ayc_PE:2011";LC_ADDRESS
category  "ayc_PE:2011";LC_TELEPHONE
END LC_IDENTIFICATION

LC_CTYPE
copy "es_ES"
END LC_CTYPE

LC_COLLATE
copy "iso14651_t1"
END LC_COLLATE

% LC_TIME: Use Aymara transliteration of Spanish day and month names

LC_TIME
% inïru, phiwriru, marsu, awrila, mayu, junyu, julyu, awustu, sitimri, uktuwri, nuwimri, risimri
mon           "<U0069><U006E><U00EF><U0072><U0075>";/
     "<U0070><U0068><U0069><U0077><U0072><U0069><U0072><U0075>";/
     "<U006D><U0061><U0072><U0073><U0075>";/
     "<U0061><U0077><U0072><U0069><U006C><U0061>";/
     "<U006D><U0061><U0079><U0075>";/
     "<U006A><U0075><U006E><U0079><U0075>";/
     "<U006A><U0075><U006C><U0079><U0075>";/
     "<U0061><U0077><U0075><U0073><U0074><U0075>";/
     "<U0073><U0069><U0074><U0069><U006D><U0072><U0069>";/
     "<U0075><U006B><U0074><U0075><U0077><U0072><U0069>";/
     "<U006E><U0075><U0077><U0069><U006D><U0072><U0069>";/
     "<U0072><U0069><U0073><U0069><U006D><U0072><U0069>"
% ini, phi, mar, awr ,may, jun, jul, awu, sit, ukt, nuw, ris
abmon         "<U0069><U006E><U0069>";/
       "<U0070><U0068><U0069>";/
       "<U006D><U0061><U0072>";/
       "<U0061><U0077><U0072>";/
       "<U006D><U0061><U0079>";/
       "<U006A><U0075><U006E>";/
       "<U006A><U0075><U006C>";/
       "<U0061><U0077><U0075>";/
       "<U0073><U0069><U0074>";/
       "<U0075><U006B><U0074>";/
       "<U006E><U0075><U0077>";/
       "<U0072><U0069><U0073>"
% tuminku, lunisa, martisa, mirkulisa, juywisa, wirnisa, sawäru
day           "<U0074><U0075><U006D><U0069><U006E><U006B><U0075>";/
       "<U006C><U0075><U006E><U0069><U0073><U0061>";/
       "<U006D><U0061><U0072><U0074><U0069><U0073><U0061>";/
       "<U006D><U0069><U0072><U006B><U0075><U006C><U0069><U0073><U0061>";/
       "<U006A><U0075><U0079><U0077><U0069><U0073><U0061>";/
       "<U0077><U0069><U0072><U006E><U0069><U0073><U0061>";/
       "<U0073><U0061><U0077><U00E4><U0072><U0075>"
% tum, lun, mar, mir, juy, wir, saw
abday         "<U0074><U0075><U006D>";/
       "<U006C><U0075><U006E>";/
       "<U006D><U0061><U0072>";/
       "<U006D><U0069><U0072>";/
       "<U006A><U0075><U0079>";/
       "<U0077><U0069><U0072>";/
       "<U0073><U0061><U0077>"
% Abbreviated date and time representation to be referenced by the "%c" field descriptor -
%
% "%a" (short weekday name),
% "%d" (day of month as a decimal number),
% "%b" (short month name),
% "%Y" (year with century as a decimal number),
% "%T" (24-hour clock time in format HH:MM:SS),
% "%Z" (Time zone name)
% %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><U005A>"

% Date representation to be referenced by the "%x" field descriptor -
% "%d/%m/%Y", day/month/year as decimal numbers (01/01/2000).
d_fmt         "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"

% Time representation to be referenced by the "%X" field descriptor -
% "%T" (24-hour clock time in format HH:MM:SS)
t_fmt       "<U0025><U0054>"

% Define representation of ante meridian and post maritime strings -
% The "" mean 'default to "AM" and "PM".
am_pm       "<U0056><U004D>";"<U004E><U004D>"

% %I:%M:%S %p
t_fmt_ampm    "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"

% Date representation not described in ISO/IEC 14652. Comes out as -
% "%a %b %e %H:%M:%S %Z %Y" which is default "date" command output
%
% %a - abbreviated weekday name,
% %b - abbreviated month name,
% %e - day of month as a decimal number with leading space (1 to 31),
% %H - hour (24-hour clock) as a decimal number (00 to 23),
% %M - minute as a decimal number (00 to 59),
% %S - seconds as a decimal number (00 to 59),
% %Z - time-zone name,
% %Y - year with century as a decimal number,e.g. 2001.
date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
END LC_TIME

LC_NUMERIC
copy "es_PE"
END LC_NUMERIC

LC_MONETARY
copy "es_PE"
END LC_MONETARY

LC_PAPER
copy "es_PE"
END LC_PAPER

LC_MEASUREMENT
measurement 1
END LC_MEASUREMENT

LC_MESSAGES
% ^[uUsSyY].*
yesexpr "<U005E><U005B><U0075><U0055><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
% ^[jJnN].*
noexpr  "<U005E><U005B><U006A><U004A><U006E><U004E><U005D><U002E><U002A>"
% Ukhamawa
yesstr  "<U0055><U006B><U0068><U0061><U006D><U0061><U0077><U0061>"
% Janiwa
nostr   "<U004A><U0061><U006E><U0069><U0077><U0061>"
END LC_MESSAGES

LC_NAME
copy "es_PE"
END LC_NAME

LC_ADDRESS
copy "es_PE"
END LC_ADDRESS

LC_TELEPHONE
copy "es_PE"
END LC_TELEPHONE
