/*
 *      Malay (Malaysia)
 *
 *
 * Copyright 1998 Marcel Baur
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

LOCVAL(LOCALE_ILANGUAGE, "043e")
LOCVAL(LOCALE_SLANGUAGE, "Malay (Malaysia)")
LOCVAL(LOCALE_SENGLANGUAGE, "Malay")
LOCVAL(LOCALE_SABBREVLANGNAME, "MSL")
LOCVAL(LOCALE_SNATIVELANGNAME, "Bahasa Malaysia")
LOCVAL(LOCALE_ICOUNTRY, "60")
LOCVAL(LOCALE_SCOUNTRY, "Malaysia")
LOCVAL(LOCALE_SENGCOUNTRY, "Malaysia")
LOCVAL(LOCALE_SABBREVCTRYNAME, "MYS")
LOCVAL(LOCALE_SNATIVECTRYNAME, "Malaysia")
LOCVAL(LOCALE_IDEFAULTLANGUAGE, "043e")
LOCVAL(LOCALE_IDEFAULTCOUNTRY, "60")
LOCVAL(LOCALE_SCURRENCY, "R")
LOCVAL(LOCALE_SENGCURRNAME, "Malaysian Ringgit")
LOCVAL(LOCALE_SNATIVECURRNAME, "Ringgit Malaysia")
LOCVAL(LOCALE_SINTLSYMBOL, "MYR")
LOCVAL(LOCALE_ICURRDIGITS, "0")
LOCVAL(LOCALE_IINTLCURRDIGITS, "0")
LOCVAL(LOCALE_ICURRENCY, "0")
LOCVAL(LOCALE_INEGCURR, "0")
LOCVAL(LOCALE_SDATE, "/")
LOCVAL(LOCALE_SSHORTDATE, "dd/MM/yyyy")
LOCVAL(LOCALE_SLONGDATE, "dd MMMM yyyy")
LOCVAL(LOCALE_STIMEFORMAT, "H:mm:ss")
LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
LOCVAL(LOCALE_IDAYLZERO, "1")
LOCVAL(LOCALE_IMONLZERO, "1")
LOCVAL(LOCALE_S1159, "")
LOCVAL(LOCALE_S2359, "")
LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
LOCVAL(LOCALE_SDAYNAME1, "Isnin")
LOCVAL(LOCALE_SDAYNAME2, "Selasa")
LOCVAL(LOCALE_SDAYNAME3, "Rabu")
LOCVAL(LOCALE_SDAYNAME4, "Khamis")
LOCVAL(LOCALE_SDAYNAME5, "Jumaat")
LOCVAL(LOCALE_SDAYNAME6, "Sabtu")
LOCVAL(LOCALE_SDAYNAME7, "Ahad")
LOCVAL(LOCALE_SABBREVDAYNAME1, "Isnin")
LOCVAL(LOCALE_SABBREVDAYNAME2, "Sel")
LOCVAL(LOCALE_SABBREVDAYNAME3, "Rabu")
LOCVAL(LOCALE_SABBREVDAYNAME4, "Khamis")
LOCVAL(LOCALE_SABBREVDAYNAME5, "Jumaat")
LOCVAL(LOCALE_SABBREVDAYNAME6, "Sabtu")
LOCVAL(LOCALE_SABBREVDAYNAME7, "Ahad")
LOCVAL(LOCALE_SMONTHNAME1, "Januari")
LOCVAL(LOCALE_SMONTHNAME2, "Februari")
LOCVAL(LOCALE_SMONTHNAME3, "Mac")
LOCVAL(LOCALE_SMONTHNAME4, "April")
LOCVAL(LOCALE_SMONTHNAME5, "Mei")
LOCVAL(LOCALE_SMONTHNAME6, "Jun")
LOCVAL(LOCALE_SMONTHNAME7, "Julai")
LOCVAL(LOCALE_SMONTHNAME8, "Ogos")
LOCVAL(LOCALE_SMONTHNAME9, "September")
LOCVAL(LOCALE_SMONTHNAME10, "Oktober")
LOCVAL(LOCALE_SMONTHNAME11, "November")
LOCVAL(LOCALE_SMONTHNAME12, "Disember")
LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mac")
LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
LOCVAL(LOCALE_SABBREVMONTHNAME5, "Mei")
LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
LOCVAL(LOCALE_SABBREVMONTHNAME8, "Ogos")
LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sept")
LOCVAL(LOCALE_SABBREVMONTHNAME10, "Okt")
LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dis")
LOCVAL(LOCALE_SPOSITIVESIGN, "")
LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
LOCVAL(LOCALE_INEGSIGNPOSN, "0")
LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
LOCVAL(LOCALE_SISO639LANGNAME, "ms")
LOCVAL(LOCALE_SISO3166CTRYNAME, "MY")
LOCVAL(LOCALE_IDEFAULTMACCODEPAGE, "10000")
