278 lines
14 KiB
Java
278 lines
14 KiB
Java
^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
|
||
|