Crowdin fills mullvad-browser.ftl files with en-US strings
As mentioned in tpo/translation!139 (comment 3161549) crowdin allows you to either skip untranslated strings or insert placeholder en-US
strings in the files.
As far as I know, for brand.properties
each locale needs some entry, so the placeholder en-US
strings makes sense.
For brand.ftl
and mullvad-browser.ftl
untranslated strings should be left out of the locale's .ftl
file so that the mozilla logic can cycle through the user's language preferences and find the best match. E.g. if a user's preference is nl, de
then if nl
is missing the string it can be fetched from the de
file instead, and then fall back to en-US
if that is missing. This is very useful for Firefox and Tor Browser because our translations are volunteer based, so some locales have much better coverage than others.
For the .ini
files that the mullvad build uses, we use the en-US
strings as a fallback regardless, so the crowdin setting should make no difference to the final build.
The problem is that the crowdin setting for skipping untranslated strings applies to all the files. So brand.properties
, brand.ftl
and mullvad-browser.ftl
need to share the same setting.
Some possible options:
- We accept the current situation and allow crowdin to write the en-US placeholders for the
.ftl
files. This could work if crowdin guarantees equal and full translation coverage across all locales before the strings are used in the stable release. I.e. if we do not have to worry about patchy translation of the mullvad strings then the Fluent fallback locales won't ever be needed for them. - We get crowdin to write the en-US placeholders until
brand.properties
is fully translated. Then we switch off this option.brand.properties
is unlikely to be updated again, so should remain fully translated for these locales. The main problem with this is that any time we want to add a new locale we would need to make sure thatbrand.properties
for the new locale is already fully translated. - We do something outside of crowdin to fill in the en-US placeholders for
brand.properties
, with some kind of build script. - We split the
.ftl
files into a separate crowdin account, so that we can apply different settings to them.