File: fa.sor

package info (click to toggle)
libnumbertext 1.0.11-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,380 kB
  • sloc: python: 439; cpp: 395; java: 244; javascript: 108; makefile: 101; xml: 84; sh: 40
file content (277 lines) | stat: -rw-r--r-- 14,755 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
^0 صفر
1 یک
2 دو
3 سه
4 چهار
5 پنج
6 شش
7 هفت
8 هشت
9 نه
10 ده
11 یازده
12 دوازده
13 سیزده
14 چهارده
15 پانزده
16 شانزده
17 هفده
18 هجده
19 نوزده
2(\d) بیست[ و $1]
3(\d) سی[ و $1]
4(\d) چهل[ و $1]
5(\d) پنجاه[ و $1]
6(\d) شصت[ و $1]
7(\d) هفتاد[ و $1]
8(\d) هشتاد[ و $1]
9(\d) نود[ و $1]

# separator function
:0+			# one million
:0*\d?\d " و "	# one million and twenty-two
:\d+ " و "		# one million, one thousand


2(\d\d) دویست[ و $1]
3(\d\d) سیصد[ و $1]
5(\d\d) پانصد[ و $1]
(\d)(\d\d) $1صد[ و $2]
(\d{1,2})([1-9]\d\d) $1 هزار و[ $2]

(\d{1,3})(\d{3}) $1 هزار$(:\2)$2
(\d{1,3})(\d{6}) $1 میلیون$(:\2)$2
(\d{1,3})(\d{9}) $1 میلیارد$(:\2)$2
(\d{1,3})(\d{12}) $1 تریلیون$(:\2)$2
(\d{1,3})(\d{15}) $1 کوادریلیون$(:\2)$2
(\d{1,3})(\d{18}) $1 کوینتیلیون$(:\2)$2
(\d{1,3})(\d{21}) $1 سکستیلیون$(:\2)$2
(\d{1,3})(\d{24}) $1 سپتیلیون$(:\2)$2
(\d{1,3})(\d{27}) $1 اکتیلیون$(:\2)$2
(\d{1,3})(\d{30}) $1 نانیلیون$(:\2)$2
(\d{1,3})(\d{33}) $1 دسیلیون$(:\2)$2
(\d{1,3})(\d{36}) $1 آندسیلیون$(:\2)$2
(\d{1,3})(\d{39}) $1 دیودسیلیون$(:\2)$2
(\d{1,3})(\d{42}) $1 تریدسیلیون$(:\2)$2
(\d{1,3})(\d{45}) $1 کواتیوردسیلیون$(:\2)$2
(\d{1,3})(\d{48}) $1 کویندسیلیون$(:\2)$2
(\d{1,3})(\d{51}) $1 سکسدسیلیون$(:\2)$2
(\d{1,3})(\d{54}) $1 سپتدسیلیون$(:\2)$2
(\d{1,3})(\d{57}) $1 اُکتودسیلیون$(:\2)$2
(\d{1,3})(\d{60}) $1 نومدسیلیون$(:\2)$2
(\d{1,3})(\d{63}) $1 ویجینتیلیون$(:\2)$2
(\d{1,3})(\d{66}) $1 آنویجینتیلیون$(:\2)$2
(\d{1,3})(\d{69}) $1 دویجینتیلیون$(:\2)$2
(\d{1,3})(\d{72}) $1 ترسویجینتیلیون$(:\2)$2
(\d{1,3})(\d{75}) $1 کوادرویجینتیلیون$(:\2)$2
(\d{1,3})(\d{78}) $1 کوینکاویجینتیلیون$(:\2)$2
(\d{1,3})(\d{81}) $1 سیسویجینتیلیون$(:\2)$2
(\d{1,3})(\d{84}) $1 سپتمویجینتیلیون$(:\2)$2
(\d{1,3})(\d{87}) $1 آکتوویجینتیلیون$(:\2)$2
(\d{1,3})(\d{90}) $1 نومویجینتیلیون$(:\2)$2
(\d{1,3})(\d{93}) $1 تریویجینتیلیون$(:\2)$2
(\d{1,3})(\d{96}) $1 آنتریویجینتیلیون$(:\2)$2
(\d{1,3})(\d{99}) $1 دوتریویجینتیلیون$(:\2)$2
(\d{1,3})(\d{100}) $1 گوگول$(:\2)$2

