farsifu 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/iran/iran.rb ADDED
@@ -0,0 +1,314 @@
1
+ # encoding: utf-8
2
+
3
+ # Defines some data structures related to Iran
4
+ # ==== Provinces
5
+ # An array of hashes with information about Iran's provinces. has these keys:
6
+ # [:name] string in Persian
7
+ # [:eng_name] string in English
8
+ # [:capital] string in Persian
9
+ # [:eng_capital] string in English
10
+ # [:counties] array of county names in Persian
11
+ #
12
+ # ==== Countries
13
+ # An array of hashes of the name of countries in the world in Persian and Eglish. has these keys:
14
+ # [:iso2] two character code of the country
15
+ # [:en] English name
16
+ # [:fa] Persian name
17
+ module Iran
18
+
19
+ # :stopdoc:
20
+ Provinces = [
21
+ {:name => "آذربایجان شرقی" , :eng_name => "Azerbaijan, East", :capital => "تبریز", :eng_capital => "Tabriz", :counties => ["آذرشهر", "اسکو", "اهر", "بستان‌آباد", "بناب", "تبریز", "جلفا", "چاراویماق", "سراب", "شبستر", "عجب‌شیر", "کلیبر", "مراغه", "مرند", "ملکان", "میانه", "ورزقان", "هریس", "هشترود"]},
22
+ {:name => "آذربایجان غربی" , :eng_name => "Azerbaijan, West", :capital => "ارومیه", :eng_capital => "Urmia", :counties => ["ارومیه", "اشنویه", "بوکان", "پلدشت", "پیرانشهر", "تکاب", "چالدران", "چایپاره", "خوی", "سردشت", "سلماس", "شاهین‌دژ", "شوط", "ماکو", "مهاباد", "میاندوآب", "نقده"]},
23
+ {:name => "اردبیل" , :eng_name => "Ardabil", :capital => "اردبیل", :eng_capital => "Ardabil", :counties => ["اردبیل", "بیله‌سوار", "پارس‌آباد", "خلخال", "سرعین", "کوثر", "گرمی", "مشگین‌شهر", "نمین", "نیر"]},
24
+ {:name => "اصفهان" , :eng_name => "Isfahan", :capital => "اصفهان", :eng_capital => "Isfahan", :counties => ["اردستان", "اصفهان", "برخوار", "تیران و کرون", "چادگان", "خمینی‌شهر", "خوانسار", "خور و بیابانک", "سمیرم", "شاهین‌شهر و میمه", "شهرضا", "دهاقان", "فریدن", "فریدون‌شهر", "فلاورجان", "كاشان", "گلپایگان", "لنجان", "مبارکه", "نایین", "نجف‌آباد", "نطنز"]},
25
+ {:name => "ایلام" , :eng_name => "Ilam", :capital => "ایلام", :eng_capital => "Ilam", :counties => ["آبدانان", "ایلام", "ایوان", "دره‌شهر", "دهلران", "شیروان و چرداول", "ملکشاهی", "مهران"]},
26
+ {:name => "بوشهر" , :eng_name => "Bushehr", :capital => "بوشهر", :eng_capital => "Bushehr", :counties => ["بوشهر", "تنگستان", "جم", "دشتستان", "دشتی", "دیر", "دیلم", "کنگان", "گناوه"]},
27
+ {:name => "تهران" , :eng_name => "Tehran", :capital => "تهران", :eng_capital => "Tehran", :counties => ["اسلام‌شهر", "پاکدشت", "تهران", "دماوند", "رباط‌کریم", "ری", "ساوجبلاغ", "شمیرانات", "شهریار", "فیروزکوه", "قدس", "کرج", "ملارد", "نظرآباد", "ورامین"]},
28
+ {:name => "چهارمحال و بختیاری" , :eng_name => "Chahar Mahaal and Bakhtiari",:capital => "شهرکرد", :eng_capital => "Shahrekord", :counties => ["اردل", "بروجن", "شهرکرد", "فارسان", "کوهرنگ", "کیار", "لردگان"]},
29
+ {:name => "خراسان جنوبی" , :eng_name => "Khorasan, South", :capital => "بیرجند", :eng_capital => "Birjand", :counties => ["بشرویه", "بیرجند", "درمیان", "سرایان", "سربیشه", "فردوس", "قائنات", "نهبندان"]},
30
+ {:name => "خراسان رضوی" , :eng_name => "Khorasan, Razavi", :capital => "مشهد", :eng_capital => "Mashhad", :counties => ["بردسکن", "بجستان", "تایباد", "تخت‌جلگه", "تربت جام", "تربت حیدریه", "چناران", "جغتای", "جوین", "خلیل‌آباد", "خواف", "درگز", "رشتخوار", "زاوه", "سبزوار", "سرخس", "فریمان", "قوچان", "طرقبه و شاندیز", "کاشمر", "کلات", "گناباد", "مشهد", "مه‌ولات", "نیشابور"]},
31
+ {:name => "خراسان شمالی" , :eng_name => "Khorasan, North", :capital => "بجنورد", :eng_capital => "Bojnourd", :counties => ["اسفراین", "بجنورد", "جاجرم", "شیروان", "فاروج", "گرمه", "مانه و سملقان"]},
32
+ {:name => "خوزستان" , :eng_name => "Khuzestan", :capital => "اهواز", :eng_capital => "Ahvaz", :counties => ["آبادان", "امیدیه", "اندیکا", "اندیمشک", "اهواز", "ایذه", "باغ‌ملک", "بهبهان", "خرمشهر", "دزفول", "دشت آزادگان", "رامشیر", "رامهرمز", "شادگان", "شوش", "شوشتر", "گتوند", "لالی", "ماهشهر", "مسجدسلیمان", "هفتگل", "هندیجان", "هویزه"]},
33
+ {:name => "زنجان" , :eng_name => "Zanjan", :capital => "زنجان", :eng_capital => "Zanjan", :counties => ["ابهر", "ایجرود", "خدابنده", "خرمدره", "زنجان", "طارم", "ماه‌نشان"]},
34
+ {:name => "سمنان" , :eng_name => "Semnan", :capital => "سمنان", :eng_capital => "Semnan", :counties => ["دامغان", "سمنان", "شاهرود", "گرمسار", "مهدی‌شهر"]},
35
+ {:name => "سیستان و بلوچستان" , :eng_name => "Sistan and Baluchistan", :capital => "زاهدان", :eng_capital => "Zahedan", :counties => ["ایرانشهر", "چابهار", "خاش", "دلگان", "زابل", "زابلی", "زاهدان", "زهک", "سراوان", "سرباز", "سیب و سوران", "کنارک", "نیک‌شهر", "هیرمند"]},
36
+ {:name => "فارس" , :eng_name => "Fars", :capital => "شیراز", :eng_capital => "Shiraz", :counties => ["آباده", "ارسنجان", "استهبان", "اقلید", "بوانات", "پاسارگاد", "جهرم", "خرم‌بید", "خنج", "داراب", "رستم", "زرین‌دشت", "سپیدان", "سروستان", "شیراز", "فراشبند", "فسا", "فیروزآباد", "قیر و کارزین", "کازرون", "گراش", "لارستان", "لامرد", "مرودشت", "ممسنی", "مهر", "نی‌ریز"]},
37
+ {:name => "قزوین" , :eng_name => "Qazvin", :capital => "قزوین", :eng_capital => "Qazvin", :counties => ["آبیک", "البرز", "بویین‌زهرا", "تاکستان", "قزوین"]},
38
+ {:name => "قم" , :eng_name => "Qom", :capital => "قم", :eng_capital => "Qom", :counties => ["قم"]},
39
+ {:name => "کردستان" , :eng_name => "Kurdistan", :capital => "سنندج", :eng_capital => "Sanandaj", :counties => ["بانه", "بیجار", "دهگلان", "دیواندره", "سروآباد", "سقز", "سنندج", "قروه", "کامیاران", "مریوان"]},
40
+ {:name => "کرمان" , :eng_name => "Kerman", :capital => "کرمان", :eng_capital => "Kerman", :counties => ["بافت", "بردسیر", "بم", "جیرفت", "رابر", "راور", "رفسنجان", "رودبار جنوب", "زرند", "سیرجان", "شهر بابک", "عنبرآباد", "فهرج", "قلعه گنج", "کرمان", "کوهبنان", "کهنوج", "منوجان"]},
41
+ {:name => "کرمانشاه" , :eng_name => "Kermanshah", :capital => "کرمانشاه",:eng_capital => "Kermanshah", :counties => ["اسلام‌آباد غرب", "پاوه", "ثلاث باباجانی", "جوانرود", "دالاهو", "روانسر", "سرپل ذهاب", "سنقر", "صحنه", "قصر شیرین", "کرمانشاه", "کنگاور", "گیلان غرب", "هرسین"]},
42
+ {:name => "کهگیلویه و بویراحمد", :eng_name => "Kohgiluyeh and Boyer-Ahmad", :capital => "یاسوج", :eng_capital => "Yasuj", :counties => ["بویراحمد", "بهمئی", "دنا", "کهگیلویه", "گچساران"]},
43
+ {:name => "گلستان" , :eng_name => "Golestan", :capital => "گرگان", :eng_capital => "Gorgan", :counties => ["آزادشهر", "آق‌قلا", "بندر گز", "ترکمن", "رامیان", "علی‌آباد", "کردکوی", "کلاله", "گرگان", "گنبد کاووس", "مراوه‌تپه", "مینودشت"]},
44
+ {:name => "گیلان" , :eng_name => "Gilan", :capital => "رشت", :eng_capital => "Rasht", :counties => ["آستارا", "آستانه اشرفیه", "املش", "بندر انزلی", "رشت", "رضوان‌شهر", "رودبار زیتون", "رودسر", "سیاهکل", "شفت", "صومعه‌سرا", "طوالش", "فومن", "لاهیجان", "لنگرود", "ماسال"]},
45
+ {:name => "لرستان" , :eng_name => "Lorestan", :capital => "خرم آباد",:eng_capital => "Khorramabad", :counties => ["ازنا", "الیگودرز", "بروجرد", "پل‌دختر", "خرم‌آباد", "دورود", "دوره", "دلفان", "سلسله", "کوهدشت"]},
46
+ {:name => "مازندران" , :eng_name => "Mazandaran", :capital => "ساری", :eng_capital => "Sari", :counties => ["آمل", "بابل", "بابلسر", "بهشهر", "تنکابن", "جویبار", "چالوس", "رامسر", "ساری", "سوادکوه", "فریدون‌کنار", "قائم‌شهر", "گلوگاه", "محمودآباد", "نکا", "نور", "نوشهر"]},
47
+ {:name => "مرکزی" , :eng_name => "Markazi", :capital => "اراک", :eng_capital => "Arak", :counties => ["آشتیان", "اراک", "تفرش", "خمین", "خنداب", "دلیجان", "زرندیه", "ساوه", "شازند", "کمیجان", "محلات"]},
48
+ {:name => "هرمزگان" , :eng_name => "Hormozgan", :capital => "بندرعباس",:eng_capital => "Bandar Abbas",:counties => ["ابوموسی", "بستک", "بندر عباس", "بندر لنگه", "پارسیان", "جاسک", "حاجی‌آباد", "خمیر", "رودان", "قشم", "میناب"]},
49
+ {:name => "همدان" , :eng_name => "Hamadan", :capital => "همدان", :eng_capital => "Hamadan", :counties => ["اسدآباد", "بهار", "تویسرکان", "رزن", "فامنین", "کبودرآهنگ", "ملایر", "نهاوند", "همدان"]},
50
+ {:name => "یزد" , :eng_name => "Yazd", :capital => "یزد", :eng_capital => "Yazd", :counties => ["ابرکوه", "اردکان", "بافق", "بهاباد", "تفت", "خاتم", "صدوق", "طبس", "مهریز", "میبد", "یزد"]},
51
+ ]
52
+
53
+ Countries = [
54
+ { :iso2 => 'AC', :fa => 'جزایر آسنسیون', :en => 'Ascension Island' },
55
+ { :iso2 => 'AD', :fa => 'آندورا', :en => 'Andorra' },
56
+ { :iso2 => 'AE', :fa => 'امارات متحدهٔ عربی', :en => 'United Arab Emirates' },
57
+ { :iso2 => 'AF', :fa => 'افغانستان', :en => 'Afghanistan' },
58
+ { :iso2 => 'AG', :fa => 'آنتيگوآ و باربودا', :en => 'Antigua and Barbuda' },
59
+ { :iso2 => 'AI', :fa => 'آنگیل', :en => 'Anguilla' },
60
+ { :iso2 => 'AL', :fa => 'آلبانی', :en => 'Albania' },
61
+ { :iso2 => 'AM', :fa => 'ارمنستان', :en => 'Armenia' },
62
+ { :iso2 => 'AN', :fa => 'آنتیل هلند', :en => 'Netherlands Antilles' },
63
+ { :iso2 => 'AO', :fa => 'آنگولا', :en => 'Angola' },
64
+ { :iso2 => 'AQ', :fa => 'قطب جنوب', :en => 'Antarctica' },
65
+ { :iso2 => 'AR', :fa => 'آرژانتین', :en => 'Argentina' },
66
+ { :iso2 => 'AS', :fa => 'ساموای امریکا', :en => 'American Samoa' },
67
+ { :iso2 => 'AT', :fa => 'اتریش', :en => 'Austria' },
68
+ { :iso2 => 'AU', :fa => 'استرالیا', :en => 'Australia' },
69
+ { :iso2 => 'AW', :fa => 'آروبا', :en => 'Aruba' },
70
+ { :iso2 => 'AX', :fa => 'جزایر آلاند', :en => 'Åland Islands' },
71
+ { :iso2 => 'AZ', :fa => 'جمهوری آذربایجان', :en => 'Azerbaijan' },
72
+ { :iso2 => 'BA', :fa => 'بوسنی و هرزگوین', :en => 'Bosnia and Herzegovina' },
73
+ { :iso2 => 'BB', :fa => 'باربادوس', :en => 'Barbados' },
74
+ { :iso2 => 'BD', :fa => 'بنگلادش', :en => 'Bangladesh' },
75
+ { :iso2 => 'BE', :fa => 'بلژیک', :en => 'Belgium' },
76
+ { :iso2 => 'BF', :fa => 'بورکینافاسو', :en => 'Burkina Faso' },
77
+ { :iso2 => 'BG', :fa => 'بلغارستان', :en => 'Bulgaria' },
78
+ { :iso2 => 'BH', :fa => 'بحرین', :en => 'Bahrain' },
79
+ { :iso2 => 'BI', :fa => 'بروندی', :en => 'Burundi' },
80
+ { :iso2 => 'BJ', :fa => 'بنین', :en => 'Benin' },
81
+ { :iso2 => 'BL', :fa => 'سنت بارتلیمی', :en => 'Saint Barthélemy' },
82
+ { :iso2 => 'BM', :fa => 'برمودا', :en => 'Bermuda' },
83
+ { :iso2 => 'BN', :fa => 'برونئی', :en => 'Brunei' },
84
+ { :iso2 => 'BO', :fa => 'بولیوی', :en => 'Bolivia' },
85
+ { :iso2 => 'BR', :fa => 'برزیل', :en => 'Brazil' },
86
+ { :iso2 => 'BS', :fa => 'باهاما', :en => 'Bahamas' },
87
+ { :iso2 => 'BT', :fa => 'بوتان', :en => 'Bhutan' },
88
+ { :iso2 => 'BV', :fa => 'جزیره بووت', :en => 'Bouvet Island' },
89
+ { :iso2 => 'BW', :fa => 'بوتسوانا', :en => 'Botswana' },
90
+ { :iso2 => 'BY', :fa => 'بیلوروسی', :en => 'Belarus' },
91
+ { :iso2 => 'BZ', :fa => 'بلیز', :en => 'Belize' },
92
+ { :iso2 => 'CA', :fa => 'کانادا', :en => 'Canada' },
93
+ { :iso2 => 'CC', :fa => 'جزایر کوکوس', :en => 'Cocos [Keeling] Islands' },
94
+ { :iso2 => 'CD', :fa => 'کنگو - جمهوری دموکراتیک', :en => 'Congo [DRC]' },
95
+ { :iso2 => 'CF', :fa => 'جمهوری افریقای مرکزی', :en => 'Central African Republic' },
96
+ { :iso2 => 'CG', :fa => 'CG', :en => 'Congo [Republic]' },
97
+ { :iso2 => 'CH', :fa => 'سوئیس', :en => 'Switzerland' },
98
+ { :iso2 => 'CI', :fa => 'ساحل عاج', :en => 'Ivory Coast' },
99
+ { :iso2 => 'CK', :fa => 'جزایر کوک', :en => 'Cook Islands' },
100
+ { :iso2 => 'CL', :fa => 'شیلی', :en => 'Chile' },
101
+ { :iso2 => 'CM', :fa => 'کامرون', :en => 'Cameroon' },
102
+ { :iso2 => 'CN', :fa => 'چین', :en => 'China' },
103
+ { :iso2 => 'CO', :fa => 'کلمبیا', :en => 'Colombia' },
104
+ { :iso2 => 'CP', :fa => 'جزایر کلیپرتون', :en => 'Clipperton Island' },
105
+ { :iso2 => 'CR', :fa => 'کاستاریکا', :en => 'Costa Rica' },
106
+ { :iso2 => 'CS', :fa => 'صربستان و مونته‌نگرو', :en => 'Serbia and Montenegro' },
107
+ { :iso2 => 'CU', :fa => 'کوبا', :en => 'Cuba' },
108
+ { :iso2 => 'CV', :fa => 'کیپ ورد', :en => 'Cape Verde' },
109
+ { :iso2 => 'CX', :fa => 'جزیرهٔ کریسمس', :en => 'Christmas Island' },
110
+ { :iso2 => 'CY', :fa => 'قبرس', :en => 'Cyprus' },
111
+ { :iso2 => 'CZ', :fa => 'جمهوری چک', :en => 'Czech Republic' },
112
+ { :iso2 => 'DE', :fa => 'آلمان', :en => 'Germany' },
113
+ { :iso2 => 'DG', :fa => 'دیه گو گارسیا', :en => 'Diego Garcia' },
114
+ { :iso2 => 'DJ', :fa => 'جیبوتی', :en => 'Djibouti' },
115
+ { :iso2 => 'DK', :fa => 'دانمارک', :en => 'Denmark' },
116
+ { :iso2 => 'DM', :fa => 'دومینیک', :en => 'Dominica' },
117
+ { :iso2 => 'DO', :fa => 'جمهوری دومینیکن', :en => 'Dominican Republic' },
118
+ { :iso2 => 'DZ', :fa => 'الجزایر', :en => 'Algeria' },
119
+ { :iso2 => 'EA', :fa => 'کوتا و میللا', :en => 'Ceuta and Melilla' },
120
+ { :iso2 => 'EC', :fa => 'اكوادور', :en => 'Ecuador' },
121
+ { :iso2 => 'EE', :fa => 'استونی', :en => 'Estonia' },
122
+ { :iso2 => 'EG', :fa => 'مصر', :en => 'Egypt' },
123
+ { :iso2 => 'EH', :fa => 'صحرای غربی', :en => 'Western Sahara' },
124
+ { :iso2 => 'ER', :fa => 'اریتره', :en => 'Eritrea' },
125
+ { :iso2 => 'ES', :fa => 'اسپانیا', :en => 'Spain' },
126
+ { :iso2 => 'ET', :fa => 'اتیوپی', :en => 'Ethiopia' },
127
+ { :iso2 => 'EU', :fa => 'EU', :en => 'EU' },
128
+ { :iso2 => 'FI', :fa => 'فنلاند', :en => 'Finland' },
129
+ { :iso2 => 'FJ', :fa => 'فیجی', :en => 'Fiji' },
130
+ { :iso2 => 'FK', :fa => 'جزایر فالکلند -ایسلاس مالویناس', :en => 'Falkland Islands [Islas Malvinas]' },
131
+ { :iso2 => 'FM', :fa => 'میکرونزی', :en => 'Micronesia' },
132
+ { :iso2 => 'FO', :fa => 'جزایر فارو', :en => 'Faroe Islands' },
133
+ { :iso2 => 'FR', :fa => 'فرانسه', :en => 'France' },
134
+ { :iso2 => 'GA', :fa => 'گابون', :en => 'Gabon' },
135
+ { :iso2 => 'GB', :fa => 'بریتانیا', :en => 'United Kingdom' },
136
+ { :iso2 => 'GD', :fa => 'گرانادا', :en => 'Grenada' },
137
+ { :iso2 => 'GE', :fa => 'گرجستان', :en => 'Georgia' },
138
+ { :iso2 => 'GF', :fa => 'گویان فرانسه', :en => 'French Guiana' },
139
+ { :iso2 => 'GG', :fa => 'گرنزی', :en => 'Guernsey' },
140
+ { :iso2 => 'GH', :fa => 'غنا', :en => 'Ghana' },
141
+ { :iso2 => 'GI', :fa => 'جبل‌الطارق', :en => 'Gibraltar' },
142
+ { :iso2 => 'GL', :fa => 'گرینلند', :en => 'Greenland' },
143
+ { :iso2 => 'GM', :fa => 'گامبیا', :en => 'Gambia' },
144
+ { :iso2 => 'GN', :fa => 'گینه', :en => 'Guinea' },
145
+ { :iso2 => 'GP', :fa => 'جزیره گوادلوپ', :en => 'Guadeloupe' },
146
+ { :iso2 => 'GQ', :fa => 'گینهٔ استوایی', :en => 'Equatorial Guinea' },
147
+ { :iso2 => 'GR', :fa => 'یونان', :en => 'Greece' },
148
+ { :iso2 => 'GS', :fa => 'جورجیای جنوبی و جزایر ساندویچ جنوبی', :en => 'South Georgia and the South Sandwich Islands' },
149
+ { :iso2 => 'GT', :fa => 'گواتمالا', :en => 'Guatemala' },
150
+ { :iso2 => 'GU', :fa => 'گوام', :en => 'Guam' },
151
+ { :iso2 => 'GW', :fa => 'گینهٔ بیسائو', :en => 'Guinea-Bissau' },
152
+ { :iso2 => 'GY', :fa => 'گویان', :en => 'Guyana' },
153
+ { :iso2 => 'HK', :fa => 'هنگ‌ کنگ', :en => 'Hong Kong' },
154
+ { :iso2 => 'HM', :fa => 'جزیرهٔ هرد و جزایر مک‌دونالد', :en => 'Heard Island and McDonald Islands' },
155
+ { :iso2 => 'HN', :fa => 'هندوراس', :en => 'Honduras' },
156
+ { :iso2 => 'HR', :fa => 'کرواسی', :en => 'Croatia' },
157
+ { :iso2 => 'HT', :fa => 'هاییتی', :en => 'Haiti' },
158
+ { :iso2 => 'HU', :fa => 'مجارستان', :en => 'Hungary' },
159
+ { :iso2 => 'IC', :fa => 'جزایر قناری', :en => 'Canary Islands' },
160
+ { :iso2 => 'ID', :fa => 'اندونزی', :en => 'Indonesia' },
161
+ { :iso2 => 'IE', :fa => 'ایرلند', :en => 'Ireland' },
162
+ { :iso2 => 'IL', :fa => 'اسرائیل', :en => 'Israel' },
163
+ { :iso2 => 'IM', :fa => 'جزیرهٔ مان', :en => 'Isle of Man' },
164
+ { :iso2 => 'IN', :fa => 'هند', :en => 'India' },
165
+ { :iso2 => 'IO', :fa => 'مستعمره‌های بریتانیا در اقیانوس هند', :en => 'British Indian Ocean Territory' },
166
+ { :iso2 => 'IQ', :fa => 'عراق', :en => 'Iraq' },
167
+ { :iso2 => 'IR', :fa => 'ایران', :en => 'Iran' },
168
+ { :iso2 => 'IS', :fa => 'ایسلند', :en => 'Iceland' },
169
+ { :iso2 => 'IT', :fa => 'ایتالیا', :en => 'Italy' },
170
+ { :iso2 => 'JE', :fa => 'جرسی', :en => 'Jersey' },
171
+ { :iso2 => 'JM', :fa => 'جامائیکا', :en => 'Jamaica' },
172
+ { :iso2 => 'JO', :fa => 'اردن', :en => 'Jordan' },
173
+ { :iso2 => 'JP', :fa => 'ژاپن', :en => 'Japan' },
174
+ { :iso2 => 'KE', :fa => 'کنیا', :en => 'Kenya' },
175
+ { :iso2 => 'KG', :fa => 'قرقیزستان', :en => 'Kyrgyzstan' },
176
+ { :iso2 => 'KH', :fa => 'کامبوج', :en => 'Cambodia' },
177
+ { :iso2 => 'KI', :fa => 'کریباتی', :en => 'Kiribati' },
178
+ { :iso2 => 'KM', :fa => 'کومورو', :en => 'Comoros' },
179
+ { :iso2 => 'KN', :fa => 'سنت کیتس و نویس', :en => 'Saint Kitts and Nevis' },
180
+ { :iso2 => 'KP', :fa => 'کره شمالی', :en => 'North Korea' },
181
+ { :iso2 => 'KR', :fa => 'کرهٔ جنوبی', :en => 'South Korea' },
182
+ { :iso2 => 'KW', :fa => 'کویت', :en => 'Kuwait' },
183
+ { :iso2 => 'KY', :fa => 'جزایر کِیمن', :en => 'Cayman Islands' },
184
+ { :iso2 => 'KZ', :fa => 'قزاقستان', :en => 'Kazakhstan' },
185
+ { :iso2 => 'LA', :fa => 'لائوس', :en => 'Laos' },
186
+ { :iso2 => 'LB', :fa => 'لبنان', :en => 'Lebanon' },
187
+ { :iso2 => 'LC', :fa => 'سنت لوسیا', :en => 'Saint Lucia' },
188
+ { :iso2 => 'LI', :fa => 'لیختن‌اشتاین', :en => 'Liechtenstein' },
189
+ { :iso2 => 'LK', :fa => 'سريلانكا', :en => 'Sri Lanka' },
190
+ { :iso2 => 'LR', :fa => 'لیبریا', :en => 'Liberia' },
191
+ { :iso2 => 'LS', :fa => 'لسوتو', :en => 'Lesotho' },
192
+ { :iso2 => 'LT', :fa => 'لیتوانی', :en => 'Lithuania' },
193
+ { :iso2 => 'LU', :fa => 'لوکزامبورگ', :en => 'Luxembourg' },
194
+ { :iso2 => 'LV', :fa => 'لتونی', :en => 'Latvia' },
195
+ { :iso2 => 'LY', :fa => 'لیبی', :en => 'Libya' },
196
+ { :iso2 => 'MA', :fa => 'مراکش', :en => 'Morocco' },
197
+ { :iso2 => 'MC', :fa => 'موناکو', :en => 'Monaco' },
198
+ { :iso2 => 'MD', :fa => 'مولداوی', :en => 'Moldova' },
199
+ { :iso2 => 'ME', :fa => 'مونته‌نگرو', :en => 'Montenegro' },
200
+ { :iso2 => 'MF', :fa => 'سنت مارتین', :en => 'Saint Martin' },
201
+ { :iso2 => 'MG', :fa => 'ماداگاسکار', :en => 'Madagascar' },
202
+ { :iso2 => 'MH', :fa => 'جزایر مارشال', :en => 'Marshall Islands' },
203
+ { :iso2 => 'MK', :fa => 'مقدونیه- فایروم', :en => 'Macedonia [FYROM]' },
204
+ { :iso2 => 'ML', :fa => 'مالی', :en => 'Mali' },
205
+ { :iso2 => 'MM', :fa => 'میانمار', :en => 'Myanmar [Burma]' },
206
+ { :iso2 => 'MN', :fa => 'مغولستان', :en => 'Mongolia' },
207
+ { :iso2 => 'MO', :fa => 'ماکائو', :en => 'Macau' },
208
+ { :iso2 => 'MP', :fa => 'جزایر ماریانای شمالی', :en => 'Northern Mariana Islands' },
209
+ { :iso2 => 'MQ', :fa => 'مارتینیک', :en => 'Martinique' },
210
+ { :iso2 => 'MR', :fa => 'موریتانی', :en => 'Mauritania' },
211
+ { :iso2 => 'MS', :fa => 'مونت‌سرات', :en => 'Montserrat' },
212
+ { :iso2 => 'MT', :fa => 'مالت', :en => 'Malta' },
213
+ { :iso2 => 'MU', :fa => 'موریس', :en => 'Mauritius' },
214
+ { :iso2 => 'MV', :fa => 'مالدیو', :en => 'Maldives' },
215
+ { :iso2 => 'MW', :fa => 'مالاوی', :en => 'Malawi' },
216
+ { :iso2 => 'MX', :fa => 'مکزیک', :en => 'Mexico' },
217
+ { :iso2 => 'MY', :fa => 'مالزی', :en => 'Malaysia' },
218
+ { :iso2 => 'MZ', :fa => 'موزامبیک', :en => 'Mozambique' },
219
+ { :iso2 => 'NA', :fa => 'نامیبیا', :en => 'Namibia' },
220
+ { :iso2 => 'NC', :fa => 'کالدونیای جدید', :en => 'New Caledonia' },
221
+ { :iso2 => 'NE', :fa => 'نیجر', :en => 'Niger' },
222
+ { :iso2 => 'NF', :fa => 'جزیرهٔ نورفولک', :en => 'Norfolk Island' },
223
+ { :iso2 => 'NG', :fa => 'نیجریه', :en => 'Nigeria' },
224
+ { :iso2 => 'NI', :fa => 'نیکاراگوئه', :en => 'Nicaragua' },
225
+ { :iso2 => 'NL', :fa => 'هلند', :en => 'Netherlands' },
226
+ { :iso2 => 'NO', :fa => 'نروژ', :en => 'Norway' },
227
+ { :iso2 => 'NP', :fa => 'نپال', :en => 'Nepal' },
228
+ { :iso2 => 'NR', :fa => 'نائورو', :en => 'Nauru' },
229
+ { :iso2 => 'NU', :fa => 'نیوئه', :en => 'Niue' },
230
+ { :iso2 => 'NZ', :fa => 'زلاند نو', :en => 'New Zealand' },
231
+ { :iso2 => 'OM', :fa => 'عمان', :en => 'Oman' },
232
+ { :iso2 => 'PA', :fa => 'پاناما', :en => 'Panama' },
233
+ { :iso2 => 'PE', :fa => 'پرو', :en => 'Peru' },
234
+ { :iso2 => 'PF', :fa => 'پلی‌نزی فرانسه', :en => 'French Polynesia' },
235
+ { :iso2 => 'PG', :fa => 'پاپوا گینه نو', :en => 'Papua New Guinea' },
236
+ { :iso2 => 'PH', :fa => 'فیلیپین', :en => 'Philippines' },
237
+ { :iso2 => 'PK', :fa => 'پاكستان', :en => 'Pakistan' },
238
+ { :iso2 => 'PL', :fa => 'لهستان', :en => 'Poland' },
239
+ { :iso2 => 'PM', :fa => 'سنت پیر و میکلون', :en => 'Saint Pierre and Miquelon' },
240
+ { :iso2 => 'PN', :fa => 'پیتکایرن', :en => 'Pitcairn Islands' },
241
+ { :iso2 => 'PR', :fa => 'پورتو ریکو', :en => 'Puerto Rico' },
242
+ { :iso2 => 'PS', :fa => 'فلسطین', :en => 'Palestinian Territories' },
243
+ { :iso2 => 'PT', :fa => 'پرتغال', :en => 'Portugal' },
244
+ { :iso2 => 'PW', :fa => 'پالائو', :en => 'Palau' },
245
+ { :iso2 => 'PY', :fa => 'پاراگوئه', :en => 'Paraguay' },
246
+ { :iso2 => 'QA', :fa => 'قطر', :en => 'Qatar' },
247
+ { :iso2 => 'QO', :fa => 'بخش‌های دورافتادهٔ اقیانوسیه', :en => 'Outlying Oceania' },
248
+ { :iso2 => 'QU', :fa => 'اتحادیهٔ اروپا', :en => 'European Union' },
249
+ { :iso2 => 'RE', :fa => 'ریونیون', :en => 'Réunion' },
250
+ { :iso2 => 'RO', :fa => 'رومانی', :en => 'Romania' },
251
+ { :iso2 => 'RS', :fa => 'صربستان', :en => 'Serbia' },
252
+ { :iso2 => 'RU', :fa => 'روسیه', :en => 'Russia' },
253
+ { :iso2 => 'RW', :fa => 'رواندا', :en => 'Rwanda' },
254
+ { :iso2 => 'SA', :fa => 'عربستان', :en => 'Saudi Arabia' },
255
+ { :iso2 => 'SB', :fa => 'جزایر سلیمان', :en => 'Solomon Islands' },
256
+ { :iso2 => 'SC', :fa => 'سیشل', :en => 'Seychelles' },
257
+ { :iso2 => 'SD', :fa => 'سودان', :en => 'Sudan' },
258
+ { :iso2 => 'SE', :fa => 'سوئد', :en => 'Sweden' },
259
+ { :iso2 => 'SG', :fa => 'سنگاپور', :en => 'Singapore' },
260
+ { :iso2 => 'SH', :fa => 'سنت هلن', :en => 'Saint Helena' },
261
+ { :iso2 => 'SI', :fa => 'اسلوونی', :en => 'Slovenia' },
262
+ { :iso2 => 'SJ', :fa => 'جزیره های اسوالبارد و جان ماین', :en => 'Svalbard and Jan Mayen' },
263
+ { :iso2 => 'SK', :fa => 'اسلواکی', :en => 'Slovakia' },
264
+ { :iso2 => 'SL', :fa => 'سیرالئون', :en => 'Sierra Leone' },
265
+ { :iso2 => 'SM', :fa => 'سان مارینو', :en => 'San Marino' },
266
+ { :iso2 => 'SN', :fa => 'سنگال', :en => 'Senegal' },
267
+ { :iso2 => 'SO', :fa => 'سومالی', :en => 'Somalia' },
268
+ { :iso2 => 'SR', :fa => 'سورينام', :en => 'Suriname' },
269
+ { :iso2 => 'ST', :fa => 'سائو تومه و پرینسیپه', :en => 'São Tomé and Príncipe' },
270
+ { :iso2 => 'SV', :fa => 'السالوادور', :en => 'El Salvador' },
271
+ { :iso2 => 'SY', :fa => 'سوریه', :en => 'Syria' },
272
+ { :iso2 => 'SZ', :fa => 'سوازیلند', :en => 'Swaziland' },
273
+ { :iso2 => 'TA', :fa => 'تریستان دا سونا', :en => 'Tristan da Cunha' },
274
+ { :iso2 => 'TC', :fa => 'جزایر ترک و کایکوس', :en => 'Turks and Caicos Islands' },
275
+ { :iso2 => 'TD', :fa => 'چاد', :en => 'Chad' },
276
+ { :iso2 => 'TF', :fa => 'مستعمره‌های جنوبی فرانسه', :en => 'French Southern Territories' },
277
+ { :iso2 => 'TG', :fa => 'توگو', :en => 'Togo' },
278
+ { :iso2 => 'TH', :fa => 'تایلند', :en => 'Thailand' },
279
+ { :iso2 => 'TJ', :fa => 'تاجیکستان', :en => 'Tajikistan' },
280
+ { :iso2 => 'TK', :fa => 'توکلائو', :en => 'Tokelau' },
281
+ { :iso2 => 'TL', :fa => 'تیمور شرقی', :en => 'East Timor' },
282
+ { :iso2 => 'TM', :fa => 'ترکمنستان', :en => 'Turkmenistan' },
283
+ { :iso2 => 'TN', :fa => 'تونس', :en => 'Tunisia' },
284
+ { :iso2 => 'TO', :fa => 'تونگا', :en => 'Tonga' },
285
+ { :iso2 => 'TR', :fa => 'ترکیه', :en => 'Turkey' },
286
+ { :iso2 => 'TT', :fa => 'ترینیداد و توباگو', :en => 'Trinidad and Tobago' },
287
+ { :iso2 => 'TV', :fa => 'تووالو', :en => 'Tuvalu' },
288
+ { :iso2 => 'TW', :fa => 'تایوان', :en => 'Taiwan' },
289
+ { :iso2 => 'TZ', :fa => 'تانزانیا', :en => 'Tanzania' },
290
+ { :iso2 => 'UA', :fa => 'اوکراین', :en => 'Ukraine' },
291
+ { :iso2 => 'UG', :fa => 'اوگاندا', :en => 'Uganda' },
292
+ { :iso2 => 'UM', :fa => 'جزایر کوچک دورافتادهٔ ایالات متحده', :en => 'U.S. Minor Outlying Islands' },
293
+ { :iso2 => 'US', :fa => 'ایالات متحدهٔ امریکا', :en => 'United States' },
294
+ { :iso2 => 'UY', :fa => 'اروگوئه', :en => 'Uruguay' },
295
+ { :iso2 => 'UZ', :fa => 'ازبکستان', :en => 'Uzbekistan' },
296
+ { :iso2 => 'VA', :fa => 'واتیکان', :en => 'Vatican City' },
297
+ { :iso2 => 'VC', :fa => 'سنت وینسنت و گرنادین', :en => 'Saint Vincent and the Grenadines' },
298
+ { :iso2 => 'VE', :fa => 'ونزوئلا', :en => 'Venezuela' },
299
+ { :iso2 => 'VG', :fa => 'جزایر ویرجین بریتانیا', :en => 'British Virgin Islands' },
300
+ { :iso2 => 'VI', :fa => 'جزایر ویرجین ایالات متحده', :en => 'U.S. Virgin Islands' },
301
+ { :iso2 => 'VN', :fa => 'ویتنام', :en => 'Vietnam' },
302
+ { :iso2 => 'VU', :fa => 'وانواتو', :en => 'Vanuatu' },
303
+ { :iso2 => 'WF', :fa => 'والیس و فیوتونا', :en => 'Wallis and Futuna' },
304
+ { :iso2 => 'WS', :fa => 'ساموا', :en => 'Samoa' },
305
+ { :iso2 => 'YE', :fa => 'یمن', :en => 'Yemen' },
306
+ { :iso2 => 'YT', :fa => 'مایوت', :en => 'Mayotte' },
307
+ { :iso2 => 'ZA', :fa => 'افریقای جنوبی', :en => 'South Africa' },
308
+ { :iso2 => 'ZM', :fa => 'زامبیا', :en => 'Zambia' },
309
+ { :iso2 => 'ZW', :fa => 'زیمبابوه', :en => 'Zimbabwe' },
310
+ { :iso2 => 'ZZ', :fa => 'ناحیهٔ نامشخص یا نامعتبر', :en => 'Unknown or Invalid Region' }
311
+
312
+ ]
313
+ # :startdoc:
314
+ end
data/spec/farsifu_spec.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
4
+ require "farsifu/punch"
4
5
 
