﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mgo.xml
// *
// ***************************************************************************
mgo{
    Languages{
        mgo{"metaʼ"}
        und{"ngam tisɔʼ"}
    }
    Scripts{
        Latn{"ngam ŋwaʼri"}
        Zxxx{"ngam choʼ"}
        Zzzz{"abo ŋwaʼri tisɔʼ"}
    }
    Types{
        calendar{
            gregorian{"ngàb mə̀kala"}
        }
        numbers{
            latn{"inu"}
        }
    }
    Version{"2.1.23.7"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
}
