common_data_es.py
Go to the documentation of this file.
1 # -*- coding: utf-8 -*-
2 #
3 # Copyright 2017 Mycroft AI Inc.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 
18 # NOTE: This file as no use yet. It needs to be called from other functions
19 
20 from collections import OrderedDict
21 
22 
23 _ARTICLES = {'el', 'la', 'los', 'las'}
24 
25 
26 NUM_STRING_ES = {
27  0: 'cero',
28  1: 'uno',
29  2: 'dos',
30  3: 'tres',
31  4: 'cuatro',
32  5: 'cinco',
33  6: 'seis',
34  7: 'siete',
35  8: 'ocho',
36  9: 'nueve',
37  10: 'diez',
38  11: 'once',
39  12: 'doce',
40  13: 'trece',
41  14: 'catorce',
42  15: 'quince',
43  16: 'dieciséis',
44  17: 'diecisete',
45  18: 'dieciocho',
46  19: 'diecinueve',
47  20: 'veinte',
48  30: 'treinta',
49  40: 'cuarenta',
50  50: 'cincuenta',
51  60: 'sesenta',
52  70: 'setenta',
53  80: 'ochenta',
54  90: 'noventa'
55 }
56 
57 
58 _FRACTION_STRING_ES = {
59  2: 'medio',
60  3: 'tercio',
61  4: 'cuarto',
62  5: 'quinto',
63  6: 'sexto',
64  7: 'séptimo',
65  8: 'octavo',
66  9: 'noveno',
67  10: 'décimo',
68  11: 'onceavo',
69  12: 'doceavo',
70  13: 'treceavo',
71  14: 'catorceavo',
72  15: 'quinceavo',
73  16: 'dieciseisavo',
74  17: 'diecisieteavo',
75  18: 'dieciochoavo',
76  19: 'diecinueveavo',
77  20: 'veinteavo'
78 }
79 
80 # https://www.grobauer.at/es_eur/zahlnamen.php
81 _LONG_SCALE_ES = OrderedDict([
82  (100, 'centena'),
83  (1000, 'millar'),
84  (1000000, 'millón'),
85  (1e9, "millardo"),
86  (1e12, "billón"),
87  (1e18, 'trillón'),
88  (1e24, "cuatrillón"),
89  (1e30, "quintillón"),
90  (1e36, "sextillón"),
91  (1e42, "septillón"),
92  (1e48, "octillón"),
93  (1e54, "nonillón"),
94  (1e60, "decillón"),
95  (1e66, "undecillón"),
96  (1e72, "duodecillón"),
97  (1e78, "tredecillón"),
98  (1e84, "cuatrodecillón"),
99  (1e90, "quindecillón"),
100  (1e96, "sexdecillón"),
101  (1e102, "septendecillón"),
102  (1e108, "octodecillón"),
103  (1e114, "novendecillón"),
104  (1e120, "vigintillón"),
105  (1e306, "unquinquagintillón"),
106  (1e312, "duoquinquagintillón"),
107  (1e336, "sexquinquagintillón"),
108  (1e366, "unsexagintillón")
109 ])
110 
111 
112 _SHORT_SCALE_ES = OrderedDict([
113  (100, 'centena'),
114  (1000, 'millar'),
115  (1000000, 'millón'),
116  (1e9, "billón"),
117  (1e12, 'trillón'),
118  (1e15, "cuatrillón"),
119  (1e18, "quintillón"),
120  (1e21, "sextillón"),
121  (1e24, "septillón"),
122  (1e27, "octillón"),
123  (1e30, "nonillón"),
124  (1e33, "decillón"),
125  (1e36, "undecillón"),
126  (1e39, "duodecillón"),
127  (1e42, "tredecillón"),
128  (1e45, "cuatrodecillón"),
129  (1e48, "quindecillón"),
130  (1e51, "sexdecillón"),
131  (1e54, "septendecillón"),
132  (1e57, "octodecillón"),
133  (1e60, "novendecillón"),
134  (1e63, "vigintillón"),
135  (1e66, "unvigintillón"),
136  (1e69, "uuovigintillón"),
137  (1e72, "tresvigintillón"),
138  (1e75, "quattuorvigintillón"),
139  (1e78, "quinquavigintillón"),
140  (1e81, "qesvigintillón"),
141  (1e84, "septemvigintillón"),
142  (1e87, "octovigintillón"),
143  (1e90, "novemvigintillón"),
144  (1e93, "trigintillón"),
145  (1e96, "untrigintillón"),
146  (1e99, "duotrigintillón"),
147  (1e102, "trestrigintillón"),
148  (1e105, "quattuortrigintillón"),
149  (1e108, "quinquatrigintillón"),
150  (1e111, "sestrigintillón"),
151  (1e114, "septentrigintillón"),
152  (1e117, "octotrigintillón"),
153  (1e120, "noventrigintillón"),
154  (1e123, "quadragintillón"),
155  (1e153, "quinquagintillón"),
156  (1e183, "sexagintillón"),
157  (1e213, "septuagintillón"),
158  (1e243, "octogintillón"),
159  (1e273, "nonagintillón"),
160  (1e303, "centillón"),
161  (1e306, "uncentillón"),
162  (1e309, "duocentillón"),
163  (1e312, "trescentillón"),
164  (1e333, "decicentillón"),
165  (1e336, "undecicentillón"),
166  (1e363, "viginticentillón"),
167  (1e366, "unviginticentillón"),
168  (1e393, "trigintacentillón"),
169  (1e423, "quadragintacentillón"),
170  (1e453, "quinquagintacentillón"),
171  (1e483, "sexagintacentillón"),
172  (1e513, "septuagintacentillón"),
173  (1e543, "ctogintacentillón"),
174  (1e573, "nonagintacentillón"),
175  (1e603, "ducentillón"),
176  (1e903, "trecentillón"),
177  (1e1203, "quadringentillón"),
178  (1e1503, "quingentillón"),
179  (1e1803, "sexcentillón"),
180  (1e2103, "septingentillón"),
181  (1e2403, "octingentillón"),
182  (1e2703, "nongentillón"),
183  (1e3003, "millinillón")
184 ])
185 
186 # TODO: female forms.
187 _ORDINAL_STRING_BASE_ES = {
188  1: 'primero',
189  2: 'segundo',
190  3: 'tercero',
191  4: 'cuarto',
192  5: 'quinto',
193  6: 'sexto',
194  7: 'séptimo',
195  8: 'octavo',
196  9: 'noveno',
197  10: 'décimo',
198  11: 'undécimo',
199  12: 'duodécimo',
200  13: 'decimotercero',
201  14: 'decimocuarto',
202  15: 'decimoquinto',
203  16: 'decimosexto',
204  17: 'decimoséptimo',
205  18: 'decimoctavo',
206  19: 'decimonoveno',
207  20: 'vigésimo',
208  30: 'trigésimo',
209  40: "cuadragésimo",
210  50: "quincuagésimo",
211  60: "sexagésimo",
212  70: "septuagésimo",
213  80: "octogésimo",
214  90: "nonagésimo",
215  10e3: "centésimó",
216  1e3: "milésimo"
217 }
218 
219 
220 _SHORT_ORDINAL_STRING_ES = {
221  1e6: "millonésimo",
222  1e9: "milmillonésimo",
223  1e12: "billonésimo",
224  1e15: "milbillonésimo",
225  1e18: "trillonésimo",
226  1e21: "miltrillonésimo",
227  1e24: "cuatrillonésimo",
228  1e27: "milcuatrillonésimo",
229  1e30: "quintillonésimo",
230  1e33: "milquintillonésimo"
231  # TODO > 1e-33
232 }
233 _SHORT_ORDINAL_STRING_ES.update(_ORDINAL_STRING_BASE_ES)
234 
235 
236 _LONG_ORDINAL_STRING_ES = {
237  1e6: "millonésimo",
238  1e12: "billionth",
239  1e18: "trillonésimo",
240  1e24: "cuatrillonésimo",
241  1e30: "quintillonésimo",
242  1e36: "sextillonésimo",
243  1e42: "septillonésimo",
244  1e48: "octillonésimo",
245  1e54: "nonillonésimo",
246  1e60: "decillonésimo"
247  # TODO > 1e60
248 }
249 _LONG_ORDINAL_STRING_ES.update(_ORDINAL_STRING_BASE_ES)


mycroft_ros
Author(s):
autogenerated on Mon Apr 26 2021 02:35:40