﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/brx.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/brx.xml
 */
brx{
    Version{"2.1.12.94"}
    units{
        duration{
            day{
                one{"{0} सान"}
                other{"{0} सान"}
            }
            hour{
                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} साल"}
            }
        }
    }
}
