| 148 |
lars |
1 |
<?php
|
|
|
2 |
|
|
|
3 |
namespace Faker\Provider\fr_CA;
|
|
|
4 |
|
|
|
5 |
class Address extends \Faker\Provider\fr_FR\Address
|
|
|
6 |
{
|
|
|
7 |
protected static $cityPrefix = ['Saint-', 'Sainte-', 'St-', 'Ste-'];
|
|
|
8 |
|
|
|
9 |
/**
|
|
|
10 |
* The suffixes come from this list of communities in Québec
|
|
|
11 |
* http://fr.wikipedia.org/wiki/Liste_des_municipalités_locales_du_Québec
|
|
|
12 |
*/
|
|
|
13 |
protected static $citySuffix = [
|
|
|
14 |
// Bas-Saint-Laurent
|
|
|
15 |
'-des-Sables', '-sur-Mer', '-des-Neiges', '-des-Sept-Douleurs', '-du-Portage', '-du-Loup', '-des-Lacs', '-de-Lessard',
|
|
|
16 |
'-de-Kamourasca', '-de-Témiscouata', '-de-Ladrière', '-de-Rimouski', '-de-Rivière-du-Loup', '-du-Lac', '-du-Ha! Ha!',
|
|
|
17 |
'-du-Lac-Long', '-de-Rioux', '-du-Squatec', '-de-Métis', '-d\'Ixworth', '-de-la-Croix', '-de-Matane', '-du-Lac-Humqui',
|
|
|
18 |
'-de-Mérici', '-de-la-Pocatière', '-sur-le-Lac',
|
|
|
19 |
// Saguenay–Lac-Saint-Jean
|
|
|
20 |
'-de-Lorette', '-du-Lac-Saint-Jean', '-de-Bourget', '-de-Falardeau', '-les-Plaines', '-de-Sales', '-de-Taillon',
|
|
|
21 |
'-de-Milot', '-du-Nord',
|
|
|
22 |
// Québec (Capitale-Nationale)
|
|
|
23 |
'-aux-Coudres', '-des-Anges', '-de-Desmaures', '-les-Neiges', '-de-l\'Île-d\'Orléans', '-de-Valcartier',
|
|
|
24 |
'-de-Portneuf', '-du-Cap-Tourmente', '-des-Carrières', '-des-Caps', '-de-Beaupré', '-de-Laval', '-de-la-Jacques-Cartier',
|
|
|
25 |
'-d\'Auvergne',
|
|
|
26 |
// Mauricie
|
|
|
27 |
'-de-Monteauban', '-du-Mont-Carmel', '-des-Monts', '-de-Maskinongé', '-de-Caxton', '-des-Grès', '-le-Grand',
|
|
|
28 |
'-de-Vincennes', '-du-Parc', '-de-Champlain', '-de-Mékinac', '-de-Prémont', '-de-la-Pérade', '-de-Batiscan',
|
|
|
29 |
// Estrie (Cantons de l'est)
|
|
|
30 |
'-Ouest', '-Est', '-Sud', '-Nord', '-des-Bois', '-de-Woburn', '-de-Brompton', '-de-Bolton', '-de-Windsor',
|
|
|
31 |
'-de-Clifton', '-de-Paquette', '-de-la-Rochelle', '-de-Hatley', '-de-Whitton',
|
|
|
32 |
// Montréal
|
|
|
33 |
'-de-Bellevue',
|
|
|
34 |
// Chaudière-Appalaches
|
|
|
35 |
'-de-Buckland', '-des-Pins', '-du-Rosaire', '-d\'Issoudun', '-de-Jésus', '-d\'Irlande', '-de-l\'Isle-aux-Grues',
|
|
|
36 |
'-de-Tilly', '-de-Lellis', '-de-Bellechasse', '-de-Lessard', '-de-L\'Islet', '-de-Lotbinière', '-de-Beauce',
|
|
|
37 |
'-de-Forsyth', '-de-Panet', '-de-la-Rivière-du-Sud', '-de-Dorset', '-de-Shenley', '-de-Leeds', '-de-Wolfestown',
|
|
|
38 |
'-de-Joly', '-de-Brébeuf', '-de-Coleraine', '-des-Érables', '-Bretenières', '-de-Lauzon', '-de-Standon',
|
|
|
39 |
'-de-Gonzague', '-de-Beaurivage', '-de-Dorchester', '-de-Cranbourne', '-de-Broughton', '-de-la-Rivière-du-Sud',
|
|
|
40 |
'-des-Aulnaies', '-les-Mines', '-de-Lotbinière', '-de-Patton', '-sur-Rivière-du-Sud', '-de-Beauregard', '-de-Watford',
|
|
|
41 |
];
|
|
|
42 |
|
|
|
43 |
/**
|
|
|
44 |
* @example 'Saint-Marc-des-Carrières' or 'Sainte-Monique'
|
|
|
45 |
*/
|
|
|
46 |
protected static $cityFormats = [
|
|
|
47 |
'{{cityPrefix}}{{firstName}}{{citySuffix}}',
|
|
|
48 |
'{{cityPrefix}}{{firstName}}',
|
|
|
49 |
];
|
|
|
50 |
|
|
|
51 |
protected static $buildingNumber = ['%####', '%###', '%##', '%#', '%'];
|
|
|
52 |
|
|
|
53 |
protected static $streetSuffix = [
|
|
|
54 |
'Autoroute', 'Avenue', 'Boulevard', 'Chemin', 'Route', 'Rue', 'Pont',
|
|
|
55 |
];
|
|
|
56 |
|
|
|
57 |
protected static $postcode = ['?#? #?#', '?#?#?#'];
|
|
|
58 |
|
|
|
59 |
/**
|
|
|
60 |
* @example 'Avenue Bolduc'
|
|
|
61 |
*/
|
|
|
62 |
protected static $streetNameFormats = [
|
|
|
63 |
'{{streetSuffix}} {{firstName}}',
|
|
|
64 |
'{{streetSuffix}} {{lastName}}',
|
|
|
65 |
];
|
|
|
66 |
|
|
|
67 |
protected static $streetAddressFormats = [
|
|
|
68 |
'{{buildingNumber}} {{streetName}}',
|
|
|
69 |
'{{buildingNumber}} {{streetName}} {{secondaryAddress}}',
|
|
|
70 |
];
|
|
|
71 |
|
|
|
72 |
protected static $addressFormats = [
|
|
|
73 |
'{{streetAddress}}, {{city}}, {{stateAbbr}} {{postcode}}',
|
|
|
74 |
];
|
|
|
75 |
|
|
|
76 |
protected static $secondaryAddressFormats = ['Apt. ###', 'Suite ###', 'Bureau ###'];
|
|
|
77 |
|
|
|
78 |
protected static $state = [
|
|
|
79 |
'Alberta', 'Colombie-Britannique', 'Manitoba', 'Nouveau-Brunswick', 'Terre-Neuve-et-Labrador', 'Nouvelle-Écosse', 'Ontario', 'Île-du-Prince-Édouard', 'Québec', 'Saskatchewan',
|
|
|
80 |
];
|
|
|
81 |
|
|
|
82 |
protected static $stateAbbr = [
|
|
|
83 |
'AB', 'BC', 'MB', 'NB', 'NL', 'NS', 'ON', 'PE', 'QC', 'SK',
|
|
|
84 |
];
|
|
|
85 |
|
|
|
86 |
/**
|
|
|
87 |
* @example 'Saint-'
|
|
|
88 |
*/
|
|
|
89 |
public static function cityPrefix()
|
|
|
90 |
{
|
|
|
91 |
return static::randomElement(static::$cityPrefix);
|
|
|
92 |
}
|
|
|
93 |
|
|
|
94 |
/**
|
|
|
95 |
* @example '-des-Sables'
|
|
|
96 |
*/
|
|
|
97 |
public static function citySuffix()
|
|
|
98 |
{
|
|
|
99 |
return static::randomElement(static::$citySuffix);
|
|
|
100 |
}
|
|
|
101 |
|
|
|
102 |
/**
|
|
|
103 |
* @example 'Bureau 500'
|
|
|
104 |
*/
|
|
|
105 |
public static function secondaryAddress()
|
|
|
106 |
{
|
|
|
107 |
return static::numerify(static::randomElement(static::$secondaryAddressFormats));
|
|
|
108 |
}
|
|
|
109 |
|
|
|
110 |
/**
|
|
|
111 |
* @example 'Québec'
|
|
|
112 |
*/
|
|
|
113 |
public static function state()
|
|
|
114 |
{
|
|
|
115 |
return static::randomElement(static::$state);
|
|
|
116 |
}
|
|
|
117 |
|
|
|
118 |
/**
|
|
|
119 |
* @example 'QC'
|
|
|
120 |
*/
|
|
|
121 |
public static function stateAbbr()
|
|
|
122 |
{
|
|
|
123 |
return static::randomElement(static::$stateAbbr);
|
|
|
124 |
}
|
|
|
125 |
}
|