Translit MOD

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
3apa3a
phpBB 1.2.1
Сообщения: 24
Стаж: 19 лет 2 месяца

Re: Translit MOD

Сообщение 3apa3a »

Ну, что, умельцы и эксперты? Кто-нибудь сделает уже достойный транслит для phpBB3 или так и будем щи лаптем хлебать?
Аватара пользователя
TanSi
phpBB 1.2.0
Сообщения: 18
Стаж: 19 лет 10 месяцев

Re: Translit MOD

Сообщение TanSi »

А что не по глазам разве, что решение проблемы транслита в этой теме есть?
Во-первых, nissin выложил файлы форума, с работающим транслитом, по их аналогу переписываешь свои файлы форума и работающий транслит готов.
Во-вторых, bbcode translit, который я предложила, работает прекрасно и с ним не надо напрягаться, что при обновлении версии форума, что-то там придется по новой прописывать в обнавлённых файлах. В общем, я сделала тот bbode, который меня устраивает больше, чем мод.

А если тебя не устраивает ни то и ни другое, то напиши что-то свое, благо много ума не надо, чтобы это написать имея аналоги.
Аватара пользователя
Gorbushka
phpBB 1.4.3
Сообщения: 92
Стаж: 19 лет 1 месяц
Откуда: Россия/Москва

Re: Translit MOD

Сообщение Gorbushka »

В идеале - кнопка "транслит" превращает английские символы в русские, а русские в английские...

Т.е. двухсторонний транслит...
К примеру: phpBB нужно привратить в phpBB, а phpBB в phpBB...

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

BBCode - хороший вариант, но не полностью решает проблему... Хотя если доработать... В теории будет править и англ на рус и рус на англ :D

В теории, достаточно в первую строчку (с англ) добавить вторую (с рус), а во вторую - первую... Но не уверен, что в JS обработка получится верной...
Сильно не баньте ;)
Аватара пользователя
lermon
phpBB 1.4.0
Сообщения: 30
Стаж: 18 лет 11 месяцев

Re: Translit MOD

Сообщение lermon »

как сделать чтобы bb коды не переводились?
я ставила по рекомендации nissin
Аватара пользователя
lermon
phpBB 1.4.0
Сообщения: 30
Стаж: 18 лет 11 месяцев

Re: Translit MOD

Сообщение lermon »

и еще один вопрос: в сабсильвере транслит не работает
выдает ошибку 'form_name' - определение отсутствует
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Translit MOD

Сообщение nissin »

Версия, которую я выкладывал делалась для 3.0.0, в 3.0.2 немного изменилось.
Насчёт bb-кодов и смайлов, думаю, что возможно, но нужно время и желание.
3apa3a
phpBB 1.2.1
Сообщения: 24
Стаж: 19 лет 2 месяца

Re: Translit MOD

Сообщение 3apa3a »

lermon писал(а):как сделать чтобы bb коды не переводились?
я ставила по рекомендации nissin
Даже если вам удастся не странслитерировать смайлик при написании изначального сообщения, есть большая вероятность, что его протранслитерируют при цитировании. Я бы вам посоветовал продублировать написания смайликов в кириллице, а если форум только русский, то и дублировать не надо - пишите их все по-русски с хорошими смысловыми названиями - не :evil:, a :злюка:, например, и тогда всё будет очень хорошо.
Аватара пользователя
FladeX
Former team member
Сообщения: 1935
Стаж: 19 лет 4 месяца
Откуда: Саранск
Благодарил (а): 7 раз
Поблагодарили: 59 раз

Re: Translit MOD

Сообщение FladeX »

lermon писал(а):выдает ошибку 'form_name' - определение отсутствует
вероятно у вас стиль нестандартный, и написан не совсем корректно. Попробуйте тоже самое на subsilver2 или prosilver, и отпишитесь.
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Translit MOD

Сообщение Garret_Dark »

А нельзя ли переделать js предложенный TanSi здесь чтобы он проводил транслитерацию "на лету" во время добавления сообщения, без всяких там дополнительных окон.

Очень нужно, заранее благодарю!
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Translit MOD

Сообщение nissin »

Есть у меня мод виртуальной клавиатуры, недавно ставил клиенту, нужно только собраться и оформить.
Выложил здесь:
http://www.phpbbguru.net/community/topic25283.html
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Translit MOD

Сообщение evrus01 »

ГУРУ, я использовал следующий код.
posting_buttons.html (просто добавил в самый конец):

Код: Выделить всё

<script language="Javascript">
// One character letters
var t_table1 = "ABVGDEZIJKLMNOPRSTUFHXCYabvgdezijklmnoprstufhxcy'";
var w_table1 = "АБВГДЕЗИЙКЛМНОПРСТУФХХЦЫабвгдезийклмнопрстуфххцыь";

