| Crates.io | ib-romaji |
| lib.rs | ib-romaji |
| version | 0.1.2 |
| created_at | 2025-07-12 09:11:43.736395+00 |
| updated_at | 2025-08-21 12:43:12.974678+00 |
| description | A fast Japanese romanizer |
| homepage | |
| repository | https://github.com/Chaoses-Ib/ib-matcher/tree/master/ib-romaji |
| max_upload_size | |
| id | 1749114 |
| size | 3,117,194 |
A fast Japanese romanizer.
use ib_romaji::HepburnRomanizer;
let romanizer = HepburnRomanizer::default();
let mut romajis = Vec::new();
romanizer.romanize_and_try_for_each("日本語", |len, romaji| {
romajis.push((len, romaji));
None::<()>
});
assert_eq!(romajis, vec![(9, "nippongo"), (3, "a"), (3, "aki"), (3, "bi"), (3, "chi"), (3, "he"), (3, "hi"), (3, "iru"), (3, "jitsu"), (3, "ka"), (3, "kou"), (3, "ku"), (3, "kusa"), (3, "nchi"), (3, "ni"), (3, "nichi"), (3, "nitsu"), (3, "su"), (3, "tachi")]);
assert_eq!(romanizer.romanize_vec("日本語"), vec![(9, "nippongo"), (3, "a"), (3, "aki"), (3, "bi"), (3, "chi"), (3, "he"), (3, "hi"), (3, "iru"), (3, "jitsu"), (3, "ka"), (3, "kou"), (3, "ku"), (3, "kusa"), (3, "nchi"), (3, "ni"), (3, "nichi"), (3, "nitsu"), (3, "su"), (3, "tachi")]);
kakasi's dictionary is a bit outdated and it's licensed under GPL-3. While ib-romaji uses the latest JMdict and licensed under MIT. ib-romaji also supports querying all possible romajis of a word.
The following crates are kana (仮名) only. They don't support kanjis like 日本語: