1use rand::seq::IndexedRandom;
2
3use crate::{
4 faker::{automotive::raw::LicencePlate, impls::address::CityNameGenFn},
5 locales::Data,
6 Dummy,
7};
8
9#[allow(non_camel_case_types)]
10#[derive(Copy, Clone)]
11pub struct TR_TR;
12
13impl Data for TR_TR {
14 const NAME_FIRST_NAME: &'static [&'static str] = &[
15 "Ahmet", "Mehmet", "Mustafa", "Ali", "Hüseyin", "Hasan", "Ayşe", "Fatma", "Emine",
16 "Hatice", "Zeynep", "Elif", "Murat", "Can", "Kemal", "Burak", "Serkan", "Onur", "Ece",
17 "Derya", "Selin", "Ceren", "Büşra", "Merve",
18 ];
19
20 const NAME_LAST_NAME: &'static [&'static str] = &[
21 "Yılmaz", "Kaya", "Demir", "Çelik", "Şahin", "Yıldız", "Aydın", "Öztürk", "Arslan",
22 "Doğan", "Kılıç", "Aslan", "Çetin", "Koç", "Polat", "Aksoy", "Erdoğan",
23 ];
24
25 const NAME_TITLE: &'static [&'static str] = &["Sn.", "Dr.", "Prof.", "Doç.", "Av.", "Müh."];
26
27 const NAME_SUFFIX: &'static [&'static str] = &["Bey", "Hanım"];
28
29 const NAME_TPL: &'static str = "{FirstName} {LastName}";
30 const NAME_WITH_TITLE_TPL: &'static str = "{Title} {FirstName} {LastName}";
31 const JOB_SENIORITY: &'static [&'static str] = &["Uzman", "Başuzman", "Müdür", "Kıdemli"];
32 const JOB_FIELD: &'static [&'static str] = &[
33 "Pazarlama",
34 "Bilişim",
35 "Muhasebe",
36 "İdari İşler",
37 "Reklamcılık",
38 "Bankacılık",
39 "Toplum Hizmetleri",
40 "İnşaat",
41 "Danışmanlık",
42 "Tasarım",
43 "Eğitim",
44 "Tarım",
45 "Kamu",
46 "Sağlık",
47 "Turizm ve Otelcilik",
48 "Hukuk",
49 "İmalat",
50 "Madencilik",
51 "Gayrimenkul",
52 "Perakende",
53 "Satış",
54 "Teknoloji",
55 ];
56 const JOB_POSITION: &'static [&'static str] = &[
57 "Amir",
58 "Yönetici",
59 "Memur",
60 "Müdür",
61 "Mühendis",
62 "Direktör",
63 "Koordinatör",
64 "Yönetici",
65 "Mimar",
66 "Analist",
67 "Tasarımcı",
68 "Planlamacı",
69 "Teknisyen",
70 "Geliştirici",
71 "Prodüktör",
72 "Danışman",
73 "Temsilci",
74 "Stratejist",
75 ];
76 const JOB_TITLE_TPL: &'static str = "{Seniority} {Field} {Position}";
77
78 const ADDRESS_CITY_PREFIX: &'static [&'static str] = &["Merkez", "Yeni", "Eski"];
79
80 const ADDRESS_CITY_SUFFIX: &'static [&'static str] = &["Mahallesi", "Köyü", "Beldesi"];
81
82 const ADDRESS_CITY_TPL: &'static str = "{CityName} {CitySuffix}";
83
84 const ADDRESS_CITY_WITH_PREFIX_TPL: &'static str = "{CityPrefix} {CityName} {CitySuffix}";
85
86 const ADDRESS_COUNTRY: &'static [&'static str] = &[
87 "ABD Küçük Dış Adaları",
88 "ABD Virjin Adaları",
89 "Afganistan",
90 "Almanya",
91 "Amerika Birleşik Devletleri",
92 "Andorra",
93 "Angola",
94 "Antarktika",
95 "Antigua ve Barbuda",
96 "Arjantin",
97 "Arnavutluk",
98 "Avustralya",
99 "Avusturya",
100 "Azerbaycan",
101 "Bahamalar",
102 "Bahreyn",
103 "Bangladeş",
104 "Belarus",
105 "Belçika",
106 "Birleşik Arap Emirlikleri",
107 "Birleşik Krallık",
108 "Bosna-Hersek",
109 "Brezilya",
110 "Bulgaristan",
111 "Çekya",
112 "Çin",
113 "Danimarka",
114 "Endonezya",
115 "Ermenistan",
116 "Fas",
117 "Finlandiya",
118 "Fransa",
119 "Güney Afrika",
120 "Güney Kore",
121 "Gürcistan",
122 "Hindistan",
123 "Hollanda",
124 "Irak",
125 "İran",
126 "İrlanda",
127 "İspanya",
128 "İsrail",
129 "İsveç",
130 "İsviçre",
131 "İtalya",
132 "Japonya",
133 "Kanada",
134 "Katar",
135 "Kazakistan",
136 "Kıbrıs",
137 "Kırgızistan",
138 "Kolombiya",
139 "Kuveyt",
140 "Macaristan",
141 "Meksika",
142 "Mısır",
143 "Norveç",
144 "Özbekistan",
145 "Pakistan",
146 "Polonya",
147 "Portekiz",
148 "Romanya",
149 "Rusya",
150 "Sırbistan",
151 "Suudi Arabistan",
152 "Şili",
153 "Tayland",
154 "Tunus",
155 "Türkiye",
156 "Ukrayna",
157 "Uruguay",
158 "Venezuela",
159 "Vietnam",
160 "Yunanistan",
161 "Zimbabve",
162 ];
163 const ADDRESS_STREET_SUFFIX: &'static [&'static str] = &[
164 "Sokak", "Sokağı", "Cadde", "Caddesi", "Bulvar", "Bulvarı", "Yolu", "Meydanı",
165 ];
166 const ADDRESS_STREET_TPL: &'static str = "{StreetName} {StreetSuffix}";
167
168 const ADDRESS_TIME_ZONE: &'static [&'static str] = &["Europe/Istanbul"];
169 const ADDRESS_STATE: &'static [&'static str] = &[
170 "Adana",
171 "Ankara",
172 "Antalya",
173 "Bursa",
174 "İstanbul",
175 "İzmir",
176 "Konya",
177 "Kayseri",
178 "Kocaeli",
179 "Samsun",
180 "Trabzon",
181 ];
182
183 const ADDRESS_STATE_ABBR: &'static [&'static str] = &[
184 "01", "06", "07", "16", "34", "35", "42", "38", "41", "55", "61",
185 ];
186
187 const ADDRESS_BUILDING_NUMBER_FORMATS: &'static [&'static str] =
188 &["No: ###", "No: ##", "No: #"];
189
190 const ADDRESS_ZIP_FORMATS: &'static [&'static str] = &["#####"];
191
192 const ADDRESS_POSTCODE_FORMATS: &'static [&'static str] = &["#####"];
193
194 const INTERNET_FREE_EMAIL_PROVIDER: &'static [&'static str] = &[
195 "gmail.com",
196 "hotmail.com",
197 "outlook.com",
198 "yahoo.com",
199 "icloud.com",
200 ];
201
202 const INTERNET_DOMAIN_SUFFIX: &'static [&'static str] =
203 &["com", "net", "org", "com.tr", "org.tr"];
204
205 const PHONE_NUMBER_FORMATS: &'static [&'static str] = &[
206 "+90 (212) ### ####",
207 "+90 (216) ### ####",
208 "+90 (262) ### ####",
209 ];
210
211 const PHONE_CELL_NUMBER_FORMATS: &'static [&'static str] =
212 &["+90 53# ### ####", "+90 54# ### ####", "+90 55# ### ####"];
213 const CHRONO_DEFAULT_TIME_FORMAT: &'static str = "%H:%M:%S";
214 const CHRONO_DEFAULT_DATE_FORMAT: &'static str = "%d.%m.%Y";
215
216 const CHRONO_DEFAULT_DATETIME_FORMAT: &'static str = "%d.%m.%Y %H:%M:%S";
217 const TIME_DEFAULT_DATE_FORMAT: &'static str = "[day].[month].[year]";
218
219 const TIME_DEFAULT_DATETIME_FORMAT: &'static str =
220 "[day].[month].[year] [hour]:[minute]:[second]";
221}
222
223impl CityNameGenFn for TR_TR {}
224
225const LICENSE_PLATE_TR_TR: &[&str] = &["## ABC ###", "## AB ####"];
226
227impl Dummy<LicencePlate<TR_TR>> for String {
228 fn dummy_with_rng<R: rand::RngExt + ?Sized>(_: &LicencePlate<TR_TR>, rng: &mut R) -> Self {
229 let fmt = LICENSE_PLATE_TR_TR.choose(rng).unwrap();
230 crate::faker::impls::automotive::numerify_licence_plate(fmt, rng)
231 }
232}