My second crate :D : Karatepe, a localisation library

while i was writing another project i got frustrated with fluent (i kept mistyping up the names of translations and/or arguments, which are just strings and constructing hash maps of arguments was just annoying),
so i decided to start a a "quick" side project, multiple attempts and months later i finally finished version 0.1.0 of karatepe:

https://crates.io/crates/karatepe

(copied from the readme)
karatepe is a library for localising software.

Unlike most other localisation libraries, karatepe is statically typed, a tree of files define which messages exist, and what arguments they take, and for each message a normal rust function, with the correct type and number of arguments, is generated at compile time, it is not possible to pass the wrong type to a translation or to forget an argument.

Translations are loaded at runtime, errors are not fatal, if a message's translation has an error it is discarded, but all other messages are unaffected, currently parsing errors are not recoverable, so if a translation file cannot be parsed the entire file is discarded (but other files are unaffected).

i published v0.2.0, which adds a expression for escaping characters and allows the terminator of a multiline translation to be preceded by whitespace.