When building DolphinWX using cmake, msgmerge will run on the
.po files, updating the formatting of them if they aren't
already in the exact format that msgmerge uses. This means that
running msgmerge on all the .po files is necessary before
committing any updates to the .po files, because otherwise
unstaged changes are going to appear whenever anyone tries to
build that commit using cmake. The translation syncing scripts
that were used by delroth and Parlane did so by invoking `cmake`
and then `make translations`, but that isn't a good solution
for people who sync translations on Windows (i.e. me).
This commit uncomments some existing code for running msgmerge
on all the .po files, and places that code in a new script. Now,
translation syncing scripts just have to call that script before
committing, instead of using msgmerge directly or using cmake.
I'm not sure why the script was called gettextize to begin with.
gettextize is the name of a gettext executable that doesn't seem
to be related to what our gettextize script did.
For instance, we don't want to show TGC files that might be
inside the /files/ directory of a GameCube DirectoryBlob,
and we don't want to show the /sys/main.dol files for extra
partitions of Wii DirectoryBlobs.
Now it's clearer that SetDOL depends on SetApploader
and BuildFST depends on SetDOL.
As a side note, we now load the DOL even if there's
no apploader. (I don't think it matters whether we
do it, but it was easier to implement this way.)
This lets VolumeDirectory/DirectoryBlob skip implementing
various volume functions like GetGameID, GetBanner, etc.
It also lets us view extracted discs in the game list.
This ends up breaking the boot process for Wii
DirectoryBlobs due to workarounds being removed from the
boot process, but that will be fixed later by adding
proper DirectoryBlob support for things like TMDs.
We now expect the directories to be laid out in a certain
format (based on the format that WIT uses) instead of requiring
the user to set the DVD root and apploader path settings.
This is useful for blob types that store Wii data unencrypted
(such as WIA and discs extracted to directories) so that
we don't have to waste CPU time encrypting in the blob code
just to decrypt right afterwards in the volume code.
The old approach to detecting DOL/ELF files doesn't fit
with the new way of implementing extracted discs.
The game list is already doing it in a way that's similar
to the approach that this commit uses.