﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/bcp47/*.xml
// *
// ***************************************************************************
keyTypeData:table(nofallback){
    keyMap{
        calendar{"ca"}
        colalternate{"ka"}
        colbackwards{"kb"}
        colcasefirst{"kf"}
        colcaselevel{"kc"}
        colhiraganaquaternary{"kh"}
        collation{"co"}
        colnormalization{"kk"}
        colnumeric{"kn"}
        colreorder{"kr"}
        colstrength{"ks"}
        currency{"cu"}
        kv{"kv"}
        numbers{"nu"}
        timezone{"tz"}
        variabletop{"vt"}
    }
    typeAlias{
        colstrength{
            quarternary{"quaternary"}
        }
        timezone:alias{"/ICUDATA/timezoneTypes/typeAlias/timezone"}
    }
    typeMap{
        calendar{
            ethiopic-amete-alem{"ethioaa"}
            gregorian{"gregory"}
            islamic-civil{"islamicc"}
        }
        colalternate{
            non-ignorable{"noignore"}
        }
        colbackwards{
            no{"false"}
            yes{"true"}
        }
        colcasefirst{
            no{"false"}
        }
        colcaselevel{
            no{"false"}
            yes{"true"}
        }
        colhiraganaquaternary{
            no{"false"}
            yes{"true"}
        }
        collation{
            dictionary{"dict"}
            gb2312han{"gb2312"}
            phonebook{"phonebk"}
            traditional{"trad"}
        }
        colnormalization{
            no{"false"}
            yes{"true"}
        }
        colnumeric{
            no{"false"}
            yes{"true"}
        }
        colstrength{
            identical{"identic"}
            primary{"level1"}
            quaternary{"level4"}
            secondary{"level2"}
            tertiary{"level3"}
        }
        numbers{
            traditional{"traditio"}
        }
        timezone:alias{"/ICUDATA/timezoneTypes/typeMap/timezone"}
    }
}
