﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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{
        ".",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"2.0.47.53"}
    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{"EEE, M/d/yyyy"}
                yMMM{"MMM yyyy"}
                yMMMEd{"EEE, MMM d, yyyy"}
                yMMMM{"MMMM yyyy"}
                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{"‘"}
    }
}
