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.

% ChangeLog
% 0.3 (2005-10-13):
%     2005-10-12 Dwayne Bailey <dwayne@translate.org.za>
%       - Added 'Charset: UTF-8' information
%       - Update contact information
%       - Allign spellings of month and weekday names with Dept. of
%         Art and Culture's: Multilingual Mathematics Dictionary
% 0.2 (2004-11-09):
%     2004-11-09 Dwayne Bailey <dwayne@translate.org.za>
%       - <UNNNN> escape everything
%       - Update all contact information
%       - Change %d to %-e for d_t_fmt and date_fmt
%       - Reset yes/noexpr to English
%       - set all abmon, mon, abday, day to English until correct defintions
%         are available.
%     2004-03-30 Dwayne Bailey <dwayne@translate.org.za>
%       - Added country_ab2/3, country_num
%     2004-02-27 Dwayne Bailey <dwayne@translate.org.za>
%	    - Correct capatilisation of lang_name
% 0.1 (2004-02-24):
%       - Initial Southern Ndebele locale for South Africa
%         by Zuza Software Foundation

LC_IDENTIFICATION
title      "Southern Ndebele locale for South Africa"
source     "Zuza Software Foundation (Translate.org.za)"
address    "PO Box 28364, Sunnyside, 0132, South Africa"
contact    "Dwayne Bailey"
email      "dwayne@translate.org.za"
tel        ""
fax        ""
language   "South Ndebele"
territory  "South Africa"
revision   "0.3"
date       "2005-10-13"

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
% Use the characters described in the charmap file "i18n.tgz"
copy "i18n"

translit_start
include  "translit_combining";""
translit_end
END LC_CTYPE

LC_COLLATE
% Copy the template from ISO/IEC 14651 i.e.
% use the rules there when making ordered lists of words.
copy "iso14651_t1"
END LC_COLLATE

LC_MONETARY
copy "en_ZA"
END LC_MONETARY

LC_NUMERIC
copy "en_ZA"
END LC_NUMERIC

LC_TIME

% abday - The abbreviations for the week days
abday       "Son";"Mvu";/
            "Bil";"Tha";/
            "Ne";"Hla";/
            "Gqi"

% day - The full names of the week days
day         "uSonto";/
            "uMvulo";/
            "uLesibili";/
            "lesithathu";/
            "uLesine";/
            "ngoLesihlanu";/
            "umGqibelo"

% abmon - The abbreviations for the months
abmon       "Jan";"Feb";/
            "Mat";"Apr";/
            "Mey";"Jun";/
            "Jul";"Arh";/
            "Sep";"Okt";/
            "Usi";"Dis"

% mon - The full names of the months
mon         "Janabari";/
            "uFeberbari";/
            "uMatjhi";/
            "u-Apreli";/
            "Meyi";/
            "Juni";/
            "Julayi";/
            "Arhostosi";/
            "Septemba";/
            "Oktoba";/
            "Usinyikhaba";/
            "Disemba"

% Abreviated date and time representation to be referenced by the "%c" field descriptor -
d_t_fmt     "%a %-e %b %Y %T %Z"
%
% "%a" (short weekday name),
% "%-e" (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)

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

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

% Define representation of ante meridiem and post meridiem strings -
am_pm       "";""
% The "" mean 'default to "AM" and "PM".

% Define time representation in 12-hour format with "am_pm", to be referenced by the "%r"
t_fmt_ampm  ""
% The "" means that this format is not supported.

% 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
date_fmt "%a %b %-e %H:%M:%S %Z %Y"
%
% %a - abbreviated weekday name,
% %b - abreviated 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.

week 7;19971130;1
END LC_TIME

LC_MESSAGES
yesexpr "^[+1yY]"
noexpr  "^[-0nN]"
END LC_MESSAGES

LC_PAPER
copy "en_ZA"
END LC_PAPER

LC_TELEPHONE
copy "en_ZA"
END LC_TELEPHONE

LC_MEASUREMENT
copy "en_ZA"
END LC_MEASUREMENT

LC_NAME
% Format for addressing a person.
name_fmt    "%d%t%g%t%m%t%f"
% "Salutation",
% "Empty string, or <Space>",
% "First given name",
% "Empty string, or <Space>",
% "Middle names",
% "Empty string, or <Space>",
% "Clan names"

% FIXME - define all the following name_*
% General salutation for any sex
% name_gen    ""

% Salutation for unmarried females - ""
% name_miss   ""

% Salutation for males - ""
% name_mr     ""

% Salutation for married females - ""
% name_mrs    ""

% Salutation valid for all females - "" (no term)
% name_ms     ""

END LC_NAME

LC_ADDRESS
% Country name in Southern Ndebele
country_name "iSewula Afrika"

% Abbreviated country postal name
country_post "ZA"

% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic
% http://www.unece.org/trans/conventn/disting-signs-5-2001.pdf
country_car   "ZA"

% FIXME define the following correctly
% country_isbn ""
% https://en.wikipedia.org/wiki/ISO_3166-1_numeric
country_num 710

% Language name in Southern Ndebele
lang_name "IsiNdebele"

% ISO 639 two and three letter language names
% see http://www.loc.gov/standards/iso639-2/englangn.html
lang_ab   "nr"
lang_term "nbl"
lang_lib "nbl"

% Representation of postal addresses (minus the addressee's name) in South
% Africa. (Ignored for now)
postal_fmt    "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
% "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N", which gives -
% "firm name",
% "end of line",
% "C/O address",
% "end of line",
% "department name",
% "Building name",
% "end of line",
% "street or block name",
% "space",
% "house number or designation",
% "space",
% "floor number",
% "space",
% "room number, door designation",
% "end of line",
% "postal code",
% "space",
% "town, city",
% "end of line",
% "country designation for the <country_post> keyword",
% "end of line
%

% ISO 3166 country number and 2 and 3 letter abreviations
% http://www.unicode.org/onlinedat/countries.html
country_ab2   "ZA"
country_ab3   "ZAF"
END LC_ADDRESS
