For example, in french translation, there are 33 ".mo" files in the main MSI archive. If we could merge those mo files, we could possibly avoid duplicate translation. In addition, a single mo file for this translation would be better compressed into the MSI main archive (one compression per file). This would require you to manually merge the po files or to use an automatic tool (msgmerge or msgcat?) to generate a single temporary po file.
In a complete MSI with French UI, I see 3894 mo files, the biggest one below 900 kb. I don't know how these files are generated, possibly split and then used, but maybe Cloph can help here?
Created attachment 191810 [details] mo files list with size The main MSI file and the french off-line help MSI file contain 3894 mo files using 230 MB.
The way translatable strings in po files are generated makes sure that each instance is unique, by using a msgctxt context marker: https://www.gnu.org/software/gettext/manual/html_node/Contexts.html This ensures that each string can be translated differently in different places in the UI, without translators sending extra patches or bug reports all the time. Consequence is that we would not save anything in terms of disk space by merging .mo files in the installer packages, because all the contained strings are unique and there are no duplications in different .mo files that could be unified if we would merge everything into one file.