﻿// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ii.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ii.xml
 */
ii{
    Countries{
        BR{"ꀠꑭ"}
        CN{"ꍏꇩ"}
        DE{"ꄓꇩ"}
        FR{"ꃔꇩ"}
        GB{"ꑱꇩ"}
        IN{"ꑴꄗ"}
        IT{"ꑴꄊꆺ"}
        JP{"ꏝꀪ"}
        RU{"ꊉꇆꌦ"}
        US{"ꂰꇩ"}
        ZZ{"ꃅꄷꅉꀋꐚꌠ"}
    }
    Currencies{
        XXX{
            "XXX",
            "ꅉꀋꐚꌠꌋꆀꎆꃀꀋꈁꀐꌠ",
        }
    }
    ExemplarCharacters{"[ꀀ-ꒌ]"}
    Languages{
        de{"ꄓꇩꉙ"}
        en{"ꑱꇩꉙ"}
        es{"ꑭꀠꑸꉙ"}
        fr{"ꃔꇩꉙ"}
        ii{"ꆈꌠꉙ"}
        it{"ꑴꄊꆺꉙ"}
        ja{"ꏝꀪꉙ"}
        pt{"ꁍꄨꑸꉙ"}
        pt_BR{"ꀠꑟꁍꄨꑸꉙ"}
        ru{"ꊉꇩꉙ"}
        und{"ꅉꀋꌠꅇꂷ"}
        zh{"ꍏꇩꉙ"}
        zh_Hans{"ꈝꐯꍏꇩꉙ"}
        zh_Hant{"ꀎꋏꍏꇩꉙ"}
    }
    LocaleScript{
        "Yiii",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    Scripts{
        Arab{"ꀊꇁꀨꁱꂷ"}
        Cyrl{"ꀊꆨꌦꇁꃚꁱꂷ"}
        Hans{"ꈝꐯꉌꈲꁱꂷ"}
        Hant{"ꀎꋏꉌꈲꁱꂷ"}
        Latn{"ꇁꄀꁱꂷ"}
        Yiii{"ꆈꌠꁱꂷ"}
        Zxxx{"ꁱꀋꉆꌠ"}
        Zzzz{"ꅉꀋꐚꌠꁱꂷ"}
    }
    Types{
        calendar{
            gregorian{"ꄉꉻꃅꑍ"}
            islamic{"ꑳꌦꇂꑍꉖ"}
        }
    }
    Version{"1.7"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ꎸꄑ",
                "ꁯꋒ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ꆏꑍ",
                        "ꆏꋍ",
                        "ꆏꑍ",
                        "ꆏꌕ",
                        "ꆏꇖ",
                        "ꆏꉬ",
                        "ꆏꃘ",
                    }
                    wide{
                        "ꑭꆏꑍ",
                        "ꆏꊂꋍ",
                        "ꆏꊂꑍ",
                        "ꆏꊂꌕ",
                        "ꆏꊂꇖ",
                        "ꆏꊂꉬ",
                        "ꆏꊂꃘ",
                    }
                }
                stand-alone{
                    narrow{
                        "ꆏ",
                        "ꋍ",
                        "ꑍ",
                        "ꌕ",
                        "ꇖ",
                        "6",
                        "ꃘ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ꃅꋊꂿ",
                    "ꃅꋊꊂ",
                }
            }
            fields{
                day{
                    dn{"ꑍ"}
                    relative{
                        "-1"{"ꀋꅔꉈ"}
                        "-2"{"ꎴꂿꋍꑍ"}
                        "0"{"ꀃꑍ"}
                        "1"{"ꃆꏂꑍ"}
                        "2"{"ꌕꀿꑍ"}
                    }
                }
                dayperiod{
                    dn{"ꎸꄑ/ꁯꋒ"}
                }
                era{
                    dn{"ꃅꋊ"}
                }
                hour{
                    dn{"ꄮꈉ"}
                }
                minute{
                    dn{"ꃏ"}
                }
                month{
                    dn{"ꆪ"}
                }
                second{
                    dn{"ꇙ"}
                }
                week{
                    dn{"ꑭꆏ"}
                }
                weekday{
                    dn{"ꆏꑍ"}
                }
                year{
                    dn{"ꈎ"}
                }
                zone{
                    dn{"ꃅꄷꄮꈉ"}
                }
            }
            monthNames{
                format{
                    wide{
                        "ꋍꆪ",
                        "ꑍꆪ",
                        "ꌕꆪ",
                        "ꇖꆪ",
                        "ꉬꆪ",
                        "ꃘꆪ",
                        "ꏃꆪ",
                        "ꉆꆪ",
                        "ꈬꆪ",
                        "10",
                        "ꊰꊪꆪ",
                        "ꊰꑋꆪ",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ꃅꑌ",
                        "ꃅꎸ",
                        "ꃅꍵ",
                        "Q4",
                    }
                    wide{
                        "ꃅꑌ",
                        "ꃅꎸ",
                        "Q3",
                        "Q4",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
    }
    codePatterns{
        language{"ꅇꉙ: {0}"}
        script{"ꇇꁱ: {0}"}
        territory{"ꃅꄷ: {0}"}
    }
    measurementSystemNames{
        US{"ꂰꇩ"}
        metric{"ꂰꌬꌠ"}
    }
    zoneStrings{
        "Etc:Unknown"{
            ec{"ꅉꀋꐚꌠ"}
        }
    }
}
