﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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.64.72"}
    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",
                "E, d.M.y.",
                "d.M.y.",
                "d.M.y.",
                "d.M.y.",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "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{
                Ed{"E, 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{"E, d. M. y."}
                yMMM{"LLL y."}
                yMMMEd{"E, d. MMM y."}
                yMMMM{"LLLL y."}
                yMMMd{"d. MMM y."}
                yMd{"d. M. y."}
                yQ{"Q. yyyy."}
                yQQQ{"QQQ y."}
                yyMMMEd{"E, 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{"E, 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{"E, d. M. y. G"}
                yyyyMMM{"LLL y. G"}
                yyyyMMMEd{"E, 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.",
                }
            }
        }
    }
    contextTransforms{
        day-format-except-narrow:intvector{
            1,
            0,
        }
        day-standalone-except-narrow:intvector{
            1,
            0,
        }
        languages:intvector{
            1,
            1,
        }
        month-format-except-narrow:intvector{
            1,
            0,
        }
        month-standalone-except-narrow:intvector{
            1,
            0,
        }
    }
    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."}
        }
    }
}
