Skip to content

A list of resources for conservation, development, and documentation of endangered, minority, and low or under-resourced human languages.

Notifications You must be signed in to change notification settings

arne-cl/endangered-languages

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 

Repository files navigation

Endangered Languages

There is no centralised list of open-source code that would be useful for documenting, conserving, developing, preserving, or working with endangered languages. According to some estimates, half of the 7,000~ currently spoken languages are expected to become extinct this century (Wikipedia). However, there is a lot of work by academics, independant scholars, organizations, communities, and individuals which goes towards stopping or slowing this trend. This list is intended to provide a central location to document those efforts.

Contribute

To edit this list, simply click here. If you would like to discuss anything at all related to this, please open an issue. Please edit the list, either using the link before or by submitting pull requests, if you know of any resource available that is not on this list.

Definitions

Endangered languages are human languages that are in danger of extinction. This list also encompasses minority languages - languages which are spoken by a stable, but small, population (for example, Maltese or Hawai'ian); and low- or under-resourced languages, which are spoken by a significant population but under-represented on the web (for instance, Quechua). These languages share certain characteristics in common; the most pertinent is sparse data and a lack of resources, ranging from spell-checkers to grammars to machine translation corpora. Other under-resourced languages that do not fall under this list include constructed languages (for instance, Klingon or Na'vi), computer languages (for instance, Javascript or Lua), and extinct languages that are so sparse as to be rendered computationally irrelevant for most purposes (for instance, Tocharian).

Open Source "promotes a universal access via a free license to a product's design or blueprint, and universal redistribution of that design or blueprint, including subsequent improvements to it by anyone." (Wiki). This is important because money and resources allocated towards a language or project that are not open source is spent at the expense of possible extensibility elsewhere.

Looking for resources for code languages? Take a look at the awesome collection of other awesome lists.

