русская "Проверка орфографии"

Автор klugge, 27 февраля 2006, 11:56:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

klugge

Возможно ли сделать проверку орфографии для русского языка? Для английского работает. Словари есть.

Mavn

для того чтобы работало все нужно
1. Установить http://aspell.sf.net/
2. Установить словари http://ftp.gnu.org/gnu/aspell/dict/
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

klugge

Еще раз: aspell и aspell-ru установлены. Проверка английского проходит. Что ЕЩЕ нужно, что-бы проверялась русская орфография?

Duba

Бе.е.е, не познал еще движок форума, но понравился в целом. По русскому. Для проверки нужна его идентификация стандартная. Не известно как движок узнает реалии языка. По идее должно быть так, что после делителя "-" ищет нужный язык. Но тут зависит и от хостера (настройки) и от решения двига. В этом пока не копался. Но если нет определения делителя (для собственного копания), но сложностей много как и чего реализовано. Разберусь с двигом посмотрю что и как. По работе адвокатом пашем и это хоббии, так что ответ может быть или запоздалым или отсуствовать, но мне лично такое надо самому, так что думать Вам.

ЗЫЖ держателям сайта: не дело Вы удумали, что постить нельзя гостям (на комьюннити влияет), шут с ними с темами, но в посты разрешите. Иначе создается ощущение, что закрытая территория. Это отталкивает. Второе. Если нет ответа на вопрос (в постах встречалось), то не стоит порой говорить, что решаемо на уровне  создателей (по  какому-то посту попадалось - ответить не мог - не зарегин был). Про КМС. Кроме мамбо джумглы авторизация с данным форумом совмещена и на danneo.com (сам не пользуюсь). Изучу двиг форума и сделаю авторизацию со smallnuke.com (постараюсь под общую ибо хочу под свою версию с правами групп). Так что портирования больше будет.
На сайте плохо еще то, что нет русских тем. Мне по барабану ибо проюзав двиг сам сделаю какие надо, но пиплам не сведущим в хтмл энд пхп это сложновато. Далее. Нет у Вас лицензии в русском переводе гпл, чтоб понять что к чему. Мне она известна и не подпадает по многим аспектам под наше законодательство, а по сему стоит хоть перевод поместить. Пока все.

Mavn

Цитата: Duba от 13 марта 2006, 19:52:02
ЗЫЖ держателям сайта: не дело Вы удумали, что постить нельзя гостям (на комьюннити влияет), шут с ними с темами, но в посты разрешите. Иначе создается ощущение, что закрытая территория. Это отталкивает.
Гостям однознозначно не разрешим оставлять сообщения!!! Лучше перестраховатся чем потом от спама чистить форум по полчаса нам такое не нужно!!

Цитата: Duba от 13 марта 2006, 19:52:02
На сайте плохо еще то, что нет русских тем. Мне по барабану ибо проюзав двиг сам сделаю какие надо, но пиплам не сведущим в хтмл энд пхп это сложновато.
Всему свое время как будет время так и делать будем... :) сейчас просто не успеваем :(

Цитата: Duba от 13 марта 2006, 19:52:02
Далее. Нет у Вас лицензии в русском переводе гпл, чтоб понять что к чему. Мне она известна и не подпадает по многим аспектам под наше законодательство, а по сему стоит хоть перевод поместить. Пока все.
А зачем нам лицензия gpl??? Если бы внимательно прочли то поняли что smf не распространяется под лицензией gpl у них своя лицензия!!!

PS    Если у Вас есть какие то пожелания относительно нашего проекта то лучше в отдельную тему в соответствующий раздел!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Mavn

Файл Sups-Post.php


// See, first, some windows machines don't load pspell properly on the first try.  Dumb, but this is a workaround.
pspell_new('en');

// Next, the dictionary in question may not exist.  So, we try it... but...
$pspell_link = pspell_new($txt['lang_dictionary'], $txt['lang_spelling'], '', strtr($txt['lang_character_set'], array('iso-' => 'iso', 'ISO-' => 'iso')), PSPELL_FAST | PSPELL_RUN_TOGETHER);
error_reporting($old);
ob_end_clean();

// Most people don't have anything but english installed... so we use english as a last resort.
if (!$pspell_link)
$pspell_link = pspell_new('en', '', '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);

if (!isset($_POST['spellstring']) || !$pspell_link)
die;

// Can't have any \n's or \r's in javascript strings.
$mystr = trim(str_replace(array("\r", "\n"), array('', '_|_'), stripslashes($_POST['spellstring'])));

$alphas = 'љћабвгдеёжзийклмнопрстуфхцшщъыьэюя[:alpha:]\'';
preg_match_all('~(?:<[^>]+>)|(?:\[[^ ][^\]]*\])|(?:&[^; ]+;)|(?<=^|[^' . $alphas . '])([' . $alphas . ']+)~si', $mystr, $alphas, PREG_PATTERN_ORDER);



заменить


// See, first, some windows machines don't load pspell properly on the first try.  Dumb, but this is a workaround.
pspell_new('en');

// Next, the dictionary in question may not exist.  So, we try it... but...
$pspell_link = pspell_new($txt['lang_dictionary'], $txt['lang_spelling'], '', strtr($txt['lang_character_set'], array('iso-' => 'iso', 'ISO-' => 'iso')), PSPELL_FAST | PSPELL_RUN_TOGETHER);
error_reporting($old);
ob_end_clean();

// Most people don't have anything but english installed... so we use english as a last resort.
if (!$pspell_link)
$pspell_link = pspell_new('en', 'ru '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);

if (!isset($_POST['spellstring']) || !$pspell_link)
die;

// Can't have any \n's or \r's in javascript strings.
$mystr = trim(str_replace(array("\r", "\n"), array('', '_|_'), stripslashes($_POST['spellstring'])));

$alphas = 'љћабвгдеёжзийклмнопрстуфхцшщъыьэюя[:alpha:]\'';
preg_match_all('~(?:<[^>]+>)|(?:\[[^ ][^\]]*\])|(?:&[^; ]+;)|(?<=^|[^' . $alphas . '])([' . $alphas . ']+)~si', $mystr, $alphas, PREG_PATTERN_ORDER);


попробуй может поможет нам проверить к сожалению негде потому как у нас просто не установлен данный набор
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

CannabiS

А под Windows сказали такое не возможно. А я всё равно не верю! Ибо есть же aspell(-ru) под win32... значит как-то можно прикрутить эти библиотеки, что бы работала проверка на форуме

domofor

Ну и как? У кого-нить работает проверка орфографии?
У меня по умолчанию пишет, что сервер (Агава) поддерживает эту функцию, но реальная проверка действует только на англ. язык. Попробую совет Mavn

Mavn

Честно говоря как то не пробовал использовать данную функцию. Нужно будет попробовать перенастроить сервак и попробовать использовать
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

KapaBG

да вопрос интересный. йа копалсе по энтому вопросу. короч нормальный хостер типа обязан выставлять по требованию файлы для проверки орфографие руссково езыка. каких-то там два файла. если включить в админке проверку орфографие без энтих файлов, то из-за их отсутствие поиск будет вылазить на трабл 502. все порываюсь написать хостеру про них, да чото в лом, да и имена файлов уже забыл :)

KapaBG

вот в phpinfo в опциях апачи еслеф стоит
pspell
PSpell Support    enabled
то можно бомбить хостера без зазрение совестей

ну и в Subs-Post.php менять надо "en" на "utf-8" и "win-1251".

Mavn

Цитата: Княже от 05 марта 2008, 20:24:49
ну и в Subs-Post.php менять надо "en" на "utf-8" и "win-1251".

там не менять а добавлять нужно потому как поменяв ты удаляешь англ поддержку!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

KapaBG

ага точно! и не win-1251 a cp1251.
вобщем надобы точно привести строчечку как прально менять плюс скриптик для проверки установленности словарей. вот на ангельском типо <?php
error_reporting
(E_ALL);
$pspell_link pspell_config_create("en");
$badwords = array("theez""wurdz""arn\'t""spelt""ritely");
echo 
'<pre>';
foreach(
$badwords as $key => $mistake)
{
echo 
'Suggestions for <b>' $mistake '</b>:<br />';
    
print_r(array_values(pspell_suggest($pspell_link$mistake)));
echo 
'<br />';
}
echo 
'</pre>';
?>

domofor

#13
Чет-то я запутался в ваших советах ребята! :)
Что же все-таки менять? А то неохота экспериментировать на рабочем форуме (на Денвере ведь эта фишка не получится).

Можете посмотреть скриншот окна, которое появляется при нажатии на кнопку "Проверить орфографию".

domofor

#14
Цитата: Mavn от 11 июня 2006, 22:09:05
Файл Sups-Post.php

У меня код в файле различается в нижней части (после die;)

// See, first, some windows machines don't load pspell properly on the first try.  Dumb, but this is a workaround.
pspell_new('en');

// Next, the dictionary in question may not exist.  So, we try it... but...
$pspell_link = pspell_new($txt['lang_dictionary'], $txt['lang_spelling'], '', strtr($context['character_set'], array('iso-' => 'iso', 'ISO-' => 'iso')), PSPELL_FAST | PSPELL_RUN_TOGETHER);
error_reporting($old);
ob_end_clean();

// Most people don't have anything but english installed... so we use english as a last resort.
if (!$pspell_link)
$pspell_link = pspell_new('en', '', '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);

if (!isset($_POST['spellstring']) || !$pspell_link)
die;

// Construct a bit of Javascript code.
$context['spell_js'] = '
var txt = {"done": "' . $txt['spellcheck_done'] . '"};
var mispstr = window.opener.document.forms[spell_formname][spell_fieldname].value;
var misps = Array(';

// Get all the words (Javascript already seperated them).
$alphas = explode("\n", stripslashes(strtr($_POST['spellstring'], array("\r" => ''))));

$found_words = false;
for ($i = 0, $n = count($alphas); $i < $n; $i++)
{


и при замене кода на указанный в посте от Mavn выдает ошибку.


Mavn

да потому что там ошибка в строке

$pspell_link = pspell_new('en', 'ru '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

domofor

#16
Замена этой строки не делает проверку русской орфографии более успешной :) По-прежнему рулит только англ.


А может как-то влиять, что у меня в файле вообще нет такого кода:

// Can't have any \n's or \r's in javascript strings.
$mystr = trim(str_replace(array("\r", "\n"), array('', '_|_'), stripslashes($_POST['spellstring'])));

$alphas = 'љћабвгдеёжзийклмнопрстуфхцшщъыьэюя[:alpha:]\'';
preg_match_all('~(?:<[^>]+>)|(?:\[[^ ][^\]]*\])|(?:&[^; ]+;)|(?<=^|[^' . $alphas . '])([' . $alphas . ']+)~si', $mystr, $alphas, PREG_PATTERN_ORDER);

KapaBG

общим мене разобралсе со своем хостером. пхпинфо грит шо pspell - enabled, но еще надо оказывается проинсталлить extensions pspell.so которые ищо надо скомпилить. другиме словаме нужно перекомпилить апач, что для серьезного хостера является проблемой - ведь у нево не только я хостюся типа. предложил перенестися на другой серверок, где pspell скомпилен, но суко ангельский токо. возможно поэтому на приведенном выше скриншоти русский проверк не пашет - нужно подсовывать русские библы.

посмотрел на проверку у simplemachines.org - и не нашел что оно пашет как родное. можно сказать что всякие всплывающие окна - просто жопа а не сурьезный тулз. йа покополсе в инете и нашел замену, чтобы не зависеть от хостера - phpspell http://www.master-technology.com/demos/spell/download.php
скажу сразу - установка сложная и долгая, потому чайникам лучче не пробывать. для smf - прилогаетсо инструкцие, впрочем разобратьсо можн. установил и пашет. хотя требуетсо поубирать лишние пункты и конечно бы заюзать и родное для smf оформление. кстати - ловит и отрабатывает смайлы и bb-коды которые укажеш в настройке

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

Avdenago


xp452

Ниасилил...
Так все-таки как проверить русскую орфографию?

Mavn

на форуме никаких настроек Проверки орфографии нет. Все решается настройками сервака!!!
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

dmmb

тоже не осилил как всетаки включить проверку. на сервер надо библиотеку ставить или же в файле прописывать

Mavn

на серваке библиотеку ставить и тогда будет все работать
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

maks47

Уважаемые професионалы своего дела - надо решить данный вопрос - иначе совсем писать разучимся и уважать великий и могучий...

Adept

Очень хороший способ решить проблему проверки орфографии это пользоваться Moziila Firefox, где стоит проверка орфографии. Согласен, что об этом сложно объснить тысячам фанатов Internet Explorer, но возможно поможет кому из здесь присутствующих. Проверка идет в автоматическом режиме как в Ворде.

maks47

согласен -  но сам на опере сижу.

Drakonsa

Цитата: Adept от 10 февраля 2009, 15:29:15
Очень хороший способ решить проблему проверки орфографии это пользоваться Moziila Firefox, где стоит проверка орфографии. Согласен, что об этом сложно объснить тысячам фанатов Internet Explorer, но возможно поможет кому из здесь присутствующих. Проверка идет в автоматическом режиме как в Ворде.
Забыл уточнить, что FireFox >3.0 или Opera 10.

maks47

есть вариант - здесь http://habrahabr.ru/blogs/webdev/50137/
подсказали админы с агавы. 
подскажите как пришить эту проверку

Avdenago

Вот, между прочим появился сервис от Яндекса.

Думаю стоит разобраться и прикрутить к форуму, возможно даже сделать модификацию.

http://api.yandex.ru/speller/

maks47

корырял эту тему.
долго и упорно так и не получилось.
Но т.к. не программист - не получилось.

Святой Исидор



panglos

люди помогите-как удалить кнопку(проверка)орфографии.


lumumba

вот так заработало:

$pspell_link = pspell_new('ru', '', '', 'cp1251', PSPELL_FAST | PSPELL_RUN_TOGETHER);

AndrSS

У меня открывается новое окно , пустое и все!
Если вариант с 'en' то проверяет все подряд, но явно не по русски.

Bugo

dragomano.ru => поиск => проверка орфографии
custom.simplemachines.org/mods => search => spell