diff --git a/mycroft/util/lang/format_it.py b/mycroft/util/lang/format_it.py index 7e1c795a2c..ceaf44bc8b 100644 --- a/mycroft/util/lang/format_it.py +++ b/mycroft/util/lang/format_it.py @@ -16,6 +16,7 @@ # from mycroft.util.lang.format_common import convert_to_mixed_fraction +import collections NUM_STRING_IT = { 0: 'zero', @@ -70,6 +71,111 @@ FRACTION_STRING_IT = { 20: 'ventesim' } +#fonte: http://tulengua.es/numeros-texto/default.aspx +LONG_SCALE_IT = collections.OrderedDict([ + (100, 'cento'), + (1000, 'mila'), + (1000000, 'milioni'), + (1e12, "miliardi"), + (1e18, 'trilioni'), + (1e24, "quadrilioni"), + (1e30, "quintilioni"), + (1e36, "sestilioni"), + (1e42, "settilioni"), + (1e48, "ottillioni"), + (1e54, "nonillioni"), + (1e60, "decemillioni"), + (1e66, "undicilione"), + (1e72, "dodicilione"), + (1e78, "tredicilione"), + (1e84, "quattordicilione"), + (1e90, "quindicilione"), + (1e96, "sedicilione"), + (1e102, "diciasettilione"), + (1e108, "diciottilione"), + (1e114, "dicianovilione"), + (1e120, "vintilione"), + (1e306, "unquinquagintillion"), + (1e312, "duoquinquagintillion"), + (1e336, "sesquinquagintillion"), + (1e366, "unsexagintillion") +]) + + +SHORT_SCALE_IT = collections.OrderedDict([ + (100, 'cento'), + (1000, 'mila'), + (1000000, 'milioni'), + (1e9, "miliardi"), + (1e12, 'bilioni'), + (1e15, "biliardi"), + (1e18, "trilioni"), + (1e21, "triliardi"), + (1e24, "quadrilioni"), + (1e27, "quadriliardi"), + (1e30, "quintilioni"), + (1e33, "quintiliardi"), + (1e36, "sestilioni"), + (1e39, "sestiliardi"), + (1e42, "settilioni"), + (1e45, "settiliardi"), + (1e48, "ottilioni"), + (1e51, "ottiliardi"), + (1e54, "nonilioni"), + (1e57, "noniliardi"), + (1e60, "decilioni"), + (1e63, "deciliardi"), + (1e66, "undicilioni"), + (1e69, "undiciliardi"), + (1e72, "dodicilioni"), + (1e75, "dodiciliardi"), + (1e78, "tredicilioni"), + (1e81, "trediciliardi"), + (1e84, "quattrordicilioni"), + (1e87, "quattordiciliardi"), + (1e90, "quindicilioni"), + (1e93, "quindiciliardi"), + (1e96, "sedilicioli"), + (1e99, "sediciliardo"), + (1e102, "diciassettilioni"), + (1e105, "diciassettiliardi"), + (1e108, "diciottilioni"), + (1e111, "diciottiliardi"), + (1e114, "dicianovilioni"), + (1e117, "dicianoviliardi"), + (1e120, "vintilione"), + (1e123, "vintiliardo"), + (1e153, "quinquagintillion"), + (1e183, "sexagintillion"), + (1e213, "septuagintillion"), + (1e243, "octogintillion"), + (1e273, "nonagintillion"), + (1e303, "centillion"), + (1e306, "uncentillion"), + (1e309, "duocentillion"), + (1e312, "trescentillion"), + (1e333, "decicentillion"), + (1e336, "undecicentillion"), + (1e363, "viginticentillion"), + (1e366, "unviginticentillion"), + (1e393, "trigintacentillion"), + (1e423, "quadragintacentillion"), + (1e453, "quinquagintacentillion"), + (1e483, "sexagintacentillion"), + (1e513, "septuagintacentillion"), + (1e543, "ctogintacentillion"), + (1e573, "nonagintacentillion"), + (1e603, "ducentillion"), + (1e903, "trecentillion"), + (1e1203, "quadringentillion"), + (1e1503, "quingentillion"), + (1e1803, "sescentillion"), + (1e2103, "septingentillion"), + (1e2403, "octingentillion"), + (1e2703, "nongentillion"), + (1e3003, "millinillion") +]) + def nice_number_it(number, speech, denominators): """ Italian helper for nice_number