/*
 *	OLE2NLS library
 *      Korean (Johab)
 *
 * 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,"0812")
LOCVAL(LOCALE_SLANGUAGE,"Korean (Johab)") 
LOCVAL(LOCALE_SENGLANGUAGE,"Korean")
LOCVAL(LOCALE_SABBREVLANGNAME,"koj")
/* LOCVAL(LOCALE_SNATIVELANGNAME,"") */
LOCVAL(LOCALE_ICOUNTRY,"82")
/* LOCVAL(LOCALE_SCOUNTRY,"") */
LOCVAL(LOCALE_SENGCOUNTRY,"Korea")
LOCVAL(LOCALE_SABBREVCTRYNAME,"KOR")
/* LOCVAL(LOCALE_SNATIVECTRYNAME,"") */
/* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"") */
LOCVAL(LOCALE_IDEFAULTCOUNTRY,"82")
/* LOCVAL(LOCALE_IDEFAULTCODEPAGE) */
/* LOCVAL(LOCALE_IDEFAULTANSICODEPAGE) */
LOCVAL(LOCALE_SLIST,",")
LOCVAL(LOCALE_IMEASURE,"0")
LOCVAL(LOCALE_SDECIMAL,".")
LOCVAL(LOCALE_STHOUSAND,",")
LOCVAL(LOCALE_SGROUPING,"3;0")
LOCVAL(LOCALE_IDIGITS,"2")
LOCVAL(LOCALE_ILZERO,"0")
LOCVAL(LOCALE_INEGNUMBER,"1")
LOCVAL(LOCALE_SNATIVEDIGITS,"0123456789")
/* LOCVAL(LOCALE_SCURRENCY,"") */
LOCVAL(LOCALE_SINTLSYMBOL,"KRW")
LOCVAL(LOCALE_SMONDECIMALSEP,".")
LOCVAL(LOCALE_SMONTHOUSANDSEP,",")
LOCVAL(LOCALE_SMONGROUPING,"3;0")
LOCVAL(LOCALE_ICURRDIGITS,"2")
LOCVAL(LOCALE_IINTLCURRDIGITS,"2")
LOCVAL(LOCALE_ICURRENCY,"3")
LOCVAL(LOCALE_INEGCURR,"8")
LOCVAL(LOCALE_SDATE,"/")
LOCVAL(LOCALE_STIME,":")
LOCVAL(LOCALE_SSHORTDATE,"yyyy/MM/dd")
/* LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy") */
LOCVAL(LOCALE_STIMEFORMAT,"h:mm:ss tt")
LOCVAL(LOCALE_IDATE,"1")
LOCVAL(LOCALE_ILDATE,"1")
LOCVAL(LOCALE_ITIME,"1")
LOCVAL(LOCALE_ITIMEMARKPOSN,"0")
LOCVAL(LOCALE_ICENTURY,"0")
LOCVAL(LOCALE_ITLZERO,"0")
LOCVAL(LOCALE_IDAYLZERO,"0")
LOCVAL(LOCALE_IMONLZERO,"0")
/* LOCVAL(LOCALE_S1159, "") */
/* LOCVAL(LOCALE_S2359, "") */
LOCVAL(LOCALE_ICALENDARTYPE, "1")
/* Korean Tangun Era calendar */
LOCVAL(LOCALE_IOPTIONALCALENDAR,"5")
LOCVAL(LOCALE_IFIRSTDAYOFWEEK,"6")
LOCVAL(LOCALE_IFIRSTWEEKOFYEAR,"0")

/* LOCVAL(LOCALE_SDAYNAME1,"") */
/* LOCVAL(LOCALE_SDAYNAME2,"") */
/* LOCVAL(LOCALE_SDAYNAME3,"") */
/* LOCVAL(LOCALE_SDAYNAME4,"") */
/* LOCVAL(LOCALE_SDAYNAME5,"") */
/* LOCVAL(LOCALE_SDAYNAME6,"") */
/* LOCVAL(LOCALE_SDAYNAME7,"") */

/* LOCVAL(LOCALE_SABBREVDAYNAME1,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME2,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME3,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME4,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME5,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME6,"") */
/* LOCVAL(LOCALE_SABBREVDAYNAME7,"") */

/* LOCVAL(LOCALE_SMONTHNAME1,"") */
/* LOCVAL(LOCALE_SMONTHNAME2,"") */
/* LOCVAL(LOCALE_SMONTHNAME3,"") */
/* LOCVAL(LOCALE_SMONTHNAME4,"") */
/* LOCVAL(LOCALE_SMONTHNAME5,"") */
/* LOCVAL(LOCALE_SMONTHNAME6,"") */
/* LOCVAL(LOCALE_SMONTHNAME7,"") */
/* LOCVAL(LOCALE_SMONTHNAME8,"") */
/* LOCVAL(LOCALE_SMONTHNAME9,"") */
/* LOCVAL(LOCALE_SMONTHNAME10,"") */
/* LOCVAL(LOCALE_SMONTHNAME11,"") */
/* LOCVAL(LOCALE_SMONTHNAME12,"") */
/* LOCVAL(LOCALE_SMONTHNAME13,"") */

/* LOCVAL(LOCALE_SABBREVMONTHNAME1,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME2,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME3,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME4,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME5,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME6,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME7,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME8,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME9,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME10,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME11,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME12,"") */
/* LOCVAL(LOCALE_SABBREVMONTHNAME13,"") */

LOCVAL(LOCALE_SPOSITIVESIGN,"")
LOCVAL(LOCALE_SNEGATIVESIGN,"-")
LOCVAL(LOCALE_IPOSSIGNPOSN,"3")
LOCVAL(LOCALE_INEGSIGNPOSN,"0")
LOCVAL(LOCALE_IPOSSYMPRECEDES,"3")
LOCVAL(LOCALE_IPOSSEPBYSPACE,"0")
LOCVAL(LOCALE_INEGSYMPRECEDES,"3")
LOCVAL(LOCALE_INEGSEPBYSPACE,"0")
/* LOCVAL(LOCALE_FONTSIGNATURE, "") */
LOCVAL(LOCALE_SISO639LANGNAME,"ko")
LOCVAL(LOCALE_SISO3166CTRYNAME,"KR")

