Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Translit.php
Go to the documentation of this file.
1 <?php
7 
14 {
20  protected $convertTable = [
21  '&amp;' => 'and',
22  '@' => 'at',
23  '©' => 'c',
24  '®' => 'r',
25  'À' => 'a',
26  'Á' => 'a',
27  'Â' => 'a',
28  'Ä' => 'a',
29  'Å' => 'a',
30  'Æ' => 'ae',
31  'Ç' => 'c',
32  'È' => 'e',
33  'É' => 'e',
34  'Ë' => 'e',
35  'Ì' => 'i',
36  'Í' => 'i',
37  'Î' => 'i',
38  'Ï' => 'i',
39  'Ò' => 'o',
40  'Ó' => 'o',
41  'Ô' => 'o',
42  'Õ' => 'o',
43  'Ö' => 'o',
44  'Ø' => 'o',
45  'Ù' => 'u',
46  'Ú' => 'u',
47  'Û' => 'u',
48  'Ü' => 'u',
49  'Ý' => 'y',
50  'ß' => 'ss',
51  'à' => 'a',
52  'á' => 'a',
53  'â' => 'a',
54  'ä' => 'a',
55  'å' => 'a',
56  'æ' => 'ae',
57  'ç' => 'c',
58  'è' => 'e',
59  'é' => 'e',
60  'ê' => 'e',
61  'ë' => 'e',
62  'ì' => 'i',
63  'í' => 'i',
64  'î' => 'i',
65  'ï' => 'i',
66  'ò' => 'o',
67  'ó' => 'o',
68  'ô' => 'o',
69  'õ' => 'o',
70  'ö' => 'o',
71  'ø' => 'o',
72  'ù' => 'u',
73  'ú' => 'u',
74  'û' => 'u',
75  'ü' => 'u',
76  'ý' => 'y',
77  'þ' => 'p',
78  'ÿ' => 'y',
79  'Ā' => 'a',
80  'ā' => 'a',
81  'Ă' => 'a',
82  'ă' => 'a',
83  'Ą' => 'a',
84  'ą' => 'a',
85  'Ć' => 'c',
86  'ć' => 'c',
87  'Ĉ' => 'c',
88  'ĉ' => 'c',
89  'Ċ' => 'c',
90  'ċ' => 'c',
91  'Č' => 'c',
92  'č' => 'c',
93  'Ď' => 'd',
94  'ď' => 'd',
95  'Đ' => 'd',
96  'đ' => 'd',
97  'Ē' => 'e',
98  'ē' => 'e',
99  'Ĕ' => 'e',
100  'ĕ' => 'e',
101  'Ė' => 'e',
102  'ė' => 'e',
103  'Ę' => 'e',
104  'ę' => 'e',
105  'Ě' => 'e',
106  'ě' => 'e',
107  'Ĝ' => 'g',
108  'ĝ' => 'g',
109  'Ğ' => 'g',
110  'ğ' => 'g',
111  'Ġ' => 'g',
112  'ġ' => 'g',
113  'Ģ' => 'g',
114  'ģ' => 'g',
115  'Ĥ' => 'h',
116  'ĥ' => 'h',
117  'Ħ' => 'h',
118  'ħ' => 'h',
119  'Ĩ' => 'i',
120  'ĩ' => 'i',
121  'Ī' => 'i',
122  'ī' => 'i',
123  'Ĭ' => 'i',
124  'ĭ' => 'i',
125  'Į' => 'i',
126  'į' => 'i',
127  'İ' => 'i',
128  'ı' => 'i',
129  'IJ' => 'ij',
130  'ij' => 'ij',
131  'Ĵ' => 'j',
132  'ĵ' => 'j',
133  'Ķ' => 'k',
134  'ķ' => 'k',
135  'ĸ' => 'k',
136  'Ĺ' => 'l',
137  'ĺ' => 'l',
138  'Ļ' => 'l',
139  'ļ' => 'l',
140  'Ľ' => 'l',
141  'ľ' => 'l',
142  'Ŀ' => 'l',
143  'ŀ' => 'l',
144  'Ł' => 'l',
145  'ł' => 'l',
146  'Ń' => 'n',
147  'ń' => 'n',
148  'Ņ' => 'n',
149  'ņ' => 'n',
150  'Ň' => 'n',
151  'ň' => 'n',
152  'ʼn' => 'n',
153  'Ŋ' => 'n',
154  'ŋ' => 'n',
155  'Ō' => 'o',
156  'ō' => 'o',
157  'Ŏ' => 'o',
158  'ŏ' => 'o',
159  'Ő' => 'o',
160  'ő' => 'o',
161  'Œ' => 'oe',
162  'œ' => 'oe',
163  'Ŕ' => 'r',
164  'ŕ' => 'r',
165  'Ŗ' => 'r',
166  'ŗ' => 'r',
167  'Ř' => 'r',
168  'ř' => 'r',
169  'Ś' => 's',
170  'ś' => 's',
171  'Ŝ' => 's',
172  'ŝ' => 's',
173  'Ş' => 's',
174  'ş' => 's',
175  'Š' => 's',
176  'š' => 's',
177  'Ţ' => 't',
178  'ţ' => 't',
179  'Ť' => 't',
180  'ť' => 't',
181  'Ŧ' => 't',
182  'ŧ' => 't',
183  'Ũ' => 'u',
184  'ũ' => 'u',
185  'Ū' => 'u',
186  'ū' => 'u',
187  'Ŭ' => 'u',
188  'ŭ' => 'u',
189  'Ů' => 'u',
190  'ů' => 'u',
191  'Ű' => 'u',
192  'ű' => 'u',
193  'Ų' => 'u',
194  'ų' => 'u',
195  'Ŵ' => 'w',
196  'ŵ' => 'w',
197  'Ŷ' => 'y',
198  'ŷ' => 'y',
199  'Ÿ' => 'y',
200  'Ź' => 'z',
201  'ź' => 'z',
202  'Ż' => 'z',
203  'ż' => 'z',
204  'Ž' => 'z',
205  'ž' => 'z',
206  'ſ' => 'z',
207  'Ə' => 'e',
208  'ƒ' => 'f',
209  'Ơ' => 'o',
210  'ơ' => 'o',
211  'Ư' => 'u',
212  'ư' => 'u',
213  'Ǎ' => 'a',
214  'ǎ' => 'a',
215  'Ǐ' => 'i',
216  'ǐ' => 'i',
217  'Ǒ' => 'o',
218  'ǒ' => 'o',
219  'Ǔ' => 'u',
220  'ǔ' => 'u',
221  'Ǖ' => 'u',
222  'ǖ' => 'u',
223  'Ǘ' => 'u',
224  'ǘ' => 'u',
225  'Ǚ' => 'u',
226  'ǚ' => 'u',
227  'Ǜ' => 'u',
228  'ǜ' => 'u',
229  'Ǻ' => 'a',
230  'ǻ' => 'a',
231  'Ǽ' => 'ae',
232  'ǽ' => 'ae',
233  'Ǿ' => 'o',
234  'ǿ' => 'o',
235  'ə' => 'e',
236  'Ё' => 'jo',
237  'Є' => 'e',
238  'І' => 'i',
239  'Ї' => 'i',
240  'А' => 'a',
241  'Б' => 'b',
242  'В' => 'v',
243  'Г' => 'g',
244  'Д' => 'd',
245  'Е' => 'e',
246  'Ж' => 'zh',
247  'З' => 'z',
248  'И' => 'i',
249  'Й' => 'j',
250  'К' => 'k',
251  'Л' => 'l',
252  'М' => 'm',
253  'Н' => 'n',
254  'О' => 'o',
255  'П' => 'p',
256  'Р' => 'r',
257  'С' => 's',
258  'Т' => 't',
259  'У' => 'u',
260  'Ф' => 'f',
261  'Х' => 'h',
262  'Ц' => 'c',
263  'Ч' => 'ch',
264  'Ш' => 'sh',
265  'Щ' => 'sch',
266  'Ъ' => '-',
267  'Ы' => 'y',
268  'Ь' => '-',
269  'Э' => 'je',
270  'Ю' => 'ju',
271  'Я' => 'ja',
272  'а' => 'a',
273  'б' => 'b',
274  'в' => 'v',
275  'г' => 'g',
276  'д' => 'd',
277  'е' => 'e',
278  'ж' => 'zh',
279  'з' => 'z',
280  'и' => 'i',
281  'й' => 'j',
282  'к' => 'k',
283  'л' => 'l',
284  'м' => 'm',
285  'н' => 'n',
286  'о' => 'o',
287  'п' => 'p',
288  'р' => 'r',
289  'с' => 's',
290  'т' => 't',
291  'у' => 'u',
292  'ф' => 'f',
293  'х' => 'h',
294  'ц' => 'c',
295  'ч' => 'ch',
296  'ш' => 'sh',
297  'щ' => 'sch',
298  'ъ' => '-',
299  'ы' => 'y',
300  'ь' => '-',
301  'э' => 'je',
302  'ю' => 'ju',
303  'я' => 'ja',
304  'ё' => 'jo',
305  'є' => 'e',
306  'і' => 'i',
307  'ї' => 'i',
308  'Ґ' => 'g',
309  'ґ' => 'g',
310  'א' => 'a',
311  'ב' => 'b',
312  'ג' => 'g',
313  'ד' => 'd',
314  'ה' => 'h',
315  'ו' => 'v',
316  'ז' => 'z',
317  'ח' => 'h',
318  'ט' => 't',
319  'י' => 'i',
320  'ך' => 'k',
321  'כ' => 'k',
322  'ל' => 'l',
323  'ם' => 'm',
324  'מ' => 'm',
325  'ן' => 'n',
326  'נ' => 'n',
327  'ס' => 's',
328  'ע' => 'e',
329  'ף' => 'p',
330  'פ' => 'p',
331  'ץ' => 'C',
332  'צ' => 'c',
333  'ק' => 'q',
334  'ר' => 'r',
335  'ש' => 'w',
336  'ת' => 't',
337  '™' => 'tm',
338  'α' => 'a',
339  'ά' => 'a',
340  'Ά' => 'a',
341  'Α' => 'a',
342  'β' => 'b',
343  'Β' => 'b',
344  'γ' => 'g',
345  'Γ' => 'g',
346  'δ' => 'd',
347  'Δ' => 'd',
348  'ε' => 'e',
349  'έ' => 'e',
350  'Ε' => 'e',
351  'Έ' => 'e',
352  'ζ' => 'z',
353  'Ζ' => 'z',
354  'η' => 'i',
355  'ή' => 'i',
356  'Η' => 'i',
357  'θ' => 'th',
358  'Θ' => 'th',
359  'ι' => 'i',
360  'ί' => 'i',
361  'ϊ' => 'i',
362  'ΐ' => 'i',
363  'Ι' => 'i',
364  'Ί' => 'i',
365  'κ' => 'k',
366  'Κ' => 'k',
367  'λ' => 'l',
368  'Λ' => 'l',
369  'μ' => 'm',
370  'Μ' => 'm',
371  'ν' => 'n',
372  'Ν' => 'n',
373  'ξ' => 'x',
374  'Ξ' => 'x',
375  'ο' => 'o',
376  'ό' => 'o',
377  'Ο' => 'o',
378  'Ό' => 'o',
379  'π' => 'p',
380  'Π' => 'p',
381  'ρ' => 'r',
382  'Ρ' => 'r',
383  'σ' => 's',
384  'ς' => 's',
385  'Σ' => 's',
386  'τ' => 't',
387  'Τ' => 't',
388  'υ' => 'u',
389  'ύ' => 'u',
390  'Υ' => 'y',
391  'Ύ' => 'y',
392  'φ' => 'f',
393  'Φ' => 'f',
394  'χ' => 'ch',
395  'Χ' => 'ch',
396  'ψ' => 'ps',
397  'Ψ' => 'ps',
398  'ω' => 'o',
399  'ώ' => 'o',
400  'Ω' => 'o',
401  'Ώ' => 'o',
402  ];
403 
407  public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $config)
408  {
409  $convertConfig = $config->getValue('url/convert', 'default');
410  if ($convertConfig) {
411  foreach ($convertConfig as $configValue) {
412  $this->convertTable[(string)$configValue['from']] = (string)$configValue['to'];
413  }
414  }
415  }
416 
422  protected function getConvertTable()
423  {
424  return $this->convertTable;
425  }
426 
433  public function filter($string)
434  {
435  $string = strtr($string, $this->getConvertTable());
436  return '"libiconv"' == ICONV_IMPL ? iconv(
437  \Magento\Framework\Stdlib\StringUtils::ICONV_CHARSET,
438  'ascii//ignore//translit',
439  $string
440  ) : $string;
441  }
442 }
$config
Definition: fraud_order.php:17
__construct(\Magento\Framework\App\Config\ScopeConfigInterface $config)
Definition: Translit.php:407