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-10-29):
%      2004-10-29 Dwayne Bailey <dwayne@translate.org.za>
%        - Converted to <UNNNN> syntax for everything
%        - Correct yes/noexpr
%        - Corrected some days of the week
%      2004-10-28 Dwayne Bailey <dwayne@translate.org.za>
%        - Updated all contact information
%        - Added Translate.org.za to "source" for clarity
%      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):
%	   2004-02-24 Dwayne Bailey <dwayne@translate.org.za>
%	     - Initial Venda locale for South Africa
%          by Zuza Software Foundation

LC_IDENTIFICATION
title      "Venda 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   "Venda"
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:
% - Swo, Mus, Vhi, Rar, L^a, T^an, Mug
abday       "Swo";/
            "Mus";/
            "Vhi";/
            "Rar";/
            "<U1E4B>a";/
            "<U1E70>an";/
            "Mug"

% day - The full names of the week days:
% - Swondaha, Musumbuluwo, L^avhuvhili, L^avhuraru, L^avhun^a, L^avhut^anu, Mugivhela
day         "Swondaha";/
            "Musumbuluwo";/
            "<U1E3C>avhuvhili";/
            "<U1E3C>avhuraru";/
            "<U1E3C>avhu<U1E4B>a";/
            "<U1E3C>avhu<U1E71>anu";/
            "Mugivhela"

% abmon - The abbreviations for the months
% - Pha, Luh, Fam, Lam, Shu, Lwi, Lwa, Ngu, Khu, Tsh, L^ar, Nye
abmon       "Pha";"Luh";/
            "Fam";"Lam";/
            "Shu";"Lwi";/
            "Lwa";"Ngu";/
            "Khu";"Tsh";/
            "<U1E3C>ar";"Nye"

% mon - The full names of the months -
% - Phando, Luhuhi, T^hafamuhwe, Lambamai, Shundunthule, Fulwi
%   Fulwana, T^hangule, Khubvumedzi, Tshimedzi, L^ara, Nyendavhusiku
mon         "Phando";/
            "Luhuhi";/
            "<U1E70>hafamuhwe";/
            "Lambamai";/
            "Shundunthule";/
            "Fulwi";/
            "Fulwana";/
            "<U1E70>hangule";/
            "Khubvumedzi";/
            "Tshimedzi";/
            "<U1E3C>ara";/
            "Nyendavhusiku"

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

% 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.
week 7;19971130;1
END LC_TIME

LC_MESSAGES
yesexpr "^[+1yYeE]"
noexpr  "^[-0nNhH]"
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 Venda
country_name "Afurika Tshipembe"

% 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 ""

% Language name in Venda - "Tshivend^a"
lang_name "Tshiven<U1E13>a"

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

% 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_num   710
country_ab2   "ZA"
country_ab3   "ZAF"

END LC_ADDRESS