# negative number

[-−](\d+) منفی |$1

# decimals

0[.,] ممیز
([-−]?\d+)[.,] $1| ممیز
([-−]?\d+[.,]\d*)(\d) $1| |$2

# currency

# unit/subunit singular/plural

us:([^,]*),([^,]*),([^,]*),([^,]*) \1
up:([^,]*),([^,]*),([^,]*),([^,]*) \2
ss:([^,]*),([^,]*),([^,]*),([^,]*) \3
sp:([^,]*),([^,]*),([^,]*),([^,]*) \4

ZMW:(\D+) $(\1: کواچای زامبیا, کواچای زامبیا, نگوی, نگوی)
ZAR:(\D+) $(\1: رند آفریقای جنوبی, رند آفریقای جنوبی, سنت, سنت)
YER:(\D+) $(\1: ریال یمن, ریال یمن, فلس, فلس)
WST:(\D+) $(\1: طلای ساموآ, طلای ساموآ, سن, سن)
VUV:(\D+) $(\1: واتوی وانواتو, واتوی وانواتو,,)
VND:(\D+) $(\1: دانگ ویتنام, دانگ ویتنام, هائو, هائو)
VES:(\D+) $(\1: بولیوار ونزوئلا, بولیوار ونزوئلا, سنتیمو, سنتیمو)
UZS:(\D+) $(\1: سوم ازبکستان, سوم ازبکستان, تین, تین)
UYU:(\D+) $(\1: پزوی اروگوئه, پزوی اروگوئه, سنتسیمو, سنتسیمو)
USD:(\D+) $(\1: دلار آمریکا, دلار آمریکا, سنت, سنت)
UGX:(\D+) $(\1: شیلینگ اوگاندا, شیلینگ اوگاندا,,)
UAH:(\D+) $(\1: گریونا اوکراین, گریونا اوکراین, کوپک, کوپک)
TZS:(\D+) $(\1: شیلینگ تانزانیا, شیلینگ تانزانیا, سنت, سنت)
TWD:(\D+) $(\1: دلار جدید تایوان, دلار جدید تایوان, سنت, سنت)
TTD:(\D+) $(\1: دلار ترینیداد و توباگو, دلار ترینیداد و توباگو, سنت, سنت)
TRY:(\D+) $(\1: لیره ترک, لیره ترک, قرش, قرش)
TOP:(\D+) $(\1: پاآنگای تونگا, پاآنگای تونگا, سنیتی, سنیتی)
TND:(\D+) $(\1: دینار تونس, دینار تونس, میلیم, میلیم)
TMT:(\D+) $(\1: منات ترکمنستان, منات ترکمنستان, تنگه, تنگه)
TJS:(\D+) $(\1: سامانی تاجیکستان, سامانی تاجیکستان, درم, درم)
THB:(\D+) $(\1: بات تایلند, بات تایلند, ساتانگ, ساتانگ)
SYP:(\D+) $(\1: لیره سوریه, لیره سوریه, قرش, قرش)
SSP:(\D+) $(\1: پوند سودان جنوبی, پوند سودان جنوبی, قرش, قرش)
SRD:(\D+) $(\1: دلار سورینام, دلار سورینام, سنت, سنت)
SOS:(\D+) $(\1: شیلینگ سومالی, شیلینگ سومالی, سنت, سنت)
SLS:(\D+) $(\1: شیلینگ سومالی‌لند, شیلینگ سومالی‌لند, سنت, سنت)
SLL:(\D+) $(\1: لئون سیرالئون, لئون سیرالئون, سنت, سنت)
SGD:(\D+) $(\1: دلار سنگاپور, دلار سنگاپور, سنت, سنت)
SEK:(\D+) $(\1: کرون سوئد, کرون سوئد, اوره, اوره)
SDG:(\D+) $(\1: پوند سودان, پوند سودان, قرش, قرش)
SCR:(\D+) $(\1: روپیه سیشل, روپیه سیشل, سنت, سنت)
SBD:(\D+) $(\1: دلار جزایر سلیمان, دلار جزایر سلیمان, سنت, سنت)
RWF:(\D+) $(\1: فرانک رواندا, فرانک رواندا, سانتیم, سانتیم)
RUB:(\D+) $(\1: روبل روسیه, روبل روسیه, کوپک, کوپک)
RSD:(\D+) $(\1: دینار صربستان, دینار صربستان, پارا, پارا)
RON:(\D+) $(\1: لئوی رومانی, لئوی رومانی, بان, بان)
PYG:(\D+) $(\1: گوارانی پاراگوئه, گوارانی پاراگوئه, سنتیمو, سنتیمو)
PRB:(\D+) $(\1: روبل ترانسنیسترین, روبل ترانسنیسترین, کوپک, کوپک)
PLN:(\D+) $(\1: زلوتی لهستان, زلوتی لهستان, گروش, گروش)
PKR:(\D+) $(\1: روپیه پاکستان, روپیه پاکستان, پیسه, پیسه)
PHP:(\D+) $(\1: پزو فیلیپین, پزو فیلیپین, سنتیمو, سنتیمو)
PGK:(\D+) $(\1: کینای پاپوآ گینه نو, کینای پاپوآ گینه نو, تویا, تویا)
PEN:(\D+) $(\1: سول پرو, سول پرو, سنتیمو, سنتیمو)
NZD:(\D+) $(\1: دلار نیوزیلند, دلار نیوزیلند, سنت, سنت)
NOK:(\D+) $(\1: کرون نروژ, کرون نروژ, اوره, اوره)
NIO:(\D+) $(\1: کوردوبای نیکاراگوئه, کوردوبای نیکاراگوئه, سنتاوو, سنتاوو)
NGN:(\D+) $(\1: نایرا نیجریه, نایرا نیجریه, کوبو, کوبو)
MZN:(\D+) $(\1: متیکال موزامبیک, متیکال موزامبیک, سنتاوو, سنتاوو)
MYR:(\D+) $(\1: رینگیت مالزی, رینگیت مالزی, سن, سن)
MXN:(\D+) $(\1: پزو مکزیک, پزو مکزیک, سنتاوو, سنتاوو)
MWK:(\D+) $(\1: کواچا مالاویا, کواچا مالاویا, تامبالا, تامبالا)
MUR:(\D+) $(\1: روپیه موریس, روپیه موریس, سنت, سنت)
MRU:(\D+) $(\1: اوقیه موریتانی, اوقیه موریتانی, خمس, خمس)
MNT:(\D+) $(\1: توگروگ مغولستان, توگروگ مغولستان, مونگو, مونگو)
MMK:(\D+) $(\1: کیات میانمار, کیات میانمار, پیا, پیا)
MKD:(\D+) $(\1: دینار مقدونیه, دینار مقدونیه, دنی, دنی)
MGA:(\D+) $(\1: آریاری ماداگاسکار, آریاری ماداگاسکار, ایراایمبیلانجا, ایراایمبیلانجا)
MDL:(\D+) $(\1: لئوی مولداوی, لئوی مولداوی, بان, بان)
LYD:(\D+) $(\1: دینار لیبی, دینار لیبی, درهم, درهم)
LRD:(\D+) $(\1: دلار لیبریا, دلار لیبریا, سنت, سنت)
LKR:(\D+) $(\1: روپیه سری‌لانکا, روپیه سری‌لانکا, سنت, سنت)
LAK:(\D+) $(\1: کیپ لائوس, کیپ لائوس, ات, ات)
KZT:(\D+) $(\1: تنگه قزاقستان, تنگه قزاقستان, تیین, تیین)
KRW:(\D+) $(\1: وون کره جنوبی, وون کره جنوبی, جیون, جیون)
KPW:(\D+) $(\1: وون کره شمالی, وون کره شمالی, چون, چون)
KHR:(\D+) $(\1: ریال کامبوج, ریال کامبوج, سن, سن)
KGS:(\D+) $(\1: سوم قرقیزستان, سوم قرقیزستان, تیین, تیین)
KES:(\D+) $(\1: شیلینگ کنیا, شیلینگ کنیا, سنت, سنت)
JPY:(\D+) $(\1: ین ژاپن, ین ژاپن, سن, سن)
JMD:(\D+) $(\1: دلار جامائیکا, دلار جامائیکا, سنت, سنت)
ISK:(\D+) $(\1: کرونای ایسلند, کرونای ایسلند, اوره, اوره)
IRR:(\D+) $(\1: ریال ایران, ریال ایران, دینار, دینار)
IQD:(\D+) $(\1: دینار عراق, دینار عراق, فلس, فلس)
INR:(\D+) $(\1: روپیه هند, روپیه هند, پیسه, پیسه)
ILS:(\D+) $(\1: شکل جدید اسرائیل, شکل جدید اسرائیل, آگوروت, آگوروت)
IDR:(\D+) $(\1: روپیه اندونزی, روپیه اندونزی, سن, سن)
HUF:(\D+) $(\1: فورینت مجارستان, فورینت مجارستان, فیلر, فیلر)
HTG:(\D+) $(\1: گورد هائیتی, گورد هائیتی, سانتیم, سانتیم)
HRK:(\D+) $(\1: کونای کرواسی, کونای کرواسی, لیپا, لیپا)
HNL:(\D+) $(\1: لامپیرای هندوراس, لامپیرای هندوراس, سنتاوو, سنتاوو)
GYD:(\D+) $(\1: دلار گویان, دلار گویان, سنت, سنت)
GTQ:(\D+) $(\1: کوتزال گواتمالا, کوتزال گواتمالا, سنتاوو, سنتاوو)
GNF:(\D+) $(\1: فرانک گینه, فرانک گینه, سانتیم, سانتیم)
GMD:(\D+) $(\1: دالاسی گامبیا, دالاسی گامبیا, بوتوت, بوتوت)
GHS:(\D+) $(\1: سدی غنا, سدی غنا, پسوا, پسوا)
GEL:(\D+) $(\1: لاری گرجستان, لاری گرجستان, تتری, تتری)
GBP:(\D+) $(\1: پوند استرلینگ, پوند استرلینگ, پنی, پنی)
FJD:(\D+) $(\1: دلار فیجی, دلار فیجی, سنت, سنت)
EUR:(\D+) $(\1: یورو, یورو, سنت, سنت)
ETB:(\D+) $(\1: بیر اتیوپی, بیر اتیوپی, سانتیم, سانتیم)
EGP:(\D+) $(\1: پوند مصر, پوند مصر, قرش, قرش)
DZD:(\D+) $(\1: دینار الجزایر, دینار الجزایر, سانتیم, سانتیم)
DOP:(\D+) $(\1: پزو دومینیکن, پزو دومینیکن, سنتاوو, سنتاوو)
CZK:(\D+) $(\1: کرونای چک, کرونای چک, هالر, هالر)
CUP:(\D+) $(\1: پزوی کوبا, پزوی کوبا, سنتاوو, سنتاوو)
CRC:(\D+) $(\1: کولون کاستاریکا, کولون کاستاریکا, سنتیمو, سنتیمو)
COP:(\D+) $(\1: پزو کلمبیا, پزو کلمبیا, سنتاوو, سنتاوو)
CNY:(\D+) $(\1: رنمینبی, رنمینبی, جیائو, جیائو)
CLP:(\D+) $(\1: پزو شیلی, پزو شیلی, سنتاوو, سنتاوو)
CHF:(\D+) $(\1: فرانک سوئیس, فرانک سوئیس, سانتیم, سانتیم)
CDF:(\D+) $(\1: فرانک کنگو, فرانک کنگو, سانتیم, سانتیم)
CAD:(\D+) $(\1: دلار کانادا, دلار کانادا, سنت, سنت)
BYN:(\D+) $(\1: روبل بلاروس, روبل بلاروس, کاپیکا, کاپیکا)
BWP:(\D+) $(\1: پولای بوتسوانا, پولای بوتسوانا, تیب, تیب)
BRL:(\D+) $(\1: رئال برزیل, رئال برزیل, سنتاوو, سنتاوو)
BOB:(\D+) $(\1: بولیویانو بولیوی, بولیویانو بولیوی, سنتاوو, سنتاوو)
BIF:(\D+) $(\1: فرانک بوروندی, فرانک بوروندی, سانتیم, سانتیم)
BDT:(\D+) $(\1: تاکا بنگلادش, تاکا بنگلادش, پیسه, پیسه)
AZN:(\D+) $(\1: منات آذربایجان, منات آذربایجان, گپیک, گپیک)
AUD:(\D+) $(\1: دلار استرالیا, دلار استرالیا, سنت, سنت)
ARS:(\D+) $(\1: پزو آرژانتین, پزو آرژانتین, سنتاوو, سنتاوو)
AOA:(\D+) $(\1: کوانزای آنگولا, کوانزای آنگولا, سنتیمو, سنتیمو)
AMD:(\D+) $(\1: درام ارمنستان, درام ارمنستان, لوما, لوما)
ALL:(\D+) $(\1: لک آلبانی, لک آلبانی, کیندارکا, کیندارکا)
AFN:(\D+) $(\1: افغانی افغانستان, افغانی افغانستان, پول, پول)

