﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ks.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ks.xml
 */
ks{
    Version{"2.1.8.9"}
    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} ؤری"}
            }
        }
    }
}
