Since we bundle the whole files in the editor binary, they actual impact the
binary size needlessly.
Automate it via `make merge`.
(cherry picked from commit 6fb47a271f)
This reduces the size of the editor binaries significantly, as we otherwise
embed all WIP translations, including ones with very low completion ratios,
and end up paying for the size of all `msgid`s for each locale.
Cf. https://github.com/godotengine/godot-proposals/issues/3421 for details.
The thresholds used are:
- 30% for the editor interface (should already include most common strings
while more obscure ones like UndoRedo action names might be untranslated).
- 10% for the class reference: this is a HUGE resource and 10% is already
a lot of useful content, especially if focused on the most used APIs.
For 3.x, we also exclude languages that require complex text layout support
to be displayed properly.
This currently reduces the size of the editor binary by 17% on Linux.
The list will be synced manually every now and then.
Merge the PO translations with the new template.
This adds the following changes:
- 8000 strings are still valid as is (80%)
- 2000 strings are marked fuzzy and need reviewing (20%)
- 1000 strings are new and need translation
These are based on the `master` API from mid-2020 so they're somewhat outdated.
Some strings will be marked as fuzzy (needs review) and new strings will be
added in the next commit.
Change extract script `path` argument to support specifying multiple
paths, like `makerst.py`. This prevents parsing invalid XML files while
scanning the whole repository.
(cherry picked from commit 87d23bf85a)