Generic Repositories

  • accentuate.us a.k.a. "charlifter". Statistical Unicodification of plain text for many languages
  • AGTK AGTK is a suite of software components for building tools for annotating linguistic signals, time-series data which documents any kind of linguistic behavior (e.g. audio, video). The internal data structures are based on annotation graphs.
  • Anki Anki is a program to make and share flaschard decks (including audio) for any language or writing system. http://ankisrs.net/
  • ANNIS Search and Visualization in Multilayer Linguistic Corpora
  • Apertium Apertium is a toolbox to build open-source shallow-transfer machine translation systems, especially suitable for related language pairs: it includes the engine, maintenance tools, and open linguistic data for several language pairs.
  • ark-tweet-nlp CMU ARK Twitter Part-of-Speech Tagger (Fork)
  • babelfrog Chrome extension to help learn languages as you browse.
  • bayesline A Multinomial Bayesian Classification for Language Identification
  • brain Neural networks in JavaScript
  • CBOLD Comparative Bantu OnLine Dictionary
  • cdec Decoder, aligner, and model optimizer for statistical machine translation and other structured prediction models based on (mostly) context-free formalisms http://cdec-decoder.org/
  • charlint Charlint is a character normalization/checking tool written in Perl. Among else, it implements Normalization Form C of Unicode TR 15, as a test platform for Early Uniform Normalization in the W3C Character Model.
  • clld The clld python package is a toolkit to build cross-linguistic databases. A list of databases built with it is available at http://clld.org/datasets.html
  • Cog Cog is a tool for comparing languages using lexicostatistics and comparative linguistics techniques. It can be used to automate much of the process of comparing word lists from different language varieties. http://sillsdev.github.io/cog/
  • CTK Built around LDC's champollion sentence aligner kernel, Champollion Tool Kit (CTK) aims to providing ready-to-use parallel text sentence alignment tools for as many language pairs as possible.
  • CuPED CuPED ('Customizable Presentation of ELAN Documents') is a tool for transforming time-aligned transcripts, such as those produced by ELAN, into a variety of presentation formats.
  • dataverse A data repository framework to share and publish research data.
  • dative A single-page application that interacts with multiple linguistic fieldwork web service databases.
  • Desmeme Database and tools for exploring linguistic templates
  • dictdb dictionary database for language translation
  • DLTK Deutsch Language Tool Kit http://goo.gl/wdnz1W
  • ELAN ELAN is a professional tool for the creation of complex annotations on video and audio resources.
  • ELDER: Endangered Language Data Electronic Repository Endangered Language Data Electronic Repository: A web-based ontologically-compliant collaborative linguistic data cataloguing tool.
  • EMMA A Novel Evaluation Metric for Morphological Analysis
  • FLEx / FieldWorks FieldWorks is popular a suite of software tools for language and cultural data, with support for complex scripts. http://fieldworks.sil.org/ FieldWorks Language Explorer (or FLEx, for short) is designed to help field linguists perform many common language documentation and analysis tasks. It can help you: elicit and record lexical information, create dictionaries, interlinearize texts, analyze discourse features, study morphology
  • Gaia Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see https://wiki.mozilla.org/B2G. If you're interested in setting up a keyboard in new language, see this.
  • Glottolog data Glottolog provides comprehensive reference information for the world's languages. The data published in Glottolog is curated in https://github.com/clld/glottolog-data
  • graf-python The library graf-python is an open source Python implemenation to parse and write GrAF/XML files as described in ISO 24612. The parser of the library creates an annotation graph from the files. The user may then query the annotation graph via the API of graf-python.
  • Gramadóir Grammar checking engine that is designed for the rapid development of grammar checkers for minority languages and other languages with limited computational resources.
  • https://github.com/hyphenliu/cnminlangwebcollect Chinese minorities website languages detection and websites collection
  • https://github.com/leebock/languages Application files for the Smithsonian endangered languages story map.
  • iLanguageCloud An HTML5/Android word cloud generation codebase
  • itweets-geodata Geodata from Indigenous Tweets
  • koreksyon Tools for developing and implementing spell-checking and grammar-checking capabilities in low-resource languages
  • l20n.js L20n reinvents software localization. Users should be able to benefit from the entire expressive power of natural languages. L20n keeps simple things simple, and at the same time makes complex things possible. This is the JavaScript implementation of L20n. http://l20n.org
  • langtech A host of resources provided in SVN by the University of Tromsø. Details are here and in English here.
  • LDC Word Aligner LDC Word Aligner is a software tool used for manual annotation of word alignment developed to support Arabic-English and Chinese-English word alignment tasks. It has a clean, easy-to-use interface. Since its development in 2009, LDC has used LDC Word Aligner to generate over 1,000,000 tokens of annotated word alignment data from a variety of genres including broadcast, newswire and web-based sources.
  • LEGO Unified Concepticon Material relating to the LEGO Unified Concepticon
  • Lex4All pronunciation LEXicons for Any Low-resource Language http://lex4all.github.io/lex4all/
  • LinGO Grammar Matrix The LinGO Grammar Matrix is a framework for the development of broad-coverage, precision, implemented grammars for diverse languages.
  • Lingpy LingPy: Python library for quantitative tasks in historical linguistics http://lingpy.org
  • Linguistica Linguistica is a program designed to explore the unsupervised learning of natural language, with primary focus on morphology (word-structure). It runs under Windows, Mac OS X and Linux, and is written in C++ within the Qt development framework. Its demands on memory depend on the size of the corpus analyzed.
  • lrl For work concerning low resource languages.
  • Machine Machine is a natural language processing library for .NET that is focused on providing tools for processing resource-poor languages (used by FLEx)
  • Make-extensions Scripts for generating hunspell spellchecking extensions
  • Minority Translate Minority Translate is a simple program for helping content generation on smaller sized Wikipedias (actually any sized) by giving pointers to existing articles in other language Wikipedias, so that the user can easily translate or adapt existing texts and thus increase the size and useability of their Wikipedia editions.
  • morfessor Morfessor is a tool for unsupervised and semi-supervised morphological segmentation
  • moz-l10n-tiers Creates a pseudo-locale to evaluate string prioritization for l10n
  • Natural Javascript general natural language facilities for node
  • nishanimate Facilitating Nishnaabe-language acquisition via animation video produced by the natural language processing of audio-accompanied text.
  • NIST 2008 Open Machine Translation Evalutation
  • nlpanimate Facilitating indigenous-language acquisition via animation video produced by the natural language processing of audio-accompanied text.
  • NLTK Python Natural Language Tool Kit. NLTK Source http://nltk.github.com/
  • node-panlex node.js client for PanLex
  • octothorpe CouchDB-powered wiki thing
  • ogoki iPhone & iPad template source code (as a .zip) for language learning
  • old-webapp Online Linguistic Database --- software for creating web applications to collaboratively document languages.http://www.onlinelinguisticdatabase.org
  • OpenDataKit Open Data Kit (ODK) is an open-source suite of tools that helps organizations author, field, and manage mobile data collection solutions
  • panlex-tools This package contains scripts to transform lexical resources into a format suitable for importing into PanLex. Documentation may be found at http://dev.panlex.org/tools/
  • pepper Pepper is a pluggable, Java-based, open source converter framework for linguistic data.
  • poio-analyzer Poio is a collection of software tools for linguists working in language documentation, descriptive linguistics and/or language typology. It allows linguists to manage and analyze their data. The Poio Interlinear Editor allows to add morpho-syntactic annotations to transcriptions. It supports various file formats for input, but will only output standardized XML defined by the Corpus Encoding Standard and the Text Encoding Initiative. Several tools for analyzing linguistic data will be made available to further process annotated data. Poio tools are written in Python and are based on PyQt.
  • poio-api Poio API is a free and open source Python library to access and search data from language documentation in your linguistic analysis workflow. It converts file formats like Elan’s EAF, Toolbox files, Typecraft XML and others into annotation graphs as defined in ISO 24612. Those graphs, for which we use an implementation called “Graph Annotation F… http://media.cidles.eu/poio/poio-api
  • poio-corpus The Poio Corpus is a freely available collection of language resources for the lesser-used languages. The data is extracted from free sources like Wikipedia, dictionaries, documents, websites and others.
  • poio-doc Documentation of the Poio project.http://www.poio.eu
  • poio-site The website of the Poio project - http://www.poio.eu
  • pressagio Pressagio is a library that predicts text based on n-gram models. For example, you can send a string and the library will return the most likely word completions for the last token in the string.
  • pyannotation PyAnnotation is a Python Library to access and manipulate linguistically annotated corpus files.
  • pyDelphin Python libraries for DELPH-IN (Friendly Fork)
  • Rosetta Pangloss The Rosetta Project's Pangloss system
  • Salt A graph-based model to store and manipulate linguistic data.
  • Secwepemc-Facebook Translate Facebook into unsupported languages
  • SeedLing Building and Using A Seed Corpus for the Human Language Project
  • Skype in your language Translate Skype into unsupported languages
  • SPHERE Conversion Tools Many LDC corpora contain speech files in NIST SPHERE format. The programs below convert SPHERE files to other formats.
  • Stanford CoreNLP Python Python wrapper for Stanford CoreNLP tools
  • sugali This is a legacy repository of the language identification project for many (many) languages project for the software project course, NLP projects for low-resource languages.
  • SuGarLike Language Identification for Low Resource Languages (by Susanne, Guy and Liling)
  • TeraDict Translate English words into hundreds of languages!
  • TexNLP TexNLP: Texas Natural Language Processing tools
  • Toney Tone Classification Software
  • Toolbox Scripts for ELAN Mirror of Alexander Koenig's Toolbox Scripts https://tla.mpi.nl/tools/tla-tools/elan/thirdparty/
  • translitit-engine A transliteration engine written in JavaScript
  • Tsammalex data Tsammalex is a multilingual lexical database on plants and animals. The data published on the Tsammalex website is curated collaboratively at https://github.com/clld/tsammalex-data
  • tweet2learn An app to make it easier to use your native language on Twitter
  • Unicodify Unicodify is a suite of programs for converting text in a variety of 8-bit encodings to Unicode (using the UTF-16 encoding). Unicodify was particularly designed to handle HTML-based text using non-ISCII 8-bit fonts to render South Asian scripts. However, elements of the suite can map other types of non-ASCII 8-bit encodings, such as Latin-2, ISCII and PASCII.
  • UniversalDependencies docs Universal Dependencies online documentation http://universaldependencies.github.io/docs/
  • UniversalDependencies tools Various utilities for processing the data.
  • wavesurfer.js Navigable waveform built on Web Audio and Canvas http://www.wavesurfer.fm (Also has an ELAN plugin)
  • WeSay Allows language communities to build their own dictionaries. http://wesay.org (by the SIL International)
  • WordBoundary An experiment in the detection and segmentation of word boundaries
  • wordbyword WordByWord is a free, open source, easy-to-use multimedia vocabulary trainer developed by Vera Ferreira, Peter Bouda, and Ricardo Filipe at CIDLeS with the support of the Foundation for Endangered Languages.
  • WSI4URLang Word Sense Induction (WSI) for Under-resourced Languages (URLang) http://www.mohammadnasiruddin.eu/under-resourced-language-urlang.html
  • XLTK eXtensible Language ToolKit
  • XTrans Trans is a next generation multi-platform, multilingual, multi-channel transcription tool that supports manual transcription and annotation of audio recordings. The XTrans toolkit provides new and efficient solutions to common transcription challenges and addresses critical gaps in existing tools.Designed with input from experienced human transcribers working with real world data, XTrans provides a flexible and intuitive graphical user interface for a multitude of speech annotation tasks including (virtual) segmentation of audio into smaller units like turns and sentences; speaker identification; orthographic transcription in any language; and labeling of structural elements of the transcript like topics.

