Support for translation prototype
|Reported by:||jvprat||Owned by:||sev-|
I've been doing a prototype for messages translation based on the proposal written to -devel. I've separated it in 3 files just for readability. All three patches have to be applied in order to get it working.
translation-infrastructure.patch: It's what does the work. translation-marked-messages.patch: It marks several strings from the source code for translation translation-example-po.patch: It contains example translation files for catalan and spanish (just to test, not complete at all)
It's currently aiming at having a different font for each character set. If later there's a rework on the GUI to support unicode font rendering, the only change needed here would be to convert the po files to the desired character set.
As I said it's just a prototype to let you cast your opinions and rants about it. Here's the current status:
FEATURES: - can be disabled (no extra charge for small devices) - uses po2c to build a cpp file that contains the translations - no extra runtime dependencies - po files have to be coded in the character set of the GUI font - optional support for detecting locale language at runtime - optional support for converting messages to terminal character set (which can be different than the GUI one)
TODO: - add a GUI option to select the language in the misc tab - get a list of supported languages - change font when selecting a language (one can get the translation character set) - use configuration to use previously selected language ("" uses the system default) - mark all the translatable strings - change size of some GUI labels to let translations longer than the original
QUESTIONS: - which strings should be translated? All? Just the user-visible (excluding debugging and internal error ones)? - there are LOTS of debugging/internal error ones that will never be seen by the end user and will confuse translators
Please, let me know your opinions, both constructive and destructive ;) (if you prefer another approach)
Ticket imported from: #1739965. Ticket imported from: patches/800.