"(JPY [-−]?\d+)[.,](\d\d)0" $1
"(JPY [-−]?\d+[.,]\d\d)(\d)" $1 $2 rin

"([A-Z]{3}) ([-−]?1)([.,]00?)?" $2$(\1:us)
"([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2$(\1:up)

"(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
"(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen

"((MGA|MRO) [-−]?\d+)[.,]0" $1
"((MGA|MRO) [-−]?\d+)[.,]2" $1 و |$(1)$(\2:ss)
"((MGA|MRO) [-−]?\d+)[.,]4" $1 و |$(2)$(\2:sp)
"((MGA|MRO) [-−]?\d+)[.,]6" $1 و |$(3)$(\2:sp)
"((MGA|MRO) [-−]?\d+)[.,]8" $1 و |$(4)$(\2:sp)

"(([A-Z]{3}) [-−]?\d+)[.,](01)" $1 و |$(1)$(\2:ss)
"(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 و |$(\30)$(\2:sp)
"(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 و |$3$(\2:sp)

== money ==

"(JPY [-−]?\d+)[.,](\d\d)0" $1
"(JPY [-−]?\d+[.,]\d\d)(\d)" $1 $2 rin

"([A-Z]{3}) ([-−]?1)([.,]00?)?" $2$(\1:us)
"([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2$(\1:up)

