mikemccand / chromium-compact-language-detector

Automatically exported from code.google.com/p/chromium-compact-language-detector
160 stars 31 forks source link

Dick Sites (and others) at Google graciously provided a new version 2.0 of the compact language detector, here:

https://code.google.com/p/cld2/

and I (lucene@mikemccandless.com) created the Python bindings and ported the C++ test case to test.py.

This has been tested on Ubuntu 14.04, with both Python 2.7.6 and 3.4.0.

Updated Nov 11 2014 to the latest CLD2 release, adding new bestEffort flag (to force a guess even when confidence is low), and cutting over to the CLD2 methods that confirm incoming UTF-8 is valid.

To build:

Note that all Python sources work with both python 2.x and 3.x so if you want to install for python3.x just repeat the above steps using python3 (or whatever python command runs python 3.x in your environment).

To test both the small and full language tables:

The test produces a lot of output, due to the test cases testing the debug flags; this is normal. As long as it says OK in the end then the tests passed.

To install:

For documentation run:

NOTE: gen_test.py and gen_enc.py were used as temporary helpers during development and are not needed for building

NOTE: you must pass only valid UTF-8 bytes to the detect function, otherwise you can hit segmentation fault or get incorrect results.