1 // generated by fakerjsgenerator
2 ///
3 module faked.faker_pt_pt;
4 
5 import faked.base;
6 
7 
8 ///
9 class Faker_pt_pt : Faker {
10 @safe:
11 	import std.random;
12 	import std.array;
13 	import std.format;
14 	import std.conv : to;
15 
16 	///
17 	this(int seed) {
18         super(seed);
19 	}
20 
21 	///
22 	string nameMalePrefix() {
23 		auto data = [
24 		"Sr.",
25 		"Dr.",
26 		"Prof.",
27 		"Eng.º'"
28 		];
29 		return choice(data, this.rnd);
30 	}
31 
32 	///
33 	string nameFemalePrefix() {
34 		auto data = [
35 		"Sra.",
36 		"Dra.",
37 		"Prof.ª",
38 		"Eng.ª'"
39 		];
40 		return choice(data, this.rnd);
41 	}
42 
43 	///
44 	override string nameMaleFirstName() {
45 		auto data = [
46 		"Afonso",
47 		"Alexandre",
48 		"André",
49 		"Ângelo",
50 		"António",
51 		"Artur",
52 		"Benjamim",
53 		"Bernardo",
54 		"Bruno",
55 		"Carlos",
56 		"César",
57 		"Cristiano",
58 		"Daniel",
59 		"David",
60 		"Dinis",
61 		"Diogo",
62 		"Duarte",
63 		"Edgar",
64 		"Eduardo",
65 		"Elias",
66 		"Emanuel",
67 		"Fábio",
68 		"Feliciano",
69 		"Fernando",
70 		"Filipe",
71 		"Francisco",
72 		"Frederico",
73 		"Gabriel",
74 		"Gaspar",
75 		"Gil",
76 		"Gonçalo",
77 		"Guilherme",
78 		"Gustavo",
79 		"Hélio",
80 		"Henrique",
81 		"Hugo",
82 		"Igor",
83 		"Ígor",
84 		"Isac",
85 		"Ivan",
86 		"Ivo",
87 		"Jaime",
88 		"João",
89 		"Joaquim",
90 		"Jorge",
91 		"José",
92 		"Josué",
93 		"Júlio",
94 		"Leandro",
95 		"Leonardo",
96 		"Lourenço",
97 		"Lucas",
98 		"Luís",
99 		"Manel",
100 		"Manuel",
101 		"Marcelo",
102 		"Marco",
103 		"Marcos",
104 		"Mário",
105 		"Martim",
106 		"Mateus",
107 		"Matias",
108 		"Mauro",
109 		"Micael",
110 		"Miguel",
111 		"Moisés",
112 		"Norberto",
113 		"Nuno",
114 		"Paulo",
115 		"Pedro",
116 		"Rafael",
117 		"Raul",
118 		"Renato",
119 		"Ricardo",
120 		"Roberto",
121 		"Rodrigo",
122 		"Romeu",
123 		"Rúben",
124 		"Rui",
125 		"Salvador",
126 		"Samuel",
127 		"Sandro",
128 		"Santiago",
129 		"Sebastião",
130 		"Sérgio",
131 		"Simão",
132 		"Tiago",
133 		"Tomás",
134 		"Tomé",
135 		"Valentim",
136 		"Valter",
137 		"Vasco",
138 		"Vicente",
139 		"Vítor",
140 		"Xavier"
141 		];
142 		return choice(data, this.rnd);
143 	}
144 
145 
146 	override string nameSuffix() {
147 		return "";
148 	}
149 
150 	///
151 	override string nameLastName() {
152 		auto data = [
153 		"Abreu",
154 		"Albuquerque",
155 		"Almeida",
156 		"Alves",
157 		"Amaral",
158 		"Amorim",
159 		"Andrade",
160 		"Anjos",
161 		"Antunes",
162 		"Araújo",
163 		"Assunção",
164 		"Azevedo",
165 		"Baptista",
166 		"Barbosa",
167 		"Barros",
168 		"Batista",
169 		"Borges",
170 		"Braga",
171 		"Branco",
172 		"Brito",
173 		"Campos",
174 		"Cardoso",
175 		"Carneiro",
176 		"Carvalho",
177 		"Castro",
178 		"Coelho",
179 		"Correia",
180 		"Costa",
181 		"Cruz",
182 		"Cunha",
183 		"Domingues",
184 		"Esteves",
185 		"Faria",
186 		"Fernandes",
187 		"Ferreira",
188 		"Figueiredo",
189 		"Fonseca",
190 		"Freitas",
191 		"Garcia",
192 		"Gaspar",
193 		"Gomes",
194 		"Gonçalves",
195 		"Guerreiro",
196 		"Henriques",
197 		"Jesus",
198 		"Leal",
199 		"Leite",
200 		"Lima",
201 		"Lopes",
202 		"Loureiro",
203 		"Lourenço",
204 		"Macedo",
205 		"Machado",
206 		"Magalhães",
207 		"Maia",
208 		"Marques",
209 		"Martins",
210 		"Matias",
211 		"Matos",
212 		"Melo",
213 		"Mendes",
214 		"Miranda",
215 		"Monteiro",
216 		"Morais",
217 		"Moreira",
218 		"Mota",
219 		"Moura",
220 		"Nascimento",
221 		"Neto",
222 		"Neves",
223 		"Nobre",
224 		"Nogueira",
225 		"Nunes",
226 		"Oliveira",
227 		"Pacheco",
228 		"Paiva",
229 		"Pereira",
230 		"Pinheiro",
231 		"Pinho",
232 		"Pinto",
233 		"Pires",
234 		"Ramos",
235 		"Raposo",
236 		"Reis",
237 		"Ribeiro",
238 		"Rocha",
239 		"Rodrigues",
240 		"Santos",
241 		"Saraiva",
242 		"Silva",
243 		"Simões",
244 		"Soares",
245 		"Sousa",
246 		"Sá",
247 		"Tavares",
248 		"Teixeira",
249 		"Torres",
250 		"Valente",
251 		"Vaz",
252 		"Vicente",
253 		"Vieira"
254 		];
255 		return choice(data, this.rnd);
256 	}
257 
258 	///
259 	override string nameFirstName() {
260 		auto data = [
261 		"Adriana",
262 		"Afonso",
263 		"Alexandra",
264 		"Alexandre",
265 		"Alice",
266 		"Amélia",
267 		"Ana",
268 		"André",
269 		"Ângelo",
270 		"António",
271 		"Ariana",
272 		"Artur",
273 		"Áurea",
274 		"Aurora",
275 		"Bárbara",
276 		"Beatriz",
277 		"Benedita",
278 		"Benjamim",
279 		"Bernardo",
280 		"Bruna",
281 		"Bruno",
282 		"Caetana",
283 		"Camila",
284 		"Carla",
285 		"Carlos",
286 		"Carlota",
287 		"Carminho",
288 		"Carmo",
289 		"Carolina",
290 		"Catarina",
291 		"Cecília",
292 		"Célia",
293 		"César",
294 		"Clara",
295 		"Constança",
296 		"Cristiano",
297 		"Daniel",
298 		"Daniela",
299 		"David",
300 		"Débora",
301 		"Diana",
302 		"Dinis",
303 		"Diogo",
304 		"Duarte",
305 		"Edgar",
306 		"Eduarda",
307 		"Eduardo",
308 		"Elias",
309 		"Elisa",
310 		"Ema",
311 		"Emanuel",
312 		"Emília",
313 		"Érica",
314 		"Eva",
315 		"Fabiana",
316 		"Fábio",
317 		"Feliciano",
318 		"Fernando",
319 		"Filipa",
320 		"Filipe",
321 		"Flor",
322 		"Francisca",
323 		"Francisco",
324 		"Frederica",
325 		"Frederico",
326 		"Gabriel",
327 		"Gabriela",
328 		"Gaspar",
329 		"Gil",
330 		"Gonçalo",
331 		"Guilherme",
332 		"Gustavo",
333 		"Helena",
334 		"Hélio",
335 		"Henrique",
336 		"Hugo",
337 		"Igor",
338 		"Ígor",
339 		"Inês",
340 		"Irina",
341 		"Íris",
342 		"Isabel",
343 		"Isac",
344 		"Ivan",
345 		"Ivo",
346 		"Jaime",
347 		"Jéssica",
348 		"Joana",
349 		"João",
350 		"Joaquim",
351 		"Jorge",
352 		"José",
353 		"Josué",
354 		"Júlia",
355 		"Juliana",
356 		"Julieta",
357 		"Júlio",
358 		"Lara",
359 		"Laura",
360 		"Leandro",
361 		"Leonardo",
362 		"Leonor",
363 		"Letícia",
364 		"Lia",
365 		"Lorena",
366 		"Lourenço",
367 		"Luana",
368 		"Lucas",
369 		"Luena",
370 		"Luís",
371 		"Luísa",
372 		"Luna",
373 		"Madalena",
374 		"Mafalda",
375 		"Manel",
376 		"Manuel",
377 		"Mara",
378 		"Marcelo",
379 		"Márcia",
380 		"Marco",
381 		"Marcos",
382 		"Margarida",
383 		"Maria",
384 		"Mariana",
385 		"Mário",
386 		"Marta",
387 		"Martim",
388 		"Mateus",
389 		"Matias",
390 		"Matilde",
391 		"Mauro",
392 		"Melissa",
393 		"Mia",
394 		"Micael",
395 		"Miguel",
396 		"Miriam",
397 		"Moisés",
398 		"Natália",
399 		"Nicole",
400 		"Norberto",
401 		"Nuno",
402 		"Núria",
403 		"Ofélia",
404 		"Olívia",
405 		"Paula",
406 		"Paulo",
407 		"Pedro",
408 		"Pilar",
409 		"Rafael",
410 		"Rafaela",
411 		"Raquel",
412 		"Raul",
413 		"Renato",
414 		"Ricardo",
415 		"Rita",
416 		"Roberto",
417 		"Rodrigo",
418 		"Romeu",
419 		"Rosa",
420 		"Rúben",
421 		"Rui",
422 		"Safira",
423 		"Salvador",
424 		"Samuel",
425 		"Sandro",
426 		"Santiago",
427 		"Sara",
428 		"Sebastião",
429 		"Sérgio",
430 		"Sílvia",
431 		"Simão",
432 		"Sofia",
433 		"Soraia",
434 		"Tatiana",
435 		"Teresa",
436 		"Tiago",
437 		"Tomás",
438 		"Tomé",
439 		"Valentim",
440 		"Valentina",
441 		"Valter",
442 		"Vânia",
443 		"Vasco",
444 		"Vera",
445 		"Vicente",
446 		"Vítor",
447 		"Vitória",
448 		"Xavier"
449 		];
450 		return choice(data, this.rnd);
451 	}
452 
453 
454 	override string nameName() {
455 		final switch(uniform(0, 5, this.rnd)) {
456 			case 0: return nameFirstName() ~ " " ~ nameLastName();
457 			case 1: return nameMaleFirstName() ~ " " ~ nameLastName();
458 			case 2: return nameFemaleFirstName() ~ " " ~ nameLastName();
459 			case 3: return nameMalePrefix() ~ " " ~ nameMaleFirstName() ~ " " ~ nameLastName();
460 			case 4: return nameFemalePrefix() ~ " " ~ nameFemaleFirstName() ~ " " ~ nameLastName();
461 		}
462 	}
463 
464 	///
465 	override string nameFemaleFirstName() {
466 		auto data = [
467 		"Adriana",
468 		"Alexandra",
469 		"Alice",
470 		"Amélia",
471 		"Ana",
472 		"Ariana",
473 		"Áurea",
474 		"Aurora",
475 		"Bárbara",
476 		"Beatriz",
477 		"Benedita",
478 		"Bruna",
479 		"Caetana",
480 		"Camila",
481 		"Carla",
482 		"Carlota",
483 		"Carminho",
484 		"Carmo",
485 		"Carolina",
486 		"Catarina",
487 		"Cecília",
488 		"Célia",
489 		"Clara",
490 		"Constança",
491 		"Daniela",
492 		"Débora",
493 		"Diana",
494 		"Eduarda",
495 		"Elisa",
496 		"Ema",
497 		"Emília",
498 		"Érica",
499 		"Eva",
500 		"Fabiana",
501 		"Filipa",
502 		"Flor",
503 		"Francisca",
504 		"Frederica",
505 		"Gabriela",
506 		"Helena",
507 		"Inês",
508 		"Irina",
509 		"Íris",
510 		"Isabel",
511 		"Jéssica",
512 		"Joana",
513 		"Júlia",
514 		"Juliana",
515 		"Julieta",
516 		"Lara",
517 		"Laura",
518 		"Leonor",
519 		"Letícia",
520 		"Lia",
521 		"Lorena",
522 		"Luana",
523 		"Luena",
524 		"Luísa",
525 		"Luna",
526 		"Madalena",
527 		"Mafalda",
528 		"Mara",
529 		"Márcia",
530 		"Margarida",
531 		"Maria",
532 		"Mariana",
533 		"Marta",
534 		"Matilde",
535 		"Melissa",
536 		"Mia",
537 		"Miriam",
538 		"Natália",
539 		"Nicole",
540 		"Núria",
541 		"Ofélia",
542 		"Olívia",
543 		"Paula",
544 		"Pilar",
545 		"Rafaela",
546 		"Raquel",
547 		"Rita",
548 		"Rosa",
549 		"Safira",
550 		"Sara",
551 		"Sílvia",
552 		"Sofia",
553 		"Soraia",
554 		"Tatiana",
555 		"Teresa",
556 		"Valentina",
557 		"Vânia",
558 		"Vera",
559 		"Vitória"
560 		];
561 		return choice(data, this.rnd);
562 	}
563 
564 
565 	override string namePrefix() {
566 		final switch(uniform(0, 2, this.rnd)) {
567 			case 0: return nameFemalePrefix();
568 			case 1: return nameMalePrefix() ~ "'";
569 		}
570 	}
571 
572 	///
573 	override string commerceDepartment() {
574 		auto data = [
575 		"Livros",
576 		"Filmes",
577 		"Música",
578 		"Jogos",
579 		"Electrónica",
580 		"Computadores",
581 		"Casa",
582 		"Jardim",
583 		"Ferramentas",
584 		"Mercearia",
585 		"Saúde",
586 		"Beleza",
587 		"Brinquedos",
588 		"Crianças",
589 		"Bebé",
590 		"Roupas",
591 		"Sapatos",
592 		"Jóias",
593 		"Desporto",
594 		"Ar Livre",
595 		"Automóveis",
596 		"Industrial"
597 		];
598 		return choice(data, this.rnd);
599 	}
600 
601 	///
602 	override string colorHuman() {
603 		auto data = [
604 		"vermelho",
605 		"verde",
606 		"azul",
607 		"amarelo",
608 		"roxo",
609 		"branco",
610 		"preto",
611 		"laranja",
612 		"rosa",
613 		"cinzento",
614 		"castanho",
615 		"violeta",
616 		"turquesa",
617 		"bronzeado",
618 		"salmão",
619 		"ameixa",
620 		"orquídea",
621 		"magenta",
622 		"lima",
623 		"marfim",
624 		"índigo",
625 		"ouro",
626 		"fúcsia",
627 		"ciano",
628 		"azure",
629 		"lavanda",
630 		"prata"
631 		];
632 		return choice(data, this.rnd);
633 	}
634 
635 	///
636 	override string dateWeekday() {
637 		auto data = [
638 		"wide: ['Segunda",
639 		"Terça",
640 		"Quarta",
641 		"Quinta",
642 		"Sexta",
643 		"Sábado",
644 		"Domingo']",
645 		"abbr: ['Seg",
646 		"Ter",
647 		"Qua",
648 		"Qui",
649 		"Sex",
650 		"Sáb",
651 		"Dom']"
652 		];
653 		return choice(data, this.rnd);
654 	}
655 
656 
657 	override string dateMonth() {
658 		final switch(uniform(0, 28, this.rnd)) {
659 			case 0: return "wide: [";
660 			case 1: return "Janeiro";
661 			case 2: return "Fevereiro";
662 			case 3: return "Março";
663 			case 4: return "Abril";
664 			case 5: return "Maio";
665 			case 6: return "Junho";
666 			case 7: return "Julho";
667 			case 8: return "Agosto";
668 			case 9: return "Setembro";
669 			case 10: return "Outubro";
670 			case 11: return "Novembro";
671 			case 12: return "Dezembro";
672 			case 13: return "]";
673 			case 14: return "abbr: [";
674 			case 15: return "Jan";
675 			case 16: return "Fev";
676 			case 17: return "Mar";
677 			case 18: return "Abr";
678 			case 19: return "Mai";
679 			case 20: return "Jun";
680 			case 21: return "Jul";
681 			case 22: return "Ago";
682 			case 23: return "Set";
683 			case 24: return "Out";
684 			case 25: return "Nov";
685 			case 26: return "Dez";
686 			case 27: return "]";
687 		}
688 	}
689 
690 	///
691 	override string addressCityName() {
692 		auto data = [
693 		"Abrantes",
694 		"Agualva-Cacém",
695 		"Águeda",
696 		"Albufeira",
697 		"Alcácer do Sal",
698 		"Alcobaça",
699 		"Alfena",
700 		"Almada",
701 		"Almeirim",
702 		"Amadora",
703 		"Amarante",
704 		"Amora",
705 		"Anadia",
706 		"Angra do Heroísmo",
707 		"Aveiro",
708 		"Barcelos",
709 		"Barreiro",
710 		"Beja",
711 		"Braga",
712 		"Bragança",
713 		"Caldas da Rainha",
714 		"Câmara de Lobos",
715 		"Caniço",
716 		"Cantanhede",
717 		"Cartaxo",
718 		"Castelo Branco",
719 		"Chaves",
720 		"Coimbra",
721 		"Costa da Caparica",
722 		"Covilhã",
723 		"Elvas",
724 		"Entroncamento",
725 		"Ermesinde",
726 		"Esmoriz",
727 		"Espinho",
728 		"Esposende",
729 		"Estarreja",
730 		"Estremoz",
731 		"Évora",
732 		"Fafe",
733 		"Faro",
734 		"Fátima",
735 		"Felgueiras",
736 		"Fiães",
737 		"Figueira da Foz",
738 		"Freamunde",
739 		"Funchal",
740 		"Fundão",
741 		"Gafanha da Nazaré",
742 		"Gandra",
743 		"Gondomar",
744 		"Gouveia",
745 		"Guarda",
746 		"Guimarães",
747 		"Horta",
748 		"Ílhavo",
749 		"Lagoa",
750 		"Lagos",
751 		"Lamego",
752 		"Leiria",
753 		"Lisbon",
754 		"Lixa",
755 		"Loulé",
756 		"Loures",
757 		"Lourosa",
758 		"Macedo de Cavaleiros",
759 		"Machico",
760 		"Maia",
761 		"Mangualde",
762 		"Marco de Canaveses",
763 		"Marinha Grande",
764 		"Matosinhos",
765 		"Mealhada",
766 		"Mêda",
767 		"Miranda do Douro",
768 		"Mirandela",
769 		"Montemor-o-Novo",
770 		"Montijo",
771 		"Moura",
772 		"Odivelas",
773 		"Olhão da Restauração",
774 		"Oliveira de Azeméis",
775 		"Oliveira do Bairro",
776 		"Oliveira do Hospital",
777 		"Ourém",
778 		"Ovar",
779 		"Paços de Ferreira",
780 		"Paredes",
781 		"Penafiel",
782 		"Peniche",
783 		"Peso da Régua",
784 		"Pinhel",
785 		"Pombal",
786 		"Ponta Delgada",
787 		"Ponte de Sor",
788 		"Portalegre",
789 		"Portimão",
790 		"Porto",
791 		"Póvoa de Santa Iria",
792 		"Póvoa de Varzim",
793 		"Praia da Vitória",
794 		"Quarteira",
795 		"Queluz",
796 		"Rebordosa",
797 		"Reguengos de Monsaraz",
798 		"Ribeira Grande",
799 		"Rio Maior",
800 		"Rio Tinto",
801 		"Sabugal",
802 		"Sacavém",
803 		"Santa Comba Dão",
804 		"Santa Cruz",
805 		"Santa Maria da Feira",
806 		"Santana",
807 		"Santarém",
808 		"Santiago do Cacém",
809 		"Santo Tirso",
810 		"São João da Madeira",
811 		"São Mamede de Infesta",
812 		"São Salvador de Lordelo",
813 		"Seia",
814 		"Seixal",
815 		"Serpa",
816 		"Setúbal",
817 		"Silves",
818 		"Sines",
819 		"Tarouca",
820 		"Tavira",
821 		"Tomar",
822 		"Tondela",
823 		"Torres Novas",
824 		"Torres Vedras",
825 		"Trancoso",
826 		"Trofa",
827 		"Valbom",
828 		"Vale de Cambra",
829 		"Valongo",
830 		"Valpaços",
831 		"Vendas Novas",
832 		"Viana do Castelo",
833 		"Vila Baleira (a.k.a. Porto Santo)",
834 		"Vila do Conde",
835 		"Vila Franca de Xira",
836 		"Vila Nova de Famalicão",
837 		"Vila Nova de Foz Côa",
838 		"Vila Nova de Gaia",
839 		"Vila Nova de Santo André",
840 		"Vila Real",
841 		"Vila Real de Santo António",
842 		"Viseu",
843 		"Vizela"
844 		];
845 		return choice(data, this.rnd);
846 	}
847 
848 	///
849 	override string addressCountry() {
850 		auto data = [
851 		"África do Sul",
852 		"Áustria",
853 		"Índia",
854 		"Afeganistão",
855 		"Albânia",
856 		"Alemanha",
857 		"Andorra",
858 		"Angola",
859 		"Anguila",
860 		"Antárctida",
861 		"Antígua e Barbuda",
862 		"Antilhas Neerlandesas",
863 		"Arábia Saudita",
864 		"Argélia",
865 		"Argentina",
866 		"Arménia",
867 		"Aruba",
868 		"Austrália",
869 		"Azerbaijão",
870 		"Bélgica",
871 		"Bósnia e Herzegovina",
872 		"Baamas",
873 		"Bangladeche",
874 		"Barém",
875 		"Barbados",
876 		"Belize",
877 		"Benim",
878 		"Bermudas",
879 		"Bielorrússia",
880 		"Birmânia",
881 		"Bolívia",
882 		"Botsuana",
883 		"Brasil",
884 		"Brunei",
885 		"Bulgária",
886 		"Burúndi",
887 		"Burquina Faso",
888 		"Butão",
889 		"Cabo Verde",
890 		"Camarões",
891 		"Camboja",
892 		"Canadá",
893 		"Catar",
894 		"Cazaquistão",
895 		"Chade",
896 		"Chile",
897 		"China",
898 		"Chipre",
899 		"Colômbia",
900 		"Comores",
901 		"Congo-Brazzaville",
902 		"Congo-Kinshasa",
903 		"Coreia do Norte",
904 		"Coreia do Sul",
905 		"Costa Rica",
906 		"Costa do Marfim",
907 		"Croácia",
908 		"Cuba",
909 		"Dinamarca",
910 		"Domínica",
911 		"Egipto",
912 		"Emiratos Árabes Unidos",
913 		"Equador",
914 		"Eritreia",
915 		"Eslováquia",
916 		"Eslovénia",
917 		"Espanha",
918 		"Estónia",
919 		"Estados Unidos",
920 		"Etiópia",
921 		"Faroé",
922 		"Fiji",
923 		"Filipinas",
924 		"Finlândia",
925 		"França",
926 		"Gâmbia",
927 		"Gabão",
928 		"Gana",
929 		"Geórgia",
930 		"Geórgia do Sul e Sandwich do Sul",
931 		"Gibraltar",
932 		"Grécia",
933 		"Granada",
934 		"Gronelândia",
935 		"Guadalupe",
936 		"Guame",
937 		"Guatemala",
938 		"Guiana",
939 		"Guiana Francesa",
940 		"Guiné",
941 		"Guiné Equatorial",
942 		"Guiné-Bissau",
943 		"Haiti",
944 		"Honduras",
945 		"Hong Kong",
946 		"Hungria",
947 		"Iémen",
948 		"Ilha Bouvet",
949 		"Ilha Norfolk",
950 		"Ilha do Natal",
951 		"Ilhas Caimão",
952 		"Ilhas Cook",
953 		"Ilhas Falkland",
954 		"Ilhas Heard e McDonald",
955 		"Ilhas Marshall",
956 		"Ilhas Menores Distantes dos Estados Unidos",
957 		"Ilhas Salomão",
958 		"Ilhas Turcas e Caicos",
959 		"Ilhas Virgens Americanas",
960 		"Ilhas Virgens Britânicas",
961 		"Ilhas dos Cocos",
962 		"Indonésia",
963 		"Irão",
964 		"Iraque",
965 		"Irlanda",
966 		"Islândia",
967 		"Israel",
968 		"Itália",
969 		"Jamaica",
970 		"Japão",
971 		"Jibuti",
972 		"Jordânia",
973 		"Jugoslávia",
974 		"Kuwait",
975 		"Líbano",
976 		"Líbia",
977 		"Laos",
978 		"Lesoto",
979 		"Letónia",
980 		"Libéria",
981 		"Listenstaine",
982 		"Lituânia",
983 		"Luxemburgo",
984 		"México",
985 		"Mónaco",
986 		"Macau",
987 		"Macedónia",
988 		"Madagáscar",
989 		"Malásia",
990 		"Malávi",
991 		"Maldivas",
992 		"Mali",
993 		"Malta",
994 		"Marianas do Norte",
995 		"Marrocos",
996 		"Martinica",
997 		"Maurícia",
998 		"Mauritânia",
999 		"Mayotte",
1000 		"Micronésia",
1001 		"Moçambique",
1002 		"Moldávia",
1003 		"Mongólia",
1004 		"Monserrate",
1005 		"Níger",
1006 		"Namíbia",
1007 		"Nauru",
1008 		"Nepal",
1009 		"Nicarágua",
1010 		"Nigéria",
1011 		"Niue",
1012 		"Noruega",
1013 		"Nova Caledónia",
1014 		"Nova Zelândia",
1015 		"Omã",
1016 		"Países Baixos",
1017 		"Palau",
1018 		"Panamá",
1019 		"Papua-Nova Guiné",
1020 		"Paquistão",
1021 		"Paraguai",
1022 		"Peru",
1023 		"Pitcairn",
1024 		"Polónia",
1025 		"Polinésia Francesa",
1026 		"Porto Rico",
1027 		"Portugal",
1028 		"Quénia",
1029 		"Quirguizistão",
1030 		"Quiribáti",
1031 		"Rússia",
1032 		"Reino Unido",
1033 		"República Centro-Africana",
1034 		"República Checa",
1035 		"República Dominicana",
1036 		"Reunião",
1037 		"Roménia",
1038 		"Ruanda",
1039 		"São Cristóvão e Neves",
1040 		"São Marinho",
1041 		"São Pedro e Miquelon",
1042 		"São Tomé e Príncipe",
1043 		"São Vicente e Granadinas",
1044 		"Síria",
1045 		"Salvador",
1046 		"Samoa",
1047 		"Samoa Americana",
1048 		"Santa Helena",
1049 		"Santa Lúcia",
1050 		"Sara Ocidental",
1051 		"Seicheles",
1052 		"Senegal",
1053 		"Serra Leoa",
1054 		"Singapura",
1055 		"Somália",
1056 		"Sri Lanca",
1057 		"Suécia",
1058 		"Suíça",
1059 		"Suazilândia",
1060 		"Sudão",
1061 		"Suriname",
1062 		"Svalbard e Jan Mayen",
1063 		"Tailândia",
1064 		"Taiwan",
1065 		"Tajiquistão",
1066 		"Tanzânia",
1067 		"Território Britânico do Oceano Índico",
1068 		"Territórios Austrais Franceses",
1069 		"Timor Leste",
1070 		"Togo",
1071 		"Tokelau",
1072 		"Tonga",
1073 		"Trindade e Tobago",
1074 		"Tunísia",
1075 		"Turquemenistão",
1076 		"Turquia",
1077 		"Tuvalu",
1078 		"Ucrânia",
1079 		"Uganda",
1080 		"Uruguai",
1081 		"Usbequistão",
1082 		"Vanuatu",
1083 		"Vaticano",
1084 		"Venezuela",
1085 		"Vietname",
1086 		"Wallis e Futuna",
1087 		"Zâmbia",
1088 		"Zimbabué"
1089 		];
1090 		return choice(data, this.rnd);
1091 	}
1092 
1093 
1094 	override string addressStreetAddress() {
1095 		final switch(uniform(0, 2, this.rnd)) {
1096 			case 0: return "normal: '" ~ addressStreet() ~ " " ~ addressBuildingNumber();
1097 			case 1: return "full: '" ~ addressStreet() ~ " " ~ addressBuildingNumber() ~ " " ~ addressSecondaryAddress();
1098 		}
1099 	}
1100 
1101 	///
1102 	override string addressDefaultCountry() {
1103 		auto data = [
1104 		"Portugal'"
1105 		];
1106 		return choice(data, this.rnd);
1107 	}
1108 
1109 	///
1110 	override string addressDirection() {
1111 		auto data = [
1112 		"Norte",
1113 		"Este",
1114 		"Sul",
1115 		"Oeste",
1116 		"Nordeste",
1117 		"Noroeste",
1118 		"Sudeste",
1119 		"Sodoeste"
1120 		];
1121 		return choice(data, this.rnd);
1122 	}
1123 
1124 	///
1125 	string addressStreetPrefix() {
1126 		auto data = [
1127 		"Acesso",
1128 		"Alameda",
1129 		"Avenida",
1130 		"Azinhaga",
1131 		"Bairro",
1132 		"Beco",
1133 		"Calçada",
1134 		"Caminho",
1135 		"Escadas",
1136 		"Estrada",
1137 		"Jardim",
1138 		"Ladeira",
1139 		"Largo",
1140 		"Praça",
1141 		"Praceta",
1142 		"Quinta",
1143 		"Rua",
1144 		"Travessa",
1145 		"Urbanização",
1146 		"Viela"
1147 		];
1148 		return choice(data, this.rnd);
1149 	}
1150 
1151 
1152 	override string addressCitySuffix() {
1153 		return "";
1154 	}
1155 
1156 
1157 	override string addressCityPrefix() {
1158 		return "";
1159 	}
1160 
1161 
1162 	override string addressStreet() {
1163 		final switch(uniform(0, 5, this.rnd)) {
1164 			case 0: return addressStreetPrefix() ~ " " ~ nameFirstName() ~ " " ~ nameLastName();
1165 			case 1: return "N#";
1166 			case 2: return "N##";
1167 			case 3: return "N###";
1168 			case 4: return "N###-#";
1169 		}
1170 	}
1171 
1172 
1173 	override string addressCity() {
1174 		final switch(uniform(0, 1, this.rnd)) {
1175 			case 0: return addressCityName() ~ "'";
1176 		}
1177 	}
1178 
1179 	///
1180 	override string addressBuildingNumber() {
1181 		auto data = [
1182 		"####",
1183 		"###",
1184 		"##",
1185 		"#'"
1186 		];
1187 		return this.digitBuild(choice(data, this.rnd));
1188 	}
1189 
1190 	///
1191 	override string addressPostcode() {
1192 		auto data = [
1193 		"####-###'"
1194 		];
1195 		return this.digitBuild(choice(data, this.rnd));
1196 	}
1197 
1198 	///
1199 	override string phoneNumberFormats() {
1200 		auto data = [
1201 		"+351 2########",
1202 		"+351 3########",
1203 		"+351 91#######",
1204 		"+351 92#######",
1205 		"+351 93#######",
1206 		"+351 96#######"
1207 		];
1208 		return this.digitBuild(choice(data, this.rnd));
1209 	}
1210 
1211 	///
1212 	override string cellPhoneFormats() {
1213 		auto data = [
1214 		"+351 91#######",
1215 		"+351 93#######",
1216 		"+351 96#######'"
1217 		];
1218 		return this.digitBuild(choice(data, this.rnd));
1219 	}
1220 
1221 	///
1222 	override string internetFreeEmail() {
1223 		auto data = [
1224 		"gmail.com",
1225 		"yahoo.com",
1226 		"hotmail.com",
1227 		"outlook.com",
1228 		"live.com",
1229 		"portugalmail.pt",
1230 		"mail.pt",
1231 		"sapo.pt",
1232 		"aeiou.pt"
1233 		];
1234 		return choice(data, this.rnd);
1235 	}
1236 
1237 	///
1238 	override string internetDomainSuffix() {
1239 		auto data = [
1240 		"pt",
1241 		"gov.pt",
1242 		"com.pt",
1243 		"org.pt",
1244 		"eu",
1245 		"com",
1246 		"biz",
1247 		"info",
1248 		"name",
1249 		"net",
1250 		"org"
1251 		];
1252 		return choice(data, this.rnd);
1253 	}
1254 
1255 }