﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/hr.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/hr.xml
 */
hr{
    AuxExemplarCharacters{"[q w x y]"}
    Ellipsis{
        final{"{0}…"}
        initial{"… {0}"}
        medial{"{0}… {1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    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 ž]"}
    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 "
        "Ž]"
    }
    ExemplarCharactersPunctuation{"[‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] @ * / ′ ″]"}
    LocaleScript{
        "Latn",
    }
    MoreInformation{"?"}
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        few{"0 tisuće"}
                        one{"0 tisuća"}
                        other{"0 tisuća"}
                    }
                    10000{
                        few{"00 tisuće"}
                        one{"00 tisuća"}
                        other{"00 tisuća"}
                    }
                    100000{
                        few{"000 tisuće"}
                        one{"000 tisuća"}
                        other{"000 tisuća"}
                    }
                    1000000{
                        few{"0 milijuna"}
                        one{"0 milijun"}
                        other{"0 milijuna"}
                    }
                    10000000{
                        few{"00 milijuna"}
                        one{"00 milijun"}
                        other{"00 milijuna"}
                    }
                    100000000{
                        few{"000 milijuna"}
                        one{"000 milijun"}
                        other{"000 milijuna"}
                    }
                    1000000000{
                        few{"0 milijarde"}
                        one{"0 milijarda"}
                        other{"0 milijardi"}
                    }
                    10000000000{
                        few{"00 milijarde"}
                        one{"00 milijarda"}
                        other{"00 milijardi"}
                    }
                    100000000000{
                        few{"000 milijarde"}
                        one{"000 milijarda"}
                        other{"000 milijardi"}
                    }
                    1000000000000{
                        few{"0 bilijuna"}
                        one{"0 bilijun"}
                        other{"0 bilijuna"}
                    }
                    10000000000000{
                        few{"00 bilijuna"}
                        one{"00 bilijun"}
                        other{"00 bilijuna"}
                    }
                    100000000000000{
                        few{"000 bilijuna"}
                        one{"000 bilijun"}
                        other{"000 bilijuna"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        few{"0 tis'.'"}
                        one{"0 tis'.'"}
                        other{"0 tis'.'"}
                    }
                    10000{
                        few{"00 tis'.'"}
                        one{"00 tis'.'"}
                        other{"00 tis'.'"}
                    }
                    100000{
                        few{"000 tis'.'"}
                        one{"000 tis'.'"}
                        other{"000 tis'.'"}
                    }
                    1000000{
                        few{"0 mil'.'"}
                        one{"0 mil'.'"}
                        other{"0 mil'.'"}
                    }
                    10000000{
                        few{"00 mil'.'"}
                        one{"00 mil'.'"}
                        other{"00 mil'.'"}
                    }
                    100000000{
                        few{"000 mil'.'"}
                        one{"000 mil'.'"}
                        other{"000 mil'.'"}
                    }
                    1000000000{
                        few{"0 mlr'.'"}
                        one{"0 mlr'.'"}
                        other{"0 mlr'.'"}
                    }
                    10000000000{
                        few{"00 mlr'.'"}
                        one{"00 mlr'.'"}
                        other{"00 mlr'.'"}
                    }
                    100000000000{
                        few{"000 mlr'.'"}
                        one{"000 mlr'.'"}
                        other{"000 mlr'.'"}
                    }
                    1000000000000{
                        few{"0 bil'.'"}
                        one{"0 bil'.'"}
                        other{"0 bil'.'"}
                    }
                    10000000000000{
                        few{"00 bil'.'"}
                        one{"00 bil'.'"}
                        other{"00 bil'.'"}
                    }
                    100000000000000{
                        few{"000 bil'.'"}
                        one{"000 bil'.'"}
                        other{"000 bil'.'"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
    }
    Version{"2.0.98.52"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BE",
                }
            }
        }
        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}",
            }
        }
        generic{
            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. GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                Gy{"y. G"}
                GyMMM{"LLL y. G"}
                GyMMMEd{"E, d. MMM y. G"}
                GyMMMd{"d. MMM y. G"}
                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"}
                MMMd{"d. MMM"}
                Md{"d. M."}
                d{"d."}
                h{"hh a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                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"}
                yyyyMMMM{"LLLL y. G"}
                yyyyMMMd{"d. MMM y. G"}
                yyyyMd{"d. M. y. G"}
                yyyyQQQ{"QQQ y. G"}
                yyyyQQQQ{"QQQQ y. G"}
            }
            intervalFormats{
                H{
                    H{"HH - HH'h'"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"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. G"}
                }
                yM{
                    M{"MM.y. - MM.y. G"}
                    y{"MM.y. - MM.y. G"}
                }
                yMEd{
                    M{"E, dd.MM.y. - E, dd.MM.y. G"}
                    d{"E, dd.MM.y. - E, dd.MM.y. G"}
                    y{"E, dd.MM.y. - E, dd.MM.y. G"}
                }
                yMMM{
                    M{"LLL-LLL y. G"}
                    y{"LLL y. - LLL y. G"}
                }
                yMMMEd{
                    M{"E, dd. MMM - E, dd. MMM y. G"}
                    d{"E, dd. - E, dd. MMM y. G"}
                    y{"E, dd. MMM y. - E, dd. MMM y. G"}
                }
                yMMMM{
                    M{"LLLL - LLLL y. G"}
                    y{"LLLL y. - LLLL y. G"}
                }
                yMMMd{
                    M{"dd. MMM - dd. MMM y. G"}
                    d{"dd. - dd. MMM y. G"}
                    y{"dd. MMM y. - dd. MMM y. G"}
                }
                yMd{
                    M{"dd.MM.y. - dd.MM.y. G"}
                    d{"dd.MM.y. - dd.MM.y. G"}
                    y{"dd.MM.y. - dd.MM.y. G"}
                }
            }
        }
        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. MMM y.",
                "d.M.yy.",
                "{1} {0}",
                "{1} 'u' {0}",
                "{1} 'u' {0}",
                "{1} {0}",
                "{1} {0}",
            }
            NoonMarker{"podne"}
            NoonMarkerNarrow{"n"}
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"E, d."}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y. G"}
                GyMMM{"LLL y. G"}
                GyMMMEd{"E, d. MMM y. G"}
                GyMMMd{"d. MMM y. G"}
                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"}
                MMMd{"d. MMM"}
                MMdd{"dd. MM."}
                Md{"d. M."}
                d{"d."}
                h{"h a"}
                hm{"hh:mm a"}
                hms{"hh:mm:ss a"}
                ms{"mm:ss"}
                y{"y."}
                yM{"M. y."}
                yMEd{"E, d. M. y."}
                yMM{"MM. y."}
                yMMM{"LLL y."}
                yMMMEd{"E, d. MMM y."}
                yMMMM{"LLLL y."}
                yMMMd{"d. MMM y."}
                yMd{"d. M. y."}
                yQQQ{"QQQ y."}
                yQQQQ{"QQQQ y."}
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    narrow{
                        "N",
                        "P",
                        "U",
                        "S",
                        "Č",
                        "P",
                        "S",
                    }
                    short{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    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",
                    }
                    short{
                        "ned",
                        "pon",
                        "uto",
                        "sri",
                        "čet",
                        "pet",
                        "sub",
                    }
                    wide{
                        "nedjelja",
                        "ponedjeljak",
                        "utorak",
                        "srijeda",
                        "četvrtak",
                        "petak",
                        "subota",
                    }
                }
            }
            eras{
                abbreviated{
                    "pr. Kr.",
                    "p. Kr.",
                }
                narrow{
                    "pr.n.e.",
                    "AD",
                }
                wide{
                    "Prije Krista",
                    "Poslije Krista",
                }
            }
            intervalFormats{
                H{
                    H{"HH-HH'h'"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"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.y. - MM.y."}
                    y{"MM.y. - MM.y."}
                }
                yMEd{
                    M{"E, dd.MM.y. - E, dd.MM.y."}
                    d{"E, dd.MM.y. - E, dd.MM.y."}
                    y{"E, dd.MM.y. - E, dd.MM.y."}
                }
                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.y. - dd.MM.y."}
                    d{"dd.MM.y. - dd.MM.y."}
                    y{"dd.MM.y. - dd.MM.y."}
                }
            }
            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",
                    }
                }
            }
        }
        hebrew{
            eras{
                abbreviated{
                    "AM",
                }
            }
        }
        islamic{
            eras{
                abbreviated{
                    "AH",
                }
            }
        }
        japanese{
            availableFormats{
                Ed{"E, d."}
                Gy{"y. GGG"}
                MEd{"E, d. M."}
                MMMEd{"E, d. MMM"}
                MMMMd{"d. MMMM"}
                Md{"d. M."}
                y{"y. GGG"}
                yM{"M. y. GGGGG"}
                yMEd{"E, d. M. y. GGGGG"}
                yMMM{"LLL y. GGGGG"}
                yMMMEd{"E, d. MMM y. GGGGG"}
                yMMMd{"d. MMM y. GGGGG"}
                yMd{"d. M. y. GGGGG"}
                yQQQ{"QQQ y. GGGGG"}
            }
        }
        roc{
            availableFormats{
                M{"L."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMd{"d. MMM"}
                d{"d."}
            }
            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,
        }
        relative:intvector{
            1,
            1,
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"Dan"}
            relative{
                "-1"{"jučer"}
                "-2"{"prekjučer"}
                "0"{"danas"}
                "1"{"sutra"}
                "2"{"prekosutra"}
            }
            relativeTime{
                future{
                    few{"za {0} dana"}
                    one{"za {0} dan"}
                    other{"za {0} dana"}
                }
                past{
                    few{"prije {0} dana"}
                    one{"prije {0} dan"}
                    other{"prije {0} dana"}
                }
            }
        }
        dayperiod{
            dn{"Prijepodne/popodne"}
        }
        era{
            dn{"Era"}
        }
        fri{
            relative{
                "-1"{"prošli petak"}
                "0"{"ovaj petak"}
                "1"{"sljedeći petak"}
            }
        }
        hour{
            dn{"Sat"}
            relativeTime{
                future{
                    few{"za {0} sata"}
                    one{"za {0} sat"}
                    other{"za {0} sati"}
                }
                past{
                    few{"prije {0} sata"}
                    one{"prije {0} sat"}
                    other{"prije {0} sati"}
                }
            }
        }
        minute{
            dn{"Minuta"}
            relativeTime{
                future{
                    few{"za {0} minute"}
                    one{"za {0} minutu"}
                    other{"za {0} minuta"}
                }
                past{
                    few{"prije {0} minute"}
                    one{"prije {0} minutu"}
                    other{"prije {0} minuta"}
                }
            }
        }
        mon{
            relative{
                "-1"{"prošli ponedjeljak"}
                "0"{"ovaj ponedjeljak"}
                "1"{"sljedeći ponedjeljak"}
            }
        }
        month{
            dn{"Mjesec"}
            relative{
                "-1"{"prošli mjesec"}
                "0"{"ovaj mjesec"}
                "1"{"sljedeći mjesec"}
            }
            relativeTime{
                future{
                    few{"za {0} mjeseca"}
                    one{"za {0} mjesec"}
                    other{"za {0} mjeseci"}
                }
                past{
                    few{"prije {0} mjeseca"}
                    one{"prije {0} mjesec"}
                    other{"prije {0} mjeseci"}
                }
            }
        }
        sat{
            relative{
                "-1"{"prošla subota"}
                "0"{"ova subota"}
                "1"{"sljedeća subota"}
            }
        }
        second{
            dn{"Sekunda"}
            relative{
                "0"{"sada"}
            }
            relativeTime{
                future{
                    few{"za {0} sekunde"}
                    one{"za {0} sekundu"}
                    other{"za {0} sekundi"}
                }
                past{
                    few{"prije {0} sekunde"}
                    one{"prije {0} sekundu"}
                    other{"prije {0} sekundi"}
                }
            }
        }
        sun{
            relative{
                "-1"{"prošla nedjelja"}
                "0"{"ova nedjelja"}
                "1"{"sljedeća nedjelja"}
            }
        }
        thu{
            relative{
                "-1"{"prošli četvrtak"}
                "0"{"ovaj četvrtak"}
                "1"{"sljedeći četvrtak"}
            }
        }
        tue{
            relative{
                "-1"{"prošli utorak"}
                "0"{"ovaj utorak"}
                "1"{"sljedeći utorak"}
            }
        }
        wed{
            relative{
                "-1"{"prošla srijeda"}
                "0"{"ova srijeda"}
                "1"{"sljedeća srijeda"}
            }
        }
        week{
            dn{"Tjedan"}
            relative{
                "-1"{"prošli tjedan"}
                "0"{"ovaj tjedan"}
                "1"{"sljedeći tjedan"}
            }
            relativeTime{
                future{
                    few{"za {0} tjedna"}
                    one{"za {0} tjedan"}
                    other{"za {0} tjedana"}
                }
                past{
                    few{"prije {0} tjedna"}
                    one{"prije {0} tjedan"}
                    other{"prije {0} tjedana"}
                }
            }
        }
        weekday{
            dn{"Dan u tjednu"}
        }
        year{
            dn{"Godina"}
            relative{
                "-1"{"prošle godine"}
                "0"{"ove godine"}
                "1"{"sljedeće godine"}
            }
            relativeTime{
                future{
                    few{"za {0} godine"}
                    one{"za {0} godinu"}
                    other{"za {0} godina"}
                }
                past{
                    few{"prije {0} godine"}
                    one{"prije {0} godinu"}
                    other{"prije {0} godina"}
                }
            }
        }
        zone{
            dn{"Vremenska zona"}
        }
    }
    listPattern{
        standard{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"imperijalni sustav"}
        US{"američki sustav"}
        metric{"metrički sustav"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Numerički"}
        Tone{"Ton"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Naglasci"}
        x-Fullwidth{"Široki"}
        x-Halfwidth{"Uski"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Nakladnički"}
    }
    units{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0} minute"}
                one{"{0} minuta"}
                other{"{0} minuta"}
            }
            arc-second{
                few{"{0} sekunde"}
                one{"{0} sekunda"}
                other{"{0} sekundi"}
            }
            degree{
                few{"{0} stupnja"}
                one{"{0} stupanj"}
                other{"{0} stupnjeva"}
            }
        }
        area{
            acre{
                few{"{0} katastarska jutra"}
                one{"{0} katastarsko jutro"}
                other{"{0} katastarskih jutara"}
            }
            hectare{
                few{"{0} hektra"}
                one{"{0} hektar"}
                other{"{0} hektara"}
            }
            square-foot{
                few{"{0} kvadratne stope"}
                one{"{0} kvadratna stopa"}
                other{"{0} kvadratnih stopa"}
            }
            square-kilometer{
                few{"{0} kvadratna kilometra"}
                one{"{0} kvadratni kilometar"}
                other{"{0} kvadratnih kilometara"}
            }
            square-meter{
                few{"{0} kvadratna metra"}
                one{"{0} kvadratni metar"}
                other{"{0} kvadratnih metara"}
            }
            square-mile{
                few{"{0} kvadratne milje"}
                one{"{0} kvadratna milja"}
                other{"{0} kvadratnih milja"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                few{"{0} dana"}
                one{"{0} dan"}
                other{"{0} dana"}
            }
            hour{
                few{"{0} sata"}
                one{"{0} sat"}
                other{"{0} sati"}
            }
            millisecond{
                few{"{0} milisekunde"}
                one{"{0} milisekunda"}
                other{"{0} milisekundi"}
            }
            minute{
                few{"{0} minute"}
                one{"{0} minuta"}
                other{"{0} minuta"}
            }
            month{
                few{"{0} mjeseca"}
                one{"{0} mjesec"}
                other{"{0} mjeseci"}
            }
            second{
                few{"{0} sekunde"}
                one{"{0} sekunda"}
                other{"{0} sekundi"}
            }
            week{
                few{"{0} tjedna"}
                one{"{0} tjedan"}
                other{"{0} tjedana"}
            }
            year{
                few{"{0} godine"}
                one{"{0} godina"}
                other{"{0} godina"}
            }
        }
        length{
            centimeter{
                few{"{0} centimetra"}
                one{"{0} centimetar"}
                other{"{0} centimetara"}
            }
            foot{
                few{"{0} stope"}
                one{"{0} stopa"}
                other{"{0} stopa"}
            }
            inch{
                few{"{0} inča"}
                one{"{0} inč"}
                other{"{0} inča"}
            }
            kilometer{
                few{"{0} kilometra"}
                one{"{0} kilometar"}
                other{"{0} kilometara"}
            }
            light-year{
                few{"{0} svjetlosne godine"}
                one{"{0} svjetlosna godina"}
                other{"{0} svjetlosnih godina"}
            }
            meter{
                few{"{0} metra"}
                one{"{0} metar"}
                other{"{0} metara"}
            }
            mile{
                few{"{0} milje"}
                one{"{0} milja"}
                other{"{0} milja"}
            }
            millimeter{
                few{"{0} milimetra"}
                one{"{0} milimetar"}
                other{"{0} milimetara"}
            }
            picometer{
                few{"{0} pikometra"}
                one{"{0} pikometar"}
                other{"{0} pikometara"}
            }
            yard{
                few{"{0} jarda"}
                one{"{0} jard"}
                other{"{0} jardi"}
            }
        }
        mass{
            gram{
                few{"{0} grama"}
                one{"{0} gram"}
                other{"{0} grama"}
            }
            kilogram{
                few{"{0} kilograma"}
                one{"{0} kilogram"}
                other{"{0} kilograma"}
            }
            ounce{
                few{"{0} unce"}
                one{"{0} unca"}
                other{"{0} unci"}
            }
            pound{
                few{"{0} funte"}
                one{"{0} funta"}
                other{"{0} funti"}
            }
        }
        power{
            horsepower{
                few{"{0} konjske snage"}
                one{"{0} konjska snaga"}
                other{"{0} konjskih snaga"}
            }
            kilowatt{
                few{"{0} kilovata"}
                one{"{0} kilovat"}
                other{"{0} kilovata"}
            }
            watt{
                few{"{0} vata"}
                one{"{0} vat"}
                other{"{0} vati"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hektopaskala"}
                one{"{0} hektopaskal"}
                other{"{0} hektopaskala"}
            }
            inch-hg{
                few{"{0} inča žive"}
                one{"{0} inč žive"}
                other{"{0} inča žive"}
            }
            millibar{
                few{"{0} milibara"}
                one{"{0} milibar"}
                other{"{0} milibara"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} kilometra na sat"}
                one{"{0} kilometar na sat"}
                other{"{0} kilometara na sat"}
            }
            meter-per-second{
                few{"{0} metra u sekundi"}
                one{"{0} metar u sekundi"}
                other{"{0} metara u sekundi"}
            }
            mile-per-hour{
                few{"{0} milje na sat"}
                one{"{0} milja na sat"}
                other{"{0} milja na sat"}
            }
        }
        temperature{
            celsius{
                few{"{0} Celzijeva stupnja"}
                one{"{0} Celzijev stupanj"}
                other{"{0} Celzijevih stupnjeva"}
            }
            fahrenheit{
                few{"{0} Fahrenheitova stupnja"}
                one{"{0} Fahrenheitov stupanj"}
                other{"{0} Fahrenheitovih stupnjeva"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} kubna kilometra"}
                one{"{0} kubni kilometar"}
                other{"{0} kubnih kilometara"}
            }
            cubic-mile{
                few{"{0} kubne milje"}
                one{"{0} kubna milja"}
                other{"{0} kubnih milja"}
            }
            liter{
                few{"{0} litre"}
                one{"{0} litra"}
                other{"{0} litara"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0}′"}
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                few{"{0}″"}
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                few{"{0}°"}
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                few{"{0} kj"}
                one{"{0} kj"}
                other{"{0} kj"}
            }
            hectare{
                few{"{0} ha"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-foot{
                few{"{0} ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-kilometer{
                few{"{0} km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                few{"{0} m²"}
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                few{"{0} mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                few{"{0} d."}
                one{"{0} d."}
                other{"{0} d."}
            }
            hour{
                few{"{0} h"}
                one{"{0} h"}
                other{"{0} h"}
            }
            millisecond{
                few{"{0} ms"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
            }
            month{
                few{"{0} mj."}
                one{"{0} mj."}
                other{"{0} mj."}
            }
            second{
                few{"{0} s"}
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                few{"{0} tj."}
                one{"{0} tj."}
                other{"{0} tj."}
            }
            year{
                few{"{0} g."}
                one{"{0} g."}
                other{"{0} g."}
            }
        }
        length{
            centimeter{
                few{"{0} cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                few{"{0}′"}
                one{"{0}′"}
                other{"{0}′"}
            }
            inch{
                few{"{0}″"}
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                few{"{0} km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                few{"{0} ly"}
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                few{"{0} mi"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            millimeter{
                few{"{0} mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                few{"{0} pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                few{"{0} yd"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        mass{
            gram{
                few{"{0} g"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                few{"{0} kg"}
                one{"{0} kg"}
                other{"{0} kg"}
            }
            ounce{
                few{"{0} oz"}
                one{"{0} oz"}
                other{"{0} oz"}
            }
            pound{
                few{"{0} lb"}
                one{"{0} lb"}
                other{"{0} lb"}
            }
        }
        power{
            horsepower{
                few{"{0} KS"}
                one{"{0} KS"}
                other{"{0} KS"}
            }
            kilowatt{
                few{"{0} kW"}
                one{"{0} kW"}
                other{"{0} kW"}
            }
            watt{
                few{"{0} W"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                few{"{0} inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                few{"{0} mb"}
                one{"{0} mb"}
                other{"{0} mb"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                few{"{0} m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                few{"{0} mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                few{"{0}°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            fahrenheit{
                few{"{0}°F"}
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} km³"}
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                few{"{0} mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            liter{
                few{"{0} l"}
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0} min"}
                one{"{0} min"}
                other{"{0} min"}
            }
            arc-second{
                few{"{0} s"}
                one{"{0} s"}
                other{"{0} s"}
            }
            degree{
                few{"{0}°"}
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                few{"{0} kj"}
                one{"{0} kj"}
                other{"{0} kj"}
            }
            hectare{
                few{"{0} ha"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-foot{
                few{"{0} ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-kilometer{
                few{"{0} km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                few{"{0} m²"}
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                few{"{0} mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                few{"{0} dana"}
                one{"{0} dan"}
                other{"{0} dana"}
            }
            hour{
                few{"{0} h"}
                one{"{0} h"}
                other{"{0} h"}
            }
            millisecond{
                few{"{0} ms"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                few{"{0} min"}
                one{"{0} min"}
                other{"{0} min"}
            }
            month{
                few{"{0} mj."}
                one{"{0} mj."}
                other{"{0} mj."}
            }
            second{
                few{"{0} s"}
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                few{"{0} tj."}
                one{"{0} tj."}
                other{"{0} tj."}
            }
            year{
                few{"{0} g."}
                one{"{0} g."}
                other{"{0} g."}
            }
        }
        length{
            centimeter{
                few{"{0} cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                few{"{0} ft"}
                one{"{0} ft"}
                other{"{0} ft"}
            }
            inch{
                few{"{0} in"}
                one{"{0} in"}
                other{"{0} in"}
            }
            kilometer{
                few{"{0} km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                few{"{0} ly"}
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                few{"{0} mi"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            millimeter{
                few{"{0} mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                few{"{0} pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                few{"{0} yd"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        mass{
            gram{
                few{"{0} g"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                few{"{0} kg"}
                one{"{0} kg"}
                other{"{0} kg"}
            }
            ounce{
                few{"{0} oz"}
                one{"{0} oz"}
                other{"{0} oz"}
            }
            pound{
                few{"{0} lb"}
                one{"{0} lb"}
                other{"{0} lb"}
            }
        }
        power{
            horsepower{
                few{"{0} KS"}
                one{"{0} KS"}
                other{"{0} KS"}
            }
            kilowatt{
                few{"{0} kW"}
                one{"{0} kW"}
                other{"{0} kW"}
            }
            watt{
                few{"{0} W"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                few{"{0} inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                few{"{0} mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                few{"{0} m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                few{"{0} mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                few{"{0}°C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                few{"{0}°F"}
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} km³"}
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                few{"{0} mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            liter{
                few{"{0} l"}
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
}
