﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/az.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/az.xml
 */
az{
    AuxExemplarCharacters{"[w]"}
    ExemplarCharacters{"[a b c ç d e ə f g ğ h x ı i İ j k q l m n o ö p r s ş t u ü v y z]"}
    ExemplarCharactersIndex{"[A B C Ç D E Ə F G Ğ H X I İ J K Q L M N O Ö P R S Ş T U Ü V Y Z W]"}
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] § @ * / \\& # † ‡ ′ "
        "″]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0K"}
                        other{"0K"}
                    }
                    10000{
                        one{"00K"}
                        other{"00K"}
                    }
                    100000{
                        one{"000K"}
                        other{"000K"}
                    }
                    1000000{
                        one{"0M"}
                        other{"0M"}
                    }
                    10000000{
                        one{"00M"}
                        other{"00M"}
                    }
                    100000000{
                        one{"000M"}
                        other{"000M"}
                    }
                    1000000000{
                        one{"0G"}
                        other{"0G"}
                    }
                    10000000000{
                        one{"00G"}
                        other{"00G"}
                    }
                    100000000000{
                        one{"000G"}
                        other{"000G"}
                    }
                    1000000000000{
                        one{"0T"}
                        other{"0T"}
                    }
                    10000000000000{
                        one{"00T"}
                        other{"00T"}
                    }
                    100000000000000{
                        one{"000T"}
                        other{"000T"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0K"}
                        other{"0K"}
                    }
                    10000{
                        one{"00K"}
                        other{"00K"}
                    }
                    100000{
                        one{"000K"}
                        other{"000K"}
                    }
                    1000000{
                        one{"0M"}
                        other{"0M"}
                    }
                    10000000{
                        one{"00M"}
                        other{"00M"}
                    }
                    100000000{
                        one{"000M"}
                        other{"000M"}
                    }
                    1000000000{
                        one{"0G"}
                        other{"0G"}
                    }
                    10000000000{
                        one{"00G"}
                        other{"00G"}
                    }
                    100000000000{
                        one{"000G"}
                        other{"000G"}
                    }
                    1000000000000{
                        one{"0T"}
                        other{"0T"}
                    }
                    10000000000000{
                        one{"00T"}
                        other{"00T"}
                    }
                    100000000000000{
                        one{"000T"}
                        other{"000T"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
    }
    Version{"2.0.92.87"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "G d MMMM y, EEEE",
                "G d MMMM, y",
                "G d MMM y",
                "GGGGG dd.MM.y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d, E"}
                Gy{"G y"}
                GyMMM{"G MMM y"}
                GyMMMEd{"G d MMM y, E"}
                GyMMMd{"G d MMM y"}
                M{"L"}
                MEd{"dd.MM, E"}
                MMM{"LLL"}
                MMMEd{"d MMM, E"}
                MMMd{"d MMM"}
                Md{"dd.MM"}
                d{"d"}
                y{"G y"}
                yyyy{"G y"}
                yyyyM{"GGGGG MM y"}
                yyyyMEd{"GGGGG dd.MM.y, E"}
                yyyyMMM{"G MMM y"}
                yyyyMMMEd{"G d MMM y, E"}
                yyyyMMMd{"G d MMM y"}
                yyyyMd{"GGGGG dd.MM.y"}
                yyyyQQQ{"G y QQQ"}
                yyyyQQQQ{"G y QQQQ"}
            }
            intervalFormats{
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"dd.MM, E – dd.MM, E"}
                    d{"dd.MM, E – dd.MM, E"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"MMM d, E – MMM d, E"}
                    d{"MMM d, E – MMM d, E"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                y{
                    y{"G y–y"}
                }
                yM{
                    M{"GGGGG MM/y – MM/y"}
                    y{"GGGGG MM/y – MM/y"}
                }
                yMEd{
                    M{"GGGGG dd/MM/y , E – dd/MM/y, E"}
                    d{"GGGGG dd/MM/y , E – dd/MM/y, E"}
                    y{"GGGGG dd/MM/y , E – dd/MM/y, E"}
                }
                yMMM{
                    M{"G MMM–MMM y"}
                    y{"G MMM y – MMM y"}
                }
                yMMMEd{
                    M{"G d MMM y, E – d MMM, E"}
                    d{"G d MMM y, E – d MMM, E"}
                    y{"G d MMM y, E – d MMM y, E"}
                }
                yMMMM{
                    M{"G MMMM y –MMMM"}
                    y{"G MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"G d MMM y – d MMM"}
                    d{"G d–d MMM y"}
                    y{"G d MMM y – d MMM y"}
                }
                yMd{
                    M{"GGGGG dd/MM/y – dd/MM/y"}
                    d{"GGGGG dd/MM/y – dd/MM/y"}
                    y{"GGGGG dd/MM/y – dd/MM/y"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "d MMMM y, EEEE",
                "d MMMM y",
                "d MMM y",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"G y"}
                GyMMM{"G MMM y"}
                GyMMMEd{"G d MMM y, E"}
                GyMMMd{"G d MMM y"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"dd.MM, E"}
                MMM{"LLL"}
                MMMEd{"d MMM, E"}
                MMMd{"d MMM"}
                Md{"dd.MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM.y"}
                yMEd{"dd.MM.y, E"}
                yMMM{"MMM y"}
                yMMMEd{"d MMM y, E"}
                yMMMd{"d MMM y"}
                yMd{"dd.MM.y"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "B.",
                        "B.E.",
                        "Ç.A.",
                        "Ç.",
                        "C.A.",
                        "C",
                        "Ş.",
                    }
                    narrow{
                        "7",
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                    }
                    short{
                        "B.",
                        "B.E.",
                        "Ç.A.",
                        "Ç.",
                        "C.A.",
                        "C",
                        "Ş.",
                    }
                    wide{
                        "bazar",
                        "bazar ertəsi",
                        "çərşənbə axşamı",
                        "çərşənbə",
                        "cümə axşamı",
                        "cümə",
                        "şənbə",
                    }
                }
                stand-alone{
                    abbreviated{
                        "B.",
                        "B.E.",
                        "Ç.A.",
                        "Ç.",
                        "C.A.",
                        "C",
                        "Ş.",
                    }
                    narrow{
                        "7",
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                    }
                    short{
                        "B.",
                        "B.E.",
                        "Ç.A.",
                        "Ç.",
                        "C.A.",
                        "C",
                        "Ş.",
                    }
                    wide{
                        "bazar",
                        "bazar ertəsi",
                        "çərşənbə axşamı",
                        "çərşənbə",
                        "cümə axşamı",
                        "cümə",
                        "şənbə",
                    }
                }
            }
            eras{
                abbreviated{
                    "e.ə.",
                    "b.e.",
                }
                wide{
                    "eramızdan əvvəl",
                    "bizim eramızın",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                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 v"}
                }
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"dd.MM, E – dd.MM, E"}
                    d{"dd.MM, E – dd.MM, E"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"d MMM, E – d MMM, E"}
                    d{"d MMM, E – d MMM, E"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    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 a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"MM.y – MM.y"}
                    y{"MM.y – MM.y"}
                }
                yMEd{
                    M{"dd.MM.y, E – dd.MM.y, E"}
                    d{"dd.MM.y, E – dd.MM.y, E"}
                    y{"dd.MM.y, E – dd.MM.y, E"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"d MMM y, E – d MMM, E"}
                    d{"d MMM y, E – d MMM, E"}
                    y{"d MMM y, E – d MMM y, E"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM y – d MMM"}
                    d{"y MMM d–d"}
                    y{"d MMM y – d 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{
                        "yan",
                        "fev",
                        "mar",
                        "apr",
                        "may",
                        "iyn",
                        "iyl",
                        "avq",
                        "sen",
                        "okt",
                        "noy",
                        "dek",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "yanvar",
                        "fevral",
                        "mart",
                        "aprel",
                        "may",
                        "iyun",
                        "iyul",
                        "avqust",
                        "sentyabr",
                        "oktyabr",
                        "noyabr",
                        "dekabr",
                    }
                }
                stand-alone{
                    abbreviated{
                        "yan",
                        "fev",
                        "mar",
                        "apr",
                        "may",
                        "iyn",
                        "iyl",
                        "avq",
                        "sen",
                        "okt",
                        "noy",
                        "dek",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "Yanvar",
                        "Fevral",
                        "Mart",
                        "Aprel",
                        "May",
                        "İyun",
                        "İyul",
                        "Avqust",
                        "Sentyabr",
                        "Oktyabr",
                        "Noyabr",
                        "Dekabr",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1-ci kv.",
                        "2-ci kv.",
                        "3-cü kv.",
                        "4-cü kv.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1-ci kvartal",
                        "2-ci kvartal",
                        "3-cü kvartal",
                        "4-cü kvartal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1-ci kv.",
                        "2-ci kv.",
                        "3-cü kv.",
                        "4-cü kv.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1-ci kvartal",
                        "2-ci kvartal",
                        "3-cü kvartal",
                        "4-cü kvartal",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"bu gün"}
            relative{
                "-1"{"dünən"}
                "0"{"bu gün"}
                "1"{"sabah"}
            }
            relativeTime{
                future{
                    one{"{0} gün ərində"}
                    other{"{0} gün ərində"}
                }
                past{
                    one{"{0} gün öncə"}
                    other{"{0} gün öncə"}
                }
            }
        }
        dayperiod{
            dn{"günün vaxtı"}
        }
        era{
            dn{"era"}
        }
        fri{
            relative{
                "-1"{"keçən cümə"}
                "0"{"bu cümə"}
                "1"{"gələn cümə"}
            }
        }
        hour{
            dn{"saat"}
            relativeTime{
                future{
                    one{"{0} saat ərzində"}
                    other{"{0} saat ərzində"}
                }
                past{
                    one{"{0} saat öncə"}
                    other{"{0} saat öncə"}
                }
            }
        }
        minute{
            dn{"dəqiqə"}
            relativeTime{
                future{
                    one{"{0} dəqiqə ərzində"}
                    other{"{0} dəqiqə ərzində"}
                }
                past{
                    one{"{0} dəqiqə öncə"}
                    other{"{0} dəqiqə öncə"}
                }
            }
        }
        mon{
            relative{
                "-1"{"keçən bazar ertəsi"}
                "0"{"bu bazar ertəsi"}
                "1"{"gələn bazar ertəsi"}
            }
        }
        month{
            dn{"ay"}
            relative{
                "-1"{"keçən ay"}
                "0"{"bu ay"}
                "1"{"gələn ay"}
            }
            relativeTime{
                future{
                    one{"{0} ay ərzində"}
                    other{"{0} ay ərzində"}
                }
                past{
                    one{"{0} ay öncə"}
                    other{"{0} ay öncə"}
                }
            }
        }
        sat{
            relative{
                "-1"{"keçən şənbə"}
                "0"{"bu şənbə"}
                "1"{"gələn şənbə"}
            }
        }
        second{
            dn{"saniyə"}
            relative{
                "0"{"indi"}
            }
            relativeTime{
                future{
                    one{"{0} saniyə ərzində"}
                    other{"{0} saniyə ərzində"}
                }
                past{
                    one{"{0} saniyə öncə"}
                    other{"{0} saniyə öncə"}
                }
            }
        }
        sun{
            relative{
                "-1"{"keçən bazar"}
                "0"{"bu bazar"}
                "1"{"gələn bazar"}
            }
        }
        thu{
            relative{
                "-1"{"keçən cümə axşamı"}
                "0"{"bu cümə axşamı"}
                "1"{"gələn cümə axşamı"}
            }
        }
        tue{
            relative{
                "-1"{"keçən çərşənbə axşamı"}
                "0"{"bu çərşənbə axşamı"}
                "1"{"gələn çərşənbə axşamı"}
            }
        }
        wed{
            relative{
                "-1"{"keçən çərşənbə"}
                "0"{"bu çərşənbə"}
                "1"{"gələn çərşənbə"}
            }
        }
        week{
            dn{"həftə"}
            relative{
                "-1"{"keçən həftə"}
                "0"{"bu həftə"}
                "1"{"gələn həftə"}
            }
            relativeTime{
                future{
                    one{"{0} həftə ərzində"}
                    other{"{0} həftə ərzində"}
                }
                past{
                    one{"{0} həftə öncə"}
                    other{"{0} həftə öncə"}
                }
            }
        }
        weekday{
            dn{"həftə günü"}
        }
        year{
            dn{"il"}
            relative{
                "-1"{"keçən il"}
                "0"{"bu il"}
                "1"{"gələn il"}
            }
            relativeTime{
                future{
                    one{"{0} il ərzində"}
                    other{"{0} il ərzində"}
                }
                past{
                    one{"{0} il öncə"}
                    other{"{0} il öncə"}
                }
            }
        }
        zone{
            dn{"saat zolağı"}
        }
    }
    listPattern{
        standard{
            2{"{0} və {1}"}
            end{"{0} və {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} və {1}"}
            end{"{0} və {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Britaniya"}
        US{"ABŞ"}
        metric{"Metrik"}
    }
    units{
        acceleration{
            g-force{
                one{"{0} g qüvvəsi"}
                other{"{0} g qüvvəsi"}
            }
        }
        angle{
            arc-minute{
                one{"{0}dəqiqə"}
                other{"{0}dəqiqə"}
            }
            arc-second{
                one{"{0}saniyə"}
                other{"{0}saniyə"}
            }
            degree{
                one{"{0}dərəcə"}
                other{"{0}dərəcə"}
            }
        }
        area{
            acre{
                one{"{0} akr"}
                other{"{0} akr"}
            }
            hectare{
                one{"{0} hektar"}
                other{"{0} hektar"}
            }
            square-foot{
                one{"{0} kvadrat fut"}
                other{"{0} kvadrat fut"}
            }
            square-kilometer{
                one{"{0} kvadrat kilometr"}
                other{"{0} kvadrat kilometr"}
            }
            square-meter{
                one{"{0} kvadrat metr"}
                other{"{0} kvadrat metr"}
            }
            square-mile{
                one{"{0} kvadrat mil"}
                other{"{0} kvadrat mil"}
            }
        }
        duration{
            day{
                one{"{0} gün"}
                other{"{0} gün"}
            }
            hour{
                one{"{0} saat"}
                other{"{0} saat"}
            }
            millisecond{
                one{"{0} millisaniyə"}
                other{"{0} millisaniyə"}
            }
            minute{
                one{"{0} dəqiqə"}
                other{"{0} dəqiqə"}
            }
            month{
                one{"{0} ay"}
                other{"{0} ay"}
            }
            second{
                one{"{0} saniyə"}
                other{"{0} saniyə"}
            }
            week{
                one{"{0} həftə"}
                other{"{0} həftə"}
            }
            year{
                one{"{0} il"}
                other{"{0} il"}
            }
        }
        length{
            centimeter{
                one{"{0} santimetr"}
                other{"{0} santimetr"}
            }
            foot{
                one{"{0} fut"}
                other{"{0} fut"}
            }
            inch{
                one{"{0} düym"}
                other{"{0} düym"}
            }
            kilometer{
                one{"{0} kilometr"}
                other{"{0} kilometr"}
            }
            light-year{
                one{"{0} işıq ili"}
                other{"{0} işıq ili"}
            }
            meter{
                one{"{0} metr"}
                other{"{0} metr"}
            }
            mile{
                one{"{0} mil"}
                other{"{0} mil"}
            }
            millimeter{
                one{"{0} millimetr"}
                other{"{0} millimetr"}
            }
            picometer{
                one{"{0} pikometr"}
                other{"{0} pikometr"}
            }
            yard{
                one{"{0} yard"}
                other{"{0} yard"}
            }
        }
        mass{
            gram{
                one{"{0} qram"}
                other{"{0} qram"}
            }
            kilogram{
                one{"{0} kiloqram"}
                other{"{0} kiloqram"}
            }
            ounce{
                one{"{0} unsiya"}
                other{"{0} unsiya"}
            }
            pound{
                one{"{0} funt"}
                other{"{0} funt"}
            }
        }
        power{
            horsepower{
                one{"{0} at gücü"}
                other{"{0} at gücü"}
            }
            kilowatt{
                one{"{0} kilovatt"}
                other{"{0} kilovatt"}
            }
            watt{
                one{"{0} vatt"}
                other{"{0} vatt"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hektopaskal"}
                other{"{0} hektopaskal"}
            }
            inch-hg{
                one{"{0} civə düymü"}
                other{"{0} civə düymü"}
            }
            millibar{
                one{"{0} millibar"}
                other{"{0} millibar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} kilometr/saat"}
                other{"{0} kilometr/saat"}
            }
            meter-per-second{
                one{"{0} metr/saniyə"}
                other{"{0} metr/saniyə"}
            }
            mile-per-hour{
                one{"{0} mil/saat"}
                other{"{0} mil/saat"}
            }
        }
        temperature{
            celsius{
                one{"{0}dərəcə Selsi"}
                other{"{0}dərəcə Selsi"}
            }
            fahrenheit{
                one{"{0}dərəcə Farengeyt"}
                other{"{0}dərəcə Farengeyt"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} kub kilometr"}
                other{"{0} kub kilometr"}
            }
            cubic-mile{
                one{"{0} kub mil"}
                other{"{0} kub mil"}
            }
            liter{
                one{"{0} litr"}
                other{"{0} litr"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}dəq"}
                other{"{0}dəq"}
            }
            arc-second{
                one{"{0}san"}
                other{"{0}san"}
            }
            degree{
                one{"{0}dər"}
                other{"{0}dər"}
            }
        }
        area{
            acre{
                one{"{0} ak"}
                other{"{0} ak"}
            }
            hectare{
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-foot{
                one{"{0} kv ft"}
                other{"{0} kv ft"}
            }
            square-kilometer{
                one{"{0} kv km"}
                other{"{0} kv km"}
            }
            square-meter{
                one{"{0} kv m"}
                other{"{0} kv m"}
            }
            square-mile{
                one{"{0} kv mil"}
                other{"{0} kv mil"}
            }
        }
        duration{
            day{
                one{"{0} gün"}
                other{"{0} gün"}
            }
            hour{
                one{"{0} saat"}
                other{"{0} saat"}
            }
            millisecond{
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                one{"{0} dəq"}
                other{"{0} dəq"}
            }
            month{
                one{"{0} ay"}
                other{"{0} ay"}
            }
            second{
                one{"{0} san"}
                other{"{0} san"}
            }
            week{
                one{"{0} hft"}
                other{"{0} hft"}
            }
            year{
                one{"{0} il"}
                other{"{0} il"}
            }
        }
        length{
            centimeter{
                one{"{0} sm"}
                other{"{0} sm"}
            }
            foot{
                one{"{0} ft"}
                other{"{0} ft"}
            }
            inch{
                one{"{0} in"}
                other{"{0} in"}
            }
            kilometer{
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                one{"{0} ii"}
                other{"{0} ii"}
            }
            meter{
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                one{"{0} mil"}
                other{"{0} mil"}
            }
            millimeter{
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        mass{
            gram{
                one{"{0} q"}
                other{"{0} q"}
            }
            kilogram{
                one{"{0} kq"}
                other{"{0} kq"}
            }
            ounce{
                one{"{0} oz"}
                other{"{0} oz"}
            }
            pound{
                one{"{0} lb"}
                other{"{0} lb"}
            }
        }
        power{
            horsepower{
                one{"{0} hp"}
                other{"{0} hp"}
            }
            kilowatt{
                one{"{0} kW"}
                other{"{0} kW"}
            }
            watt{
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} km/saat"}
                other{"{0} km/saat"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} mil/saat"}
                other{"{0} mil/saat"}
            }
        }
        temperature{
            celsius{
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                one{"{0} mil³"}
                other{"{0} mil³"}
            }
            liter{
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
}
