qBittorrent/dist/windows
sledgehammer999 f35d94d98e
Update instructions about NSIS packaging
Include a helper a script to gather valid Qt translations for packaging.
2022-03-29 01:52:25 +03:00
..
installer-translations Update NSIS French translation 2022-03-10 12:32:53 +08:00
nsis plugins
CMakeLists.txt CMake: overhaul and improve scripts 2020-09-17 13:13:26 +01:00
gather_qt_translations.py Update instructions about NSIS packaging 2022-03-29 01:52:25 +03:00
installer.nsi Enable translation for uninstaller link (#14660) 2021-04-08 11:39:03 +08:00
options.nsi Bump to 4.5.0alpha1 2022-01-06 20:47:06 +02:00
qbittorrent.nsi Encode files in UTF-8 without BOM 2020-10-28 14:15:31 +00:00
qt.conf Fixed blurry text under Windows by setting DPI awareness to default 2017-10-12 22:23:02 +03:00
README.txt Update instructions about NSIS packaging 2022-03-29 01:52:25 +03:00
translations.nsi Revert "NSIS: Add Bengali translation" 2021-10-25 00:46:34 +03:00
UAC.nsh Fix extra/missing trailing new lines in files 2020-10-28 14:20:18 +00:00
uninstaller.nsi Encode files in UTF-8 without BOM 2020-10-28 14:15:31 +00:00

TRANSLATORS:

1. Use an editor that has NSIS syntax highlighting(eg Notepad++/Geany). This will
   make your life easier.
2. Open the relevant .nsi file that exists in the folder named
   "installer-translations"
3. Lines starting with ";" are considered comments. These include the
   english message to help you with the translation.
4. Edit only the part inside the quotation marks(""). Unless you know
   what you are doing.
5. Save the files with UTF-8 encoding, without BOM
   (this should be the default in any modern text editor).
6. Submit your changes: 1) as a pull request to the official git repo or
   2) open an issue to the bugtracker and attach them or 3) via email or
   4)the same way you provide the translations for qbt itself

PACKAGERS:

You will need NSIS and upx to make the installer. You need a unicode version of NSIS.
I tested with NSIS 3.0 (final).

1. Open the options.nsi file in an editor and change line that contains
   "!define PROG_VERSION "3.0.3"" to the version of qbittorrent you just built.
2. Extract the plugins found in the folder "nsis plugins" into your
   NSIS's unicode Plugin directory(usually C:\Program Files\NSIS\Plugins\x86-unicode).
   Only the *.dll files are needed. Use the unicode version of the dlls.
3. The script you need to compile is "qbittorrent.nsi". It includes all other necessary scripts.
4. The script expects the following file tree:

The installer script expects the following file tree:

Root:
installer-translations
	afrikaans.nsi
	....
	(all the .nsi files found here in every source release)
	welsh.nsi
translations
	qt_ar.qm
	...
    (All the .qm files found in the 'translations' folder of your Qt install. Those files differ between Qt5 and Qt6.
     You will need the files that conform to this globbing expression 'qt_??.qm qt_??_??.qm qtbase_??.qm qtbase_??_??.qm'.
     Some of those files will be stubs. Filter any file that is smaller than 10KB in size.
     Alternatively you can use the 'gather_qt_translations.py' script found in the same folder as this file.
     Run it with '--help' to see its usage.
     **YOU MUST** edit the list of .qm files in the 'installer.nsi' to match whatever files are in the 'translations' subfolder.)
	qt_zh_TW.qm
installer.nsi
license.txt
options.nsi
qbittorrent.exe
qbittorrent.nsi
qt.conf
translations.nsi
UAC.nsh
uninstaller.nsi


5. "license.txt" is a text file that contains the text rendered
   from src\gui\gpl.html or the text contained in COPYING
6. "qbittorrent.exe" is the compiled binary file.

SCRIPT HACKERS:

If you add any new LangString variable to the scripts you NEED to provide
"translations" of it to all the .nsi files inside "installer-translations.
You can always leave the english string but you have to use all the LANG_<lang name>
for the given variable. Otherwise, if the user chooses a language that you
haven't provided a LANG_<lang name> for your variable then your string will be empty.
Don't worry though, NSIS throws warnings for this when compiling the scripts.