From 6a90f32c62742359e637bd6eeb4eb973db1309eb Mon Sep 17 00:00:00 2001
From: odrling <florianbadie@odrling.xyz>
Date: Tue, 24 Nov 2020 11:25:36 +0100
Subject: [PATCH] windows: add translations to installer

---
 .github/workflows/msys.yml                    |   7 ++
 packages/win_installer/aegisub3.iss           |   2 +-
 .../win_installer/fragment_translations.iss   | 110 +++++++++---------
 3 files changed, 63 insertions(+), 56 deletions(-)

diff --git a/.github/workflows/msys.yml b/.github/workflows/msys.yml
index 87f08a089..35881c7a0 100644
--- a/.github/workflows/msys.yml
+++ b/.github/workflows/msys.yml
@@ -53,6 +53,13 @@ jobs:
           cd ..
           ln -s ../../builddir/installdir/a/_temp/msys/msys64/mingw64 install
           ldd install/bin/aegisub
+          mkdir po
+          for i in install/share/locale/*; do
+              cp -v $i/LC_MESSAGES/aegisub.mo po/$(basename $i).mo
+          done
+          for i in /mingw64/share/locale/*; do
+              [ -e $i/LC_MESSAGES/wxstd.mo ] && cp -v $i/LC_MESSAGES/wxstd.mo po/wxstd-$(basename $i).mo
+          done
           mkdir libs
           for l in $(ldd install/bin/aegisub | grep -o '=>.*' | cut -d' '  -f2); do
               echo $l
diff --git a/packages/win_installer/aegisub3.iss b/packages/win_installer/aegisub3.iss
index dfc58826d..31f50e70f 100644
--- a/packages/win_installer/aegisub3.iss
+++ b/packages/win_installer/aegisub3.iss
@@ -48,7 +48,7 @@ ArchitecturesAllowed=x64
 ; #include "fragment_codecs.iss"
 #include "fragment_associations.iss"
 #include "fragment_automation.iss"
-; #include "fragment_translations.iss"
+#include "fragment_translations.iss"
 #include "fragment_spelling.iss"
 #include "fragment_fonts.iss"
 #ifdef DEPCTRL
diff --git a/packages/win_installer/fragment_translations.iss b/packages/win_installer/fragment_translations.iss
index 0ab1f8556..ca1c19403 100644
--- a/packages/win_installer/fragment_translations.iss
+++ b/packages/win_installer/fragment_translations.iss
@@ -37,62 +37,62 @@
 
 [Files]
 ; localization (commented out ones are out of date; some don't have wxstd.mo)
-Source: ..\..\po\ar.mo;          DestDir: {app}\locale\ar;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-ar.mo;      DestDir: {app}\locale\ar;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\bg.mo;          DestDir: {app}\locale\bg;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\ar.mo;          DestDir: {app}\locale\ar;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-ar.mo;      DestDir: {app}\locale\ar;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\bg.mo;          DestDir: {app}\locale\bg;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
 ; Missing wxstd for Bulgarian
-Source: ..\..\po\ca.mo;          DestDir: {app}\locale\ca;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-ca.mo;      DestDir: {app}\locale\ca;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\cs.mo;          DestDir: {app}\locale\cs;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-cs.mo;      DestDir: {app}\locale\cs;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\da.mo;          DestDir: {app}\locale\da;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-da.mo;      DestDir: {app}\locale\da;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\de.mo;          DestDir: {app}\locale\de;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-de.mo;      DestDir: {app}\locale\de;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\el.mo;          DestDir: {app}\locale\el;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-el.mo;      DestDir: {app}\locale\el;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\es.mo;          DestDir: {app}\locale\es;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-es.mo;      DestDir: {app}\locale\es;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\eu.mo;          DestDir: {app}\locale\eu;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-eu.mo;      DestDir: {app}\locale\eu;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\fa.mo;          DestDir: {app}\locale\fa;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\ca.mo;          DestDir: {app}\locale\ca;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-ca.mo;      DestDir: {app}\locale\ca;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\cs.mo;          DestDir: {app}\locale\cs;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-cs.mo;      DestDir: {app}\locale\cs;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\da.mo;          DestDir: {app}\locale\da;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-da.mo;      DestDir: {app}\locale\da;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\de.mo;          DestDir: {app}\locale\de;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-de.mo;      DestDir: {app}\locale\de;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\el.mo;          DestDir: {app}\locale\el;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-el.mo;      DestDir: {app}\locale\el;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\es.mo;          DestDir: {app}\locale\es;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-es.mo;      DestDir: {app}\locale\es;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\eu.mo;          DestDir: {app}\locale\eu;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-eu.mo;      DestDir: {app}\locale\eu;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\fa.mo;          DestDir: {app}\locale\fa;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
 ; Farsi wxstd missing
-;Source: ..\..\po\wxstd-fa.mo;     DestDir: {app}\locale\fa;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\fi.mo;          DestDir: {app}\locale\fi;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-fi.mo;      DestDir: {app}\locale\fi;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\fr_FR.mo;       DestDir: {app}\locale\fr_FR; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-fr.mo;      DestDir: {app}\locale\fr_FR; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\gl.mo;          DestDir: {app}\locale\gl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-gl_ES.mo;   DestDir: {app}\locale\gl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\hu.mo;          DestDir: {app}\locale\hu;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-hu.mo;      DestDir: {app}\locale\hu;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\id.mo;          DestDir: {app}\locale\id;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-id.mo;      DestDir: {app}\locale\id;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\it.mo;          DestDir: {app}\locale\it;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-it.mo;      DestDir: {app}\locale\it;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\ja.mo;          DestDir: {app}\locale\ja;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-ja.mo;      DestDir: {app}\locale\ja;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\ko.mo;          DestDir: {app}\locale\ko;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-ko_KR.mo;   DestDir: {app}\locale\ko;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\nl.mo;          DestDir: {app}\locale\nl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-nl.mo;      DestDir: {app}\locale\nl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\pl.mo;          DestDir: {app}\locale\pl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-pl.mo;      DestDir: {app}\locale\pl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\pt_BR.mo;       DestDir: {app}\locale\pt_BR; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-pt_BR.mo;   DestDir: {app}\locale\pt_BR; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\pt_PT.mo;       DestDir: {app}\locale\pt_PT; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-pt.mo;      DestDir: {app}\locale\pt_PT; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\ru.mo;          DestDir: {app}\locale\ru;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-ru.mo;      DestDir: {app}\locale\ru;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\sr_RS.mo;       DestDir: {app}\locale\sr_RS; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\sr_RS@latin.mo; DestDir: {app}\locale\sr_RS@latin; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-fa.mo;     DestDir: {app}\locale\fa;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\fi.mo;          DestDir: {app}\locale\fi;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-fi.mo;      DestDir: {app}\locale\fi;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\fr_FR.mo;       DestDir: {app}\locale\fr_FR; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-fr.mo;      DestDir: {app}\locale\fr_FR; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\gl.mo;          DestDir: {app}\locale\gl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-gl_ES.mo;   DestDir: {app}\locale\gl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\hu.mo;          DestDir: {app}\locale\hu;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-hu.mo;      DestDir: {app}\locale\hu;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\id.mo;          DestDir: {app}\locale\id;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-id.mo;      DestDir: {app}\locale\id;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\it.mo;          DestDir: {app}\locale\it;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-it.mo;      DestDir: {app}\locale\it;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\ja.mo;          DestDir: {app}\locale\ja;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-ja.mo;      DestDir: {app}\locale\ja;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\ko.mo;          DestDir: {app}\locale\ko;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-ko_KR.mo;   DestDir: {app}\locale\ko;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\nl.mo;          DestDir: {app}\locale\nl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-nl.mo;      DestDir: {app}\locale\nl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\pl.mo;          DestDir: {app}\locale\pl;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-pl.mo;      DestDir: {app}\locale\pl;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\pt_BR.mo;       DestDir: {app}\locale\pt_BR; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-pt_BR.mo;   DestDir: {app}\locale\pt_BR; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\pt_PT.mo;       DestDir: {app}\locale\pt_PT; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-pt.mo;      DestDir: {app}\locale\pt_PT; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\ru.mo;          DestDir: {app}\locale\ru;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-ru.mo;      DestDir: {app}\locale\ru;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\sr_RS.mo;       DestDir: {app}\locale\sr_RS; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\sr_RS@latin.mo; DestDir: {app}\locale\sr_RS@latin; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
 ; Missing wxstd for Serbian
-Source: ..\..\po\uk_UA.mo;       DestDir: {app}\locale\uk_UA; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-uk_UA.mo;   DestDir: {app}\locale\uk_UA; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\vi.mo;          DestDir: {app}\locale\vi;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-vi.mo;      DestDir: {app}\locale\vi;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\zh_CN.mo;       DestDir: {app}\locale\zh_CN; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-zh_CN.mo;   DestDir: {app}\locale\zh_CN; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
-Source: ..\..\po\zh_TW.mo;       DestDir: {app}\locale\zh_TW; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
-Source: ..\..\po\wxstd-zh_TW.mo;   DestDir: {app}\locale\zh_TW; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\uk_UA.mo;       DestDir: {app}\locale\uk_UA; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-uk_UA.mo;   DestDir: {app}\locale\uk_UA; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\vi.mo;          DestDir: {app}\locale\vi;    DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+; Source: po\wxstd-vi.mo;      DestDir: {app}\locale\vi;    DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\zh_CN.mo;       DestDir: {app}\locale\zh_CN; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-zh_CN.mo;   DestDir: {app}\locale\zh_CN; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
+Source: po\zh_TW.mo;       DestDir: {app}\locale\zh_TW; DestName: aegisub.mo; Flags: ignoreversion; Components: translations
+Source: po\wxstd-zh_TW.mo;   DestDir: {app}\locale\zh_TW; DestName: wxstd.mo;   Flags: ignoreversion; Components: translations
 
-- 
GitLab