"(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
"(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen

"(MGA|MRO) ([-−]?\d+)[.,]0" $2$(\1:us)
"(MGA|MRO) ([-−]?\d+)[.,]2" $2 و 1/5$(\1:us)
"(MGA|MRO) ([-−]?\d+)[.,]4" $2 و 2/5$(\1:up)
"(MGA|MRO) ([-−]?\d+)[.,]6" $2 و 3/5$(\1:up)
"(MGA|MRO) ([-−]?\d+)[.,]8" $2 و 4/5$(\1:up)

"([A-Z]{3}) ([-−]?1)" $2$(\1:us)
"([A-Z]{3}) ([-−]?\d+)" $2$(\1:up)
"(([A-Z]{3}) ([-−]?\d+))[.,](01)" $3 و 1/100$(\2:us)
"(([A-Z]{3}) ([-−]?\d+))[.,](\d)" $3 و \40/100$(\2:up)
"(([A-Z]{3}) ([-−]?\d+))[.,](\d\d)" $3 و \4/100$(\2:up)
"(([A-Z]{3}) ([-−]?\d+))[.,](\d\d\d)" $3 و \4/1000$(\2:up)

== ordinal ==

# convert to text, and recall to convert
# cardinal names to ordinal ones

([-−]?\d+) $(ordinal |$1)

(.*)سه	\1سومین
(.*)	\1مین

== ordinal-number ==

(.*)	\1مین

== year ==

(.*) \1

== help ==

"" $(1)|, $(2), $(3)\n$(\0 ordinal)$(\0 ordinal-number)year: $(year 1999), two thousand, $(year 2001)\ncurrency \(for example, USD\): $(USD 2.5)\nmoney USD: $(money USD 2.5)
"(ordinal(-number)?|USD)" \1: $(\1 1), $(\1 2), $(\1 3)\n