Translit MOD
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
3apa3a
- phpBB 1.2.1
- Сообщения: 24
- Стаж: 19 лет 2 месяца
Re: Translit MOD
Ну, что, умельцы и эксперты? Кто-нибудь сделает уже достойный транслит для phpBB3 или так и будем щи лаптем хлебать?
-
TanSi
- phpBB 1.2.0
- Сообщения: 18
- Стаж: 19 лет 10 месяцев
Re: Translit MOD
А что не по глазам разве, что решение проблемы транслита в этой теме есть?
Во-первых, nissin выложил файлы форума, с работающим транслитом, по их аналогу переписываешь свои файлы форума и работающий транслит готов.
Во-вторых, bbcode translit, который я предложила, работает прекрасно и с ним не надо напрягаться, что при обновлении версии форума, что-то там придется по новой прописывать в обнавлённых файлах. В общем, я сделала тот bbode, который меня устраивает больше, чем мод.
А если тебя не устраивает ни то и ни другое, то напиши что-то свое, благо много ума не надо, чтобы это написать имея аналоги.
Во-первых, nissin выложил файлы форума, с работающим транслитом, по их аналогу переписываешь свои файлы форума и работающий транслит готов.
Во-вторых, bbcode translit, который я предложила, работает прекрасно и с ним не надо напрягаться, что при обновлении версии форума, что-то там придется по новой прописывать в обнавлённых файлах. В общем, я сделала тот bbode, который меня устраивает больше, чем мод.
А если тебя не устраивает ни то и ни другое, то напиши что-то свое, благо много ума не надо, чтобы это написать имея аналоги.
-
Gorbushka
- phpBB 1.4.3
- Сообщения: 92
- Стаж: 19 лет 1 месяц
- Откуда: Россия/Москва
Re: Translit MOD
В идеале - кнопка "транслит" превращает английские символы в русские, а русские в английские...
Т.е. двухсторонний транслит...
К примеру: phpBB нужно привратить в phpBB, а phpBB в phpBB...
Проблема в том, что некоторые названия должны быть на англ, а англ на компе не пашит... Следовательно нужен транслит... Тоже самое с англ, когда нужен рус...
BBCode - хороший вариант, но не полностью решает проблему... Хотя если доработать... В теории будет править и англ на рус и рус на англ
В теории, достаточно в первую строчку (с англ) добавить вторую (с рус), а во вторую - первую... Но не уверен, что в JS обработка получится верной...
Т.е. двухсторонний транслит...
К примеру: phpBB нужно привратить в phpBB, а phpBB в phpBB...
Проблема в том, что некоторые названия должны быть на англ, а англ на компе не пашит... Следовательно нужен транслит... Тоже самое с англ, когда нужен рус...
BBCode - хороший вариант, но не полностью решает проблему... Хотя если доработать... В теории будет править и англ на рус и рус на англ
В теории, достаточно в первую строчку (с англ) добавить вторую (с рус), а во вторую - первую... Но не уверен, что в JS обработка получится верной...
Сильно не баньте 
-
lermon
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 18 лет 11 месяцев
-
lermon
- phpBB 1.4.0
- Сообщения: 30
- Стаж: 18 лет 11 месяцев
Re: Translit MOD
и еще один вопрос: в сабсильвере транслит не работает
выдает ошибку 'form_name' - определение отсутствует
выдает ошибку 'form_name' - определение отсутствует
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: Translit MOD
Версия, которую я выкладывал делалась для 3.0.0, в 3.0.2 немного изменилось.
Насчёт bb-кодов и смайлов, думаю, что возможно, но нужно время и желание.
Насчёт bb-кодов и смайлов, думаю, что возможно, но нужно время и желание.
-
3apa3a
- phpBB 1.2.1
- Сообщения: 24
- Стаж: 19 лет 2 месяца
Re: Translit MOD
Даже если вам удастся не странслитерировать смайлик при написании изначального сообщения, есть большая вероятность, что его протранслитерируют при цитировании. Я бы вам посоветовал продублировать написания смайликов в кириллице, а если форум только русский, то и дублировать не надо - пишите их все по-русски с хорошими смысловыми названиями - не :evil:, a :злюка:, например, и тогда всё будет очень хорошо.lermon писал(а):как сделать чтобы bb коды не переводились?
я ставила по рекомендации nissin
-
FladeX
- Former team member
- Сообщения: 1935
- Стаж: 19 лет 4 месяца
- Откуда: Саранск
- Благодарил (а): 7 раз
- Поблагодарили: 59 раз
Re: Translit MOD
вероятно у вас стиль нестандартный, и написан не совсем корректно. Попробуйте тоже самое на subsilver2 или prosilver, и отпишитесь.lermon писал(а):выдает ошибку 'form_name' - определение отсутствует
//
// Okay, let's do the loop, yeah come on baby let's do the loop
// and it goes like this ...
| phpBB Adept ] | Каталог форумов | генератор sitemap для форумов | форум про форумы
// 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
А нельзя ли переделать js предложенный TanSi здесь чтобы он проводил транслитерацию "на лету" во время добавления сообщения, без всяких там дополнительных окон.
Очень нужно, заранее благодарю!
Очень нужно, заранее благодарю!
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: Translit MOD
Есть у меня мод виртуальной клавиатуры, недавно ставил клиенту, нужно только собраться и оформить.
Выложил здесь:
http://www.phpbbguru.net/community/topic25283.html
Выложил здесь:
http://www.phpbbguru.net/community/topic25283.html
-
evrus01
- Former team member
- Сообщения: 1274
- Стаж: 15 лет 6 месяцев
- Откуда: Москва
- Благодарил (а): 107 раз
- Поблагодарили: 234 раза
Re: Translit MOD
ГУРУ, я использовал следующий код.
posting_buttons.html (просто добавил в самый конец):")
{
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://), чтобы их не транслитерировало?
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
предлагаю вам версию транслита, базированную на транслите андрея мазлина 2002 года. надеюсь он не против.
она имеет пару дополненныx реплейс функций; они корректируют неправильные переводы, неправильные переводы бибикодов, неправильные переводы имён пользователей и позволяет не переводить некоторые слова, такие как html, phpbb и т.д. и т.п.
задавйте имена пользователей/ббкоды/слова, которые не должны переводиться в эррей, если у вас возникнет в этом необxодимость.
например: /[цолор=ъ/g, и его замена: "[color=#" (цвета уже не переводятся. это просто пример)
удачи
Транслит!
posting_editor.html
find:
after add:
open: overal_header.html
add after:
upload translit.js to template/translit.js
аx да
не пойму, почему транслит не работает в быстром ответе. может быть у кого-нибудь будут идеи? буду благодарен.
Добавлено спустя 7 минут 52 секунды:
на данный момент действующая раскладка. меняйте по своему усмотрению.
eh - э
jo - ё
ya - я
ja - я
ju - ю
y - ы
zh - ж
j - й
shch, shh - щ
ch - ч
sh - ш
' - ь
# - ъ
она имеет пару дополненны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" />
<input type="submit" tabindex="5" name="preview" value="{L_PREVIEW}" class="button1"<!-- IF not S_PRIVMSGS --> onclick="document.getElementById('postform').action += '#preview';"<!-- ENDIF --> /> Код: Выделить всё
<input type="button" class="button1" accesskey="t" value="Перевести" onClick="translit('postform','message')" title="Транслит"/>Код: Выделить всё
<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>Код: Выделить всё
<script type="text/javascript" src="{T_TEMPLATE_PATH}translit.js"></script>аx да
не пойму, почему транслит не работает в быстром ответе. может быть у кого-нибудь будут идеи? буду благодарен.
Добавлено спустя 7 минут 52 секунды:
на данный момент действующая раскладка. меняйте по своему усмотрению.
eh - э
jo - ё
ya - я
ja - я
ju - ю
y - ы
zh - ж
j - й
shch, shh - щ
ch - ч
sh - ш
' - ь
# - ъ
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
filmtablette
- phpBB 1.2.1
- Сообщения: 22
- Стаж: 14 лет 3 месяца
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Translit MOD
clubforum нужно посмотреть, есть-ли в яваскрипте функция, к которой можно обратиться: "дай мне выделенный текст".

