Использовать многоязычный словарь с aspell

У меня есть большой файл .tex, который содержит два языка, и я хочу, чтобы проверить его, не сходя с ума. Поэтому просто проверка орфографии для одного языка и нажатие «игнорировать» для слов с другого языка не является вариантом.

Поэтому я прочитал на aspell и узнал, что вы можете определить свои собственные .multi файлы для объединения словарей. Но, видимо, вы не можете сделать это для словарей с разных языков, это порождает ошибку (или, если вы работаете с графическим интерфейсом, словарь будет просто пустым).

Кроме того, я нашел отчет об ошибке, который помещает эту функцию в список желаний, но, похоже, ее еще никто не реализовал.

Итак, мой вопрос: есть ли разумные способы одновременного использования двух словарей для двух разных языков?

Эта проблема вызвала у меня головную боль, и рядом с ней нет документации о том, как это сделать в Интернете. Итак, я подниму обходной путь, который я нашел в качестве ответа, чтобы спасти кого-либо еще (включая будущее меня). Но если у вас есть лучшее решение, отправьте его.

One Solution collect form web for “Использовать многоязычный словарь с aspell”

Итак, вот как это сделать:

Шаг 1. Найдите свои словари aspell в своей системе. Я нашел их в /usr/lib/aspell/ . Вы увидите .multi и .rws . Все следующие команды должны быть выполнены в этом каталоге.

Шаг 2: Создайте списки слов из словарей, которые вы хотите. Если словари имеют аффиксы, хранящиеся со словами, их необходимо расширить.

 aspell --lang=en --master=en.multi dump master > /home/user/meinwoerterbuch.txt aspell -d de dump master | aspell -l de expand | perl -e 'while(<>){ print join("\n", split), "\n";}' >> /home/user/meinwoerterbuch.txt 

Здесь немецкий словарь должен был быть расширен, и поскольку мне нужно было по одному слову в строке, я использовал perl для ввода нескольких слов в строке и распечатывал каждую из них на дополнительной строке. Просто посмотрите на результат aspell (я рекомендую head ), чтобы узнать, нужно ли вам расширять словарь или нет.

Шаг 3. Выберите имя языка для вашего словаря. Я выбрал венгерский язык, потому что я уверен, что никогда не буду использовать венгерский словарь для проверки орфографии, и таким образом его будет легко найти. Я думаю, что это должно быть что-то с действующим кодом языка ISO. Для венгерского это hu .

Шаг 4: Создайте hu.dat и hu_phonet.dat . Наиболее урезанные версии, которые, похоже, работают:

hu.dat :

 name hu charset iso8859-1 soundslike hu 

hu_phonet.dat :

 version 0.1-2002.12.15-3 

Шаг 5: Создайте объединенный словарь с помощью

 sudo aspell --lang=hu --encoding=utf-8 create master ./hu.rws < /home/user/meinwoerterbuch.txt 

Мне пришлось поместить кодировку = utf-8, потому что txt-файл закодирован в utf-8. Это без ошибок.

Шаг 6: Создайте соответствующий файл hu.multi следующим образом:

 add hu.rws 

Шаг 7: Выберите венгерский в вашем орфографическом чеке и начните проверку орфографии.

Interesting Posts

Двойная загрузка прошла неправильно (Win8 / Linux Mint 18)

sed удалить все после строки?

Перенаправить вывод всех команд в файл, а не только последний

Как вы получаете содержимое буфера в виде строки в vim?

Почему эта условная проверка bash работает с ], но не ?

Есть ли способ выйти из «меньше» без очистки экрана?

Флокирование filedescriptor в сценарии оболочки

Есть ли способ отслеживать совместно используемые объекты (.so), загруженные при запуске определенного приложения?

Каковы могут быть причины, по которым сценарии оболочки убивают себя?

Как отклонить письмо, ложно заявляющее, что оно связано с локальным адресом в Postfix?

Приостановка / возобновление одиночного процесса на / с диска

Извлеките весь трафик, соответствующий запросу с параметром

Просмотр системных вызовов / активности ядра для ввода-вывода из работающего процесса

Linux Live CD, которые могут сохранять конфигурацию на загрузочном диске?

Почему кеш-кеш никогда не получает никаких хитов?

Linux и Unix - лучшая ОС в мире.