Не верь, не бойся, не проси - [entries|archive|friends|userinfo]
phantom

[ website | My Website ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

[Mar. 24th, 2008|07:54 am]
Previous Entry Add to Memories Tell A Friend Next Entry
LinkLeave a comment

Comments:
[User Picture]
From:[info]ketmar
Date:March 25th, 2008 - 11:38 am
(Link)
добавлю ещё свой вариант untranslit:
var trTableDif = {
  Y: { O: '\u0401', o: '\u0401', U: '\u042E', u: '\u042E', A: '\u042F', a: '\u042F' },
  y: { O: '\u0451', o: '\u0451', U: '\u044E', u: '\u044E', A: '\u044F', a: '\u044F' },
  J: { E: '\u042D', e: '\u042D', U: '\u042E', u: '\u042E', A: '\u042F', a: '\u042F' },
  j: { E: '\u044D', e: '\u044D', U: '\u044E', u: '\u044E', A: '\u044F', a: '\u044F' },
  Z: { H: '\u0416', h: '\u0416' },
  z: { H: '\u0436', h: '\u0436' },
  T: { S: '\u0426', s: '\u0426' },
  t: { S: '\u0446', s: '\u0446' },
  C: { H: '\u0427', h: '\u0427' },
  c: { H: '\u0447', h: '\u0447' },
  S: { H: '\u0428', h: '\u0428' },
  s: { H: '\u0448', h: '\u0448' },
  E: { H: '\u042D', h: '\u042D' },
  e: { H: '\u044D', h: '\u044D' },
  K: { H: '\u0425', h: '\u0425' },
  k: { H: '\u0445', h: '\u0445' },
  '"': { '"': '\u042A' },
  "'": { "'": '\u044A' }
};

var trTable = {
  A: '\u0410', a: '\u0430',
  B: '\u0411', b: '\u0431',
  V: '\u0412', v: '\u0432',
  G: '\u0413', g: '\u0433',
  D: '\u0414', d: '\u0434',
  E: '\u0415', e: '\u0435',
  Z: '\u0417', z: '\u0437',
  I: '\u0418', i: '\u0438',
  J: '\u0419', j: '\u0439',
  K: '\u041A', k: '\u043A',
  L: '\u041B', l: '\u043B',
  M: '\u041C', m: '\u043C',
  N: '\u041D', n: '\u043D',
  O: '\u041E', o: '\u043E',
  P: '\u041F', p: '\u043F',
  R: '\u0420', r: '\u0440',
  S: '\u0421', s: '\u0441',
  T: '\u0422', t: '\u0442',
  U: '\u0423', u: '\u0443',
  F: '\u0424', f: '\u0444',
  X: '\u0425', x: '\u0445',
  H: '\u0425', h: '\u0445',
  C: '\u0426', c: '\u0446',
  w: '\u0429', w: '\u0449',
  Y: '\u042B', y: '\u044B',
  "'": '\u044C',
  //'"': '\u044C',
};

function untranslit (s) {
  var res = "", len = s.length;
  for (var f = 0; f < len; f++) {
    var n = s.charAt(f);
    var rus = trTable[n], dif = trTableDif[n];
    if (dif) {
      var n1 = s.charAt(f+1);
      rus1 = dif[n1];
      if (rus1) { rus = rus1; f++; }
    }
    res += rus?rus:n;
  }
  return res;
}
[User Picture]
From:[info]ketmar
Date:March 25th, 2008 - 02:45 pm
(Link)
йопт! var rus1, естественно.