﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ak.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ak.xml
 */
ak{
    AuxExemplarCharacters{"[c j q v z]"}
    ExemplarCharacters{"[a b d e ɛ f g h i k l m n o ɔ p r s t u w y]"}
    ExemplarCharactersIndex{"[A B C D E Ɛ F G H I J K L M N O Ɔ P Q R S T U V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00"}
            }
            symbols{
                decimal{"."}
                group{","}
            }
        }
    }
    Version{"2.0.78.30"}
    calendar{
        gregorian{
            AmPmMarkers{
                "AN",
                "EW",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y MMMM dd",
                "y MMMM d",
                "y MMM d",
                "yy/MM/dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"yyyy"}
                yM{"M/yyyy"}
                yMEd{"E, M/d/yyyy"}
                yMMM{"MMM yyyy"}
                yMMMEd{"E, MMM d, yyyy"}
                yMMMM{"MMMM yyyy"}
                yMd{"y/M/d"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Kwe",
                        "Dwo",
                        "Ben",
                        "Wuk",
                        "Yaw",
                        "Fia",
                        "Mem",
                    }
                    wide{
                        "Kwesida",
                        "Dwowda",
                        "Benada",
                        "Wukuda",
                        "Yawda",
                        "Fida",
                        "Memeneda",
                    }
                }
                stand-alone{
                    narrow{
                        "K",
                        "D",
                        "B",
                        "W",
                        "Y",
                        "F",
                        "M",
                    }
                }
            }
            eras{
                abbreviated{
                    "AK",
                    "KE",
                }
                wide{
                    "Ansa Kristo",
                    "Kristo Ekyiri",
                }
            }
            fields{
                day{
                    dn{"Da"}
                    relative{
                        "-1"{"Ndeda"}
                        "0"{"Ndɛ"}
                        "1"{"Ɔkyena"}
                    }
                }
                dayperiod{
                    dn{"Da bere"}
                }
                era{
                    dn{"Bere"}
                }
                hour{
                    dn{"Dɔnhwer"}
                }
                minute{
                    dn{"Sema"}
                }
                month{
                    dn{"Bosome"}
                }
                second{
                    dn{"Sɛkɛnd"}
                }
                week{
                    dn{"Dapɛn"}
                }
                weekday{
                    dn{"Dapɛn mu da"}
                }
                year{
                    dn{"Afe"}
                }
                zone{
                    dn{"Bere apaamu"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "S-Ɔ",
                        "K-Ɔ",
                        "E-Ɔ",
                        "E-O",
                        "E-K",
                        "O-A",
                        "A-K",
                        "D-Ɔ",
                        "F-Ɛ",
                        "Ɔ-A",
                        "Ɔ-O",
                        "M-Ɔ",
                    }
                    wide{
                        "Sanda-Ɔpɛpɔn",
                        "Kwakwar-Ɔgyefuo",
                        "Ebɔw-Ɔbenem",
                        "Ebɔbira-Oforisuo",
                        "Esusow Aketseaba-Kɔtɔnimba",
                        "Obirade-Ayɛwohomumu",
                        "Ayɛwoho-Kitawonsa",
                        "Difuu-Ɔsandaa",
                        "Fankwa-Ɛbɔ",
                        "Ɔbɛsɛ-Ahinime",
                        "Ɔberɛfɛw-Obubuo",
                        "Mumu-Ɔpɛnimba",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
}
