Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Транслетирование специальных символов (https://javascript.ru/forum/dom-window/43597-transletirovanie-specialnykh-simvolov.html)

dethlex 12.12.2013 22:40

Транслетирование специальных символов
 
Всем привет! Имеется сайт с содержимым на узбекском языке. Они ребята забавные, попросили сделать транслитерацию текста. Принято так, 2 вида языка - на кириллице и латинице. Вот и сайт должен иметь 2 языка. Итак, скрипт парсит селекторы и заменяет найденные символы на нужные. Всё хорошо, но одна проблема, специальные узбекские символы не хотят замещаться, и остаются рядом со своим сопоставлением.. Как быть и что делать? Уже голову сломал..

http://kinoolam.info/films/12-kelinl...1171oloni.html - Вот живой пример. Сайт еще дорабатывается и допереводится =)

рони 12.12.2013 23:49

dethlex,
пример бы сделали тут

рони 13.12.2013 00:00

dethlex,
:write:
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.min.js">
</script>
</head>

<body>
  <h2>Келинлар қўзғолони</h2>

  <h1>Келинлар қўзғолони</h1>

  <p>Kelinlar qo`zg`oloni</p>
  <script>
  translate('h1');
  function translate(e) {
    var c = {
        "\u0410": "A",
        "\u0411": "B",
        "\u0412": "V",
        "\u0413": "G",
        "\u0414": "D",
        "\u0415": "E",
        "\u0401": "JO",
        "\u0416": "J",
        "\u0417": "Z",
        "\u0418": "I",
        "\u0419": "Y",
        "\u041a": "K",
        "\u041b": "L",
        "\u041c": "M",
        "\u041d": "N",
        "\u041e": "O",
        "\u041f": "P",
        "\u0420": "R",
        "\u0421": "S",
        "\u0422": "T",
        "\u0423": "U",
        "\u0424": "F",
        "\u0425": "H",
        "\u0426": "C",
        "\u0427": "CH",
        "\u0428": "SH",
        "\u0429": "SCH",
        "\u042a": "",
        "\u042b": "y",
        "\u042c": "`",
        "\u042d": "YE",
        "\u042e": "YU",
        "\u042f": "YA",
        "\u0430": "a",
        "\u0431": "b",
        "\u0432": "v",
        "\u0433": "g",
        "\u0434": "d",
        "\u0435": "e",
        "\u0451": "jo",
        "\u0436": "j",
        "\u0437": "z",
        "\u0438": "i",
        "\u0439": "y",
        "\u043a": "k",
        "\u043b": "l",
        "\u043c": "m",
        "\u043d": "n",
        "\u043e": "o",
        "\u043f": "p",
        "\u0440": "r",
        "\u0441": "s",
        "\u0442": "t",
        "\u0443": "u",
        "\u0444": "f",
        "\u0445": "h",
        "\u0446": "c",
        "\u0447": "ch",
        "\u0448": "sh",
        "\u0449": "sch",
        "\u044a": "",
        "\u044b": "y",
        "\u044c": "`",
        "\u044d": "ye",
        "\u044e": "yu",
        "\u044f": "ya",
        "\u0456": "i",
        "\u0457": "i",
        "\u0493": "g'",
        "\u0492": "G'",
        "\u04b3": "h",
        "\u04b2": "H",
        "\u049b": "q",
        "\u049a": "Q",
        "\u045e": "o'",
        "\u040e": "O'"
    };
    $(e).each(function () {
        var d = $(this),
            a = d.text(),
            b = new String;
        for (i = 0; i < a.length; i++) b += c[a[i]] !== void(0) ? c[a[i]] : a[i];
        d.text(b)
    })
};
  </script>
</body>
</html>

dethlex 16.12.2013 06:28

рони,
Благодарю за скрипт, вроде все работает как надо. Тоже пытался решить вопрос через код символов, но ничего не получалось..


Часовой пояс GMT +3, время: 11:00.