Your company here ā€” click to reach over 10,000 unique daily visitors

make-lingua-identify-language - Man Page

creates language modules for Lingua::Identify


  make-lingua-identify-language Language-Tag Language-Name file1 [file2 ...]


  make-lingua-identify-language -d TAG1-LANGUAGE1/ [TAG2-LANGUAGE2/ ...]




Creates language modules to be used by Lingua::Identify.

After creating the modules, you still have to install them.

Please note that this script is still at an early stage. Please do not even look at the code...

Without parameters, make-lingua-identify-language assumes mode -d and goes through all the directories in the current one. This is useful to be used in a directory where you something like this:

  |-- en-english
  |   `-- english.txt
  |-- fr-french
  |   `-- french1.txt
  |   `-- french2.txt
  `-- pt-portuguese
      `-- portuguese.txt



Directory mode. Each parameter passed should be a directory whose name must be of the form tag-name (e.g., en-english/ ). Each of the directories passed should contain text files that can be used to train Lingua::Identify.


Debug mode. Only for development.


Display help and exit.


Show version and exit.


Verbose mode.


Set a specific locale. This way your text will be all lowercased before analysed.


META.yml files are not parsed as other files, they are ignored.

In directory mode (-d switch), META.yml files are checked for info on languages codes and sets.

Here's a simple META.yml for you to put in your directories:

  two_letter_code:   pt
  three_letter_code: por

With that, the language will be identified with the two letter code "pt" or the three letter code "por"; it will also be in the set ":spoken_in_portugal".

Contributing with New Languages

Please do not contribute with modules you made yourself. It's easier to contribute with unprocessed text, because that allows for new versions of Lingua::Identify not having to drop languages down in case I can't contact you by that time.

Use make-lingua-identify-language to create a new module for your own personal use, if you must, but try to contribute with unprocessed text rather than those modules.

See Also

Lingua::Identify(3), langident(1)

A linguist and/or a shrink.

The latest CVS version of Lingua::Identify (which includes make-lingua-identify) can be attained at http://natura.di.uminho.pt/natura/viewcvs.cgi/Lingua/Identify/

ISO 639 Language Codes, at http://www.w3.org/WAI/ER/IG/ert/iso639.htm


Jose Alves de Castro, <cog@cpan.org>


2024-01-25 perl v5.40.0 User Contributed Perl Documentation