Logo Lanfrica

bluecredits/luhya-translator

Domain:

natural language processing

Record type:

softwaretools
Creator:
blu
Host:
# Oluhya — English ⇄ Luhya Translator A dictionary-based translator across four **Luhya** dialects: **Bukusu**, **Tiriki**, **Tachoni**, and **Wanga**. It looks up words and phrases in either direction and renders sentences word-by-word. It's a static web app — plain HTML, CSS, and JavaScript with JSON data files. No build step, no framework, no server-side code. It runs on GitHub Pages (or any static host). ## Features - **Four dialects** with a selector: Tiriki, Wanga, Bukusu, Tachoni. - **Both directions** — English → Luhya and Luhya → English (swap button). - **AI sentence mode (optional)** — grounds Claude in the verified dictionary vocabulary to assemble a grammatical sentence, applying noun-class agreement, verb conjugation, and word order, and flags anything it infers. Requires your own Anthropic API key (see below). - **Word, phrase, and sentence** input. Sentences are rendered word-by-word, with each word marked found (green) or missing (red). - **Offline-capable** — once loaded, everything runs in the browser. - **Open data** — every dictionary is included as JSON you can reuse or correct. ## Quick start (local) Because the app loads its data with `fetch()`, opening `index.html` directly with a `file://` URL will be blocked by the browser. Run a tiny local server instead: ```bash # Python 3 python3 -m http.server 8000 # then open localhost ``` Any static server works (`npx serve`, VS Code Live Server, etc.). ## Deploy to GitHub Pages 1. Create a new repository and push these files: ```bash git init git add . git commit -m "Initial commit: Luhya translator" git branch -M main git remote add origin github.com git push -u origin main ``` 2. In the repo, go to **Settings → Pages**. 3. Under **Build and deployment → Source**, choose **GitHub Actions**. The included workflow (`.github/workflows/deploy.yml`) publishes the site automatically on every push to `main`. *(Alternatively, pick **Deploy from …