﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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{
                group{" "}
            }
        }
    }
    Version{"2.0.65.46"}
    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"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ yyyy"}
                yyQ{"Q yy"}
            }
            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{"“"}
    }
}
