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 1
1
var transliterate = ( function ( ) {
2
2
'use strict' ;
3
3
4
+ /**
5
+ * Сопоставления русских и латинских символов, сгруппированные по типам (системам) транслитерации
6
+ *
7
+ * @private {Object}
8
+ */
4
9
var characterMappings = {
10
+ // Основной
5
11
'basic' : {
6
12
'а' : 'a' ,
7
13
'б' : 'b' ,
@@ -70,6 +76,8 @@ var transliterate = (function () {
70
76
'Ю' : 'Ju' ,
71
77
'Я' : 'Ja'
72
78
} ,
79
+
80
+ // Буквы-цифры
73
81
'letters-numbers' : {
74
82
'а' : 'a' ,
75
83
'б' : 'b' ,
@@ -138,6 +146,8 @@ var transliterate = (function () {
138
146
'Ю' : 'Ju' ,
139
147
'Я' : 'Ja'
140
148
} ,
149
+
150
+ // ГОСТ 16876-71
141
151
'gost-16876-71' : {
142
152
'а' : 'a' ,
143
153
'б' : 'b' ,
@@ -206,6 +216,8 @@ var transliterate = (function () {
206
216
'Ю' : 'Ju' ,
207
217
'Я' : 'Ja'
208
218
} ,
219
+
220
+ // ГОСТ 7.79-2000
209
221
'gost-7-79-2000' : {
210
222
'а' : 'a' ,
211
223
'б' : 'b' ,
@@ -274,6 +286,288 @@ var transliterate = (function () {
274
286
'Ю' : 'Yu' ,
275
287
'Я' : 'Ya'
276
288
} ,
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
+ // Сходно с МВД
277
571
'police' : {
278
572
'а' : 'a' ,
279
573
'б' : 'b' ,
@@ -342,6 +636,8 @@ var transliterate = (function () {
342
636
'Ю' : 'Iu' ,
343
637
'Я' : 'Ia'
344
638
} ,
639
+
640
+ // Как на загранпаспорт
345
641
'foreign-passport' : {
346
642
'а' : 'a' ,
347
643
'б' : 'b' ,
@@ -412,6 +708,14 @@ var transliterate = (function () {
412
708
}
413
709
} ;
414
710
711
+ /**
712
+ * Производит транслитерацию русского текста с кириллицы на латиницу
713
+ *
714
+ * @param {String } value - Текст, содержащий символы русского (кириллического) алфавита
715
+ * @param {String } type - Код типа (системы) транслитерации
716
+ * @returns {String } Текст, содержащий только символы латинского алфавита
717
+ * @expose
718
+ */
415
719
function transliterate ( value , type ) {
416
720
var charCount ,
417
721
charIndex ,
You can’t perform that action at this time.
0 commit comments