Botswana Setswana-NLP is a standarised package for Setswana digital translation and eventual NLP and AI use.
# bw-setswana-nlp
> A developer-facing NLP toolkit and language resource for **Setswana as spoken in Botswana** — building the digital foundation for a language that belongs online.
-green.svg)
---
## Why This Exists
Setswana is spoken by millions of people in Botswana as a first language and serves as the national language of the country. Yet in digital spaces — operating systems, translation engines, NLP pipelines, keyboards, and developer tooling — it remains largely invisible.
This project exists to change that.
`bw-setswana-nlp` is an open-source effort to build the foundational language resources that allow Setswana to exist as a first-class language in software: locale support, dictionary datasets, morphological tooling, corpora, and eventually NLP/AI-ready resources — all rooted in **Setswana as natively spoken in Botswana** (`tn-BW`).
This is not a translation app. It is the **infrastructure layer** that makes Setswana viable for developers building apps, researchers training models, and platform teams adding locale support.
---
## Project Scope
This repository targets **Setswana as spoken in Botswana** (`tn-BW` locale). While Setswana/Tswana is also spoken in South Africa and Zimbabwe, this project's primary reference is the Botswana standard. Contributions that introduce dialect conflicts will be discussed in issues before merging.
---
## Roadmap
Development is phased to build a solid foundation before higher-level tooling.
### Phase 1 — Foundation *(current focus)*
- [ ] Structured lexicon / dictionary dataset (words, definitions, POS tags)
- [ ] ISO locale data (`tn-BW`) — date formats, number formats, currency (BWP)
- [ ] Basic tokenizer (whitespace + punctuation aware)
- [ ] Character and diacritic reference for Setswana orthography
### Phase 2 — Morphology & Grammar
- [ ] Noun class system documentation and data structures
- [ ] Verb conjugation tables
- [ ] Agglutination rules and morphological analyzer
- [ ] Part-of-speech tagger …