﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ii.xml
// *
// ***************************************************************************
ii{
    ExemplarCharacters{"[ꀀ-ꒌ]"}
    NumberElements{
        latn{
            symbols{
                decimal{"."}
                group{","}
            }
        }
    }
    Version{"2.1.19.14"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ꎸꄑ",
                "ꁯꋒ",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "y MMMM d, EEEE",
                "y MMMM d",
                "y MMM d",
                "y-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            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{"ꂰꌬꌠ"}
    }
}
