﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mr.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/mr.xml
 */
mr{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{
        "[\u093C ० १ २ ३ ४ ५ ६ ७ ८ ९ ॐ \u0902 \u0901 ः अ आ इ ई उ ऊ ऋ ऌ ऍ ए ऐ ऑ ओ औ क "
        "ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त थ द ध न प फ ब भ म य र ल व श ष स ह ळ ऽ ा ि ी "
        "\u0941 \u0942 \u0943 \u0944 \u0945 \u0947 \u0948 ॉ ो ौ \u094D]"
    }
    ExemplarCharactersIndex{
        "[\u200D ॐ \u0902 ः अ आ इ ई उ ऊ ऋ ऌ ए ऐ ऑ ओ औ क ख ग घ ङ च छ ज झ ञ ट ठ ड ढ ण त"
        " थ द ध न प फ ब भ म य र ल व श ष स ह ळ ऽ \u0945 \u094D]"
    }
    ExemplarCharactersPunctuation{"[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] @ * / \\& # ′ ″]"}
    LocaleScript{
        "Deva",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"deva"}
        deva{
            patterns{
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"[#E0]"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"[#E0]"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 हजार"}
                        other{"0 हजार"}
                    }
                    10000{
                        one{"00 हजार"}
                        other{"00 हजार"}
                    }
                    100000{
                        one{"000 हजार"}
                        other{"000 हजार"}
                    }
                    1000000{
                        one{"0 दशलक्ष"}
                        other{"0 दशलक्ष"}
                    }
                    10000000{
                        one{"00 दशलक्ष"}
                        other{"00 दशलक्ष"}
                    }
                    100000000{
                        one{"000 दशलक्ष"}
                        other{"000 दशलक्ष"}
                    }
                    1000000000{
                        one{"0 महापद्म"}
                        other{"0 महापद्म"}
                    }
                    10000000000{
                        one{"00 महापद्म"}
                        other{"00 महापद्म"}
                    }
                    100000000000{
                        one{"000 महापद्म"}
                        other{"000 महापद्म"}
                    }
                    1000000000000{
                        one{"0 खरब"}
                        other{"0 खरब"}
                    }
                    10000000000000{
                        one{"00 खरब"}
                        other{"00 खरब"}
                    }
                    100000000000000{
                        one{"000 खरब"}
                        other{"000 खरब"}
                    }
                }
            }
            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{"0B"}
                        other{"0B"}
                    }
                    10000000000{
                        one{"00B"}
                        other{"00B"}
                    }
                    100000000000{
                        one{"000B"}
                        other{"000B"}
                    }
                    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{"×"}
            }
        }
        native{"deva"}
    }
    Version{"2.0.92.87"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM, y G",
                "d MMMM, y G",
                "d MMM, y G",
                "d/M/y GGGGG",
                "{1}, {0}",
                "{1} 'वाजता' {0}",
                "{1} 'वाजता' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM, y G"}
                GyMMMd{"d MMM, y G"}
                H{"HH"}
                Hm{"H-mm"}
                Hms{"H-mm-ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd-MM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M/y GGGGG"}
                yyyyMEd{"E, d/M/y GGGGG"}
                yyyyMM{"MM-y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM, y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM, y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            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{"M–M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                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 G"}
                }
                yM{
                    M{"M/y – M/y GGGGG"}
                    y{"M/y – M/y GGGGG"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y GGGGG"}
                    d{"E, d/M/y – E, d/M/y GGGGG"}
                    y{"E, d/M/y – E, d/M/y GGGGG"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM - E, d MMM y G"}
                    d{"E, d MMM y – E, d MMM, y G"}
                    y{"E, d MMM y - E, d MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d MMM – d, MMM y G"}
                    d{"d–d, MMM y G"}
                    y{"d, MMM y – d, MMM y G"}
                }
                yMd{
                    M{"d/M/y – d/M/y GGGGG"}
                    d{"d/M/y – d/M/y GGGGG"}
                    y{"d/M/y – d/M/y GGGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "[AM]",
                "[PM]",
            }
            AmPmMarkersNarrow{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM, y",
                "d MMMM, y",
                "d MMM, y",
                "d/M/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{"MMM G y"}
                GyMMMEd{"E, d MMM, G y"}
                GyMMMd{"d MMM, G y"}
                H{"HH"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                M{"L"}
                MEd{"E, d/M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd-MM"}
                Md{"d/M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d/M/y"}
                yMM{"MM-y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d, MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM, y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "रवि",
                        "सोम",
                        "मंगळ",
                        "बुध",
                        "गुरु",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "र",
                        "सो",
                        "मं",
                        "बु",
                        "गु",
                        "शु",
                        "श",
                    }
                    short{
                        "र",
                        "सो",
                        "मं",
                        "बु",
                        "गु",
                        "शु",
                        "श",
                    }
                    wide{
                        "रविवार",
                        "सोमवार",
                        "मंगळवार",
                        "बुधवार",
                        "गुरुवार",
                        "शुक्रवार",
                        "शनिवार",
                    }
                }
                stand-alone{
                    abbreviated{
                        "रवि",
                        "सोम",
                        "मंगळ",
                        "बुध",
                        "गुरु",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "र",
                        "सो",
                        "मं",
                        "बु",
                        "गु",
                        "शु",
                        "श",
                    }
                    short{
                        "र",
                        "सो",
                        "मं",
                        "बु",
                        "गु",
                        "शु",
                        "श",
                    }
                    wide{
                        "रविवार",
                        "सोमवार",
                        "मंगळवार",
                        "बुधवार",
                        "गुरुवार",
                        "शुक्रवार",
                        "शनिवार",
                    }
                }
            }
            eras{
                abbreviated{
                    "ईसापूर्व",
                    "सन",
                }
                wide{
                    "ईसवीसनपूर्व",
                    "ईसवीसन",
                }
            }
            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{"M–M"}
                }
                MEd{
                    M{"E, d/M - E, d/M"}
                    d{"E, d/M - E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM - E, d MMM"}
                    d{"E, d MMM - E, d MMM"}
                }
                MMMd{
                    M{"d MMM - d MMM"}
                    d{"d-d MMM"}
                }
                Md{
                    M{"d/M - d/M"}
                    d{"d/M - d/M"}
                }
                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{"M/y – M/y"}
                    y{"M/y – M/y"}
                }
                yMEd{
                    M{"E, d/M/y – E, d/M/y"}
                    d{"E, d/M/y – E, d/M/y"}
                    y{"E, d/M/y – E, d/M/y"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y"}
                    d{"E, d MMM y – E, d MMM, y"}
                    y{"E, d MMM, y – E, d MMM, y"}
                }
                yMMMM{
                    M{"MMMM – MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM, y"}
                    d{"d-d MMM, y"}
                    y{"d MMM, y – d MMM, y"}
                }
                yMd{
                    M{"d/M/y – d/M/y"}
                    d{"d/M/y – d/M/y"}
                    y{"d/M/y – d/M/y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "जाने",
                        "फेब्रु",
                        "मार्च",
                        "एप्रि",
                        "मे",
                        "जून",
                        "जुलै",
                        "ऑग",
                        "सप्टें",
                        "ऑक्टो",
                        "नोव्हें",
                        "डिसें",
                    }
                    narrow{
                        "जा",
                        "फे",
                        "मा",
                        "ए",
                        "मे",
                        "जू",
                        "जु",
                        "ऑ",
                        "स",
                        "ऑ",
                        "नो",
                        "डि",
                    }
                    wide{
                        "जानेवारी",
                        "फेब्रुवारी",
                        "मार्च",
                        "एप्रिल",
                        "मे",
                        "जून",
                        "जुलै",
                        "ऑगस्ट",
                        "सप्टेंबर",
                        "ऑक्टोबर",
                        "नोव्हेंबर",
                        "डिसेंबर",
                    }
                }
                stand-alone{
                    abbreviated{
                        "जाने",
                        "फेब्रु",
                        "मार्च",
                        "एप्रि",
                        "मे",
                        "जून",
                        "जुलै",
                        "ऑग",
                        "सप्टें",
                        "ऑक्टो",
                        "नोव्हें",
                        "डिसें",
                    }
                    narrow{
                        "जा",
                        "फे",
                        "मा",
                        "ए",
                        "मे",
                        "जू",
                        "जु",
                        "ऑ",
                        "स",
                        "ऑ",
                        "नो",
                        "डि",
                    }
                    wide{
                        "जानेवारी",
                        "फेब्रुवारी",
                        "मार्च",
                        "एप्रिल",
                        "मे",
                        "जून",
                        "जुलै",
                        "ऑगस्ट",
                        "सप्टेंबर",
                        "ऑक्टोबर",
                        "नोव्हेंबर",
                        "डिसेंबर",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ति1",
                        "ति2",
                        "ति3",
                        "ति4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "प्रथम तिमाही",
                        "द्वितीय तिमाही",
                        "तृतीय तिमाही",
                        "चतुर्थ तिमाही",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ति1",
                        "ति2",
                        "ति3",
                        "ति4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "प्रथम तिमाही",
                        "द्वितीय तिमाही",
                        "तृतीय तिमाही",
                        "चतुर्थ तिमाही",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"दिवस"}
            relative{
                "-1"{"काल"}
                "0"{"आज"}
                "1"{"उद्या"}
            }
            relativeTime{
                future{
                    one{"{0} दिवसामध्ये"}
                    other{"{0} दिवसांमध्ये"}
                }
                past{
                    one{"{0} दिवसापूर्वी"}
                    other{"{0} दिवसांपूर्वी"}
                }
            }
        }
        dayperiod{
            dn{"[AM/PM]"}
        }
        era{
            dn{"युग"}
        }
        fri{
            relative{
                "-1"{"मागील शुक्रवार"}
                "0"{"हा शुक्रवार"}
                "1"{"पुढील शुक्रवार"}
            }
        }
        hour{
            dn{"तास"}
            relativeTime{
                future{
                    one{"{0} तासामध्ये"}
                    other{"{0} तासांमध्ये"}
                }
                past{
                    one{"{0} तासापूर्वी"}
                    other{"{0} तासांपूर्वी"}
                }
            }
        }
        minute{
            dn{"मिनिट"}
            relativeTime{
                future{
                    one{"{0} मिनिटामध्ये"}
                    other{"{0} मिनिटांमध्ये"}
                }
                past{
                    one{"{0} मिनिटापूर्वी"}
                    other{"{0} मिनिटांपूर्वी"}
                }
            }
        }
        mon{
            relative{
                "-1"{"मागील सोमवार"}
                "0"{"हा सोमवार"}
                "1"{"पुढील सोमवार"}
            }
        }
        month{
            dn{"महिना"}
            relative{
                "-1"{"मागील महिना"}
                "0"{"हा महिना"}
                "1"{"पुढील महिना"}
            }
            relativeTime{
                future{
                    one{"{0} महिन्यामध्ये"}
                    other{"{0} महिन्यांमध्ये"}
                }
                past{
                    one{"{0} महिन्यापूर्वी"}
                    other{"{0} महिन्यांपूर्वी"}
                }
            }
        }
        sat{
            relative{
                "-1"{"मागील शनिवार"}
                "0"{"हा शनिवार"}
                "1"{"पुढील शनिवार"}
            }
        }
        second{
            dn{"सेकंद"}
            relative{
                "0"{"आत्ता"}
            }
            relativeTime{
                future{
                    one{"{0} सेकंदामध्ये"}
                    other{"{0} सेकंदांमध्ये"}
                }
                past{
                    one{"{0} सेकंदापूर्वी"}
                    other{"{0} सेकंदांपूर्वी"}
                }
            }
        }
        sun{
            relative{
                "-1"{"मागील रविवार"}
                "0"{"हा रविवार"}
                "1"{"पुढील रविवार"}
            }
        }
        thu{
            relative{
                "-1"{"मागील गुरुवार"}
                "0"{"हा गुरुवार"}
                "1"{"पुढील गुरुवार"}
            }
        }
        tue{
            relative{
                "-1"{"मागील मंगळवार"}
                "0"{"हा मंगळवार"}
                "1"{"पुढील मंगळवार"}
            }
        }
        wed{
            relative{
                "-1"{"मागील बुधवार"}
                "0"{"हा बुधवार"}
                "1"{"पुढील बुधवार"}
            }
        }
        week{
            dn{"आठव़डा"}
            relative{
                "-1"{"मागील आठवडा"}
                "0"{"हा आठवडा"}
                "1"{"पुढील आठवडा"}
            }
            relativeTime{
                future{
                    one{"{0} आठवड्यामध्ये"}
                    other{"{0} आठवड्यांमध्ये"}
                }
                past{
                    one{"{0} आठवड्यापूर्वी"}
                    other{"{0} आठवड्यांपूर्वी"}
                }
            }
        }
        weekday{
            dn{"आठवड्याचा दिवस"}
        }
        year{
            dn{"वर्ष"}
            relative{
                "-1"{"मागील वर्ष"}
                "0"{"हे वर्ष"}
                "1"{"पुढील वर्ष"}
            }
            relativeTime{
                future{
                    one{"{0} वर्षामध्ये"}
                    other{"{0} वर्षांमध्ये"}
                }
                past{
                    one{"{0} वर्षापूर्वी"}
                    other{"{0} वर्षांपूर्वी"}
                }
            }
        }
        zone{
            dn{"वेळ क्षेत्र"}
        }
    }
    listPattern{
        standard{
            2{"{0} आणि {1}"}
            end{"{0} आणि {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} आणि {1}"}
            end{"{0} आणि {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"यूके"}
        US{"यूएस"}
        metric{"मेट्रिक"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"अंकीय"}
        Tone{"स्वर"}
        UNGEGN{"UNGEGN"}
        x-Accents{"गडद-फिकेपणा"}
        x-Fullwidth{"पूर्णरुंदी"}
        x-Halfwidth{"अर्धीरुंदी"}
        x-Jamo{"जामो"}
        x-Pinyin{"पिनयिन"}
        x-Publishing{"प्रकाशन"}
    }
    units{
        acceleration{
            g-force{
                one{"{0} जी-फोर्स"}
                other{"{0} जी-फोर्स"}
            }
        }
        angle{
            arc-minute{
                one{"{0} मिनिट"}
                other{"{0} मिनिटे"}
            }
            arc-second{
                one{"{0} सेकंद"}
                other{"{0} सेकंद"}
            }
            degree{
                one{"{0} अंश"}
                other{"{0} अंश"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-foot{
                one{"{0} चौरस फूट"}
                other{"{0} चौरस फूट"}
            }
            square-kilometer{
                one{"{0} चौरस किलोमीटर"}
                other{"{0} चौरस किलोमीटर"}
            }
            square-meter{
                one{"{0} चौरस मीटर"}
                other{"{0} चौरस मीटर"}
            }
            square-mile{
                one{"{0} चौरस मैल"}
                other{"{0} चौरस मैल"}
            }
        }
        compound{
            per{"{0} प्रति {1}"}
        }
        duration{
            day{
                one{"{0} दिवस"}
                other{"{0} दिवस"}
            }
            hour{
                one{"{0} तास"}
                other{"{0} तास"}
            }
            millisecond{
                one{"{0} मिलिसेकंद"}
                other{"{0} मिलिसेकंद"}
            }
            minute{
                one{"{0} मिनिट"}
                other{"{0} मिनिटे"}
            }
            month{
                one{"{0} महिना"}
                other{"{0} महिने"}
            }
            second{
                one{"{0} सेकंद"}
                other{"{0} सेकंद"}
            }
            week{
                one{"{0} आठवडा"}
                other{"{0} आठवडे"}
            }
            year{
                one{"{0} वर्ष"}
                other{"{0} वर्षे"}
            }
        }
        length{
            centimeter{
                one{"{0} सेंटीमीटर"}
                other{"{0} सेंटीमीटर"}
            }
            foot{
                one{"{0} फूट"}
                other{"{0} फूट"}
            }
            inch{
                one{"{0} इंच"}
                other{"{0} इंच"}
            }
            kilometer{
                one{"{0} किलोमीटर"}
                other{"{0} किलोमीटर"}
            }
            light-year{
                one{"{0} प्रकाश वर्ष"}
                other{"{0} प्रकाश वर्षे"}
            }
            meter{
                one{"{0} मीटर"}
                other{"{0} मीटर"}
            }
            mile{
                one{"{0} मैल"}
                other{"{0} मैल"}
            }
            millimeter{
                one{"{0} मिलिमीटर"}
                other{"{0} मिलिमीटर"}
            }
            picometer{
                one{"{0} पिकोमीटर"}
                other{"{0} पिकोमीटर"}
            }
            yard{
                one{"{0} यार्ड"}
                other{"{0} यार्ड"}
            }
        }
        mass{
            gram{
                one{"{0} ग्रॅम"}
                other{"{0} ग्रॅम"}
            }
            kilogram{
                one{"{0} किलोग्रॅम"}
                other{"{0} किलोग्रॅम"}
            }
            ounce{
                one{"{0} औंस"}
                other{"{0} औंस"}
            }
            pound{
                one{"{0} पाउंड"}
                other{"{0} पाउंड"}
            }
        }
        power{
            horsepower{
                one{"{0} हॉर्सपॉवर"}
                other{"{0} हॉर्सपॉवर"}
            }
            kilowatt{
                one{"{0} किलोवॉट"}
                other{"{0} किलोवॉट"}
            }
            watt{
                one{"{0} वॉट"}
                other{"{0} वॉट"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} हेक्टोपास्कल"}
                other{"{0} हेक्टोपास्कल"}
            }
            inch-hg{
                one{"{0} मर्क्यूरी इंच"}
                other{"{0} मर्क्यूरी इंच"}
            }
            millibar{
                one{"{0} मिलिबार"}
                other{"{0} मिलिबार"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} किलोमीटर प्रति तास"}
                other{"{0} किलोमीटर प्रति तास"}
            }
            meter-per-second{
                one{"{0} मीटर प्रति सेकंद"}
                other{"{0} मीटर प्रति सेकंद"}
            }
            mile-per-hour{
                one{"{0} मैल प्रति तास"}
                other{"{0} मैल प्रति तास"}
            }
        }
        temperature{
            celsius{
                one{"{0} अंश सेल्सिअस"}
                other{"{0} अंश सेल्सिअस"}
            }
            fahrenheit{
                one{"{0} अंश फॅरनहाईट"}
                other{"{0} अंश फॅरनहाईट"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} क्युबिक किलोमीटर"}
                other{"{0} क्युबिक किलोमीटर"}
            }
            cubic-mile{
                one{"{0} क्युबिक मैल"}
                other{"{0} क्युबिक मैल"}
            }
            liter{
                one{"{0} लीटर"}
                other{"{0} लीटर"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}जी"}
                other{"{0}जी"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}'"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}\u0022"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0}एकर"}
                other{"{0}एकर"}
            }
            hectare{
                one{"{0}हेक्टर"}
                other{"{0}हेक्टर"}
            }
            square-foot{
                one{"{0} फूट²"}
                other{"{0}फूट²"}
            }
            square-kilometer{
                one{"{0} किमी²"}
                other{"{0} किमी²"}
            }
            square-meter{
                one{"{0} मी²"}
                other{"{0} मी²"}
            }
            square-mile{
                one{"{0}मै²"}
                other{"{0}मै²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0}दि"}
                other{"{0}दि"}
            }
            hour{
                one{"{0}ता"}
                other{"{0}ता"}
            }
            millisecond{
                one{"{0} मिलिसे"}
                other{"{0} मिलिसे"}
            }
            minute{
                one{"{0} मिनिट"}
                other{"{0}मि"}
            }
            month{
                one{"{0}म"}
                other{"{0}म"}
            }
            second{
                one{"{0}से"}
                other{"{0}से"}
            }
            week{
                one{"{0}आ"}
                other{"{0}आ"}
            }
            year{
                one{"{0}व"}
                other{"{0}व"}
            }
        }
        length{
            centimeter{
                one{"{0}सेंमी"}
                other{"{0}सेंमी"}
            }
            foot{
                one{"{0}'"}
                other{"{0}'"}
            }
            inch{
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                one{"{0}किमी"}
                other{"{0}किमी"}
            }
            light-year{
                one{"{0}प्रव"}
                other{"{0}प्रव"}
            }
            meter{
                one{"{0}मी"}
                other{"{0}मी"}
            }
            mile{
                one{"{0}मैल"}
                other{"{0}मैल"}
            }
            millimeter{
                one{"{0}मिमी"}
                other{"{0}मिमी"}
            }
            picometer{
                one{"{0}पिमी"}
                other{"{0}पिमी"}
            }
            yard{
                one{"{0}यार्ड"}
                other{"{0}यार्ड"}
            }
        }
        mass{
            gram{
                one{"{0}ग्रॅ"}
                other{"{0}ग्रॅ"}
            }
            kilogram{
                one{"{0}किग्रॅ"}
                other{"{0}किग्रॅ"}
            }
            ounce{
                one{"{0}औंस"}
                other{"{0}औंस"}
            }
            pound{
                one{"{0}#"}
                other{"{0}#"}
            }
        }
        power{
            horsepower{
                one{"{0} हॉपॉ"}
                other{"{0}हॉपॉ"}
            }
            kilowatt{
                one{"{0}किवॉ"}
                other{"{0}किवॉ"}
            }
            watt{
                one{"{0}वॉ"}
                other{"{0}वॉ"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}हेक्टोपा"}
                other{"{0}हेक्टोपा"}
            }
            inch-hg{
                one{"{0}\u0022 हेग्रॅ"}
                other{"{0}\u0022 हेग्रॅ"}
            }
            millibar{
                one{"{0}मिबा"}
                other{"{0}मिबा"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0}किप्रता"}
                other{"{0}किप्रता"}
            }
            meter-per-second{
                one{"{0}मी/से"}
                other{"{0}मी/से"}
            }
            mile-per-hour{
                one{"{0}मैप्रता"}
                other{"{0}मैप्रता"}
            }
        }
        temperature{
            celsius{
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                one{"{0}°फॅ"}
                other{"{0}°फॅ"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}किमी³"}
                other{"{0}किमी³"}
            }
            cubic-mile{
                one{"{0}मै³"}
                other{"{0}मै³"}
            }
            liter{
                one{"{0}ली"}
                other{"{0}ली"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"{0} जी"}
                other{"{0} जी"}
            }
        }
        angle{
            arc-minute{
                one{"{0} मिनि"}
                other{"{0} मिनि"}
            }
            arc-second{
                one{"{0} सेक"}
                other{"{0} सेक"}
            }
            degree{
                one{"{0} अंश"}
                other{"{0} अंश"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-foot{
                one{"{0} चौ फूट"}
                other{"{0} चौ फूट"}
            }
            square-kilometer{
                one{"{0} किमी²"}
                other{"{0} किमी²"}
            }
            square-meter{
                one{"{0} मी²"}
                other{"{0} मी²"}
            }
            square-mile{
                one{"{0} चौ मी"}
                other{"{0} चौ मी"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} दिवस"}
                other{"{0} दिवस"}
            }
            hour{
                one{"{0} ता"}
                other{"{0} ता"}
            }
            millisecond{
                one{"{0} मिलिसे"}
                other{"{0} मिलिसे"}
            }
            minute{
                one{"{0} मिनि"}
                other{"{0} मिनि"}
            }
            month{
                one{"{0} महिना"}
                other{"{0} महिने"}
            }
            second{
                one{"{0} से"}
                other{"{0} से"}
            }
            week{
                one{"{0} आ"}
                other{"{0} आ"}
            }
            year{
                one{"{0} वर्ष"}
                other{"{0} वर्षे"}
            }
        }
        length{
            centimeter{
                one{"{0} सेंमी"}
                other{"{0} सेंमी"}
            }
            foot{
                one{"{0} फूट"}
                other{"{0} फूट"}
            }
            inch{
                one{"{0} इंच"}
                other{"{0} इंच"}
            }
            kilometer{
                one{"{0} किमी"}
                other{"{0} किमी"}
            }
            light-year{
                one{"{0} प्रव"}
                other{"{0} प्रव"}
            }
            meter{
                one{"{0} मी"}
                other{"{0} मी"}
            }
            mile{
                one{"{0} मैल"}
                other{"{0} मैल"}
            }
            millimeter{
                one{"{0} मिमी"}
                other{"{0} मिमी"}
            }
            picometer{
                one{"{0} पिमी"}
                other{"{0} पिमी"}
            }
            yard{
                one{"{0} यार्ड"}
                other{"{0} यार्ड"}
            }
        }
        mass{
            gram{
                one{"{0} ग्रॅ"}
                other{"{0} ग्रॅ"}
            }
            kilogram{
                one{"{0} किग्रॅ"}
                other{"{0} किग्रॅ"}
            }
            ounce{
                one{"{0} औंस"}
                other{"{0} औंस"}
            }
            pound{
                one{"{0} पाउंड"}
                other{"{0} पाउंड"}
            }
        }
        power{
            horsepower{
                one{"{0} हॉपॉ"}
                other{"{0} हॉपॉ"}
            }
            kilowatt{
                one{"{0} किवॉ"}
                other{"{0} किवॉ"}
            }
            watt{
                one{"{0} वॉ"}
                other{"{0} वॉ"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} हेक्टोपा"}
                other{"{0} हेक्टोपा"}
            }
            inch-hg{
                one{"{0} हेग्रॅमध्ये"}
                other{"{0} हेग्रॅमध्ये"}
            }
            millibar{
                one{"{0} मिबा"}
                other{"{0} मिबा"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} किप्रता"}
                other{"{0} किप्रता"}
            }
            meter-per-second{
                one{"{0} मी/से"}
                other{"{0} मी/से"}
            }
            mile-per-hour{
                one{"{0} मैप्रता"}
                other{"{0} मैप्रता"}
            }
        }
        temperature{
            celsius{
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                one{"{0}°फॅ"}
                other{"{0}°फॅ"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} किमी³"}
                other{"{0} किमी³"}
            }
            cubic-mile{
                one{"{0} मै³"}
                other{"{0} मै³"}
            }
            liter{
                one{"{0} ली"}
                other{"{0} ली"}
            }
        }
    }
}
