﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ii.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ii.xml
 */
ii{
    ExemplarCharacters{"[ꀀ-ꒌ]"}
    LocaleScript{
        "Yiii",
    }
    NumberElements{
        latn{
            symbols{
                decimal{"."}
                group{","}
            }
        }
    }
    Version{"2.0.90.61"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ꎸꄑ",
                "ꁯꋒ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ꑭꆏ",
                        "ꆏꋍ",
                        "ꆏꑍ",
                        "ꆏꌕ",
                        "ꆏꇖ",
                        "ꆏꉬ",
                        "ꆏꃘ",
                    }
                    wide{
                        "ꑭꆏꑍ",
                        "ꆏꊂꋍ",
                        "ꆏꊂꑍ",
                        "ꆏꊂꌕ",
                        "ꆏꊂꇖ",
                        "ꆏꊂꉬ",
                        "ꆏꊂꃘ",
                    }
                }
                stand-alone{
                    narrow{
                        "ꆏ",
                        "ꋍ",
                        "ꑍ",
                        "ꌕ",
                        "ꇖ",
                        "ꉬ",
                        "ꃘ",
                    }
                }
            }
            eras{
                abbreviated{
                    "ꃅꋊꂿ",
                    "ꃅꋊꊂ",
                }
            }
            monthNames{
                format{
                    wide{
                        "ꋍꆪ",
                        "ꑍꆪ",
                        "ꌕꆪ",
                        "ꇖꆪ",
                        "ꉬꆪ",
                        "ꃘꆪ",
                        "ꏃꆪ",
                        "ꉆꆪ",
                        "ꈬꆪ",
                        "ꊰꆪ",
                        "ꊰꊪꆪ",
                        "ꊰꑋꆪ",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "ꃅꑌ",
                        "ꃅꎸ",
                        "ꃅꍵ",
                        "ꃅꋆ",
                    }
                }
            }
        }
    }
    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{"ꃅꄷꄮꈉ"}
        }
    }
    measurementSystemNames{
        US{"ꂰꇩ"}
        metric{"ꂰꌬꌠ"}
    }
}
