Code

Ticket #13050: localflavor.bd.diff

File localflavor.bd.diff, 21.6 KB (added by nsmgr8, 4 years ago)
Line 
1Index: django/contrib/localflavor/bd/bd_divisions.py
2===================================================================
3--- django/contrib/localflavor/bd/bd_divisions.py       (revision 0)
4+++ django/contrib/localflavor/bd/bd_divisions.py       (revision 0)
5@@ -0,0 +1,576 @@
6+"""
7+List of Bangladesh Divisions, Districts and Upazilas/Thanas.
8+"""
9+
10+from django.utils.translation import ugettext_lazy as _
11+
12+
13+# Reference: http://www.statoids.com/ubd.html
14+
15+DIVISION_CHOICES = (
16+    ('BD.BA', _('Barisal')),
17+    ('BD.CG', _('Chittagong')),
18+    ('BD.DA', _('Dhaka')),
19+    ('BD.KH', _('Khulna')),
20+    ('BD.RS', _('Rajshahi')),
21+    ('BD.RP', _('Rangpur')),
22+    ('BD.SY', _('Sylhet')),
23+)
24+
25+# Reference: http://www.statoids.com/ybd.html
26+
27+DISTRICT_CHOICES = (
28+    ('BD.KH.BH', _('Bagerhat')),
29+    ('BD.CG.BD', _('Bandarban')),
30+    ('BD.BA.BG', _('Barguna')),
31+    ('BD.BA.BS', _('Barisal')),
32+    ('BD.BA.BL', _('Bhola')),
33+    ('BD.RS.BO', _('Bogra')),
34+    ('BD.CG.BB', _('Brahmanbaria')),
35+    ('BD.CG.CP', _('Chandpur')),
36+    ('BD.CG.CT', _('Chittagong')),
37+    ('BD.KH.CD', _('Chuadanga')),
38+    ('BD.CG.CM', _('Comilla')),
39+    ('BD.CG.CB', _("Cox's Bazar")),
40+    ('BD.DA.DH', _('Dhaka')),
41+    ('BD.RP.DJ', _('Dinajpur')),
42+    ('BD.DA.FR', _('Faridpur')),
43+    ('BD.CG.FN', _('Feni')),
44+    ('BD.RP.GB', _('Gaibandha')),
45+    ('BD.DA.GZ', _('Gazipur')),
46+    ('BD.DA.GG', _('Gopalganj')),
47+    ('BD.SY.HA', _('Habiganj')),
48+    ('BD.RS.JP', _('Jaipurhat')),
49+    ('BD.DA.JM', _('Jamalpur')),
50+    ('BD.KH.JS', _('Jessore')),
51+    ('BD.BA.JK', _('Jhalakati')),
52+    ('BD.KH.JN', _('Jhenaidah')),
53+    ('BD.CG.KG', _('Khagrachari')),
54+    ('BD.KH.KL', _('Khulna')),
55+    ('BD.DA.KS', _('Kishoreganj')),
56+    ('BD.RP.KR', _('Kurigram')),
57+    ('BD.KH.KU', _('Kushtia')),
58+    ('BD.CG.LK', _('Lakshmipur')),
59+    ('BD.RP.LL', _('Lalmonirhat')),
60+    ('BD.DA.MD', _('Madaripur')),
61+    ('BD.KH.MG', _('Magura')),
62+    ('BD.DA.MK', _('Manikganj')),
63+    ('BD.KH.ME', _('Meherpur')),
64+    ('BD.SY.MB', _('Moulvibazar')),
65+    ('BD.DA.MU', _('Munshiganj')),
66+    ('BD.DA.MM', _('Mymensingh')),
67+    ('BD.RS.NA', _('Naogaon')),
68+    ('BD.KH.NR', _('Narail')),
69+    ('BD.DA.NY', _('Narayanganj')),
70+    ('BD.DA.NS', _('Narsingdi')),
71+    ('BD.RS.NT', _('Natore')),
72+    ('BD.RS.NW', _('Nawabganj')),
73+    ('BD.DA.NK', _('Netrakona')),
74+    ('BD.RP.NP', _('Nilphamari')),
75+    ('BD.CG.NO', _('Noakhali')),
76+    ('BD.RS.PB', _('Pabna')),
77+    ('BD.RP.PN', _('Panchagarh')),
78+    ('BD.CG.PC', _('Parbattya Chattagram')),
79+    ('BD.BA.PT', _('Patuakhali')),
80+    ('BD.BA.PR', _('Pirojpur')),
81+    ('BD.DA.RB', _('Rajbari')),
82+    ('BD.RS.RS', _('Rajshahi')),
83+    ('BD.RP.RP', _('Rangpur')),
84+    ('BD.KH.ST', _('Satkhira')),
85+    ('BD.DA.SA', _('Shariatpur')),
86+    ('BD.DA.SP', _('Sherpur')),
87+    ('BD.RS.SR', _('Sirajganj')),
88+    ('BD.SY.SN', _('Sunamganj')),
89+    ('BD.SY.SL', _('Sylhet')),
90+    ('BD.DA.TA', _('Tangail')),
91+    ('BD.RP.TH', _('Thakurgaon')),
92+)
93+
94+# Reference: http://www.pmo.gov.bd/pmolib/maps/index.html
95+
96+UPAZILA_CHOICES = (
97+    ('000', _('Abhaynagar')),
98+    ('001', _('Adamdighi')),
99+    ('002', _('Aditmari')),
100+    ('003', _('Agailjhara')),
101+    ('004', _('Ajmiriganj')),
102+    ('005', _('Akhaura')),
103+    ('006', _('Akkelpur')),
104+    ('007', _('Alamdanga')),
105+    ('008', _('Ali Kadam')),
106+    ('009', _('Amtali')),
107+    ('010', _('Anwara')),
108+    ('011', _('Araihazar')),
109+    ('012', _('Ashuganj')),
110+    ('013', _('Astagram')),
111+    ('014', _('Atgharia')),
112+    ('015', _('Atpara')),
113+    ('016', _('Atrai')),
114+    ('017', _('Atwari')),
115+    ('018', _('Babuganj')),
116+    ('019', _('Badalgachhi')),
117+    ('020', _('Badarganj')),
118+    ('021', _('Badda Thana')),
119+    ('022', _('Bagaichhari')),
120+    ('023', _('Bagatipara')),
121+    ('024', _('Bagerhat Sadar')),
122+    ('025', _('Bagha')),
123+    ('026', _('Bagherpara')),
124+    ('027', _('Bagmara')),
125+    ('028', _('Bahubal')),
126+    ('029', _('Bajitpur')),
127+    ('030', _('Bakerganj')),
128+    ('031', _('Baksiganj')),
129+    ('032', _('Balaganj')),
130+    ('033', _('Baliadangi')),
131+    ('034', _('Baliakandi')),
132+    ('035', _('Bamna')),
133+    ('036', _('Banaripara')),
134+    ('037', _('Bancharampur')),
135+    ('038', _('Bandar')),
136+    ('039', _('Bandarban Sadar')),
137+    ('040', _('Baniyachong')),
138+    ('041', _('Banshkhali')),
139+    ('042', _('Baraigram')),
140+    ('043', _('Barguna Sadar')),
141+    ('044', _('Barhatta')),
142+    ('045', _('Barisal Sadar')),
143+    ('046', _('Barkal')),
144+    ('047', _('Barlekha')),
145+    ('048', _('Barura')),
146+    ('049', _('Basail')),
147+    ('050', _('Batiaghata')),
148+    ('051', _('Bauphal')),
149+    ('052', _('Beanibazar')),
150+    ('053', _('Begumganj')),
151+    ('054', _('Belabo')),
152+    ('055', _('Belaichhari')),
153+    ('056', _('Belkuchi')),
154+    ('057', _('Bera')),
155+    ('058', _('Betagi')),
156+    ('059', _('Bhairab')),
157+    ('060', _('Bhaluka')),
158+    ('061', _('Bhandaria')),
159+    ('062', _('Bhangura')),
160+    ('063', _('Bhedarganj')),
161+    ('064', _('Bheramara')),
162+    ('065', _('Bhola Sadar')),
163+    ('066', _('Bholahat')),
164+    ('067', _('Bhuapur')),
165+    ('068', _('Bhurungamari')),
166+    ('069', _('Biral')),
167+    ('070', _('Birampur')),
168+    ('071', _('Birganj')),
169+    ('072', _('Bishwamvarpur')),
170+    ('073', _('Biswanath')),
171+    ('074', _('Boalia Thana')),
172+    ('075', _('Boalkhali')),
173+    ('076', _('Bochaganj')),
174+    ('077', _('Boda')),
175+    ('078', _('Bogra Sadar')),
176+    ('079', _('Brahmanbaria Sadar')),
177+    ('080', _('Brahmanpara')),
178+    ('081', _('Burhanuddin')),
179+    ('082', _('Burichong')),
180+    ('083', _('Cantonnent Thana')),
181+    ('084', _('Chakaria')),
182+    ('085', _('Chandanaish')),
183+    ('086', _('Chandina')),
184+    ('087', _('Chandpur Sadar')),
185+    ('088', _('Char Fasson')),
186+    ('089', _('Char Rajibpur')),
187+    ('090', _('Charghat')),
188+    ('091', _('Chatkhil')),
189+    ('092', _('Chatmohar')),
190+    ('093', _('Chauddagram')),
191+    ('094', _('Chaugachha')),
192+    ('095', _('Chauhali')),
193+    ('096', _('Chhagalnaiya')),
194+    ('097', _('Chhatak')),
195+    ('098', _('Chilmari')),
196+    ('099', _('Chirirbandar')),
197+    ('100', _('Chitalmari')),
198+    ('101', _('Chuadanga Sadar')),
199+    ('102', _('Chunarughat')),
200+    ('103', _('Comilla Sadar')),
201+    ('104', _('Companiganj')),
202+    ('105', _('Companiganj, Noakhali')),
203+    ('106', _("Cox's Bazar Sadar")),
204+    ('107', _('Dacope')),
205+    ('108', _('Daganbhuiyan')),
206+    ('109', _('Damudya')),
207+    ('110', _('Damurhuda')),
208+    ('111', _('Dasmina')),
209+    ('112', _('Daudkandi')),
210+    ('113', _('Daulatkhan')),
211+    ('114', _('Daulatpur')),
212+    ('115', _('Daulatpur, Kushtia')),
213+    ('116', _('Daulatpur Thana')),
214+    ('117', _('Debiganj')),
215+    ('118', _('Delduar')),
216+    ('119', _('Demra Thana')),
217+    ('120', _('Derai')),
218+    ('121', _('Devidwar')),
219+    ('122', _('Dewanganj')),
220+    ('123', _('Dhamoirhat')),
221+    ('124', _('Dhamrai')),
222+    ('125', _('Dhanbari')),
223+    ('126', _('Dhanmandi Thana')),
224+    ('127', _('Dharampasha')),
225+    ('128', _('Dhobaura')),
226+    ('129', _('Dhunat')),
227+    ('130', _('Dighalia')),
228+    ('131', _('Dighinala')),
229+    ('132', _('Dimla')),
230+    ('133', _('Dinajpur Sadar')),
231+    ('134', _('Dohar')),
232+    ('135', _('Domar')),
233+    ('136', _('Dowarabazar')),
234+    ('137', _('Dumuria')),
235+    ('138', _('Dupchanchia')),
236+    ('139', _('Durgapur')),
237+    ('140', _('Durgapur, Rajshahi')),
238+    ('141', _('Fakirhat')),
239+    ('142', _('Faridganj')),
240+    ('143', _('Faridpur')),
241+    ('144', _('Fatikchhari')),
242+    ('145', _('Fenchuganj')),
243+    ('146', _('Feni Sadar')),
244+    ('147', _('Fulgazi')),
245+    ('148', _('Gabtali')),
246+    ('149', _('Gaffargaon')),
247+    ('150', _('Gaibandha Sadar')),
248+    ('151', _('Galachipa')),
249+    ('152', _('Gangachhara')),
250+    ('153', _('Gangni')),
251+    ('154', _('Gauripur')),
252+    ('155', _('Gaurnadi')),
253+    ('156', _('Gazaria')),
254+    ('157', _('Gazipur Sadar')),
255+    ('158', _('Ghatail')),
256+    ('159', _('Ghior')),
257+    ('160', _('Ghoraghat')),
258+    ('161', _('Goalandaghat')),
259+    ('162', _('Gobindaganj')),
260+    ('163', _('Godagari')),
261+    ('164', _('Golapganj')),
262+    ('165', _('Gomastapur')),
263+    ('166', _('Gopalganj Sadar')),
264+    ('167', _('Gopalpur')),
265+    ('168', _('Gosairhat')),
266+    ('169', _('Gowainghat')),
267+    ('170', _('Gulshan Thana')),
268+    ('171', _('Gurudaspur')),
269+    ('172', _('Habiganj Sadar')),
270+    ('173', _('Haimchar')),
271+    ('174', _('Hakimpur')),
272+    ('175', _('Haluaghat')),
273+    ('176', _('Harinakunda')),
274+    ('177', _('Haripur')),
275+    ('178', _('Harirampur')),
276+    ('179', _('Hathazari')),
277+    ('180', _('Hatibandha')),
278+    ('181', _('Hatiya')),
279+    ('182', _('Hazaribagh Thana')),
280+    ('183', _('Haziganj')),
281+    ('184', _('Hizla')),
282+    ('185', _('Homna')),
283+    ('186', _('Hossainpur')),
284+    ('187', _('Ishwardi')),
285+    ('188', _('Ishwarganj')),
286+    ('189', _('Islampur')),
287+    ('190', _('Itna')),
288+    ('191', _('Jagannathpur')),
289+    ('192', _('Jaintiapur')),
290+    ('193', _('Jaldhaka')),
291+    ('194', _('Jamalganj')),
292+    ('195', _('Jamalpur Sadar')),
293+    ('196', _('Jessore Sadar')),
294+    ('197', _('Jhalokati Sadar')),
295+    ('198', _('Jhenaidah Sadar')),
296+    ('199', _('Jhenaigati')),
297+    ('200', _('Jhikargachha')),
298+    ('201', _('Jibannagar')),
299+    ('202', _('Joypurhat Sadar')),
300+    ('203', _('Juraichhari')),
301+    ('204', _('Juri')),
302+    ('205', _('Kachua')),
303+    ('206', _('Kachua, Bagerhat')),
304+    ('207', _('Kafrul Thana')),
305+    ('208', _('Kahaloo')),
306+    ('209', _('Kaharole')),
307+    ('210', _('Kalai')),
308+    ('211', _('Kalapara')),
309+    ('212', _('Kalia')),
310+    ('213', _('Kaliakair')),
311+    ('214', _('Kaliganj, Gazipur')),
312+    ('215', _('Kaliganj, Jhenaidah')),
313+    ('216', _('Kaliganj, Lalmonirhat')),
314+    ('217', _('Kalihati')),
315+    ('218', _('Kalkini')),
316+    ('219', _('Kalmakanda')),
317+    ('220', _('Kamalganj')),
318+    ('221', _('Kamarkhanda')),
319+    ('222', _('Kamrangir Char')),
320+    ('223', _('Kanaighat')),
321+    ('224', _('Kapasia')),
322+    ('225', _('Kaptai')),
323+    ('226', _('Karimganj')),
324+    ('227', _('Kasba')),
325+    ('228', _('Kashiani')),
326+    ('229', _('Kathalia')),
327+    ('230', _('Katiadi')),
328+    ('231', _('Kaunia')),
329+    ('232', _('Kawkhali')),
330+    ('233', _('Kawkhali (Betbunia)')),
331+    ('234', _('Kazipur')),
332+    ('235', _('Kendua')),
333+    ('236', _('Keraniganj  (Dhaka)')),
334+    ('237', _('Khagrachhari')),
335+    ('238', _('Khaliajuri')),
336+    ('239', _('Khalishpur Thana')),
337+    ('240', _('Khanjahan Ali Thana')),
338+    ('241', _('Khansama')),
339+    ('242', _('Khetlal')),
340+    ('243', _('Khilgaon Thana')),
341+    ('244', _('Khoksa')),
342+    ('245', _('Kishoreganj')),
343+    ('246', _('Kishoreganj Sadar')),
344+    ('247', _('Komolnagor')),
345+    ('248', _('Kotalipara')),
346+    ('249', _('Kotchandpur')),
347+    ('250', _('Kotoali Thana')),
348+    ('251', _('Kotwali Thana')),
349+    ('252', _('Koyra')),
350+    ('253', _('Kulaura')),
351+    ('254', _('Kuliarchar')),
352+    ('255', _('Kumarkhali')),
353+    ('256', _('Kurigram Sadar')),
354+    ('257', _('Kushtia Sadar')),
355+    ('258', _('Kutubdia')),
356+    ('259', _('Lakhai')),
357+    ('260', _('Laksam')),
358+    ('261', _('Lakshmichhari')),
359+    ('262', _('Lakshmipur Sadar')),
360+    ('263', _('Lalbagh Thana')),
361+    ('264', _('Lalmohan')),
362+    ('265', _('Lalmonirhat Sadar')),
363+    ('266', _('Lalpur')),
364+    ('267', _('Lama')),
365+    ('268', _('Langadu')),
366+    ('269', _('Lohaganj')),
367+    ('270', _('Lohagara')),
368+    ('271', _('Lohagara, Narail')),
369+    ('272', _('Madan')),
370+    ('273', _('Madarganj')),
371+    ('274', _('Madaripur Sadar')),
372+    ('275', _('Madhabpur')),
373+    ('276', _('Madhupur')),
374+    ('277', _('Magura Sadar')),
375+    ('278', _('Mahadevpur')),
376+    ('279', _('Mahalchhari')),
377+    ('280', _('Maheshkhali')),
378+    ('281', _('Maheshpur')),
379+    ('282', _('Manda')),
380+    ('283', _('Manikchhari')),
381+    ('284', _('Manikganj Sadar')),
382+    ('285', _('Manirampur')),
383+    ('286', _('Mannerchar')),
384+    ('287', _('Manpura')),
385+    ('288', _('Mathbaria')),
386+    ('289', _('Matihar Thana')),
387+    ('290', _('Matiranga')),
388+    ('291', _('Matlab')),
389+    ('292', _('Matlab Uttor')),
390+    ('293', _('Maulvibazar Sadar')),
391+    ('294', _('Mehendiganj')),
392+    ('295', _('Meherpur Sadar')),
393+    ('296', _('Melandaha')),
394+    ('297', _('Mirpur')),
395+    ('298', _('Mirpur Thana')),
396+    ('299', _('Mirsharai')),
397+    ('300', _('Mirzaganj')),
398+    ('301', _('Mirzapur')),
399+    ('302', _('Mithamain')),
400+    ('303', _('Mithapukur')),
401+    ('304', _('Mohammadpur')),
402+    ('305', _('Mohammadpur Thana')),
403+    ('306', _('Mohanganj')),
404+    ('307', _('Mohanpur')),
405+    ('308', _('Mollahat')),
406+    ('309', _('Mongla')),
407+    ('310', _('Monohardi')),
408+    ('311', _('Morrelganj')),
409+    ('312', _('Motijheel Thana')),
410+    ('313', _('Mujibnagar')),
411+    ('314', _('Muksudpur')),
412+    ('315', _('Muktagachha')),
413+    ('316', _('Muladi')),
414+    ('317', _('Munshiganj Sadar')),
415+    ('318', _('Muradnagar')),
416+    ('319', _('Mymensingh Sadar')),
417+    ('320', _('Nabiganj')),
418+    ('321', _('Nabinagar')),
419+    ('322', _('Nachole')),
420+    ('323', _('Nagarpur')),
421+    ('324', _('Nageshwari')),
422+    ('325', _('Naikhongchhari')),
423+    ('326', _('Nakla')),
424+    ('327', _('Nalchity')),
425+    ('328', _('Nalitabari')),
426+    ('329', _('Nandail')),
427+    ('330', _('Nandigram')),
428+    ('331', _('Nangalkot')),
429+    ('332', _('Naogaon Sadar')),
430+    ('333', _('Narail Sadar')),
431+    ('334', _('Narayanganj Sadar')),
432+    ('335', _('Naria')),
433+    ('336', _('Narsingdi Sadar')),
434+    ('337', _('Nasirnagar')),
435+    ('338', _('Natore Sadar')),
436+    ('339', _('Nawabganj  (Dhaka)')),
437+    ('340', _('Nawabganj, Dinajpur')),
438+    ('341', _('Nawabganj Sadar')),
439+    ('342', _('Nazirpur')),
440+    ('343', _('Nesarabad (Swarupkati)')),
441+    ('344', _('Netrokona Sadar')),
442+    ('345', _('Niamatpur')),
443+    ('346', _('Nikli')),
444+    ('347', _('Nilphamari Sadar')),
445+    ('348', _('Noakhali Sadar')),
446+    ('349', _('Paba')),
447+    ('350', _('Pabna Sadar')),
448+    ('351', _('Paikgachha')),
449+    ('352', _('Pakundia')),
450+    ('353', _('Palash')),
451+    ('354', _('Palashbari')),
452+    ('355', _('Pallabi Thana')),
453+    ('356', _('Panchagarh Sadar')),
454+    ('357', _('Panchbibi')),
455+    ('358', _('Panchhari')),
456+    ('359', _('Pangsha')),
457+    ('360', _('Parbatipur')),
458+    ('361', _('Parshuram')),
459+    ('362', _('Patgram')),
460+    ('363', _('Patharghata')),
461+    ('364', _('Patiya')),
462+    ('365', _('Patnitala')),
463+    ('366', _('Patuakhali Sadar')),
464+    ('367', _('Phulbari, Dinajpur')),
465+    ('368', _('Phulbari, Kurigram')),
466+    ('369', _('Phulbari, Mymensingh')),
467+    ('370', _('Phulchhari')),
468+    ('371', _('Phulpur')),
469+    ('372', _('Phultoli')),
470+    ('373', _('Pirgachha')),
471+    ('374', _('Pirganj')),
472+    ('375', _('Pirganj, Thakurgaon')),
473+    ('376', _('Pirojpur Sadar')),
474+    ('377', _('Porsha')),
475+    ('378', _('Purbadhala Upazil')),
476+    ('379', _('Puthia')),
477+    ('380', _('Raiganj')),
478+    ('381', _('Raipur')),
479+    ('382', _('Raipura, Narsingdi')),
480+    ('383', _('Rajapur')),
481+    ('384', _('Rajarhat')),
482+    ('385', _('Rajasthali')),
483+    ('386', _('Rajbari Sadar')),
484+    ('387', _('Rajnagar')),
485+    ('388', _('Rajoir')),
486+    ('389', _('Rajpara Thana')),
487+    ('390', _('Ramganj')),
488+    ('391', _('Ramgarh')),
489+    ('392', _('Ramgati')),
490+    ('393', _('Ramna Thana')),
491+    ('394', _('Rampal')),
492+    ('395', _('Ramu')),
493+    ('396', _('Rangamati Sadar')),
494+    ('397', _('Rangpur Sadar')),
495+    ('398', _('Rangunia')),
496+    ('399', _('Raninagar')),
497+    ('400', _('Ranisankail')),
498+    ('401', _('Raomari')),
499+    ('402', _('Raozan')),
500+    ('403', _('Rowangchhari')),
501+    ('404', _('Rujganj')),
502+    ('405', _('Ruma')),
503+    ('406', _('Rupsha')),
504+    ('407', _('Sabujbagh Thana')),
505+    ('408', _('Sadullapur')),
506+    ('409', _('Sahajanpur')),
507+    ('410', _('Saidpur')),
508+    ('411', _('Sakhipur')),
509+    ('412', _('Sandwip')),
510+    ('413', _('Santhia')),
511+    ('414', _('Sapahar')),
512+    ('415', _('Sarail')),
513+    ('416', _('Sarankhola')),
514+    ('417', _('Sariakandi')),
515+    ('418', _('Sarishabari')),
516+    ('419', _('Satkania')),
517+    ('420', _('Saturia')),
518+    ('421', _('Savar  (Dhaka)')),
519+    ('422', _('Senbagh')),
520+    ('423', _('Shahjadpur')),
521+    ('424', _('Shahmokhdum Thana')),
522+    ('425', _('Shahrasti')),
523+    ('426', _('Shailkupa')),
524+    ('427', _('Shalikha')),
525+    ('428', _('Shampur Thana')),
526+    ('429', _('Shariatpur Sadar')),
527+    ('430', _('Sharsha')),
528+    ('431', _('Sherpur')),
529+    ('432', _('Sherpur Sadar')),
530+    ('433', _('Shibchar')),
531+    ('434', _('Shibganj')),
532+    ('435', _('Shibganj, Nawabganj')),
533+    ('436', _('Shibpur')),
534+    ('437', _('Shivalaya')),
535+    ('438', _('Singair')),
536+    ('439', _('Singra')),
537+    ('440', _('Sirajdikhan')),
538+    ('441', _('Sirajganj Sadar')),
539+    ('442', _('Sitakunda')),
540+    ('443', _('Sonadanga Thana')),
541+    ('444', _('Sonagazi')),
542+    ('445', _('Sonargaon')),
543+    ('446', _('Sonatala')),
544+    ('447', _('South Surma')),
545+    ('448', _('Sreebardi')),
546+    ('449', _('Sreemangal')),
547+    ('450', _('Sreenagar')),
548+    ('451', _('Sreepur')),
549+    ('452', _('Sreepur, Magura')),
550+    ('453', _('Sughatta')),
551+    ('454', _('Sujanagar')),
552+    ('455', _('Sullah')),
553+    ('456', _('Sunamganj Sadar')),
554+    ('457', _('Sundarganj')),
555+    ('458', _('Sutrapur Thana')),
556+    ('459', _('Sylhet Sadar')),
557+    ('460', _('Tahirpur')),
558+    ('461', _('Tangail Sadar')),
559+    ('462', _('Tanore')),
560+    ('463', _('Taraganj')),
561+    ('464', _('Tarail')),
562+    ('465', _('Tarash')),
563+    ('466', _('Tazumuddin')),
564+    ('467', _('Tejgaon Thana')),
565+    ('468', _('Teknaf')),
566+    ('469', _('Terokhada')),
567+    ('470', _('Tetulia')),
568+    ('471', _('Thakurgaon Sadar')),
569+    ('472', _('Thanchi')),
570+    ('473', _('Tongibari')),
571+    ('474', _('Trishal')),
572+    ('475', _('Tungipara')),
573+    ('476', _('Ukhia')),
574+    ('477', _('Ulipur')),
575+    ('478', _('Ullahpara')),
576+    ('479', _('Uttra Thana')),
577+    ('480', _('Wazirpur')),
578+    ('481', _('Zakiganj')),
579+    ('482', _('Zanjira')),
580+)
581+
582Index: django/contrib/localflavor/bd/__init__.py
583===================================================================
584Index: django/contrib/localflavor/bd/forms.py
585===================================================================
586--- django/contrib/localflavor/bd/forms.py      (revision 0)
587+++ django/contrib/localflavor/bd/forms.py      (revision 0)
588@@ -0,0 +1,67 @@
589+"""
590+Bangladesh-specific Form helpers
591+"""
592+
593+from django.core.validators import EMPTY_VALUES
594+from django.forms import ValidationError
595+from django.forms.fields import Field, RegexField, Select
596+from django.utils.encoding import smart_unicode
597+from django.utils.translation import ugettext_lazy as _
598+import re
599+
600+
601+class BDPostCodeField(RegexField):
602+    """Bangladesh post code field."""
603+    default_error_messages = {
604+        'invalid': _('Enter a 4 digit post code.'),
605+    }
606+
607+    def __init__(self, *args, **kwargs):
608+        super(BDPostCodeField, self).__init__(r'^\d{4}$',
609+            max_length=None, min_length=None, *args, **kwargs)
610+
611+class BDPhoneNumberField(Field):
612+    """Bangladesh phone number field."""
613+    PHONE_DIGITS_RE = re.compile(r'^(\d{8,13})$')
614+
615+    default_error_messages = {
616+        'invalid': _(u'Phone numbers must be between 8 to 13 digits.'),
617+    }
618+
619+    def clean(self, value):
620+        """
621+        Validate a phone number. Strips parentheses, whitespace and hyphens.
622+        """
623+        super(BDPhoneNumberField, self).clean(value)
624+        if value in EMPTY_VALUES:
625+            return u''
626+        value = re.sub('(\(|\)|\s+|-)', '', smart_unicode(value))
627+        phone_match = self.PHONE_DIGITS_RE.search(value)
628+        if phone_match:
629+            return u'%s' % phone_match.group(1)
630+        raise ValidationError(self.error_messages['invalid'])
631+
632+class BDDivisionSelect(Select):
633+    """
634+    A Select widget that uses a list of Bangladesh divisions as its choices.
635+    """
636+    def __init__(self, attrs=None):
637+        from bd_divisions import DIVISION_CHOICES
638+        super(BDDivisionSelect, self).__init__(attrs, choices=DIVISION_CHOICES)
639+
640+class BDDistrictSelect(Select):
641+    """
642+    A Select widget that uses a list of Bangladesh districts as its choices
643+    """
644+    def __init__(self, attrs=None):
645+        from bd_divisions import DISTRICT_CHOICES
646+        super(BDDistrictSelect, self).__init__(attrs, choices=DISTRICT_CHOICES)
647+
648+class BDUpazilaSelect(Select):
649+    """
650+    A Select widget that uses a list of Bangladesh upazilas as its choices.
651+    """
652+    def __init__(self, attrs=None):
653+        from bd_divisions import UPAZILLA_CHOICES
654+        super(BDUpazilaSelect, self).__init__(attrs, choices=UPAZILLA_CHOICES)
655+
656Index: AUTHORS
657===================================================================
658--- AUTHORS     (revision 12702)
659+++ AUTHORS     (working copy)
660@@ -507,6 +507,7 @@
661     Cheng Zhang
662     Glenn Maynard <glenn@zewt.org>
663     bthomas
664+    M Nasimul Haque <nasim.haque@gmail.com>
665 
666 A big THANK YOU goes to:
667 
668Index: docs/ref/contrib/localflavor.txt
669===================================================================
670--- docs/ref/contrib/localflavor.txt    (revision 12702)
671+++ docs/ref/contrib/localflavor.txt    (working copy)
672@@ -87,6 +87,7 @@
673 .. _Argentina: `Argentina (ar)`_
674 .. _Australia: `Australia (au)`_
675 .. _Austria: `Austria (at)`_
676+.. _Bangladesh: `Bangladesh (bd)`_
677 .. _Brazil: `Brazil (br)`_
678 .. _Canada: `Canada (ca)`_
679 .. _Chile: `Chile (cl)`_
680@@ -184,6 +185,29 @@
681 
682     A form field that validates its input as an Austrian social security number.
683 
684+Bangladesh (``bd``)
685+===================
686+
687+.. class:: bd.forms.BDPostCodeField
688+
689+    A form field that validates its input as a Bangladeshi post code (4 digits).
690+
691+.. class:: bd.forms.BDPhoneNumberField
692+
693+    A form field that validates input as a Bangladeshi phone number.
694+
695+.. class:: bd.forms.BDDivisionSelect
696+
697+    A ``Select`` widget that uses a list of Bangldesh divisions as its choices.
698+
699+.. class:: bd.forms.BDDistrictSelect
700+
701+    A ``Select`` widget that uses a list of Bangladesh districts as its choices.
702+
703+.. class:: bd.forms.BDUpazilaSelect
704+
705+    A ``Select`` widget that uses a list of Bangladesh upazilas as its choices.
706+
707 Brazil (``br``)
708 ===============
709