Firefox OS is becoming a more mature platform, and one of the components that is maturing with it is the mozL10n library.
The 2.1 cycle we’re currently in is a major API cleanup effort. We’re reviewing how Gaia apps use mozL10n, migrating them to the new API and minimizing the code complexity.
Simplifying the code responsible for localizability of Firefox OS is crucial for our ability to maintain and bring new features to the platform.
There are four major areas we’re working on:
- mozL10n.translate – with introduction of Mutation Observer, we want to phase out manual DOM translation calls.
- mozL10n.localize – this function is extremely hard to maintain and does enough “magic” to confuse devs.
- mozL10n.get – manual l10n gets are the biggest cause of bugs and regressions in our code. They are synchronous, not retranslatable and badly misused
- mock_l10n – many apps still use custom MockL10n class in tests, some even use real MozL10n code in tests. This makes testing harder to maintain and develop new l10n features.
We’re working on all four areas and would love to get your help.
All of those bugs have instructions on how to start fixing, and I will be happy to mentor you.