fa.sor 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. ^0 صفر
  2. 1 یک
  3. 2 دو
  4. 3 سه
  5. 4 چهار
  6. 5 پنج
  7. 6 شش
  8. 7 هفت
  9. 8 هشت
  10. 9 نه
  11. 10 ده
  12. 11 یازده
  13. 12 دوازده
  14. 13 سیزده
  15. 14 چهارده
  16. 15 پانزده
  17. 16 شانزده
  18. 17 هفده
  19. 18 هجده
  20. 19 نوزده
  21. 2(\d) بیست[ و $1]
  22. 3(\d) سی[ و $1]
  23. 4(\d) چهل[ و $1]
  24. 5(\d) پنجاه[ و $1]
  25. 6(\d) شصت[ و $1]
  26. 7(\d) هفتاد[ و $1]
  27. 8(\d) هشتاد[ و $1]
  28. 9(\d) نود[ و $1]
  29. # separator function
  30. :0+ # one million
  31. :0*\d?\d " و " # one million and twenty-two
  32. :\d+ " و " # one million, one thousand
  33. 2(\d\d) دویست[ و $1]
  34. 3(\d\d) سیصد[ و $1]
  35. 5(\d\d) پانصد[ و $1]
  36. (\d)(\d\d) $1صد[ و $2]
  37. (\d{1,2})([1-9]\d\d) $1 هزار و[ $2]
  38. (\d{1,3})(\d{3}) $1 هزار$(:\2)$2
  39. (\d{1,3})(\d{6}) $1 میلیون$(:\2)$2
  40. (\d{1,3})(\d{9}) $1 میلیارد$(:\2)$2
  41. (\d{1,3})(\d{12}) $1 تریلیون$(:\2)$2
  42. (\d{1,3})(\d{15}) $1 کوادریلیون$(:\2)$2
  43. (\d{1,3})(\d{18}) $1 کوینتیلیون$(:\2)$2
  44. (\d{1,3})(\d{21}) $1 سکستیلیون$(:\2)$2
  45. (\d{1,3})(\d{24}) $1 سپتیلیون$(:\2)$2
  46. (\d{1,3})(\d{27}) $1 اکتیلیون$(:\2)$2
  47. (\d{1,3})(\d{30}) $1 نانیلیون$(:\2)$2
  48. (\d{1,3})(\d{33}) $1 دسیلیون$(:\2)$2
  49. (\d{1,3})(\d{36}) $1 آندسیلیون$(:\2)$2
  50. (\d{1,3})(\d{39}) $1 دیودسیلیون$(:\2)$2
  51. (\d{1,3})(\d{42}) $1 تریدسیلیون$(:\2)$2
  52. (\d{1,3})(\d{45}) $1 کواتیوردسیلیون$(:\2)$2
  53. (\d{1,3})(\d{48}) $1 کویندسیلیون$(:\2)$2
  54. (\d{1,3})(\d{51}) $1 سکسدسیلیون$(:\2)$2
  55. (\d{1,3})(\d{54}) $1 سپتدسیلیون$(:\2)$2
  56. (\d{1,3})(\d{57}) $1 اُکتودسیلیون$(:\2)$2
  57. (\d{1,3})(\d{60}) $1 نومدسیلیون$(:\2)$2
  58. (\d{1,3})(\d{63}) $1 ویجینتیلیون$(:\2)$2
  59. (\d{1,3})(\d{66}) $1 آنویجینتیلیون$(:\2)$2
  60. (\d{1,3})(\d{69}) $1 دویجینتیلیون$(:\2)$2
  61. (\d{1,3})(\d{72}) $1 ترسویجینتیلیون$(:\2)$2
  62. (\d{1,3})(\d{75}) $1 کوادرویجینتیلیون$(:\2)$2
  63. (\d{1,3})(\d{78}) $1 کوینکاویجینتیلیون$(:\2)$2
  64. (\d{1,3})(\d{81}) $1 سیسویجینتیلیون$(:\2)$2
  65. (\d{1,3})(\d{84}) $1 سپتمویجینتیلیون$(:\2)$2
  66. (\d{1,3})(\d{87}) $1 آکتوویجینتیلیون$(:\2)$2
  67. (\d{1,3})(\d{90}) $1 نومویجینتیلیون$(:\2)$2
  68. (\d{1,3})(\d{93}) $1 تریویجینتیلیون$(:\2)$2
  69. (\d{1,3})(\d{96}) $1 آنتریویجینتیلیون$(:\2)$2
  70. (\d{1,3})(\d{99}) $1 دوتریویجینتیلیون$(:\2)$2
  71. (\d{1,3})(\d{100}) $1 گوگول$(:\2)$2
  72. # negative number
  73. [-−](\d+) منفی |$1
  74. # decimals
  75. 0[.,] ممیز
  76. ([-−]?\d+)[.,] $1| ممیز
  77. ([-−]?\d+[.,]\d*)(\d) $1| |$2
  78. # currency
  79. # unit/subunit singular/plural
  80. us:([^,]*),([^,]*),([^,]*),([^,]*) \1
  81. up:([^,]*),([^,]*),([^,]*),([^,]*) \2
  82. ss:([^,]*),([^,]*),([^,]*),([^,]*) \3
  83. sp:([^,]*),([^,]*),([^,]*),([^,]*) \4
  84. ZMW:(\D+) $(\1: کواچای زامبیا, کواچای زامبیا, نگوی, نگوی)
  85. ZAR:(\D+) $(\1: رند آفریقای جنوبی, رند آفریقای جنوبی, سنت, سنت)
  86. YER:(\D+) $(\1: ریال یمن, ریال یمن, فلس, فلس)
  87. WST:(\D+) $(\1: طلای ساموآ, طلای ساموآ, سن, سن)
  88. VUV:(\D+) $(\1: واتوی وانواتو, واتوی وانواتو,,)
  89. VND:(\D+) $(\1: دانگ ویتنام, دانگ ویتنام, هائو, هائو)
  90. VES:(\D+) $(\1: بولیوار ونزوئلا, بولیوار ونزوئلا, سنتیمو, سنتیمو)
  91. UZS:(\D+) $(\1: سوم ازبکستان, سوم ازبکستان, تین, تین)
  92. UYU:(\D+) $(\1: پزوی اروگوئه, پزوی اروگوئه, سنتسیمو, سنتسیمو)
  93. USD:(\D+) $(\1: دلار آمریکا, دلار آمریکا, سنت, سنت)
  94. UGX:(\D+) $(\1: شیلینگ اوگاندا, شیلینگ اوگاندا,,)
  95. UAH:(\D+) $(\1: گریونا اوکراین, گریونا اوکراین, کوپک, کوپک)
  96. TZS:(\D+) $(\1: شیلینگ تانزانیا, شیلینگ تانزانیا, سنت, سنت)
  97. TWD:(\D+) $(\1: دلار جدید تایوان, دلار جدید تایوان, سنت, سنت)
  98. TTD:(\D+) $(\1: دلار ترینیداد و توباگو, دلار ترینیداد و توباگو, سنت, سنت)
  99. TRY:(\D+) $(\1: لیره ترک, لیره ترک, قرش, قرش)
  100. TOP:(\D+) $(\1: پاآنگای تونگا, پاآنگای تونگا, سنیتی, سنیتی)
  101. TND:(\D+) $(\1: دینار تونس, دینار تونس, میلیم, میلیم)
  102. TMT:(\D+) $(\1: منات ترکمنستان, منات ترکمنستان, تنگه, تنگه)
  103. TJS:(\D+) $(\1: سامانی تاجیکستان, سامانی تاجیکستان, درم, درم)
  104. THB:(\D+) $(\1: بات تایلند, بات تایلند, ساتانگ, ساتانگ)
  105. SYP:(\D+) $(\1: لیره سوریه, لیره سوریه, قرش, قرش)
  106. SSP:(\D+) $(\1: پوند سودان جنوبی, پوند سودان جنوبی, قرش, قرش)
  107. SRD:(\D+) $(\1: دلار سورینام, دلار سورینام, سنت, سنت)
  108. SOS:(\D+) $(\1: شیلینگ سومالی, شیلینگ سومالی, سنت, سنت)
  109. SLS:(\D+) $(\1: شیلینگ سومالی‌لند, شیلینگ سومالی‌لند, سنت, سنت)
  110. SLL:(\D+) $(\1: لئون سیرالئون, لئون سیرالئون, سنت, سنت)
  111. SGD:(\D+) $(\1: دلار سنگاپور, دلار سنگاپور, سنت, سنت)
  112. SEK:(\D+) $(\1: کرون سوئد, کرون سوئد, اوره, اوره)
  113. SDG:(\D+) $(\1: پوند سودان, پوند سودان, قرش, قرش)
  114. SCR:(\D+) $(\1: روپیه سیشل, روپیه سیشل, سنت, سنت)
  115. SBD:(\D+) $(\1: دلار جزایر سلیمان, دلار جزایر سلیمان, سنت, سنت)
  116. RWF:(\D+) $(\1: فرانک رواندا, فرانک رواندا, سانتیم, سانتیم)
  117. RUB:(\D+) $(\1: روبل روسیه, روبل روسیه, کوپک, کوپک)
  118. RSD:(\D+) $(\1: دینار صربستان, دینار صربستان, پارا, پارا)
  119. RON:(\D+) $(\1: لئوی رومانی, لئوی رومانی, بان, بان)
  120. PYG:(\D+) $(\1: گوارانی پاراگوئه, گوارانی پاراگوئه, سنتیمو, سنتیمو)
  121. PRB:(\D+) $(\1: روبل ترانسنیسترین, روبل ترانسنیسترین, کوپک, کوپک)
  122. PLN:(\D+) $(\1: زلوتی لهستان, زلوتی لهستان, گروش, گروش)
  123. PKR:(\D+) $(\1: روپیه پاکستان, روپیه پاکستان, پیسه, پیسه)
  124. PHP:(\D+) $(\1: پزو فیلیپین, پزو فیلیپین, سنتیمو, سنتیمو)
  125. PGK:(\D+) $(\1: کینای پاپوآ گینه نو, کینای پاپوآ گینه نو, تویا, تویا)
  126. PEN:(\D+) $(\1: سول پرو, سول پرو, سنتیمو, سنتیمو)
  127. NZD:(\D+) $(\1: دلار نیوزیلند, دلار نیوزیلند, سنت, سنت)
  128. NOK:(\D+) $(\1: کرون نروژ, کرون نروژ, اوره, اوره)
  129. NIO:(\D+) $(\1: کوردوبای نیکاراگوئه, کوردوبای نیکاراگوئه, سنتاوو, سنتاوو)
  130. NGN:(\D+) $(\1: نایرا نیجریه, نایرا نیجریه, کوبو, کوبو)
  131. MZN:(\D+) $(\1: متیکال موزامبیک, متیکال موزامبیک, سنتاوو, سنتاوو)
  132. MYR:(\D+) $(\1: رینگیت مالزی, رینگیت مالزی, سن, سن)
  133. MXN:(\D+) $(\1: پزو مکزیک, پزو مکزیک, سنتاوو, سنتاوو)
  134. MWK:(\D+) $(\1: کواچا مالاویا, کواچا مالاویا, تامبالا, تامبالا)
  135. MUR:(\D+) $(\1: روپیه موریس, روپیه موریس, سنت, سنت)
  136. MRU:(\D+) $(\1: اوقیه موریتانی, اوقیه موریتانی, خمس, خمس)
  137. MNT:(\D+) $(\1: توگروگ مغولستان, توگروگ مغولستان, مونگو, مونگو)
  138. MMK:(\D+) $(\1: کیات میانمار, کیات میانمار, پیا, پیا)
  139. MKD:(\D+) $(\1: دینار مقدونیه, دینار مقدونیه, دنی, دنی)
  140. MGA:(\D+) $(\1: آریاری ماداگاسکار, آریاری ماداگاسکار, ایراایمبیلانجا, ایراایمبیلانجا)
  141. MDL:(\D+) $(\1: لئوی مولداوی, لئوی مولداوی, بان, بان)
  142. LYD:(\D+) $(\1: دینار لیبی, دینار لیبی, درهم, درهم)
  143. LRD:(\D+) $(\1: دلار لیبریا, دلار لیبریا, سنت, سنت)
  144. LKR:(\D+) $(\1: روپیه سری‌لانکا, روپیه سری‌لانکا, سنت, سنت)
  145. LAK:(\D+) $(\1: کیپ لائوس, کیپ لائوس, ات, ات)
  146. KZT:(\D+) $(\1: تنگه قزاقستان, تنگه قزاقستان, تیین, تیین)
  147. KRW:(\D+) $(\1: وون کره جنوبی, وون کره جنوبی, جیون, جیون)
  148. KPW:(\D+) $(\1: وون کره شمالی, وون کره شمالی, چون, چون)
  149. KHR:(\D+) $(\1: ریال کامبوج, ریال کامبوج, سن, سن)
  150. KGS:(\D+) $(\1: سوم قرقیزستان, سوم قرقیزستان, تیین, تیین)
  151. KES:(\D+) $(\1: شیلینگ کنیا, شیلینگ کنیا, سنت, سنت)
  152. JPY:(\D+) $(\1: ین ژاپن, ین ژاپن, سن, سن)
  153. JMD:(\D+) $(\1: دلار جامائیکا, دلار جامائیکا, سنت, سنت)
  154. ISK:(\D+) $(\1: کرونای ایسلند, کرونای ایسلند, اوره, اوره)
  155. IRR:(\D+) $(\1: ریال ایران, ریال ایران, دینار, دینار)
  156. IQD:(\D+) $(\1: دینار عراق, دینار عراق, فلس, فلس)
  157. INR:(\D+) $(\1: روپیه هند, روپیه هند, پیسه, پیسه)
  158. ILS:(\D+) $(\1: شکل جدید اسرائیل, شکل جدید اسرائیل, آگوروت, آگوروت)
  159. IDR:(\D+) $(\1: روپیه اندونزی, روپیه اندونزی, سن, سن)
  160. HUF:(\D+) $(\1: فورینت مجارستان, فورینت مجارستان, فیلر, فیلر)
  161. HTG:(\D+) $(\1: گورد هائیتی, گورد هائیتی, سانتیم, سانتیم)
  162. HRK:(\D+) $(\1: کونای کرواسی, کونای کرواسی, لیپا, لیپا)
  163. HNL:(\D+) $(\1: لامپیرای هندوراس, لامپیرای هندوراس, سنتاوو, سنتاوو)
  164. GYD:(\D+) $(\1: دلار گویان, دلار گویان, سنت, سنت)
  165. GTQ:(\D+) $(\1: کوتزال گواتمالا, کوتزال گواتمالا, سنتاوو, سنتاوو)
  166. GNF:(\D+) $(\1: فرانک گینه, فرانک گینه, سانتیم, سانتیم)
  167. GMD:(\D+) $(\1: دالاسی گامبیا, دالاسی گامبیا, بوتوت, بوتوت)
  168. GHS:(\D+) $(\1: سدی غنا, سدی غنا, پسوا, پسوا)
  169. GEL:(\D+) $(\1: لاری گرجستان, لاری گرجستان, تتری, تتری)
  170. GBP:(\D+) $(\1: پوند استرلینگ, پوند استرلینگ, پنی, پنی)
  171. FJD:(\D+) $(\1: دلار فیجی, دلار فیجی, سنت, سنت)
  172. EUR:(\D+) $(\1: یورو, یورو, سنت, سنت)
  173. ETB:(\D+) $(\1: بیر اتیوپی, بیر اتیوپی, سانتیم, سانتیم)
  174. EGP:(\D+) $(\1: پوند مصر, پوند مصر, قرش, قرش)
  175. DZD:(\D+) $(\1: دینار الجزایر, دینار الجزایر, سانتیم, سانتیم)
  176. DOP:(\D+) $(\1: پزو دومینیکن, پزو دومینیکن, سنتاوو, سنتاوو)
  177. CZK:(\D+) $(\1: کرونای چک, کرونای چک, هالر, هالر)
  178. CUP:(\D+) $(\1: پزوی کوبا, پزوی کوبا, سنتاوو, سنتاوو)
  179. CRC:(\D+) $(\1: کولون کاستاریکا, کولون کاستاریکا, سنتیمو, سنتیمو)
  180. COP:(\D+) $(\1: پزو کلمبیا, پزو کلمبیا, سنتاوو, سنتاوو)
  181. CNY:(\D+) $(\1: رنمینبی, رنمینبی, جیائو, جیائو)
  182. CLP:(\D+) $(\1: پزو شیلی, پزو شیلی, سنتاوو, سنتاوو)
  183. CHF:(\D+) $(\1: فرانک سوئیس, فرانک سوئیس, سانتیم, سانتیم)
  184. CDF:(\D+) $(\1: فرانک کنگو, فرانک کنگو, سانتیم, سانتیم)
  185. CAD:(\D+) $(\1: دلار کانادا, دلار کانادا, سنت, سنت)
  186. BYN:(\D+) $(\1: روبل بلاروس, روبل بلاروس, کاپیکا, کاپیکا)
  187. BWP:(\D+) $(\1: پولای بوتسوانا, پولای بوتسوانا, تیب, تیب)
  188. BRL:(\D+) $(\1: رئال برزیل, رئال برزیل, سنتاوو, سنتاوو)
  189. BOB:(\D+) $(\1: بولیویانو بولیوی, بولیویانو بولیوی, سنتاوو, سنتاوو)
  190. BIF:(\D+) $(\1: فرانک بوروندی, فرانک بوروندی, سانتیم, سانتیم)
  191. BDT:(\D+) $(\1: تاکا بنگلادش, تاکا بنگلادش, پیسه, پیسه)
  192. AZN:(\D+) $(\1: منات آذربایجان, منات آذربایجان, گپیک, گپیک)
  193. AUD:(\D+) $(\1: دلار استرالیا, دلار استرالیا, سنت, سنت)
  194. ARS:(\D+) $(\1: پزو آرژانتین, پزو آرژانتین, سنتاوو, سنتاوو)
  195. AOA:(\D+) $(\1: کوانزای آنگولا, کوانزای آنگولا, سنتیمو, سنتیمو)
  196. AMD:(\D+) $(\1: درام ارمنستان, درام ارمنستان, لوما, لوما)
  197. ALL:(\D+) $(\1: لک آلبانی, لک آلبانی, کیندارکا, کیندارکا)
  198. AFN:(\D+) $(\1: افغانی افغانستان, افغانی افغانستان, پول, پول)
  199. "(JPY [-−]?\d+)[.,](\d\d)0" $1
  200. "(JPY [-−]?\d+[.,]\d\d)(\d)" $1 $2 rin
  201. "([A-Z]{3}) ([-−]?1)([.,]00?)?" $2$(\1:us)
  202. "([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2$(\1:up)
  203. "(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
  204. "(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen
  205. "((MGA|MRO) [-−]?\d+)[.,]0" $1
  206. "((MGA|MRO) [-−]?\d+)[.,]2" $1 و |$(1)$(\2:ss)
  207. "((MGA|MRO) [-−]?\d+)[.,]4" $1 و |$(2)$(\2:sp)
  208. "((MGA|MRO) [-−]?\d+)[.,]6" $1 و |$(3)$(\2:sp)
  209. "((MGA|MRO) [-−]?\d+)[.,]8" $1 و |$(4)$(\2:sp)
  210. "(([A-Z]{3}) [-−]?\d+)[.,](01)" $1 و |$(1)$(\2:ss)
  211. "(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 و |$(\30)$(\2:sp)
  212. "(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 و |$3$(\2:sp)
  213. == money ==
  214. "(JPY [-−]?\d+)[.,](\d\d)0" $1
  215. "(JPY [-−]?\d+[.,]\d\d)(\d)" $1 $2 rin
  216. "([A-Z]{3}) ([-−]?1)([.,]00?)?" $2$(\1:us)
  217. "([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2$(\1:up)
  218. "(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
  219. "(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen
  220. "(MGA|MRO) ([-−]?\d+)[.,]0" $2$(\1:us)
  221. "(MGA|MRO) ([-−]?\d+)[.,]2" $2 و 1/5$(\1:us)
  222. "(MGA|MRO) ([-−]?\d+)[.,]4" $2 و 2/5$(\1:up)
  223. "(MGA|MRO) ([-−]?\d+)[.,]6" $2 و 3/5$(\1:up)
  224. "(MGA|MRO) ([-−]?\d+)[.,]8" $2 و 4/5$(\1:up)
  225. "([A-Z]{3}) ([-−]?1)" $2$(\1:us)
  226. "([A-Z]{3}) ([-−]?\d+)" $2$(\1:up)
  227. "(([A-Z]{3}) ([-−]?\d+))[.,](01)" $3 و 1/100$(\2:us)
  228. "(([A-Z]{3}) ([-−]?\d+))[.,](\d)" $3 و \40/100$(\2:up)
  229. "(([A-Z]{3}) ([-−]?\d+))[.,](\d\d)" $3 و \4/100$(\2:up)
  230. "(([A-Z]{3}) ([-−]?\d+))[.,](\d\d\d)" $3 و \4/1000$(\2:up)
  231. == ordinal ==
  232. # convert to text, and recall to convert
  233. # cardinal names to ordinal ones
  234. ([-−]?\d+) $(ordinal |$1)
  235. (.*)سه \1سومین
  236. (.*) \1مین
  237. == ordinal-number ==
  238. (.*) \1مین
  239. == year ==
  240. (.*) \1
  241. == help ==
  242. "" $(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)
  243. "(ordinal(-number)?|USD)" \1: $(\1 1), $(\1 2), $(\1 3)\n