﻿// ***************************************************************************
// *
// * 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/hr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/hr.xml
 */
hr{
    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 ž]"}
    ExemplarCharactersCurrency{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{
        "[A B C Č Ć D {DŽ} Đ E F G H I J K L {LJ} M N {NJ} O P Q R S Š T U V W X Y Z "
        "Ž]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.59.68"}
    calendar{
        buddhist{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y. G",
                "d. MMMM y. G",
                "d. M. y. G",
                "d.M.y.",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        chinese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEE, d.Ml.y. G",
                "d.Ml.y. G",
                "d.Ml.y. G",
                "d.Ml.y. G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            AmPmMarkers{
                "prije podne",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y.",
                "d. MMMM y.",
                "d. M. y.",
                "d.M.y.",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE, d."}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L."}
                MEd{"E, d. M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMMdd{"dd. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd. MM."}
                Md{"d. M."}
                d{"d."}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y."}
                yM{"M. yyyy."}
                yMEd{"EEE, d. M. y."}
                yMMM{"LLL y."}
                yMMMEd{"EEE, d. MMM y."}
                yMMMM{"LLLL y."}
                yMMMd{"d. MMM y."}
                yMd{"d. M. y."}
                yQ{"Q. yyyy."}
                yQQQ{"QQQ y."}
                yyMMMEEEd{"EEE, d. MMM yy."}
                yyQ{"Q yy."}
                yyQQQQ{"QQQQ yy."}
                yyyyMM{"MM. yyyy."}
                yyyyMMMM{"LLLL y."}
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    narrow{
                        "N",
                        "P",
                        "U",
                        "S",
                        "Č",
                        "P",
                        "S",
                    }
                    wide{
                        "nedjelja",
                        "ponedjeljak",
                        "utorak",
                        "srijeda",
                        "četvrtak",
                        "petak",
                        "subota",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    narrow{
                        "n",
                        "p",
                        "u",
                        "s",
                        "č",
                        "p",
                        "s",
                    }
                    wide{
                        "nedjelja",
                        "ponedjeljak",
                        "utorak",
                        "srijeda",
                        "četvrtak",
                        "petak",
                        "subota",
                    }
                }
            }
            eras{
                abbreviated{
                    "p. n. e.",
                    "A. D.",
                }
                narrow{
                    "pr.n.e.",
                    "AD",
                }
                wide{
                    "Prije Krista",
                    "Poslije Krista",
                }
            }
            fields{
                day{
                    dn{"dan"}
                    relative{
                        "-1"{"jučer"}
                        "-2"{"prekjučer"}
                        "0"{"danas"}
                        "1"{"sutra"}
                        "2"{"prekosutra"}
                    }
                }
                dayperiod{
                    dn{"dio dana"}
                }
                era{
                    dn{"era"}
                }
                hour{
                    dn{"sat"}
                }
                minute{
                    dn{"minuta"}
                }
                month{
                    dn{"mjesec"}
                    relative{
                        "-1"{"Prošli mjesec"}
                        "0"{"Ovaj mjesec"}
                        "1"{"Sljedeći mjesec"}
                    }
                }
                second{
                    dn{"sekunda"}
                }
                week{
                    dn{"tjedan"}
                    relative{
                        "-1"{"Prošli tjedan"}
                        "0"{"Ovaj tjedan"}
                        "1"{"Sljedeći tjedan"}
                    }
                }
                weekday{
                    dn{"dan u tjednu"}
                }
                year{
                    dn{"godina"}
                    relative{
                        "-1"{"Prošla godina"}
                        "0"{"Ova godina"}
                        "1"{"Sljedeća godina"}
                    }
                }
                zone{
                    dn{"zona"}
                }
            }
            intervalFormats{
                H{
                    H{"HH - HH'h'"}
                    a{"HH - HH'h'"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    a{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    a{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"HH - HH 'h' v"}
                    a{"HH - HH 'h' v"}
                }
                M{
                    M{"MM. - MM."}
                }
                MEd{
                    M{"E, dd.MM. - E, dd.MM."}
                    d{"E, dd.MM. - E, dd.MM."}
                }
                MMM{
                    M{"LLL-LLL"}
                }
                MMMEd{
                    M{"E, dd.MMM - E, dd.MMM"}
                    d{"E, dd. - E, dd. MMM"}
                }
                MMMd{
                    M{"dd.MMM - dd.MMM"}
                    d{"dd. - dd.MMM"}
                }
                Md{
                    M{"dd.MM. - dd.MM."}
                    d{"dd.MM. - dd.MM."}
                }
                d{
                    d{"dd. - dd."}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"h a - h a"}
                    h{"h - h'h' a"}
                }
                hm{
                    a{"h:mm a - h:mm a"}
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    a{"h:mm a - h:mm a v"}
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    a{"h a - h a v"}
                    h{"h - h 'h' a v"}
                }
                y{
                    y{"y. - y."}
                }
                yM{
                    M{"MM.yyyy. - MM.yyyy."}
                    y{"MM.yyyy. - MM.yyyy."}
                }
                yMEd{
                    M{"E, dd.MM.yyyy. - E, dd.MM.yyyy."}
                    d{"E, dd.MM.yyyy. - E, dd.MM.yyyy."}
                    y{"E, dd.MM.yyyy. - E, dd.MM.yyyy."}
                }
                yMMM{
                    M{"LLL-LLL y."}
                    y{"LLL y. - LLL y."}
                }
                yMMMEd{
                    M{"E, dd.MMM - E, dd.MMM y."}
                    d{"E, dd. - E, dd.MMM y."}
                    y{"E, dd.MMM y. - E, dd.MMM y."}
                }
                yMMMM{
                    M{"LLLL-LLLL y."}
                    y{"LLLL y. - LLLL y."}
                }
                yMMMd{
                    M{"dd.MMM - dd.MMM y."}
                    d{"dd. - dd.MMM y."}
                    y{"dd.MMM y. - dd.MMM y."}
                }
                yMd{
                    M{"dd.MM.yyyy. - dd.MM.yyyy."}
                    d{"dd.MM.yyyy. - dd.MM.yyyy."}
                    y{"dd.MM.yyyy. - dd.MM.yyyy."}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "sij",
                        "velj",
                        "ožu",
                        "tra",
                        "svi",
                        "lip",
                        "srp",
                        "kol",
                        "ruj",
                        "lis",
                        "stu",
                        "pro",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                        "5.",
                        "6.",
                        "7.",
                        "8.",
                        "9.",
                        "10.",
                        "11.",
                        "12.",
                    }
                    wide{
                        "siječnja",
                        "veljače",
                        "ožujka",
                        "travnja",
                        "svibnja",
                        "lipnja",
                        "srpnja",
                        "kolovoza",
                        "rujna",
                        "listopada",
                        "studenoga",
                        "prosinca",
                    }
                }
                stand-alone{
                    abbreviated{
                        "sij",
                        "velj",
                        "ožu",
                        "tra",
                        "svi",
                        "lip",
                        "srp",
                        "kol",
                        "ruj",
                        "lis",
                        "stu",
                        "pro",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                        "5.",
                        "6.",
                        "7.",
                        "8.",
                        "9.",
                        "10.",
                        "11.",
                        "12.",
                    }
                    wide{
                        "siječanj",
                        "veljača",
                        "ožujak",
                        "travanj",
                        "svibanj",
                        "lipanj",
                        "srpanj",
                        "kolovoz",
                        "rujan",
                        "listopad",
                        "studeni",
                        "prosinac",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1kv",
                        "2kv",
                        "3kv",
                        "4kv",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1kv",
                        "2kv",
                        "3kv",
                        "4kv",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
            }
        }
        japanese{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y. G",
                "d. MMMM y. G",
                "d. M. y. G",
                "d.M.y. G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                Gy{"yy. GGG"}
                MEd{"E, d. M."}
                MMMEd{"E, d. MMM"}
                MMMMd{"d. MMMM"}
                Md{"d. M."}
                y{"yy. GGG"}
                yyyy{"yy. GGG"}
                yyyyM{"M. y. GGGGG"}
                yyyyMEd{"EEE, d. M. y. GGGGG"}
                yyyyMMM{"LLL y. GGGGG"}
                yyyyMMMEd{"E, d. MMM y. GGGGG"}
                yyyyMMMd{"d. MMM y. GGGGG"}
                yyyyMd{"d. M. y. GGGGG"}
                yyyyQ{"Q. yy. GGGGG"}
            }
        }
        roc{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y. G",
                "d. MMMM y. G",
                "d. M. y. G",
                "d.M.y. G",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                Gy{"y. G"}
                MEd{"E, d. M."}
                MMMEd{"E, d. MMM"}
                Md{"d. M."}
                y{"y. G"}
                yyyy{"y. G"}
                yyyyM{"M. y. G"}
                yyyyMEd{"EEE, d. M. y. G"}
                yyyyMMM{"LLL y. G"}
                yyyyMMMEd{"EEE, d. MMM y. G"}
                yyyyMMMd{"d. MMM y. G"}
                yyyyMd{"d. M. y. G"}
                yyyyQ{"Q. y. G"}
                yyyyQQQ{"QQQ y. G"}
            }
            eras{
                abbreviated{
                    "prije R.O.C.",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    listPattern{
        standard{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
        }
    }
    measurementSystemNames{
        UK{"imperijalni sustav"}
        US{"američki sustav"}
        metric{"metrički"}
    }
    units{
        day{
            few{"{0} dana"}
            many{"{0} dana"}
            one{"{0} dan"}
            other{"{0} dan"}
        }
        day-future{
            0{"za 0 dana"}
            1{"za 1 dan"}
            few{"za {0} dana"}
            many{"za {0} dana"}
            one{"za {0} dan"}
            other{"za {0} dana"}
        }
        day-past{
            0{"prije 0 dana"}
            1{"prije 1 dana"}
            few{"prije {0} dana"}
            many{"prije {0} dana"}
            one{"prije {0} dan"}
            other{"Prije ovoliko dana: {0}"}
        }
        hour{
            few{"{0} sata"}
            many{"{0} sati"}
            one{"{0} sat"}
            other{"{0} sat"}
        }
        hour-future{
            0{"za 0 sati"}
            1{"za 1 sat"}
            few{"za {0} sata"}
            many{"za {0} sati"}
            one{"za {0} sat"}
            other{"Za {0} sati"}
        }
        hour-past{
            0{"prije 0 sati"}
            1{"prije 1 h"}
            few{"prije {0} sata"}
            many{"prije {0} sati"}
            one{"prije {0} sat"}
            other{"Prije {0} sati"}
        }
        minute{
            few{"{0} minute"}
            many{"{0} minuta"}
            one{"{0} minuta"}
            other{"{0} minuta"}
        }
        minute-future{
            0{"za 0 minuta"}
            1{"za 1 min"}
            few{"za {0} minute"}
            many{"za {0} minuta"}
            one{"za {0} minutu"}
            other{"Za {0} minuta"}
        }
        minute-past{
            0{"prije 0 minuta"}
            1{"prije 1 minutu"}
            few{"prije {0} minute"}
            many{"prije {0} minuta"}
            one{"prije {0} minutu"}
            other{"Prije {0} minuta"}
        }
        month{
            few{"{0} mjeseca"}
            many{"{0} mjeseci"}
            one{"{0} mjesec"}
            other{"{0} mjesec"}
        }
        month-future{
            0{"za 0 mjeseci"}
            1{"za 1 mjesec"}
            few{"za {0} mjeseca"}
            many{"za {0} mjeseci"}
            one{"za {0} mjesec"}
            other{"za sljedeći broj mjeseci: {0}"}
        }
        month-past{
            0{"prije 0 mjeseci"}
            1{"prije 1 mjeseca"}
            few{"prije {0} mjeseca"}
            many{"prije {0} mjeseci"}
            one{"prije {0} mjesec"}
            other{"prije ovoliko mjeseci: {0}"}
        }
        second{
            few{"{0} sekunde"}
            many{"{0} sekundi"}
            one{"{0} sekunda"}
            other{"{0} sekunda"}
        }
        second-future{
            0{"za 0 sekundi"}
            1{"za 1 sekundu"}
            few{"za {0} sekunde"}
            many{"za {0} sekundi"}
            one{"za {0} sekundu"}
            other{"za {0} sekundi"}
        }
        second-past{
            0{"prije 0 sekundi"}
            1{"prije 1 sekundu"}
            few{"prije {0} sekunde"}
            many{"prije {0} sekundi"}
            one{"prije {0} sekundu"}
            other{"prije {0} sekundi"}
        }
        week{
            few{"{0} tjedna"}
            many{"{0} tjedana"}
            one{"{0} tjedan"}
            other{"{0} tjedan"}
        }
        week-future{
            0{"za 0 tjedana"}
            1{"za 1 tjedan"}
            few{"za {0} tjedna"}
            many{"za {0} tjedana"}
            one{"za {0} tjedan"}
            other{"za sljedeći broj tjedana: {0}"}
        }
        week-past{
            0{"prije 0 tjedana"}
            1{"prije 1 tjedna"}
            few{"prije {0} tjedna"}
            many{"prije {0} tjedana"}
            one{"prije {0} tjedan"}
            other{"prije ovoliko tjedana: {0}"}
        }
        year{
            few{"{0} godine"}
            many{"{0} godina"}
            one{"{0} godina"}
            other{"{0} godina"}
        }
        year-future{
            0{"za 0 g."}
            1{"za 1 godinu"}
            few{"za {0} godine"}
            many{"za {0} godina"}
            one{"za {0} godinu"}
            other{"za {0} godina"}
        }
        year-past{
            0{"prije 0 godina"}
            1{"prije 1 godine"}
            few{"prije {0} godine"}
            many{"prije {0} godina"}
            one{"prije {0} godinu"}
            other{"prije ovoliko godina: {0}"}
        }
    }
    unitsShort{
        day{
            few{"{0} dana"}
            many{"{0} dana"}
            one{"{0} dan"}
            other{"{0} dan"}
        }
        hour{
            few{"{0} h"}
            many{"{0} h"}
            one{"{0} h"}
            other{"{0} h"}
        }
        minute{
            few{"{0} min"}
            many{"{0} min"}
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            few{"{0} mj."}
            many{"{0} mj."}
            one{"{0} mj."}
            other{"{0} mj."}
        }
        second{
            few{"{0} s"}
            many{"{0} s"}
            one{"{0} s"}
            other{"{0} s"}
        }
        week{
            few{"{0} tj."}
            many{"{0} tj."}
            one{"{0} tj."}
            other{"{0} tj."}
        }
        year{
            few{"{0} g."}
            many{"{0} g."}
            one{"{0} g."}
            other{"{0} g."}
        }
    }
}
