Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 2.4 KB

README.rst

File metadata and controls

98 lines (67 loc) · 2.4 KB

language-check

Python wrapper for LanguageTool.

This is a fork of a fork of https://bitbucket.org/spirit/language_tool that produces more easily parsable results from the command-line.

Example usage

From the interpreter:

>>> import language_check
>>> tool = language_check.LanguageTool('en-US')
>>> text = u'A sentence with a error in the Hitchhiker’s Guide tot he Galaxy'
>>> matches = tool.check(text)
>>> len(matches)
2

Check out some Match object attributes:

>>> matches[0].fromy, matches[0].fromx
(0, 16)
>>> matches[0].ruleId, matches[0].replacements
('EN_A_VS_AN', ['an'])
>>> matches[1].fromy, matches[1].fromx
(0, 50)
>>> matches[1].ruleId, matches[1].replacements
('TOT_HE', ['to the'])

Print a Match object:

>>> print(matches[1])
Line 1, column 51, Rule ID: TOT_HE[1]
Message: Did you mean 'to the'?
Suggestion: to the
...

Automatically apply suggestions to the text:

>>> language_check.correct(text, matches)
'A sentence with an error in the Hitchhiker’s Guide to the Galaxy'

From the command line:

$ echo 'This are bad.' > example.txt

$ language-check example.txt
example.txt:1:1: THIS_NNS[3]: Did you mean 'these'?

Installation

To install via pip:

$ pip install --upgrade https://github.com/MrEnessHS/language-check.git

If you are using Python 2, you'll need to install 3to2 beforehand:

$ pip install --upgrade 3to2

Prerequisites

  • Python 3.3+ (or 2.7)
  • lib3to2 (if installing for Python 2)
  • LanguageTool (Java 6.0+)
  • wget
  • unzip
  • OpenJDK Java 8(if not your default java version, add "JAVA_HOME=/usr/lib/jvm/java-8-openjdk/" variable before run it")
  • Any Linux distro

The installation process should take care of downloading LanguageTool (it may take a few minutes). Otherwise, you can manually download LanguageTool-stable.zip and unzip it into where the language_check package resides.

Vim plugin

To use language-check in Vim, install Syntastic and use the following settings:

let g:syntastic_text_checkers = ['language_check']
let g:syntastic_text_language_check_args = '--language=en-US'

Customize your language as appropriate.