Skip to content

ianlewis/go-stardict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

go-stardict

Go Reference codecov Tests Go Report Card

A stardict dictionary library for Go.

Status

The API is currently unstable and will change. This package will use module version numbering to manage versions and compatibility.

Features

  • Reading dictionary metadata (.ifo files).
  • Reading & searching the dictionary index (.idx file).
  • Reading full dictionary articles.
  • Efficient access for large files.
  • Dictzip support.
  • Capitalization, diacritic, punctuation, and whitespace folding (#19, #25).
  • Support for concurrent access (#1)
  • Synonym support (.syn file) (#2).
  • Support for tree dictionaries (.tdx file) (#3).
  • Support for Resource Storage (res/ directory) (#4).
  • Glob/Wildcard search support (#21).

Installation

To install this package run

go get github.com/ianlewis/go-stardict

Examples

Searching a Dictionary

You can search a stardict dictionary directly and list the entries.

// Open dictonaries in a directory
dictionaries, _ := stardict.OpenAll(".")

// Search the dictionaries.
for _, d := range dictionaries {
  entries, _ := d.Search("banana")
  for _, e := range entries {
    // Print out matching index entries.
    fmt.Println(e)
  }
}

Related projects

References