Skip to content

Go bindings for Aksharamukha, a script converter and transliteration tool for various Indic and other scripts.

License

Notifications You must be signed in to change notification settings

tassa-yoniso-manasi-karoto/go-aksharamukha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status: alpha Go Reference

Go bindings for Aksharamukha, a script converter and transliteration tool for various Indic and other scripts.

Features

  • Transliteration between 100+ scripts
  • Romanization of text using ISO/academic standards
  • Support for various Indic, Southeast Asian, and Middle Eastern scripts
  • Docker-based deployment
  • Script autoselection for language romanization
  • Customizable transliteration options

⚠️ While many scripts are supported I would not recommend using Aksharamukha for anything but romanization of indic languages or transliteration between indic languages. ⚠️

Quick Start

import (
	"fmt"
	"log"
	ak "github.com/tassa-yoniso-manasi-karoto/go-aksharamukha"
)

func main() {
	// Initialize the service
	a, err := ak.NewAksharamukha()
	if err != nil {
		log.Fatal(err)
	}
	if err := a.Init(); err != nil {
		log.Fatal(err)
	}
	defer a.Close()

	// Simple transliteration
	text := "नमस्ते"
	result, err := a.TransliterateSimple(text, ak.Devanagari, ak.Tamil)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(result)

	// Romanization from a ISO-639 language code
	result, err = a.Romanize("नमस्ते", "hin")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(result)
}

Output

நமஸ்தே
namastē

Requirements

  • Go 1.16 or later
  • Installed Docker Engine (linux) or Docker Desktop (windows/mac)
  • Internet connection (for initial container pull)