Messages should be localisable (i18n)
Currently we use English strings as (error) messages in many places, with no translation facility.
Tor is supposed to be a project for everyone, not just speakers of English. We should have a message translation system and use it throughout. (Except for internal errors, since the codebase is in English.)
Rust hasn't had a very good story about this, at least until recently. We should:
- Evaluate message translation systems for (at least) ease of integration, ease of calling in our codebase, and translator UX
- Consider whether we want to do anything better in the meantime for the error type variants that currently contain
&'static str
, which I currently feel dirty about every time.
We should likely consider other aspects of internationalisation too but that's not this ticket.