i18n-related Repositories

  • Polyglot.js Give your JavaScript the ability to speak many languages.
  • Transifex - System for providing a nice, userfriendly/project oriented approach to translating .po files. Great for non-technical users, free for open-source projects, decent for minority languages; however, it can take a while to get a new language added to the Transifex system because the ticketing system Transifex uses results in them losing tickets sometimes. Provides translation memory, ability to appoint reviewers, etc. Transifex used to have an open source system that you could host on your own, but that seems to have disappeared.

Computing systems

Android Applications

Chrome Extensions

  • DictionaryChromeExtension Dictionary for websites in low-resource languages. App and codebase which connects to a Wiktionary to provide definitions of any term on any website (current languages Cherokee 194,426 entries, Inuktitut 251 entries, Kartuli 7,363 entries, Plains Cree (incubation) 0 entries)

FieldDB

FieldDB is actively worked on by the [https://github.com/OpenSourceFieldlinguistics] group. These repos explicitely work with it.

  • FieldDB An offline/online field database which adapts to its user's terminology and I-Language.
  • UsageDashboard A realtime updating usage dashboard for fielddb servers (forked from dashing) (Fork)

Modules

Academic Research Paper-Specific Repositories

  • Gargantua Fast Unsupervised Sentence Aligner described in "Improved unsupervised sentence alignment for symmetrical and asymmetrical parallel corpora", COLING 2010.
  • ldc-kiy Materials for: The experimental state of mind in elicitation: illustrations from tonal fieldwork. Dubmitted to Language Documentation & Conservation, How to study a tone language.
  • Learning to map into a Univerisal POS tagset Yuan Zhang, Roi Reichart, Regina Barzilay and Amir Globerson
  • low-resource-pos-tagging-2013 and low-resource-pos-tagging-2013 Published in: Learning a Part-of-Speech Tagger from Two Hours of Annotation. Dan Garrette and Jason Baldridge. In Proceedings of NAACL 2013. And in: Real-World Semi-Supervised Learning of POS-Taggers for Low-Resource Languages. Dan Garrette, Jason Mielens, and Jason Baldridge. In Proceedings of ACL 2013.
  • orthotree Linguistic family tree based on orthographic distance
  • type-supervised-tagging-2012emnlp This repository contains the code, scripts, and instructions needed to reproduce the results in the paper: Type-Supervised Hidden Markov Models for Part-of-Speech Tagging with Incomplete Tag Dictionaries. Dan Garrette and Jason Baldridge. In Proceedings of EMNLP 2012. This code is frozen as of the version used to obtain the results in the paper. It will not be maintained. To see the updated code, visit nlp
  • visualizing-language For visualizations of WALS and other typological databases
  • WALS-APiCS Code for working with WALS-APiCS (Atlas of Pidgin and Creole Language Structures) complexity metrics

Language Specific Projects

###Amharic

  • HornMorpho - morphological analysis and generation of Amharic and Oromo verbs and nouns and Tigrinya verbs

###Arabic

  • Buckwalter A small python script that transliterates Arabic text using the Buckwalter Transliteration Scheme. It allows for multiple decisions to be made around whether or not to include all types of diacritics and characters or ignore them. Useful for NLP experiments where you may want to normalize text.

###Bengali

  • Bangla-অঙ্কুর for Mac This project aims to develop a phonetic based Bangla typing system for Macintosh computer which can be developed into a transliteration technique in the future.
  • Bengali Writer `Bengali Writer' is a set of utilities for computerized editing and typesetting in Bengali, a language of India and Bangladesh. It comprises a set of fonts for Bengali in several formats (METAFONT, BDF, PS), a text editor with spell-cheking, export, and more.
  • Ekushey Bangla Computing and Localization Project for the Bangla speaking people.
  • Lekho A collection of tools and resources for using bangla on computers

###Chichewa

###Georgia

###Guarani

  • ParaMorfo - morphological analysis and generation of Spanish and Guarani verbs, nouns, and adjectives

###Hindi

  • hindi-morph An open source morphological analyzer for Hindi

###Høgnorsk

  • hunspell-hn_NO A beginning to a spellchecking tool for Høgnorsk, a conservative variant of Norwegian Nynorsk, based on a set of corpuses.

###Irish

###Japanese

  • kuromoji Kuromoji is a self-contained and very easy to use Japanese morphological analyzer designed for search
  • kuromoji-server Kuromoji server and demo that shows Japanese morphological analyzer capabilities

###Kinyarwanda

###Korean

  • komoran Korean morphological analyzer

###Lingala

###Malagasy

  • Global Voices Malagasy Project This page provides a link to a corpus of parallel news articles in Malagasy and English from the Global Voices project. This corpus was collected and aligned at the sentence level by Victor Chahuneau.

###Migmaq

###Minderico

###Oromo

  • hornmorpho morphological analysis and generation of amharic and oromo verbs and nouns and tigrinya verbs

###Pomo

  • PomoDictionary This language app is part of a project to archive and make available materials on the Northern Pomo language, collected over 25 years.

###Quechua

  • AntiMorfo - morphological analysis and generation of Quechua nouns, adjectives, and verbs and Spanish verbs
  • Morphology, spellchecker - XFST and FOMA, plus OpenOffice plugin.

###Sámi (Saami)

  • Divvun Sámi proofing tools. This links to the documentation page, which explains how to access the svn repository.
  • Giellatekno A host of Sámi tools.
  • Mobile keyboards (iOS and Android), learning apps, dictionaries, morphologies, syntax disambiguators, some amount of project collaboration with Apertium on shallow translation between Saami languages, and
  • Oahpa! - A learning portal for Saami languages. Includes WordPress based, media rich lesson-based learning, and morphological and syntactic exercizes generated from the morphological and syntactic tools
  • Gïelese - A media learning application for South Saami, including images, sound and animation for learning basic phrases and core vocabulary. JavaScript application, playable on the web or via PhoneGap apps in Android or iOS.
  • Neahttadigisánit - A morphologically sensitive dictionary, with modes for 'social media input' (which allows users to type a 'relaxed' version of the orthography (acdnstz will be recognized also as áčđŋšŧz̄), and also includes a JavaScript bookmarklet to offer click-to-read dictionary lookup functionality. Also available for other Uralic, and non-Uralic languages. Giellatekno does a lot for other minority Uralic languages. Following are some keywords for CTRL+F friendliness:
  • Saami languages: North Saami, Lule Saami, South Saami // Inari Saami, Kildin Saami, Pite Saami, Skolt Saami.
  • Other Uralic languages: Erzya, Finnish, Hill Mari, Ingrian, Khanty, Kven, Komi, Livonian, Meadow Mari, Moksha, Nenets, Nganasan, Olonetsian, Udmurt, Veps.
  • Other languages: Buriat, Cornish, Faroese, Greenlandic, Iñupiaq, Northern Haida, Ojibwe, Plains Cree, Russian.

###Scottish Gaelic

  • hunspell-gd Files for building Scottish Gaelic spell checkers

###Secwepemctsín

###Somali

  • somorph Somali morphological and syntactic analyzers and generators built on XFST and VISL-CG Constraint Grammar. Up to date version checked in in Giellatekno's repository.
  • qaamuus.so morphologically aware dictionary based on lexical resources found online, and the somali morphology.

###Tigrinya

  • HornMorpho morphological analysis and generation of Amharic and Oromo verbs and nouns and Tigrinya verbs

###Zulu

  • Ukwabelana An open-source morphological Zulu corpus

Language & Code Interfaces

  • قلب‬ is a simple, Scheme-like programming language that you code entirely in Arabic. It is an exploration of the impact of human culture on computer science, the role of tradition in software engineering, and the connection between natural and computer languages.

Github Organisations

  • batumi Speech recognition and natural language processing for low-resource languages
  • lex4all
  • longnow
  • NLTK http://nltk.github.com/
  • OpenSourceFieldLinguistics
  • Projet de recherche sur l'écriture crowdsourcing or conducting large scale psycholinguistics experiments (or statistically significant field linguistics)
  • SIL International SIL International SIL (originally known as the Summer Institute of Linguistics, Inc.) is probably the leading organization which provides software and tools tailored for use by field linguists and lexicographers working on endangered languages. A little known fact is that it's code is now all open sourced on GitHub and SIL is happy to recieve open source contributions and collaborate on open source projects.
  • SIL NRSI SIL Non-Roman Script Initiative. The NRSI is a department of SIL International, whose task is to provide assistance, research and development for SIL International and its partners to support the use of non-Roman and complex scripts in language development.

Other OSS Organisations

Closed Source Resourcs

  • Noto Fonts Noto is Google’s free font family that aims to support all the world’s scripts. Its design goal is to achieve visual harmonization across languages. Noto fonts are under Apache License 2.0.

About

A list of resources for conservation, development, and documentation of endangered, minority, and low or under-resourced human languages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published