Open Bug 1726105 Opened 3 years ago Updated 3 years ago

Support multiple languages in crash reporter

Categories

(Toolkit :: Crash Reporting, enhancement)

enhancement

Tracking

()

People

(Reporter: flod, Unassigned)

References

(Blocks 1 open bug)

Details

Currently, as part of repacks we bundle only one language for the Crash Reporter

In order to switch to a different shipping model (one build + language packs), we would need to support multiple languages.

This bug is filed mostly to explicitly track a dependency for the work needed to get rid of repacks. There's plenty of considerations/choices to make, e.g. should there be a language switcher, should we match the locale used in Firefox or the OS, etc.

We should also move away from using INI for localization, and use Fluent instead for these strings.

Yes, we should have done this ages ago but the work here is non-trivial for a nasty reason: the crash reporter client is effectively made of three different platform-dependent applications sharing very little code, especially WRT the UI. The Windows versions uses raw Win32 calls to build the interface and because of that suffers from a number of limitations (such as poor hi-DPI support). The Linux versions uses GTK3 and being mostly legacy free is in better shape, it's the probably the easiest to convert to Fluent. Finally the macOS versions use a NIB file for the UI plus a bunch of Objective-C code. The NIB file is in the legacy format generated by XCode versions which run on PowerPC macs. This means that it cannot be opened or edited on recent versions of XCode. As such it's the most problematic of the three and will require significant surgery to work with Fluent. In short, it's a pretty big mess. We've considered rewriting the entire client in Rust to improve on the current implementation but a number of issues related to networking prevented us from doing so.

You need to log in before you can comment on or make changes to this bug.