// *******************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************
//  Date        Name        Description
//  10/23/2000  grhoten     Initial version (source http://www.yale.edu/swahili/)


sw {
    Version { "2.0" }

    Countries {   
        KE { "Kenya" }
        TZ { "Tanzania" }
    }
    DateTimeElements:intvector { 
        7,
        1,
    }
    DayAbbreviations {  // The DayNames are correct, but DayAbbreviations are only guesses.
        "Jpi",
        "Jtt",
        "Jnn",
        "Jtn",
        "Alh",
        "Iju",
        "Jmo",
    }
    DayNames { 
        "Jumapili",
        "Jumatatu",
        "Jumanne",
        "Jumatano",
        "Alhamisi",
        "Ijumaa",
        "Jumamosi",
    }
    Eras { 
        "KK",
        "BK",
    }
    Languages { 
        sw  { "Kiswahili" }
    }
    MonthAbbreviations { 
        "Jan",
        "Feb",
        "Mar",
        "Apr",
        "Mei",
        "Jun",
        "Jul",
        "Ago",
        "Sep",
        "Okt",
        "Nov",
        "Des",
    }
    MonthNames { 
        "Januari",
        "Februari",
        "Machi",
        "Aprili",
        "Mei",
        "Juni",
        "Julai",
        "Agosti",
        "Septemba",
        "Oktoba",
        "Novemba",
        "Desemba",
    }
    zoneStrings { 
        {
            "Africa/Nairobi",
            "Saa za Africa Mashariki",  // East African Time
            "EAT",
            "Saa za Africa Mashariki",
            "EAT",
            "Nairobi",
        }
    }
    LocaleScript:array{ 
      "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters{
      "[a-z]"
    }

// /**************** Info Below is needed ****************/
// NumberElements{}
// AmPmMarkers{}
// localPatternChars{}

    // Currency display names
    Currencies {
        KES { "KSh", "KES" }
        TZS { "TSh", "TZS" }
    }
}
