Natural language detection library for Go
Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Whatlanggo

Build Status Go Report Card GoDoc

Natural language detection for Go.

Features

  • Supports 84 languages
  • 100% written in Go
  • No external dependencies
  • Fast
  • Recognizes not only a language, but also a script (Latin, Cyrillic, etc)

Getting started

Installation:

    go get -u github.com/abadojack/whatlanggo

Simple usage example:

package main

import (
	"fmt"
	"github.com/abadojack/whatlanggo"
)

func main() {
	info := whatlanggo.Detect("Foje funkcias kaj foje ne funkcias")
	fmt.Println("Language:", whatlanggo.LangToString(info.Lang), "Script:", whatlanggo.Scripts[info.Script])
}

Blacklisting and whitelisting

import "github.com/abadojack/whatlanggo"

//Blacklist
options := whatlanggo.Options{
	Blacklist: map[whatlanggo.Lang]bool{
		whatlanggo.Ydd: true,
	},
}

info := whatlanggo.DetectWithOptions("האקדמיה ללשון העברית", options)

fmt.Println("Language:", whatlanggo.LangToString(info.Lang), "Script:", whatlanggo.Scripts[info.Script])

//Whitelist
options1 := whatlanggo.Options{
	Whitelist: map[whatlanggo.Lang]bool{
		whatlanggo.Epo: true,
		whatlanggo.Ukr: true,
	},
}

info = whatlanggo.DetectWithOptions("Mi ne scias", options1)
fmt.Println("Language:", whatlanggo.LangToString(info.Lang), "Script:", whatlanggo.Scripts[info.Script])

For more details, please check the documentation

##TODO Add reliabilty metrics in the Info struct

License

MIT

Derivation

whatlanggo is a derivative Franc (JavaScript, MIT) by Titus Wormer

Acknowledgements

Thanks to greyblake Potapov Sergey for creating whatlang-rs from where I got the idea and logic.