﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/bs.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/bs.xml
 */
bs{
    AuxExemplarCharacters{"[q w x y]"}
    ExemplarCharacters{"[a b c č ć d {dž} đ e f g h i j k l {lj} m n {nj} o p r s š t u v z ž]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.58.7"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd. MMMM y.",
                "dd. MMMM y.",
                "dd.MM.y.",
                "dd.MM.yy.",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, dd."}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd.MM."}
                MMM{"LLL"}
                MMMEd{"E, dd. MMM"}
                MMMd{"dd. MMM"}
                Md{"dd.MM."}
                d{"d"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y."}
                yM{"MM.y."}
                yMEd{"E, dd.MM.y."}
                yMMM{"MMM y."}
                yMMMEd{"E, dd. MMM y."}
                yMMMd{"dd. MMM y."}
                yMd{"dd.MM.y."}
                yQ{"y Q"}
                yQQQ{"y QQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    wide{
                        "nedjelja",
                        "ponedjeljak",
                        "utorak",
                        "srijeda",
                        "četvrtak",
                        "petak",
                        "subota",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "avg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januar",
                        "februar",
                        "mart",
                        "april",
                        "maj",
                        "juni",
                        "juli",
                        "avgust",
                        "septembar",
                        "oktobar",
                        "novembar",
                        "decembar",
                    }
                }
                stand-alone{
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "Prvi kvartal",
                        "Drugi kvartal",
                        "Treći kvartal",
                        "Četvrti kvartal",
                    }
                }
            }
        }
        islamic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd. MMMM y. G",
                "dd. MMMM y. G",
                "dd.MM.y. G",
                "dd.MM.y. G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, dd."}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd.MM."}
                MMM{"LLL"}
                MMMEd{"E, dd. MMM"}
                MMMd{"dd. MMM"}
                Md{"dd.MM."}
                d{"d"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                yyyy{"y. G"}
                yyyyM{"MM.y. G"}
                yyyyMEd{"E, dd.MM.y. G"}
                yyyyMMM{"MMM y. G"}
                yyyyMMMEd{"E, dd. MMM y. G"}
                yyyyMMMd{"dd. MMM y. G"}
                yyyyMd{"dd.MM.y. G"}
                yyyyQ{"y G Q"}
                yyyyQQQ{"y G QQQ"}
            }
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
    }
}
