- проблем с превод от латиница на кирилица
WT форуми -> PHP MySQL ASP.NET -> проблем с превод от латиница на кирилица
Създайте нова тема Напишете отговор 
Автор Съобщение
Pro_Lamer4e
Нов
Нов

Регистриран на: 26/10/2009 7:10 am

Support: 2
Bonus: 4
Мнения: 182
Мнение 12/06/2018 2:51 pm     проблем с превод от латиница на кирилица Отговорете с цитат


върнах се малко назад в времето кога на мода бяха тъй наречените торрент сайтове... в него има една java която превежда текста но е на руски. Как да го препработа за да е на български ето цялата java

<script type="text/javascript" language="JavaScript">
   function RowsTextarea(n, w) {
      var inrows = document.getElementById(n);
      if (w < 1) {
         var rows = -5;
      } else {
         var rows = +5;
      }
      var outrows = inrows.rows + rows;
      if (outrows >= 5 && outrows < 50) {
         inrows.rows = outrows;
      }
      return false;
   }

   var SelField = document.<?php echo $form;?>.<?php echo $name;?>;
   var TxtFeld = document.<?php echo $form;?>.<?php echo $name;?>;

   var clientPC = navigator.userAgent.toLowerCase(); // Get client info
   var clientVer = parseInt(navigator.appVersion); // Get browser version

   var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
   var is_nav = ((clientPC.indexOf('mozilla') != -1) && (clientPC.indexOf('spoofer') == -1)
      && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera') == -1)
      && (clientPC.indexOf('webtv') == -1) && (clientPC.indexOf('hotjava') == -1));

   var is_moz = 0;

   var is_win = ((clientPC.indexOf("win") != -1) || (clientPC.indexOf("16bit") != -1));
   var is_mac = (clientPC.indexOf("mac") != -1);

   function StoreCaret(text) {
      if (text.createTextRange) {
         text.caretPos = document.selection.createRange().duplicate();
      }
   }
   function FieldName(text, which) {
      if (text.createTextRange) {
         text.caretPos = document.selection.createRange().duplicate();
      }
      if (which != "") {
         var Field = eval("document.<?php echo $form;?>." + which);
         SelField = Field;
         TxtFeld = Field;
      }
   }
   function AddSmile(SmileCode) {
      var SmileCode;
      var newPost;
      var oldPost = SelField.value;
      newPost = oldPost + SmileCode;
      SelField.value = newPost;
      SelField.focus();
      return;
   }
   function AddSelectedText(Open, Close) {
      if (SelField.createTextRange && SelField.caretPos && Close == '\n') {
         var caretPos = SelField.caretPos;
         caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? Open + Close + ' ' : Open + Close;
         SelField.focus();
      } else if (SelField.caretPos) {
         SelField.caretPos.text = Open + SelField.caretPos.text + Close;
      } else {
         SelField.value += Open + Close;
         SelField.focus();
      }
   }
   function InsertCode(code, info, type, error) {
      if (code == 'name') {
         AddSelectedText('[b]' + info + '[/b]', '\n');
      } else if (code == 'url' || code == 'mail') {
         if (code == 'url') var url = prompt(info, 'http://');
         if (code == 'mail') var url = prompt(info, '');
         if (!url) return alert(error);
         if ((clientVer >= 4) && is_ie && is_win) {
            selection = document.selection.createRange().text;
            if (!selection) {
               var title = prompt(type, type);
               AddSelectedText('[' + code + '=' + url + ']' + title + '[/' + code + ']', '\n');
            } else {
               AddSelectedText('[' + code + '=' + url + ']', '[/' + code + ']');
            }
         } else {
            mozWrap(TxtFeld, '[' + code + '=' + url + ']', '[/' + code + ']');
         }
      } else if (code == 'color' || code == 'family' || code == 'size') {
         if ((clientVer >= 4) && is_ie && is_win) {
            AddSelectedText('[' + code + '=' + info + ']', '[/' + code + ']');
         } else if (TxtFeld.selectionEnd && (TxtFeld.selectionEnd - TxtFeld.selectionStart > 0)) {
            mozWrap(TxtFeld, '[' + code + '=' + info + ']', '[/' + code + ']');
         }
      } else if (code == 'li' || code == 'hr') {
         if ((clientVer >= 4) && is_ie && is_win) {
            AddSelectedText('[' + code + ']', '');
         } else {
            mozWrap(TxtFeld, '[' + code + ']', '');
         }
      } else {
         if ((clientVer >= 4) && is_ie && is_win) {
            var selection = false;
            selection = document.selection.createRange().text;
            if (selection && code == 'quote') {
               AddSelectedText('[' + code + ']' + selection + '[/' + code + ']', '\n');
            } else {
               AddSelectedText('[' + code + ']', '[/' + code + ']');
            }
         } else {
            mozWrap(TxtFeld, '[' + code + ']', '[/' + code + ']');
         }
      }
   }

   function mozWrap(txtarea, open, close) {
      var selLength = txtarea.textLength;
      var selStart = txtarea.selectionStart;
      var selEnd = txtarea.selectionEnd;
      if (selEnd == 1 || selEnd == 2)
         selEnd = selLength;

      var s1 = (txtarea.value).substring(0, selStart);
      var s2 = (txtarea.value).substring(selStart, selEnd)
      var s3 = (txtarea.value).substring(selEnd, selLength);
      var sT = txtarea.scrollTop, sL = txtarea.scrollLeft;
      txtarea.value = s1 + open + s2 + close + s3;
      txtarea.focus();
      txtarea.scrollTop = sT;
      txtarea.scrollLeft = sL;
      return;
   }

   language = 1;
   richtung = 1;
   var DOM = document.getElementById ? 1 : 0,
      opera = window.opera && DOM ? 1 : 0,
      IE = !opera && document.all ? 1 : 0,
      NN6 = DOM && !IE && !opera ? 1 : 0;
   var ablauf = new Date();
   var jahr = ablauf.getTime() + (365 * 24 * 60 * 60 * 1000);
   ablauf.setTime(jahr);
   var richtung = 1;
   var isChat = false;
   NoHtml = true;
   NoScript = true;
   NoStyle = true;
   NoBBCode = true;
   NoBefehl = false;

   function setZustand() {
      transHtmlPause = false;
      transScriptPause = false;
      transStylePause = false;
      transBefehlPause = false;
      transBBPause = false;
   }
   setZustand();
   function keks(Name, Wert) {
      document.cookie = Name + "=" + Wert + "; expires=" + ablauf.toGMTString();
   }
   function changeNoTranslit(Nr) {
      if (document.trans.No_translit_HTML.checked)NoHtml = true; else {
         NoHtml = false
      }
      if (document.trans.No_translit_BBCode.checked)NoBBCode = true; else {
         NoBBCode = false
      }
      keks("NoHtml", NoHtml);
      keks("NoScript", NoScript);
      keks("NoStyle", NoStyle);
      keks("NoBBCode", NoBBCode);
   }
   function changeRichtung(r) {
      richtung = r;
      keks("TransRichtung", richtung);
      setFocus()
   }
   function changelanguage() {
      if (language == 1) {
         language = 0;
      }
      else {
         language = 1;
      }
      keks("autoTrans", language);
      setFocus();
      setZustand();
   }
   function setFocus() {
      TxtFeld.focus();
   }
   function repl(t, a, b) {
      var w = t, i = 0, n = 0;
      while ((i = w.indexOf(a, n)) >= 0) {
         t = t.substring(0, i) + b + t.substring(i + a.length, t.length);
         w = w.substring(0, i) + b + w.substring(i + a.length, w.length);
         n = i + b.length;
         if (n >= w.length) {
            break;
         }
      }
      return t;
   }
   var rus_lr2 = ('Е-е-О-о-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Ю-Ю-Я-Я-Я-Я-ж-ч-ш-щ-ю-я-я').split('-');
   var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ' + String.fromCharCode(35) + '-ь' + String.fromCharCode(39) + '-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');
   var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ь-я').split('-');
   var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-' + String.fromCharCode(35) + '-y-' + String.fromCharCode(39) + '-q').split('-');
   var rus_rl = ('А-Б-В-Г-Д-Е-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ь-Ю-Я-а-б-в-г-д-е-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ь-ю-я').split('-');
   var lat_rl = ('A-B-V-G-D-E-JO-ZH-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-C-CH-SH-SHH' + String.fromCharCode(35) + String.fromCharCode(35) + '-Y-' + String.fromCharCode(39) + String.fromCharCode(39) + '-JE-JU-JA-a-b-v-g-d-e-jo-zh-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-c-ch-sh-shh' + String.fromCharCode(35) + '-y-' + String.fromCharCode(39) + '-je-ju-ja').split('-');
   var transAN = true;
   function transliteText(txt) {
      vorTxt = txt.length > 1 ? txt.substr(txt.length - 2, 1) : "";
      buchstabe = txt.substr(txt.length - 1, 1);
      txt = txt.substr(0, txt.length - 2);
      return txt + translitBuchstabeCyr(vorTxt, buchstabe);
   }
   function translitBuchstabeCyr(vorTxt, txt) {
      var zweiBuchstaben = vorTxt + txt;
      var code = txt.charCodeAt(0);

      if (txt == "<")transHtmlPause = true; else if (txt == ">")transHtmlPause = false;
      if (txt == "<script")transScriptPause = true; else if (txt == "<" + "/script>")transScriptPause = false;
      if (txt == "<style")transStylePause = true; else if (txt == "<" + "/style>")transStylePause = false;
      if (txt == "[")transBBPause = true; else if (txt == "]")transBBPause = false;
      if (txt == "/")transBefehlPause = true; else if (txt == " ")transBefehlPause = false;

      if (
         (transHtmlPause == true && NoHtml == true) ||
            (transScriptPause == true && NoScript == true) ||
            (transStylePause == true && NoStyle == true) ||
            (transBBPause == true && NoBBCode == true) ||
            (transBefehlPause == true && NoBefehl == true) || !(((code >= 65) && (code <= 123)) || (code == 35) || (code == 39))) return zweiBuchstaben;

      for (x = 0; x < lat_lr2.length; x++) {
         if (lat_lr2[x] == zweiBuchstaben) return rus_lr2[x];
      }
      for (x = 0; x < lat_lr1.length; x++) {
         if (lat_lr1[x] == txt) return vorTxt + rus_lr1[x];
      }
      return zweiBuchstaben;
   }
   function translitBuchstabeLat(buchstabe) {
      for (x = 0; x < rus_rl.length; x++) {
         if (rus_rl[x] == buchstabe)
            return lat_rl[x];
      }
      return buchstabe;
   }
   function translateAlltoLatin() {
      if (!IE) {
         var txt = TxtFeld.value;
         var txtnew = "";
         var symb = "";
         for (y = 0; y < txt.length; y++) {
            symb = translitBuchstabeLat(txt.substr(y, 1));
            txtnew += symb;
         }
         TxtFeld.value = txtnew;
         setFocus()
      } else {
         var is_selection_flag = 1;
         var userselection = document.selection.createRange();
         var txt = userselection.text;

         if (userselection == null || userselection.text == null || userselection.parentElement == null || userselection.parentElement().type != "textarea") {
            is_selection_flag = 0;
            txt = TxtFeld.value;
         }
         txtnew = "";
         var symb = "";
         for (y = 0; y < txt.length; y++) {
            symb = translitBuchstabeLat(txt.substr(y, 1));
            txtnew += symb;
         }
         if (is_selection_flag) {
            userselection.text = txtnew;
            userselection.collapse();
            userselection.select();
         } else {
            TxtFeld.value = txtnew;
            setFocus()
         }
      }
      return;
   }
   function TransliteFeld(object, evnt) {
      if (language == 1 || opera) return;
      if (NN6) {
         var code = void 0;
         var code = evnt.charCode;
         var textareafontsize = 14;
         var textreafontwidth = 7;
         if (code == 13) {
            return;
         }
         if (code && (!(evnt.ctrlKey || evnt.altKey))) {
            pXpix = object.scrollTop;
            pYpix = object.scrollLeft;
            evnt.preventDefault();
            txt = String.fromCharCode(code);
            pretxt = object.value.substring(0, object.selectionStart);
            result = transliteText(pretxt + txt);
            object.value = result + object.value.substring(object.selectionEnd);
            object.setSelectionRange(result.length, result.length);
            object.scrollTop = 100000;
            object.scrollLeft = 0;

            cXpix = (result.split("\n").length) * (textareafontsize + 3);
            cYpix = (result.length - result.lastIndexOf("\n") - 1) * (textreafontwidth + 1);
            taXpix = (object.rows + 1) * (textareafontsize + 3);
            taYpix = object.clientWidth;

            if ((cXpix > pXpix) && (cXpix < (pXpix + taXpix))) object.scrollTop = pXpix;
            if (cXpix <= pXpix) object.scrollTop = cXpix - (textareafontsize + 3);
            if (cXpix >= (pXpix + taXpix)) object.scrollTop = cXpix - taXpix;

            if ((cYpix >= pYpix) && (cYpix < (pYpix + taYpix))) object.scrollLeft = pYpix;
            if (cYpix < pYpix) object.scrollLeft = cYpix - (textreafontwidth + 1);
            if (cYpix >= (pYpix + taYpix)) object.scrollLeft = cYpix - taYpix + 1;
         }
         return true;
      } else if (IE) {
         if (isChat) {
            var code = frames['input'].event.keyCode;
            if (code == 13) {
               return;
            }
            txt = String.fromCharCode(code);
            cursor_pos_selection = frames['input'].document.selection.createRange();
            cursor_pos_selection.text = "";
            cursor_pos_selection.moveStart("character", -1);
            vorTxt = cursor_pos_selection.text;
            if (vorTxt.length > 1) {
               vorTxt = "";
            }
            frames['input'].event.keyCode = 0;
            if (richtung == 2) {
               result = vorTxt + translitBuchstabeLat(txt)
            } else {
               result = translitBuchstabeCyr(vorTxt, txt)
            }
            if (vorTxt != "") {
               cursor_pos_selection.select();
               cursor_pos_selection.collapse();
            }
            with (frames['input'].document.selection.createRange()) {
               text = result;
               collapse();
               select()
            }
         } else {
            var code = event.keyCode;
            if (code == 13) {
               return;
            }
            txt = String.fromCharCode(code);
            cursor_pos_selection = document.selection.createRange();
            cursor_pos_selection.text = "";
            cursor_pos_selection.moveStart("character", -1);
            vorTxt = cursor_pos_selection.text;
            if (vorTxt.length > 1) {
               vorTxt = "";
            }
            event.keyCode = 0;
            if (richtung == 2) {
               result = vorTxt + translitBuchstabeLat(txt)
            } else {
               result = translitBuchstabeCyr(vorTxt, txt)
            }
            if (vorTxt != "") {
               cursor_pos_selection.select();
               cursor_pos_selection.collapse();
            }
            with (document.selection.createRange()) {
               text = result;
               collapse();
               select()
            }
         }
         return;
      }
   }
   function translateAlltoCyrillic() {
      if (!IE) {
         txt = TxtFeld.value;
         var txtnew = translitBuchstabeCyr("", txt.substr(0, 1));
         var symb = "";
         for (kk = 1; kk < txt.length; kk++) {
            symb = translitBuchstabeCyr(txtnew.substr(txtnew.length - 1, 1), txt.substr(kk, 1));
            txtnew = txtnew.substr(0, txtnew.length - 1) + symb;
         }
         TxtFeld.value = txtnew;
         setFocus()
      } else {
         var is_selection_flag = 1;
         var userselection = document.selection.createRange();
         var txt = userselection.text;
         if (userselection == null || userselection.text == null || userselection.parentElement == null || userselection.parentElement().type != "textarea") {
            is_selection_flag = 0;
            txt = TxtFeld.value;
         }
         var txtnew = translitBuchstabeCyr("", txt.substr(0, 1));
         var symb = "";
         for (kk = 1; kk < txt.length; kk++) {
            symb = translitBuchstabeCyr(txtnew.substr(txtnew.length - 1, 1), txt.substr(kk, 1));
            txtnew = txtnew.substr(0, txtnew.length - 1) + symb;
         }
         if (is_selection_flag) {
            userselection.text = txtnew;
            userselection.collapse();
            userselection.select();
         } else {
            TxtFeld.value = txtnew;
            setFocus()
         }
      }
      return;
   }
   </script>


