Still need to add a popup telling you that NUSGet needs to be restarted after changing the language, and having it load the selected language in the selection menu so that it's checked on launch.
Since NUSGet only supports a dark theme right now, but your system may use a light theme, the OS may recolor text on screen to be black on black, which is obviously bad for readability. All text will now be white, so you can always read it.
And hey, maybe there will be a proper light theme soon!
Other changes include:
* NUSGet.py: add translation file name fallback under Windows to fix a previously unhandled edge case (tested by me, provided by @NinjaCheetah himself).
* NUSGet.py: fix translation key lookups for strings that need to be formatted at runtime.
* ui_AboutDialog.py: fix translation key lookups for strings that need to be formatted at runtime.
* ui_AboutDialog.py: add myself to the list of translation contributors.
* Translations: update source and translation strings across all localization files to reflect the fixes mentioned above.
* Translations: update source string locations and add a new unfinished translation to all localization files (as a result of running update_translations.py).
Defined menu roles for those items so that Qt knows they belong under "NUSGet" when on macOS. This worked automatically somehow in English, but when loading a localization they'd be relocated to "Help" like they are on Windows and Linux. They'll now stay in the correct place for all languages.
This really shouldn't matter much, but I just want to make sure that translations are done on up-to-date .ts files. Pushing these will make sure anyone who updates their fork gets them and nothing will get missed if they don't run update_translations.py.
I edited existing translations accordingly, since the folder name was quoted and is the same regardless of your system language, so I figured I could safely change it to "NUSGet Downloads" without damaging the translation.
Title trees are now model-based rather than item based. Coming with this is proper item metadata, so the data and UI are finally disconnected, making future development much easier. There are also some minor visual improvements as a result of using a TreeView instead of a TreeWidget.
vWii System Menus now have public versions defined in the database. Public version display code has also been entirely rewritten, as the version displayed in the interface and the version used by the code are no longer the same.