// *******************************************************************************
// *
// *   Copyright (C) 1997-2001, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

el {
    Version { "1.0.1" }
    AmPmMarkers { 
            "\u03C0\u03BC",
            "\u03BC\u03BC",
    }
    CollationElements { 
	    Version { "2.0" }
		Override { "FALSE" }
		Normalize { "TRUE" }
		Sequence { "[normalization on]" }
	}
    Countries { 
        GR { "\u0395\u03BB\u03BB\u03AC\u03B4\u03B1" }
    }
    DateTimeElements { 
            "2",
            "1",
    }
    DateTimePatterns { 
            "h:mm:ss a z",
            "h:mm:ss a z",
            "h:mm:ss a",
            "h:mm a",
            "EEEE, d MMMM yyyy",
            "d MMMM yyyy",
            "d MMM yyyy",
            "d/M/yyyy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "\u039A\u03C5\u03C1",
            "\u0394\u03B5\u03C5",
            "\u03A4\u03C1\u03B9",
            "\u03A4\u03B5\u03C4",
            "\u03A0\u03B5\u03BC",
            "\u03A0\u03B1\u03C1",
            "\u03A3\u03B1\u03B2",
    }
    DayNames { 
            "\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE",
            "\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1",
            "\u03A4\u03C1\u03AF\u03C4\u03B7",
            "\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7",
            "\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7",
            "\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE",
            "\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF",
    }
    Languages { 
        el { "\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC" }
    }
    LocaleID { "08" }
    LocaleString { "el" }
    MonthAbbreviations { 
            "\u0399\u03B1\u03BD",
            "\u03A6\u03B5\u03B2",
            "\u039C\u03B1\u03C1",
            "\u0391\u03C0\u03C1",
            "\u039C\u03B1\u03CA",
            "\u0399\u03BF\u03C5\u03BD",
            "\u0399\u03BF\u03C5\u03BB",
            "\u0391\u03C5\u03B3",
            "\u03A3\u03B5\u03C0",
            "\u039F\u03BA\u03C4",
            "\u039D\u03BF\u03B5",
            "\u0394\u03B5\u03BA",
            "",
    }
    MonthNames { 
            "\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2",
            "\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2",
            "\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2",
            "\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2",
            "\u039C\u03AC\u03CA\u03BF\u03C2",
            "\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2",
            "\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2",
            "\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2",
            "\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2",
            "\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2",
            "\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2",
            "\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "ell" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
    LocaleScript{ 
                "Grek"  // ISO 15924 Name 
    }

    //------------------------------------------------------------
    // Rule Based Number Format Support
    //------------------------------------------------------------

/*
 * omit rules for Greek until we have complete and valid data.

//         * Spellout rules for Greek.  Again in Greek we have to supply the words
//         * for the multiples of 100 because they can't be derived algorithmically.
//         * Also, the tens digit changes form when followed by a ones digit: an
//         * accent mark disappears from the tens digit and moves to the ones digit.
//         * Therefore, instead of using the [] notation, we actually have to use
//         * two separate rules for each multiple of 10 to show the two forms of
//         * the word.

        // Can someone supply me with information on negatives and decimals?
        // I'm also missing the word for zero.  Can someone clue me in?

    SpelloutRules {
            "zero (incomplete data); \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03b4\u03c1\u03af\u03b1; "
            "\u03c4\u03ad\u03c3\u03c3\u03b5\u03c1\u03b1; \u03c0\u03ad\u03bd\u03c4\u03b5; "
            "\u03ad\u03be\u03b9; \u03b5\u03c0\u03c4\u03ac; \u03bf\u03ba\u03c4\u03ce; "
            "\u03b5\u03bd\u03bd\u03ad\u03b1;\n"
            "10: \u03b4\u03ad\u03ba\u03b1; "
            "\u03ad\u03bd\u03b4\u03b5\u03ba\u03b1; \u03b4\u03ce\u03b4\u03b5\u03ba\u03b1; "
            "\u03b4\u03b5\u03ba\u03b1>>;\n"
            "20: \u03b5\u03af\u03ba\u03bf\u03c3\u03b9; \u03b5\u03b9\u03ba\u03bf\u03c3\u03b9>>;\n"
            "30: \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1; \u03c4\u03c1\u03b9\u03b1\u03bd\u03c4\u03b1>>;\n"
            "40: \u03c3\u03b1\u03c1\u03ac\u03bd\u03c4\u03b1; \u03c3\u03b1\u03c1\u03b1\u03bd\u03c4\u03b1>>;\n"
            "50: \u03c0\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; \u03c0\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
            "60: \u03b5\u03be\u03ae\u03bd\u03c4\u03b1; \u03b5\u03be\u03b7\u03bd\u03c4\u03b1>>;\n"
            "70: \u03b5\u03b2\u03b4\u03bf\u03bc\u03ae\u03bd\u03c4\u03b1; "
            "\u03b5\u03b2\u03b4\u03bf\u03bc\u03b7\u03bd\u03c4\u03b1>>;\n"
            "80: \u03bf\u03b3\u03b4\u03cc\u03bd\u03c4\u03b1; \u03bf\u03b3\u03b4\u03bf\u03bd\u03c4\u03b1>>;\n"
            "90: \u03b5\u03bd\u03bd\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; "
            "\u03b5\u03bd\u03bd\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
            "100: \u03b5\u03ba\u03b1\u03c4\u03cc[\u03bd >>];\n"
            "200: \u03b4\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "300: \u03c4\u03c1\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "400: \u03c4\u03b5\u03c4\u03c1\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "500: \u03c0\u03b5\u03bd\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "600: \u03b5\u03be\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "700: \u03b5\u03c0\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "800: \u03bf\u03ba\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "900: \u03b5\u03bd\u03bd\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
            "1000: \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
            "2000: << \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
            "1,000,000: << \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
            "1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
            "1,000,000,000,000: =#,##0="
     }           
*/

    TransliterateLATIN {
        "UNGEGN",

        // Rules are predicated on running NFD first, and NFC afterwards
        // MINIMAL FILTER GENERATED FOR: Greek-Latin/UNGEGN
        // WARNING: need to add accents to both filters ###
        ":: [\u0301\u0304\u0306\u0308;\u00B5\u00B7\u00C0\u00C2\u00C8\u00CA\u00CC\u00CE\u00D2\u00D4\u00D9\u00DB\u00E0\u00E2\u00E8\u00EA\u00EC\u00EE\u00F2\u00F4\u00F9\u00FB\u0108-\u0109\u011C-\u011D\u0124-\u0125\u0134-\u0135\u015C-\u015D\u0174-\u0177\u01DB-\u01DC\u01F8-\u01F9\u0300\u0302\u0313-\u0314\u0340\u0342-\u0343\u0345\u037A\u037E\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03F0-\u03F5\u0400\u040D\u0450\u045D\u1E14-\u1E15\u1E50-\u1E51\u1E80-\u1E81\u1E90-\u1E91\u1EA4-\u1EAD\u1EB0-\u1EB1\u1EBE-\u1EC7\u1ED0-\u1ED9\u1EDC-\u1EDD\u1EEA-\u1EEB\u1EF2-\u1EF3\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC1-\u1FC4\u1FC6-\u1FCD\u1FCF-\u1FD3\u1FD6-\u1FDB\u1FDD\u1FDF-\u1FED\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126] ;"

        // ":: [\\u0000-\\u007F \\u00B7 [:Greek:] [:nonspacing mark:]] ;"
        "::NFD (NFC) ; "

        // For modern Greek.

        // Useful variables

        "$lower = [[:latin:][:greek:] & [:Ll:]] ; "
        "$upper = [[:latin:][:greek:] & [:Lu:]] ; "
        "$accent = [:M:] ; "

        "$macron = \u0304 ;"
        "$ddot = \u0308 ;"

        "$lcgvowel = [\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9] ; "
        "$ucgvowel = [\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9] ; "
        "$gvowel = [$lcgvowel $ucgvowel] ; "
        "$lcgvowelC = [$lcgvowel $accent] ; "

        "$evowel = [aeiouyAEIOUY];"
        "$vowel = [ $evowel $gvowel] ; "

        "$beforeLower = $accent * $lower ; "

        "$gammaLike = [\u0393\u039a\u039e\u03a7\u03b3\u03ba\u03be\u03c7\u03f0] ; "
        "$egammaLike = [GKXCgkxc] ; "
        "$smooth = \u0313 ; "
        "$rough = \u0314 ; "
        "$iotasub = \u0345 ; "

        "$softener = [\u03b2\u0392\u03b3\u0393\u03b4\u0394\u03b6\u0396\u03bb\u039b\u03bc\u039c\u03bd\u039d\u03c1\u03a1$gvowel] ;"

        "$under = \u0331;"

        "$caron = \u030C;"

        "$afterLetter = [:L:] [\\'[:M:]]* ;"
        "$beforeLetter = [\\'[:M:]]* [:L:] ;"


        // Fix punctuation

        "\\; <> \\? ;"
        "\u00b7 <> \\: ;"

        // Fix any ancient characters that creep in

        "\u0342 > \u0301 ;"
        "\u0302 > \u0301 ;"
        "\u0300 > \u0301 ;"
        "$smooth > ;"
        "$rough > ;"
        "$iotasub > ;"
        "\u037A > ;"

        // need to have these up here so the rules don't mask

        "\u03b7 <> i $under ;"
        "\u0397 <> I $under ;"

        "\u03a8 } $beforeLower <> Ps ; "
        "\u03a8 <> PS ; "
        "\u03c8 <> ps ; "

        "\u03c9 <> o $under ;"
        "\u03a9 <>  O $under;"

        // at begining or end of word, convert mp to b

        "[^[:L:][:M:]] { \u03bc\u03c0 > b ; "
        "\u03bc\u03c0 } [^[:L:][:M:]] > b ; "
        "[^[:L:][:M:]] { [\u039c\u03bc][\u03a0\u03c0] > B ; "
        "[\u039c\u03bc][\u03a0\u03c0] } [^[:L:][:M:]] > B ;"

        "\u03bc\u03c0 < b ; "
        "\u039c\u03c0 < B } $beforeLower ; "
        "\u039c\u03a0 < B ; "

        // handle diphthongs ending with upsilon

        "$vowel { \u03c5 } $softener <> v $under ; "
        "$vowel { \u03c5 } <> f $under; "
        "\u03c5 <> y ; "
        "$vowel { \u03a5 } $softener <> V $under ; "
        "$vowel { \u03a5 <> U $under ; "
        "\u03a5 <> Y ; "

        // NORMAL

        "\u03b1 <> a ; "
        "\u0391 <> A ; "

        "\u03b2 <> v ; "
        "\u0392 <> V ; "

        "\u03b3 } $gammaLike <> n } $egammaLike ; "
        "\u03b3 <> g ; "
        "\u0393 } $gammaLike <> N } $egammaLike ; "
        "\u0393 <> G ; "

        "\u03b4 <> d ; "
        "\u0394 <> D ; "

        "\u03b5 <> e ; "
        "\u0395 <> E ; "

        "\u03b6 <> z ; "
        "\u0396 <> Z ; "

        "\u03b8 <> th ; "
        "\u0398 } $beforeLower <> Th ; "
        "\u0398 <> TH ; "

        "\u03b9 <> i ; "
        "\u0399 <> I ; "

        "\u03ba <> k ;"
        "\u039a <> K ; "

        "\u03bb <> l ; "
        "\u039b <> L ; "

        "\u03bc <> m ; "
        "\u039c <> M ; "

        "\u03bd } $gammaLike > n\\' ; "
        "\u03bd <> n ; "
        "\u039d } $gammaLike <> N\\' ; "
        "\u039d <> N ; "

        "\u03be <> x ; "
        "\u039e <> X ; "

        "\u03bf <> o ; "
        "\u039f <> O ; "

        "\u03c0 <> p ; "
        "\u03a0 <> P ; "

        "\u03c1 <> r ; "
        "\u03a1 <> R ; "

        "[Pp] { } \u03c2 > \\' ; "
        "[Pp] { } \u03c3 > \\' ;"

        // Caron means exception

        // before a letter, initial
        "\u03c2 } $beforeLetter <> s $under } $beforeLetter;"
        "\u03c3 } $beforeLetter <> s } $beforeLetter;"

        // otherwise, after a letter = final
        "$afterLetter { \u03c3 <> $afterLetter { s $under;"
        "$afterLetter { \u03c2 <> $afterLetter { s ;"

        // otherwise (isolated) = initial
        "\u03c2 <> s $under;"
        "\u03c3 <> s ;"

        "[Pp] { \u03a3 <> \\'S ; "
        "\u03a3 <> S ; "

        "\u03c4 <> t ; "
        "\u03a4 <> T ; "

        "\u03c6 <> f ; "
        "\u03a6 <> F ;"

        "\u03c7 <> ch ; "
        "\u03a7 } $beforeLower <> Ch ; "
        "\u03a7 <> CH ; "

        // Completeness for ASCII

        // "$ignore = [[:Mark:]''] * ;"

        "| ch < h ;"
        "| k  < c ;"
        "| i  < j ;"
        "| k < q ;"
        "| b < u } $vowel ;"
        "| b < w } $vowel ;"
        "| y < u ;"
        "| y < w ;"

        "| Ch < H ;"
        "| K < C ;"
        "| I < J ;"
        "| K < Q ;"
        "| B < W } $vowel ;"
        "| B < U } $vowel ;"
        "| Y < W ;"
        "| Y < U ;"

        // Completeness for Greek

        "\u03d0 > | \u03b2 ;"
        "\u03d1 > | \u03b8 ;"
        "\u03d2 > | \u03a5 ;"
        "\u03d5 > | \u03c6 ;"
        "\u03d6 > | \u03c0 ;"

        "\u03f0 > | \u03ba ;"
        "\u03f1 > | \u03c1 ;"
        "\u03f2 > | \u03c3 ;"
        "\u03f3 > j ;"
        "\u03f4 > | \u0398 ;"
        "\u03f5 > | \u03b5 ;"
        "\u00B5 > | \u03BC ; "

        // delete any trailing ' marks used for roundtripping

        " < [\u03a0\u03c0] { \\' } [Ss] ;"
        " < [\u039d\u03bd] { \\' } $egammaLike ;"

        "::NFC (NFD) ; "

        // MINIMAL FILTER GENERATED FOR: Latin-Greek/UNGEGN BACKWARD
        ":: ( [\u0301\u0304\u0306\u0308':?A-Za-z\u00C0-\u00C5\u00C7-\u00CF\u00D1-\u00D6\u00D9-\u00DD\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0-\u01A1\u01AF-\u01B0\u01CD-\u01DC\u01DE-\u01E1\u01E6-\u01ED\u01F0\u01F4-\u01F5\u01F8-\u01FB\u0200-\u021B\u021E-\u021F\u0226-\u0233\u0331\u1E00-\u1E99\u1EA0-\u1EF9\u212A-\u212B] ) ;"

        // ":: ([\\u0000-\\u007F [:Latin:] [:nonspacing mark:]]) ;"

     }
}