// Two character letters
var t_table2 = "'EYOJOZHCHSHYUJUYAJA'eyojozhchshyujuyaja'EYoYoZhChShYuJuYaJa";
var w_table2 = "ЭЁЁЖЧШЮЮЯЯэёёжчшююяяЭЁЁЖЧШЮЮЯЯ";
function translit2win(str) 
{
  var quoteOpen = 0;
  var engOpen = 0;
  var codeOpen = 0;
  var phpOpen = 0;
  var len = str.length;
  var new_str="";

  for(i=0; i<len; i++)
   {
      // [QUOTE] Tags
    if(i<=len-7 && str.substr(i,7).toUpperCase()=="[QUOTE]")
      {
        quoteOpen++;
        new_str += str.substr(i,7);
        i+=6;    
         continue;
      }
    if(i<=len-8 && str.substr(i,8).toUpperCase()=="[/QUOTE]")
      {
        quoteOpen--;
        new_str += str.substr(i,8);
        i+=7;   
         continue;
      }
    // [code] Tags
    if(i<=len-6 && str.substr(i,6).toUpperCase()=="[CODE]")
      {
        codeOpen++;
        new_str += str.substr(i,6);
        i+=5;    
         continue;
      }
    if(i<=len-7 && str.substr(i,7).toUpperCase()=="
")
{
codeOpen--;
new_str += str.substr(i,7);
i+=6;
continue;
}
// Tags if(i<=len-5 && str.substr(i,5 ... rCase()=="")
{
phpOpen--;
new_str += str.substr(i,6);
i+=5;
continue;
}

// Изображение")
{
phpOpen--;
new_str += str.substr(i,6);
i+=5;
continue;
}

// vB , and tags
if(i<=len-3 && (str.substr(i,3).toUpperCase()=="" || str.substr(i,3).toUpperCase()=="" || str.substr(i,3).toUpperCase()==""))
{
new_str += str.substr(i,3);
i+=2;
continue;
}
if(i<=len-4 && (str.substr(i,4).toUpperCase()=="
" || str.substr(i,4).toUpperCase()=="" || str.substr(i,4).toUpperCase()==""))
{
new_str += str.substr(i,4);
i+=3;
continue;
}
// Check for 2-character letters
if(!quoteOpen && !engOpen)
{
is2char = false;
if(i<len-1)
{
for(j=0; j<w_table2.length; j++)
{
if(str.substr(i,2)==t_table2.substr(j*2,2))
{
new_str+= w_table2.charAt(j);
i++;
is2char=true;
break;
}
}
}

if(!is2char)
{
// Convert one-character letter
var c = str.substr(i,1);
var pos = t_table1.indexOf(c);
if(pos<0)
new_str += c;
else
new_str += w_table1.charAt(pos);
}
}
else
new_str += str.charAt(i);
}
//alert(new_str);
return new_str;
}
</script>
<input <!-- IF S_QUICK_REPLY --> style="display: none;"<!-- ENDIF --> type="button" class="button2" onClick="with(document.getElementById('postform').<!-- IF $SIG_EDIT -->signature<!-- ELSE -->message<!-- ENDIF -->) { value=translit2win(value); focus(); } return false;" value="Транслит" title="Преобразовать транслит в win-кодировку (Alt + t)" accesskey="t">[/code]

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

Скриншот:

Изображение

Все бы хорошо, но как мне добавить кастомные коды, некоторые смайлы и url-адреса (http://), чтобы их не транслитерировало?
filmtablette
phpBB 1.2.1
Сообщения: 22
Стаж: 14 лет 3 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Translit MOD

Сообщение filmtablette »

предлагаю вам версию транслита, базированную на транслите андрея мазлина 2002 года. надеюсь он не против.

она имеет пару дополненныx реплейс функций; они корректируют неправильные переводы, неправильные переводы бибикодов, неправильные переводы имён пользователей и позволяет не переводить некоторые слова, такие как html, phpbb и т.д. и т.п.

задавйте имена пользователей/ббкоды/слова, которые не должны переводиться в эррей, если у вас возникнет в этом необxодимость.

например: /[цолор=ъ/g, и его замена: "[color=#" (цвета уже не переводятся. это просто пример)

удачи :)


Транслит!

posting_editor.html

find:

Код: Выделить всё

<input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1 default-submit-action" />&nbsp;
			<input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> />&nbsp;
after add:

Код: Выделить всё

<input type="button" class="button1" accesskey="t" value="Перевести" onClick="translit('postform','message')" title="Транслит"/>
open: overal_header.html

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
	<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>
add after:

Код: Выделить всё

<script type="text/javascript" src="{T_TEMPLATE_PATH}translit.js"></script>
upload translit.js to template/translit.js

аx да :)
не пойму, почему транслит не работает в быстром ответе. может быть у кого-нибудь будут идеи? буду благодарен.


Добавлено спустя 7 минут 52 секунды:
на данный момент действующая раскладка. меняйте по своему усмотрению.


eh - э
jo - ё
ya - я
ja - я
ju - ю
y - ы
zh - ж
j - й
shch, shh - щ
ch - ч
sh - ш
' - ь
# - ъ
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
clubforum
phpBB 2.0.0
Сообщения: 216
Стаж: 14 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 3 раза

Re: Translit MOD

Сообщение clubforum »

Как сделать, чтобы перводился только выделенный текст?
filmtablette
phpBB 1.2.1
Сообщения: 22
Стаж: 14 лет 3 месяца
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Translit MOD

Сообщение filmtablette »

clubforum нужно посмотреть, есть-ли в яваскрипте функция, к которой можно обратиться: "дай мне выделенный текст".

Вернуться в «Запросы модов для phpBB 3.0.x»