5
6
  describe "Farsifu" do
6
7
 
@@ -0,0 +1,14 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe FarsiFu::Convert do
5
+ it "should convert english num to persian" do
6
+ number = FarsiFu::Convert.new(123)
7
+ number.to_farsi.should == '۱۲۳'
8
+ end
9
+
10
+ it "should convert persian num to english" do
11
+ number = FarsiFu::Convert.new('۱۲۳')
12
+ number.to_english.should == '123'
13
+ end
14
+ end
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+
3
+ describe Iran do
4
+
5
+ it "module should just work" do
6
+ Iran::Provinces.should be_a_kind_of Array
7
+ Iran::Countries.should be_a_kind_of Array
8
+ end
9
+
10
+ end
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe FarsiFu::NumToWord do
6
+ it "should be able to spell positive and negetive integers in Persian" do
7
+ number = FarsiFu::NumToWord.new(1024)
8
+ number.spell_farsi.should == "یک هزار و بیست و چهار"
9
+ number = FarsiFu::NumToWord.new(-2567023)
10
+ number.spell_farsi.should == "منفی دو میلیون و پانصد و شصت و هفت هزار و بیست و سه"
11
+ end
12
+
13
+ it "should be able to spell positive and negetive floats in Persian" do
14
+ number = FarsiFu::NumToWord.new(45.5)
15
+ number.spell_farsi.should == "چهل و پنج ممیز پنج دهم"
16
+ number = FarsiFu::NumToWord.new(7.53)
17
+ number.spell_farsi.should == "هفت ممیز پنجاه و سه صدم"
18
+ number = FarsiFu::NumToWord.new(0.163)
19
+ number.spell_farsi.should == "صفر ممیز صد و شصت و سه هزارم"
20
+ number = FarsiFu::NumToWord.new(-124.1)
21
+ number.spell_farsi.should == "منفی صد و بیست و چهار ممیز یک دهم"
22
+ number = FarsiFu::NumToWord.new(-0.999)
23
+ number.spell_farsi.should == "منفی صفر ممیز نهصد و نود و نه هزارم"
24
+ end
25
+
26
+ it "should be able to show first type of sequentional numbers to persian" do
27
+ nums = {0 => "صفر",1 => "اول", 3 => "سوم", 12 => "دوازدهم", 33 => "سی و سوم", 121=> "صد و بیست و یکم"}
28
+ nums.each do |k, v|
29
+ number = FarsiFu::NumToWord.new(k)
30
+ number.spell_ordinal_farsi.should == v
31
+ end
32
+ end
33
+
34
+ it "should be able to show second type of sequentional numbers to persian" do
35
+ nums = {0 => "صفر",1 => "اولین", 3 => "سومین", 12 => "دوازدهمین", 33 => "سی و سومین", 121=> "صد و بیست و یکمین"}
36
+ nums.each do |k, v|
37
+ number = FarsiFu::NumToWord.new(k)
38
+ number.spell_ordinal_farsi(true).should == v
39
+ end
40
+ end
41
+
42
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+ require "spec_helper"
3
+
4
+ describe FarsiFu::WordToNum do
5
+ let(:number) { "یک میلیون و دویست و سی و پنج هزار و چهارصد و سی و سه" }
6
+ let(:parser) { FarsiFu::WordToNum }
7
+ # it "should eliminate and form string" do
8
+ # parser.eliminate_and(number).should == "یک میلیون دویست سی پنج هزار چهارصد سی سه"
9
+ # end
10
+
11
+ # it "recognize power of ten" do
12
+ # parser.power_of_ten?("هزار").should be_true
13
+ # end
14
+
15
+ # it "checks if the number is divisible by thousand" do
16
+ # parser.divisible_by_thousand?(1000).should be_true
17
+ # end
18
+
19
+ # it "should make number array" do
20
+ # parser.make_integer_array(number).should == [1, 1000000, 200, 30, 5, 1000, 400, 30, 3]
21
+ # end
22
+
23
+ it "converts string to number" do
24
+ parser.new(number).to_number.should == 1235433
25
+ parser.new("صد و بیست و یک").to_number.should == 121
26
+ parser.new("هزار و چهل و پنج").to_number.should == 1045
27
+ parser.new("صد و دو هزار و هفتصد").to_number.should == 102700
28
+ parser.new(121).to_number.should == 121
29
+ end
30
+
31
+ it "works after punching into String class" do
32
+ "هزار و چهل و پنج".farsi_to_number == 1045
33
+ end
34
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,5 +4,7 @@ require 'farsifu'
4
4
  require 'rspec'
