Other Projects
Firefox Monitor
- Repository: GitHub
- L10n Repository: GitHub
- L10n format: Fluent
- Bug reports: GitHub
- Dev server: link
- Prod server: link
- Other resources: email templates
To add a new locale to this project it’s enough to add the locale to Pontoon. This will make the locale automatically available on the dev server and commit to the repository.
Localization PM is automatically set as reviewer via CODEOWNER for pull requests affecting Fluent files.
For information on the automation, see the README in the l10n repository.
Mozilla VPN Client
- Repository: GitHub
- L10n Repository: GitHub
- L10n format: XLIFF
- Bug reports: GitHub
- Testing web app: link
To add a new locale to this project it’s enough to add the locale to Pontoon. The locale will be added automatically to Nightly builds, but will be available in production builds only after it reaches 70% completion (and dropped automatically if it gets lower).
Builds are created via GitHub automation and available as assets in each run of GitHub Actions. Builds are multilocale, and users can switch language directly from the app settings.
For this project, there are several elements of automation running (linter, string extraction).
Automation: Strings export
Strings are stored in the original repository either directly in the code or in YAML format.
Automation exports strings from the main
branch and all releases
branches into a single XLIFF file, and creates a pull request every workday at 7 AM UTC updating all XLIFF files in the repository. The PM in charge is automatically set as reviewer via CODEOWNER.
Automation: Linting
There is automation performing basic linting on the localized XLIFF files. Automation runs once a day and checks for:
- Missing placeables (variable references like
%1
). - Use of
...
instead of…
. - Pilcrow characters
¶
.
The system supports exceptions, and the linter status is visible in the repository’s README
There is also a linter running in the code repository, checking for common mistakes in strings:
- Use of straight quotes
'
or"
instead of'
or“”
. - Use of
...
instead of…
. - Lack of comments when the string has placeables.
- Empty strings.