✨ Translate things. In Rust. With style. 🕶️
Welcome to libtranslate, the multilingual powerhouse you didn't know you needed but absolutely deserve.
Think:
- 🧠 Rust-level safety
- 🤝 C-level compatibility
- 🔁 Nix-level reproducibility
- 🚀 CLI speed and simplicity
| Path | What it is |
|---|---|
result/lib/ |
libtranslate.so – the spicy translation core 🌶️ |
result/include/ |
translate.h – a warm hug for your 90s code 👴 |
result/bin/translate |
CLI tool that slaps 🚀 |
examples/c-example/ |
Actual C code that runs 🤯 |
Built with 💜 by Nix.
nix build🎁 Your goodies will appear in ./result like a perfectly-wrapped holiday gift.
./result/bin/translate hello --to=fr
# > Croissant noises intensify 🥐Supports:
- Input text
- Target language
- Your ego
use translate::{translate, Language};
let fancy = translate("hello", Language::Auto, Language::Italian);
assert_eq!(fancy, "ciao");✨ Safety. ✨ Speed. ✨ No segfaults.
#include <translate.h>
char* word = c_translate("hello", Auto, German);
printf("%s\n", word); // prints: hallo
c_translate_free(word);👴 Yes, this works. Yes, it's glorious. ✨
Fire up the time machine:
nix run .#c-exampleAnd boom 💥 you're in a working C world with Rust wizardry behind the scenes.
- ✅ Written in Rust (a.k.a. the good part of the internet)
- ✅ Easy FFI with C
- ✅ Drop-in CLI tool
- ✅ Fully reproducible builds with Nix
- ✅ Makes you look cooler on your GitHub profile
- Found a bug? Fix it and become legend.
- Got a feature idea? Send it like a carrier pigeon.
- Just here for memes? Open a PR with a README edit.
Bonus points for commits with 🔥 emoji.
MIT – Because we believe in freedom and not making lawyers cry.
If your translation stack isn't Nix-built, Rust-powered, and C-compatible... Are you even translating, bro?
libtranslate: bridging languages, platforms, and developer moods 🕊️