File tree Expand file tree Collapse file tree 1 file changed +304
-0
lines changed
test/JavaScriptEngineSwitcher.Benchmarks/Resources Expand file tree Collapse file tree 1 file changed +304
-0
lines changed Original file line number Diff line number Diff line change 11var transliterate = ( function ( ) {
22 'use strict' ;
33
4+ /**
5+ * Сопоставления русских и латинских символов, сгруппированные по типам (системам) транслитерации
6+ *
7+ * @private {Object}
8+ */
49 var characterMappings = {
10+ // Основной
511 'basic' : {
612 'а' : 'a' ,
713 'б' : 'b' ,
@@ -70,6 +76,8 @@ var transliterate = (function () {
7076 'Ю' : 'Ju' ,
7177 'Я' : 'Ja'
7278 } ,
79+
80+ // Буквы-цифры
7381 'letters-numbers' : {
7482 'а' : 'a' ,
7583 'б' : 'b' ,
@@ -138,6 +146,8 @@ var transliterate = (function () {
138146 'Ю' : 'Ju' ,
139147 'Я' : 'Ja'
140148 } ,
149+
150+ // ГОСТ 16876-71
141151 'gost-16876-71' : {
142152 'а' : 'a' ,
143153 'б' : 'b' ,
@@ -206,6 +216,8 @@ var transliterate = (function () {
206216 'Ю' : 'Ju' ,
207217 'Я' : 'Ja'
208218 } ,
219+
220+ // ГОСТ 7.79-2000
209221 'gost-7-79-2000' : {
210222 'а' : 'a' ,
211223 'б' : 'b' ,
@@ -274,6 +286,288 @@ var transliterate = (function () {
274286 'Ю' : 'Yu' ,
275287 'Я' : 'Ya'
276288 } ,
289+
290+ // СЭВ 1362-78
291+ 'sev-1362-78' : {
292+ 'а' : 'a' ,
293+ 'б' : 'b' ,
294+ 'в' : 'v' ,
295+ 'г' : 'g' ,
296+ 'д' : 'd' ,
297+ 'е' : 'e' ,
298+ 'ё' : 'jo' ,
299+ 'ж' : 'zh' ,
300+ 'з' : 'z' ,
301+ 'и' : 'i' ,
302+ 'й' : 'j' ,
303+ 'к' : 'k' ,
304+ 'л' : 'l' ,
305+ 'м' : 'm' ,
306+ 'н' : 'n' ,
307+ 'о' : 'o' ,
308+ 'п' : 'p' ,
309+ 'р' : 'r' ,
310+ 'с' : 's' ,
311+ 'т' : 't' ,
312+ 'у' : 'u' ,
313+ 'ф' : 'f' ,
314+ 'х' : 'kh' ,
315+ 'ц' : 'c' ,
316+ 'ч' : 'ch' ,
317+ 'ш' : 'sh' ,
318+ 'щ' : 'shh' ,
319+ 'ъ' : '"' ,
320+ 'ы' : 'y' ,
321+ 'ь' : '\'' ,
322+ 'э' : 'eh' ,
323+ 'ю' : 'ju' ,
324+ 'я' : 'ja' ,
325+ 'А' : 'A' ,
326+ 'Б' : 'B' ,
327+ 'В' : 'V' ,
328+ 'Г' : 'G' ,
329+ 'Д' : 'D' ,
330+ 'Е' : 'E' ,
331+ 'Ё' : 'Jo' ,
332+ 'Ж' : 'Zh' ,
333+ 'З' : 'Z' ,
334+ 'И' : 'I' ,
335+ 'Й' : 'J' ,
336+ 'К' : 'K' ,
337+ 'Л' : 'L' ,
338+ 'М' : 'M' ,
339+ 'Н' : 'N' ,
340+ 'О' : 'O' ,
341+ 'П' : 'P' ,
342+ 'Р' : 'R' ,
343+ 'С' : 'S' ,
344+ 'Т' : 'T' ,
345+ 'У' : 'U' ,
346+ 'Ф' : 'F' ,
347+ 'Х' : 'Kh' ,
348+ 'Ц' : 'C' ,
349+ 'Ч' : 'Ch' ,
350+ 'Ш' : 'Sh' ,
351+ 'Щ' : 'Shh' ,
352+ 'Ъ' : '""' ,
353+ 'Ы' : 'Y' ,
354+ 'Ь' : '\'\'' ,
355+ 'Э' : 'Eh' ,
356+ 'Ю' : 'Ju' ,
357+ 'Я' : 'Ja'
358+ } ,
359+
360+ // LC
361+ 'lc' : {
362+ 'а' : 'a' ,
363+ 'б' : 'b' ,
364+ 'в' : 'v' ,
365+ 'г' : 'g' ,
366+ 'д' : 'd' ,
367+ 'е' : 'e' ,
368+ 'ё' : 'e' ,
369+ 'ж' : 'zh' ,
370+ 'з' : 'z' ,
371+ 'и' : 'i' ,
372+ 'й' : 'i' ,
373+ 'к' : 'k' ,
374+ 'л' : 'l' ,
375+ 'м' : 'm' ,
376+ 'н' : 'n' ,
377+ 'о' : 'o' ,
378+ 'п' : 'p' ,
379+ 'р' : 'r' ,
380+ 'с' : 's' ,
381+ 'т' : 't' ,
382+ 'у' : 'u' ,
383+ 'ф' : 'f' ,
384+ 'х' : 'kh' ,
385+ 'ц' : 'ts' ,
386+ 'ч' : 'ch' ,
387+ 'ш' : 'sh' ,
388+ 'щ' : 'shch' ,
389+ 'ъ' : '"' ,
390+ 'ы' : 'y' ,
391+ 'ь' : '\'' ,
392+ 'э' : 'e' ,
393+ 'ю' : 'iu' ,
394+ 'я' : 'ia' ,
395+ 'А' : 'A' ,
396+ 'Б' : 'B' ,
397+ 'В' : 'V' ,
398+ 'Г' : 'G' ,
399+ 'Д' : 'D' ,
400+ 'Е' : 'E' ,
401+ 'Ё' : 'E' ,
402+ 'Ж' : 'Zh' ,
403+ 'З' : 'Z' ,
404+ 'И' : 'I' ,
405+ 'Й' : 'I' ,
406+ 'К' : 'K' ,
407+ 'Л' : 'L' ,
408+ 'М' : 'M' ,
409+ 'Н' : 'N' ,
410+ 'О' : 'O' ,
411+ 'П' : 'P' ,
412+ 'Р' : 'R' ,
413+ 'С' : 'S' ,
414+ 'Т' : 'T' ,
415+ 'У' : 'U' ,
416+ 'Ф' : 'F' ,
417+ 'Х' : 'Kh' ,
418+ 'Ц' : 'Ts' ,
419+ 'Ч' : 'Ch' ,
420+ 'Ш' : 'Sh' ,
421+ 'Щ' : 'Shch' ,
422+ 'Ъ' : '""' ,
423+ 'Ы' : 'Y' ,
424+ 'Ь' : '\'\'' ,
425+ 'Э' : 'E' ,
426+ 'Ю' : 'Iu' ,
427+ 'Я' : 'Ia'
428+ } ,
429+
430+ // BGN
431+ 'bgn' : {
432+ 'а' : 'a' ,
433+ 'б' : 'b' ,
434+ 'в' : 'v' ,
435+ 'г' : 'g' ,
436+ 'д' : 'd' ,
437+ 'е' : 'e' ,
438+ 'ё' : 'e' ,
439+ 'ж' : 'zh' ,
440+ 'з' : 'z' ,
441+ 'и' : 'i' ,
442+ 'й' : 'y' ,
443+ 'к' : 'k' ,
444+ 'л' : 'l' ,
445+ 'м' : 'm' ,
446+ 'н' : 'n' ,
447+ 'о' : 'o' ,
448+ 'п' : 'p' ,
449+ 'р' : 'r' ,
450+ 'с' : 's' ,
451+ 'т' : 't' ,
452+ 'у' : 'u' ,
453+ 'ф' : 'f' ,
454+ 'х' : 'kh' ,
455+ 'ц' : 'ts' ,
456+ 'ч' : 'ch' ,
457+ 'ш' : 'sh' ,
458+ 'щ' : 'shch' ,
459+ 'ъ' : '"' ,
460+ 'ы' : 'y' ,
461+ 'ь' : '\'' ,
462+ 'э' : 'e' ,
463+ 'ю' : 'yu' ,
464+ 'я' : 'ya' ,
465+ 'А' : 'A' ,
466+ 'Б' : 'B' ,
467+ 'В' : 'V' ,
468+ 'Г' : 'G' ,
469+ 'Д' : 'D' ,
470+ 'Е' : 'E' ,
471+ 'Ё' : 'E' ,
472+ 'Ж' : 'Zh' ,
473+ 'З' : 'Z' ,
474+ 'И' : 'I' ,
475+ 'Й' : 'Y' ,
476+ 'К' : 'K' ,
477+ 'Л' : 'L' ,
478+ 'М' : 'M' ,
479+ 'Н' : 'N' ,
480+ 'О' : 'O' ,
481+ 'П' : 'P' ,
482+ 'Р' : 'R' ,
483+ 'С' : 'S' ,
484+ 'Т' : 'T' ,
485+ 'У' : 'U' ,
486+ 'Ф' : 'F' ,
487+ 'Х' : 'Kh' ,
488+ 'Ц' : 'Ts' ,
489+ 'Ч' : 'Ch' ,
490+ 'Ш' : 'Sh' ,
491+ 'Щ' : 'Shch' ,
492+ 'Ъ' : '""' ,
493+ 'Ы' : 'Y' ,
494+ 'Ь' : '\'\'' ,
495+ 'Э' : 'E' ,
496+ 'Ю' : 'Yu' ,
497+ 'Я' : 'Ya'
498+ } ,
499+
500+ // BSI
501+ 'bsi' : {
502+ 'а' : 'a' ,
503+ 'б' : 'b' ,
504+ 'в' : 'v' ,
505+ 'г' : 'g' ,
506+ 'д' : 'd' ,
507+ 'е' : 'e' ,
508+ 'ё' : 'e' ,
509+ 'ж' : 'zh' ,
510+ 'з' : 'z' ,
511+ 'и' : 'i' ,
512+ 'й' : 'i' ,
513+ 'к' : 'k' ,
514+ 'л' : 'l' ,
515+ 'м' : 'm' ,
516+ 'н' : 'n' ,
517+ 'о' : 'o' ,
518+ 'п' : 'p' ,
519+ 'р' : 'r' ,
520+ 'с' : 's' ,
521+ 'т' : 't' ,
522+ 'у' : 'u' ,
523+ 'ф' : 'f' ,
524+ 'х' : 'kh' ,
525+ 'ц' : 'ts' ,
526+ 'ч' : 'ch' ,
527+ 'ш' : 'sh' ,
528+ 'щ' : 'shch' ,
529+ 'ъ' : '"' ,
530+ 'ы' : 'y' ,
531+ 'ь' : '\'' ,
532+ 'э' : 'e' ,
533+ 'ю' : 'yu' ,
534+ 'я' : 'ya' ,
535+ 'А' : 'A' ,
536+ 'Б' : 'B' ,
537+ 'В' : 'V' ,
538+ 'Г' : 'G' ,
539+ 'Д' : 'D' ,
540+ 'Е' : 'E' ,
541+ 'Ё' : 'E' ,
542+ 'Ж' : 'Zh' ,
543+ 'З' : 'Z' ,
544+ 'И' : 'I' ,
545+ 'Й' : 'I' ,
546+ 'К' : 'K' ,
547+ 'Л' : 'L' ,
548+ 'М' : 'M' ,
549+ 'Н' : 'N' ,
550+ 'О' : 'O' ,
551+ 'П' : 'P' ,
552+ 'Р' : 'R' ,
553+ 'С' : 'S' ,
554+ 'Т' : 'T' ,
555+ 'У' : 'U' ,
556+ 'Ф' : 'F' ,
557+ 'Х' : 'Kh' ,
558+ 'Ц' : 'Ts' ,
559+ 'Ч' : 'Ch' ,
560+ 'Ш' : 'Sh' ,
561+ 'Щ' : 'Shch' ,
562+ 'Ъ' : '""' ,
563+ 'Ы' : 'Y' ,
564+ 'Ь' : '\'\'' ,
565+ 'Э' : 'E' ,
566+ 'Ю' : 'Yu' ,
567+ 'Я' : 'Ya'
568+ } ,
569+
570+ // Сходно с МВД
277571 'police' : {
278572 'а' : 'a' ,
279573 'б' : 'b' ,
@@ -342,6 +636,8 @@ var transliterate = (function () {
342636 'Ю' : 'Iu' ,
343637 'Я' : 'Ia'
344638 } ,
639+
640+ // Как на загранпаспорт
345641 'foreign-passport' : {
346642 'а' : 'a' ,
347643 'б' : 'b' ,
@@ -412,6 +708,14 @@ var transliterate = (function () {
412708 }
413709 } ;
414710
711+ /**
712+ * Производит транслитерацию русского текста с кириллицы на латиницу
713+ *
714+ * @param {String } value - Текст, содержащий символы русского (кириллического) алфавита
715+ * @param {String } type - Код типа (системы) транслитерации
716+ * @returns {String } Текст, содержащий только символы латинского алфавита
717+ * @expose
718+ */
415719 function transliterate ( value , type ) {
416720 var charCount ,
417721 charIndex ,
You can’t perform that action at this time.
0 commit comments