Logo Lanfrica

Abbabk/hausa-qa-toolkit

Domain:

natural language processing

Record type:

softwaretools
Creator:
Abb
Host:
Open-source Hausa localization QA checks for placeholders, orthography, terminology, and bilingual file formats. # HausaQA HausaQA is a clean-room, MIT-licensed localization QA toolkit for Hausa bilingual files. It finds placeholder and inline-tag damage, conservative orthography problems, and terminology drift, then emits MQM-style findings as text or JSON. HausaQA is authored by Abba Bello Kanwa of Hausa AI Studio. ## Features - ICU placeholders such as `{name}` and typed forms such as `{count, number}` - printf placeholders such as `%s`, `%d`, and `%1$s` - mustache placeholders such as `{{person}}` - XML/HTML tags and generic numbered inline tags such as `[1]...[/1]` - missing, extra, reordered, malformed, and likely corrupted token detection - conservative Hausa checks for hooked-letter loss, apostrophe damage, ASCII fallbacks, mixed scripts, repeated spaces, replacement characters, and sentence capitalization - TSV or JSON glossaries with approved terms and forbidden variants - CSV, TSV, JSON, XLIFF 1.2, and XLIFF 2.0 input - human-readable and machine-readable reports - reproducible synthetic evaluation corpus ## Quickstart HausaQA requires Python 3.11 or later. ```bash python3 -m venv .venv . .venv/bin/activate python -m pip install -e . hausaqa check fixtures/cli-demo.tsv --glossary fixtures/glossary.tsv --format text ``` Real output from the included fixture: ```text HausaQA 0.1.0: 2 segment(s), 3 issue(s) Summary: critical=1 major=1 minor=1 [critical] demo-1 placeholder/missing: Missing 1 occurrence(s) of '{name}' [minor] demo-2 orthography/double_space: Target contains repeated spaces [major] demo-2 terminology/approved_term_missing: Expected approved term 'asusu' for 'account' ``` A critical finding makes `hausaqa check` exit with status 1 by default. To fail on major findings too: ```bash hausaqa check pairs.xliff --fail-on major ``` For JSON suitable for automation: ```bash hausaqa check pairs.json --format json ``` ## Input formats ### CSV and TSV Use `source` and `target` columns. An optional non-empty `reference` column supplies stable segment …

Languages

Licenses