﻿// ***************************************************************************
// *
// * Copyright (C) 2006 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ko_KR.xml
// *
// ***************************************************************************
ko_KR{
    Countries{
        001{"세계"}
        002{"아프리카"}
        005{"남아메리카[남미]"}
        009{"오세아니아, 대양주"}
        142{"아시아"}
        150{"유럽"}
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"1.45"}
    calendar{
        gregorian{
            DateTimeElements:intvector{
                1,
                1,
            }
            DateTimePatterns{
                "a hh'시' mm'분' ss'초' z",
                "a hh'시' mm'분' ss'초'",
                "a h:mm:ss",
                "a h:mm",
                "yyyy'년' M'월' d'일' EEEE",
                "yyyy'년' M'월' d'일'",
                "yyyy. MM. dd",
                "yy. MM. dd",
                "{1} {0}",
            }
            availableFormats{
                yyQ{"yy'년도 제'Q'사분기'"}
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    zoneStrings{
        "Africa:Casablanca"{
            ec{"Casablanca"}
            ld{"그리니치 서머타임"}
        }
        "America:Anchorage"{
            ec{"Anchorage"}
            ld{"알래스카 서머타임"}
            sd{"AKDT"}
            ss{"AKST"}
        }
        "America:Chicago"{
            ec{"Chicago"}
            ld{"중부 서머타임"}
        }
        "America:Denver"{
            ec{"Denver"}
            ld{"산악 서머타임"}
        }
        "America:Halifax"{
            ec{"Halifax"}
            ld{"대서양 서머타임"}
        }
        "America:Los_Angeles"{
            ec{"Los Angeles"}
            ld{"태평양 서머타임"}
        }
        "America:New_York"{
            ec{"New York"}
            ld{"동부 서머타임"}
        }
        "America:St_Johns"{
            ec{"St Johns"}
            ld{"뉴펀들랜드 서머타임"}
            sd{"NDT"}
            ss{"NST"}
        }
        "Asia:Jerusalem"{
            ec{"Jerusalem"}
            ld{"이스라엘 서머타임"}
        }
        "Asia:Seoul"{
            ec{"Seoul"}
            ld{"한국 서머타임"}
            ls{"한국 표준시"}
            sd{"KDT"}
        }
        "Asia:Shanghai"{
            ec{"Shanghai"}
            ld{"중국 서머타임"}
        }
        "Asia:Tokyo"{
            ec{"Tokyo"}
            ld{"일본 서머타임"}
            sd{"JDT"}
        }
        "Europe:Bucharest"{
            ec{"Bucharest"}
            ld{"동부유럽 서머타임"}
        }
        "Europe:Paris"{
            ec{"Paris"}
            ld{"중부유럽 서머타임"}
            sd{"CEDT"}
        }
        "Pacific:Honolulu"{
            ec{"Honolulu"}
            ld{"하와이 서머타임"}
            sd{"HDT"}
        }
    }
}