най много ме интересува тази част

var rus_lr2 = ('Е-е-О-о-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Ю-Ю-Я-Я-Я-Я-ж-ч-ш-щ-ю-я-я').split('-');
   var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ' + String.fromCharCode(35) + '-ь' + String.fromCharCode(39) + '-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');
   var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ь-я').split('-');
   var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-' + String.fromCharCode(35) + '-y-' + String.fromCharCode(39) + '-q').split('-');
   var rus_rl = ('А-Б-В-Г-Д-Е-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ь-Ю-Я-а-б-в-г-д-е-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ь-ю-я').split('-');
   var lat_rl = ('A-B-V-G-D-E-JO-ZH-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-C-CH-SH-SHH' + String.fromCharCode(35) + String.fromCharCode(35) + '-Y-' + String.fromCharCode(39) + String.fromCharCode(39) + '-JE-JU-JA-a-b-v-g-d-e-jo-zh-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-c-ch-sh-shh' + String.fromCharCode(35) + '-y-' + String.fromCharCode(39) + '-je-ju-ja').split('-');
   var transAN = true;
   function transliteText(txt) {
      vorTxt = txt.length > 1 ? txt.substr(txt.length - 2, 1) : "";
      buchstabe = txt.substr(txt.length - 1, 1);
      txt = txt.substr(0, txt.length - 2);
      return txt + translitBuchstabeCyr(vorTxt, buchstabe);
   }
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 350
Bonus: 698
Мнения: 2645
Мнение 12/06/2018 6:48 pm      Отговорете с цитат


Като човек, който е играл и PUBG и League of legends. Това е по-cancer от двете комбинирани заедно.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Потребител
Потребител

Регистриран на: 24/03/2013 3:23 pm

Support: 54
Bonus: 108
Мнения: 693
Мнение 12/06/2018 11:13 pm      Отговорете с цитат


1. Това е JavaScript, който няма нищо общо с Java.
2. В този код няма нищо руско. Идеята е да конвертира латиница на кирилица.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 157
Bonus: 313
Мнения: 1443
Мнение 12/06/2018 11:30 pm      Отговорете с цитат


Абе, хора, изрових тука от домашната библиотека един прашен речник. Само че е английско-руски; как да го оправя да е за български?

‑‑‑‑‑‑‑‑
Най-лесно [каквото изглежда е целта в случая] ще ти е да заместиш руското Ы с български еквивалент.. дори не виждам обърнатото Е.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети