Проверка орфографии сразу на нескольких языках

Автор rrrfer, 12 июня 2015, 07:25

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

rrrfer

Здравствуйте. Я постоянно пишу тексты сразу на нескольких языках в msword проблем не возникало, он сам определял язык и выполнял проверку орфографии правильно. Как добиться этого же в LibreOffice? - я скачал и установил русский и английский словари, но при проверке мне либо все слова на русском считает неправильными или на английском.

kompilainenn

в ЛО можно задать язык для каждого слова, для абзаца или для всего текста, автоматически он видимо не понимает, какой язык нужно проверять
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rrrfer

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

Может быть есть словари, которые объединяют русский и английский например? - я не нашел просто.

kompilainenn

Цитата: rrrfer от 12 июня 2015, 10:27Может быть есть словари, которые объединяют русский и английский например? - я не нашел просто.
имхо, таких нет
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

Необходимо явно указывать язык текста.

В OpenOffice.org 3.0.0 была возможность указать проверку текста для всех языков, но уже в 3.0.1 её убрали, так как опция сильно тормозила текстовый редактор.

kompilainenn

Цитата: Yakov от 13 июня 2015, 05:30Необходимо явно указывать язык текста.
так ему нужно, чтобы это происходило в автоматическом режиме при смешанных языках в тексте
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

Есть расширение http://extensions.openoffice.org/en/project/latreplace , которое должно устанавливать для всех латинских букв атрибут "Без проверки", но в LibreOffice 4.4.3.2 оно не совсем правильно работает: вместо атрибута  "Без проверки" ставит "Стандарт"

rrrfer

>> так как опция сильно тормозила текстовый редактор.
Ну вообще понятно что тормозить должна, но не очень сильно ведь.
Грубо говоря должна добавиться лишь проверка типа первой буквы каждого слова
если буква латинского алфавита
 ищи в первом словаре
если буква китайского алфавита
 ищи во втором словаре
...
Т.е. если в тексте N слов, то будет выполнено N лишних операций, но это никчемно мало, т.к. все равно для каждого слова выполняется поиск в словаре (который log(M) операций, где M - размер словаря). Т.е. N много меньше чем N*log(M).

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

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

Yakov

Цитата: rrrfer от 14 июня 2015, 12:27Грубо говоря должна добавиться лишь проверка типа первой буквы каждого слова
если буква латинского алфавита
 ищи в первом словаре
если буква китайского алфавита
 ищи во втором словаре
А если первая буква "f" ?  Это может быть и английский язык  и немецкий, и даже английский (США).
Кстати, в LibreOffice словари для английского (США) и английского  (Великобритания)  существенно отличаются.

Но эта проблема имеет решение. Так, в независимой версии LanguageTool для автоматического определения языка
используются специальные библиотеки apache tika или language-detector.

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

eugrus

#9
[Укажите операционную систему: по крайней мере если OO.org используется под Windows, то] вопреки некоторым советам такая ситуация не является нормальной - OO должен переключать язык текста полностью автоматически, и следуя системному методу ввода, а не определяя какие там введены  буквы. Если Вы на русской раскладке, то для первого же введённого слова в этой раскладке и язык текста автоматически устанавливается как русский (в точности как в MS Word). С проблемой часто сталкиваются люди, использующие для разных языков единственную раскладку, но т.к. невозможно предположить, что вы набирали русский в английской раскладке, надо копать дальше.