5
5
 
6
6
  RSpec.configure do |config|
7
-
7
+ config.treat_symbols_as_metadata_keys_with_true_values = true
8
+ config.run_all_when_everything_filtered = true
9
+ config.filter_run :focus
8
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: farsifu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-28 00:00:00.000000000 Z
12
+ date: 2013-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: guard-rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
46
62
  description: a toolbox for developing ruby applications in Persian (Farsi) language,
47
63
  see readme file for features
48
64
  email: allen.bargi@gmail.com
@@ -55,13 +71,24 @@ files:
55
71
  - .gitignore
56
72
  - Gemfile
57
73
  - Gemfile.lock
74
+ - Guardfile
58
75
  - LICENSE
59
76
  - README.md
60
77
  - Rakefile
61
78
  - farsifu.gemspec
62
79
  - lib/farsifu.rb
80
+ - lib/farsifu/constants.rb
81
+ - lib/farsifu/convert.rb
82
+ - lib/farsifu/num_to_word.rb
83
+ - lib/farsifu/punch.rb
63
84
  - lib/farsifu/version.rb
85
+ - lib/farsifu/word_to_num.rb
86
+ - lib/iran/iran.rb
64
87
  - spec/farsifu_spec.rb
88
+ - spec/lib/convert_spec.rb
89
+ - spec/lib/iran_spec.rb
90
+ - spec/lib/num_to_word_spec.rb
91
+ - spec/lib/word_to_num_spec.rb
65
92
  - spec/spec_helper.rb
66
93
  homepage: http://github.com/aziz/farsifu
67
94
  licenses: []
@@ -91,4 +118,8 @@ summary: a toolbox for developing ruby applications in Persian (Farsi) language,
91
118
  readme file for features
92
119
  test_files:
93
120
  - spec/farsifu_spec.rb
121
+ - spec/lib/convert_spec.rb
122
+ - spec/lib/iran_spec.rb
123
+ - spec/lib/num_to_word_spec.rb
124
+ - spec/lib/word_to_num_spec.rb
94
125
  - spec/spec_helper.rb