ga.txt   [plain text]


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

ga {   
     SpelloutRules {

        // Maoluimhreacha
        "%default:\n"
        "-x: míneas >>;\n"
        "x.x: << pointe >>;\n"
        "a náid; a haon; a dó; a trí; a ceathair; a cúig;\n"
        "a sé; a seacht; a hocht; a naoi; a deich;\n"
        "a haon déag; a dó dhéag;\n"
        ">> déag;\n"
        "20: fiche[ >>];\n"
        "30: tríocha[ >>];\n"
        "40: daichead[ >>];\n"
        "50: caoga[ >>];\n"
        "60: seasca[ >>];\n"
        "70: seachtó[ >>];\n"
        "80: ochtó[ >>];\n"
        "90: nócha[ >>];\n"
        "100: <%%hundreds<[ >%%hundreds_is>];\n"
        "1,000: <%%thousands<[, >>];\n"
        "1,000,000: <%%millions<[, >>];\n"
        "1,000,000,000: <%%billions<[, >>];\n"
        "1,000,000,000,000: <%%trillions<[, >>];\n"
        "1,000,000,000,000,000: =#,##0=;\n"

        "%%cardwithnumber:"
        " ; aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi; deich;\n"
        " aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi;\n"
        "20: fiche[ is >>];\n"
        "30: tríocha[ is >>];\n"
        "40: daichead[ is >>];\n"
        "50: caoga[ is >>];\n"
        "60: seasca[ is >>];\n"
        "70: seachtó[ is >>];\n"
        "80: ochtó[ is >>];\n"
        "90: nócha[ is >>];\n"
        "100: <%%hundreds<[ >%%hundreds_is>];\n"
        "1,000: <%%thousands<[ >%%cardwithnumber>];\n"
        "1,000,000: <%%millions<[ >%%cardwithnumber>];\n"
        "1,000,000,000: <%%billions<[ >%%cardwithnumber>];\n"
        "1,000,000,000,000: <%%trillions<[ >%%cardwithnumber>];\n"
        "1,000,000,000,000,000: =#,##0=;\n"

        // rules to give hundreds value
        "%%hundreds:\n"
        "1: céad;\n"
        "2: <%%cardwithnumber< chéad;\n"
        "7: <%%cardwithnumber< gcéad;\n"
        // Put in "is" after céad when a multiple of 10
        "%%hundreds_is:\n"
        "0:;\n"
        "=%default=;\n"
        "20: is =%default=;\n"
        "21: =%default=;\n"
        "30: is =%default=;\n"
        "31: =%default=;\n"
        "40: is =%default=;\n"
        "41: =%default=;\n"
        "50: is =%default=;\n"
        "51: =%default=;\n"
        "60: is =%default=;\n"
        "61: =%default=;\n"
        "70: is =%default=;\n"
        "71: =%default=;\n"
        "80: is =%default=;\n"
        "81: =%default=;\n"
        "90: is =%default=;\n"
        "91: =%default=;\n"

        // rules to give thousands value
        "%%thousands:\n"
        "0: míle;\n"
        "2: <%%cardwithnumber< mhíle;\n"
        "7: <%%cardwithnumber< míle;\n"
        "11>: <%%cardwithnumber< mhíle dhéag;\n"
        "17>: <%%cardwithnumber< míle dhéag;\n"
        "20>: <%%cardwithnumber< míle;\n"
        "21>: <%%cardwithnumber< mhíle;\n"
        "27>: <%%cardwithnumber< míle;\n"
        "31>: <%%cardwithnumber< mhíle;\n"
        "37>: <%%cardwithnumber< míle;\n"
        "41>: <%%cardwithnumber< mhíle;\n"
        "47>: <%%cardwithnumber< míle;\n"
        "51>: <%%cardwithnumber< mhíle;\n"
        "57>: <%%cardwithnumber< míle;\n"
        "61>: <%%cardwithnumber< mhíle;\n"
        "67>: <%%cardwithnumber< míle;\n"
        "71>: <%%cardwithnumber< mhíle;\n"
        "77>: <%%cardwithnumber< míle;\n"
        "81>: <%%cardwithnumber< mhíle;\n"
        "87>: <%%cardwithnumber< míle;\n"
        "91>: <%%cardwithnumber< mhíle;\n"
        "97>: <%%cardwithnumber< míle;\n"
        "   100: <%%hundreds< >%%thousands_is>;\n"

        // Put in "is" after míle when a multiple of 10
        "%%thousands_is:\n"
        "0: míle;\n"
        "1: is =%%cardwithnumber= mhíle;\n"
        "7: is =%%cardwithnumber= míle;\n"
        "11>: is <%%thousands<;\n"
        "20: is =%%thousands=;\n"
        "21: =%%thousands=;\n"
        "30: is =%%thousands=;\n"
        "31: =%%thousands=;\n"
        "40: is =%%thousands=;\n"
        "41: =%%thousands=;\n"
        "50: is =%%thousands=;\n"
        "51: =%%thousands=;\n"
        "60: is =%%thousands=;\n"
        "61: =%%thousands=;\n"
        "70: is =%%thousands=;\n"
        "71: =%%thousands=;\n"
        "80: is =%%thousands=;\n"
        "81: =%%thousands=;\n"
        "90: is =%%thousands=;\n"
        "91: =%%thousands=;\n"


        // rules to give millions value
        "%%millions:\n"
        "1: milliún;\n"
        "2: <%%cardwithnumber< mhilliún;\n"
        "7: <%%cardwithnumber< milliún;\n"
        "11>: <%%cardwithnumber< mhilliún déag;\n"
        "17>: <%%cardwithnumber< milliún déag;\n"
        "20>: <%%cardwithnumber< milliún;\n"
        "21>: <%%cardwithnumber< mhilliún;\n"
        "27>: <%%cardwithnumber< milliún;\n"
        "31>: <%%cardwithnumber< mhilliún;\n"
        "37>: <%%cardwithnumber< milliún;\n"
        "41>: <%%cardwithnumber< mhilliún;\n"
        "47>: <%%cardwithnumber< milliún;\n"
        "51>: <%%cardwithnumber< mhilliún;\n"
        "57>: <%%cardwithnumber< milliún;\n"
        "61>: <%%cardwithnumber< mhilliún;\n"
        "67>: <%%cardwithnumber< milliún;\n"
        "71>: <%%cardwithnumber< mhilliún;\n"
        "77>: <%%cardwithnumber< milliún;\n"
        "81>: <%%cardwithnumber< mhilliún;\n"
        "87>: <%%cardwithnumber< milliún;\n"
        "91>: <%%cardwithnumber< mhilliún;\n"
        "97>: <%%cardwithnumber< milliún;\n"
        "   100: <%%hundreds< >%%millions_is>;\n"

        // Put in "is" after milliún when a multiple of 10
        "%%millions_is:\n"
        "0: milliún;\n"
        "1: is =%%cardwithnumber= mhilliún;\n"
        "7: is =%%cardwithnumber= milliún;\n"
        "11>: is <%%millions<;\n"
        "20: is =%%millions=;\n"
        "21: =%%millions=;\n"
        "30: is =%%millions=;\n"
        "31: =%%millions=;\n"
        "40: is =%%millions=;\n"
        "41: =%%millions=;\n"
        "50: is =%%millions=;\n"
        "51: =%%millions=;\n"
        "60: is =%%millions=;\n"
        "61: =%%millions=;\n"
        "70: is =%%millions=;\n"
        "71: =%%millions=;\n"
        "80: is =%%millions=;\n"
        "81: =%%millions=;\n"
        "90: is =%%millions=;\n"
        "91: =%%millions=;\n"


        // rules to give billions value
        // to avoid ambiguity, no eclipsis or aspiration!
        "%%billions:\n"
        "1: billiún; <%%cardwithnumber< billiún;\n"
        "11>: <%%cardwithnumber< billiún déag;\n"
        "20>: <%%cardwithnumber< billiún;\n"
        "100: <%%hundreds< >%%billions_is>;\n"

        // Put in "is" after billiún when a multiple of 10
        "%%billions_is:\n"
        "0: billiún;\n"
        "1: is =%%cardwithnumber= billiún;\n"
        "7: is =%%cardwithnumber= billiún;\n"
        "11>: is <%%billions<;\n"
        "20: is =%%billions=;\n"
        "21: =%%billions=;\n"
        "30: is =%%billions=;\n"
        "31: =%%billions=;\n"
        "40: is =%%billions=;\n"
        "41: =%%billions=;\n"
        "50: is =%%billions=;\n"
        "51: =%%billions=;\n"
        "60: is =%%billions=;\n"
        "61: =%%billions=;\n"
        "70: is =%%billions=;\n"
        "71: =%%billions=;\n"
        "80: is =%%billions=;\n"
        "81: =%%billions=;\n"
        "90: is =%%billions=;\n"
        "91: =%%billions=;\n"

        // rules to give trillions value
        "%%trillions:\n"
        "1: milliún;\n"
        "2: <%%cardwithnumber< thrilliún;\n"
        "7: <%%cardwithnumber< dtrilliún;\n"
        "11>: <%%cardwithnumber< thrilliún déag;\n"
        "17>: <%%cardwithnumber< dtrilliún déag;\n"
        "20>: <%%cardwithnumber< dtrilliún;\n"
        "21>: <%%cardwithnumber< thrilliún;\n"
        "27>: <%%cardwithnumber< dtrilliún;\n"
        "31>: <%%cardwithnumber< thrilliún;\n"
        "37>: <%%cardwithnumber< dtrilliún;\n"
        "41>: <%%cardwithnumber< thrilliún;\n"
        "47>: <%%cardwithnumber< dtrilliún;\n"
        "51>: <%%cardwithnumber< thrilliún;\n"
        "57>: <%%cardwithnumber< dtrilliún;\n"
        "61>: <%%cardwithnumber< thrilliún;\n"
        "67>: <%%cardwithnumber< dtrilliún;\n"
        "71>: <%%cardwithnumber< thrilliún;\n"
        "77>: <%%cardwithnumber< dtrilliún;\n"
        "81>: <%%cardwithnumber< thrilliún;\n"
        "87>: <%%cardwithnumber< dtrilliún;\n"
        "91>: <%%cardwithnumber< thrilliún;\n"
        "97>: <%%cardwithnumber< dtrilliún;\n"
        "   100: <%%hundreds< >%%trillions_is;\n"

        // Put in "is" after trilliún when a multiple of 10
        "%%trillions_is:\n"
        "0: trilliún;\n"
        "1: is =%%cardwithnumber= thrilliún;\n"
        "7: is =%%cardwithnumber= dtrilliún;\n"
        "11>: is <%%trillions<;\n"
        "20: is =%%trillions=;\n"
        "21: =%%trillions=;\n"
        "30: is =%%trillions=;\n"
        "31: =%%trillions=;\n"
        "40: is =%%trillions=;\n"
        "41: =%%trillions=;\n"
        "50: is =%%trillions=;\n"
        "51: =%%trillions=;\n"
        "60: is =%%trillions=;\n"
        "61: =%%trillions=;\n"
        "70: is =%%trillions=;\n"
        "71: =%%trillions=;\n"
        "80: is =%%trillions=;\n"
        "81: =%%trillions=;\n"
        "90: is =%%trillions=;\n"
        "91: =%%trillions=;\n"

        "%%lenient-parse:\n"
        "& ' ' , ',' ;\n"
    }

    // This rule set formats a number of seconds in sexagesimal notation
    // (i.e., hours, minutes, and seconds).  %with-words formats it with
    // words (3,740 is "1 uair, 2 nóiméad, 20 soicind") and %in-numerals
    // formats it entirely in numerals (3,740 is "1:02:20").
    // (Based on en rules)
    DurationRules {
        // main rule set for formatting with words
        "%with-words:\n"
             // seconds
        "=0= soicind;\n"
             // use %%min to format values greater than 60 seconds
        "60/60: <%%min<[, >>];\n"
               // use %%hr to format values greater than 3,600 seconds
               // (the ">>>" below causes us to see the number of minutes
               // when when there are zero minutes)
        "3600/60: <%%hr<[, >>>];\n"
        // minutes
        "%%min:\n"
        "=0= nóiméad;\n"
        // hours
        "%%hr:\n"
             // casta -- fch. l.40 Caighdeán Oifigiúil
        "0: =0= uair;\n"
        "3: =0= huaire;\n"
        "5: =0= uaire;\n"
        "6: =0= huaire;\n"
        "7: =0= n-uaire;\n"
        "10: =0= n-uair;\n"
        "11: =0= >%%uaire>;\n"
        // Tricky bit: next rule does numbers ending in 0; see Gillam's paper
        // where it explains minor substitutions for 101 to understand.
        "20: =0= uair; =0= >%%uaire>;\n"

        // "uaire", except after nos. ending in 1, 2 or 0 when "uair"
        "%%uaire:\n"
        "1: uair;\n"
        "3: huaire;\n"
        "5: uaire;\n"
        "6: huaire;\n"
        "7: n-uaire;\n"

        // rules giving hh:mm:ss with all fields shown always
        "%hms:\n"
        "0: :=00=;\n"
        "60/60: :<00<>>>;\n"
        "3600/60: <#,##0<>>>;\n"

        // main rule set for formatting in numerals
        "%in-numerals:\n"
               // values below 60 seconds are shown with "s"
        "=0=s;\n"
               // higher values are shown with colons: %%min-sec is used for
               // values below 3,600 seconds...
        "60: =%%min-sec=;\n"
               // ...and %%hr-min-sec is used for values of 3,600 seconds
               // and above
        "3600: =%%hr-min-sec=;\n"
        // this rule causes values of less than 10 minutes to show without
        // a leading zero
        "%%min-sec:\n"
        "0: :=00=;\n"
        "60/60: <0<>>;\n"
        // this rule set is used for values of 3,600 or more.  Minutes are always
        // shown, and always shown with two digits
        "%%hr-min-sec:\n"
        "0: :=00=;\n"
        "60/60: <00<>>;\n"
        "3600/60: <#,##0<:>>>;\n"
        // the lenient-parse rules allow several different characters to be used
        // as delimiters between hours, minutes, and seconds
        "%%lenient-parse:\n"
        "& ':' = '.' = ' ' = '-';\n"
    }

}