Krita's Windows installer is English across all language. While the user can press "Next" all the way, it'd be more user friendly if we can provide a translatable installer, so non-English users can feel more at home. In fact, because Krita's Installer is English only, many user thought Krita doesn't support their language or they have downloaded the wrong version. They often ended up downloading Krita from content farms, where they provided outdated, fake localized versions which might have only the installer translated, but planted with malwares.
I'll see what I can do about the installer. We wouldn't want fake versions out there though, can anything be done about them?
Thank you Alvin. Looking forward to it! Unfortunately I don't think we can do anything about the installers on the content farms. Those people won't answer to our call. Being malicious is how they profit. As long as we provide adequate localization, they will eventually lose all relevance. In fact, after I rewrote the Chinese translation for krita.org and Scott provided the much appreciated infrastructures for including additional information, the SEO is now so much better. Krita and its download page now shows up first wehn searching for "Krita" in most Chinese search engines, which was not the case a month ago. Our local community saw quicker user growth and less confusion around the basics, I think it's working. But some new users are still lacking confidence when they saw the installer being English.
I can basically tack on the translations included with NSIS [1], which covers plenty of the strings, but the installer do have some custom strings that will need to be translated. It will take some time to figure out a proper translation workflow. Do we want a temporary, half-done solution to go with 4.3.0? If yes, there are two options: 1. I can translate the strings for both Traditional Chinese (TC) and Simplified Chinese (SC), so we can consider shipping an installer with only English, TC and SC for 4.3.0. If anyone is quick enough to translate for other languages we may also include them. 2. We ship all available languages in NSIS, with all untranslated strings falling back to English. [1]: https://svn.code.sf.net/p/nsis/code/NSIS/tags/v305/Contrib/Language%20files/
Thanks Alvin, since it won't affect any untranslated languages, I think shipping 4.3.0 with TC/SC translations for the installer is a good idea. Please do let me know if my work is needed here.
I've improved the SC translation files for NSIS: https://www.dropbox.com/sh/lu92wl75kkejxe6/AABvNmSVtRAnmyXCQ8_Lau4wa?dl=0 Anything else that I can do, please let me know.
(In reply to Tyson Tan from comment #5) > I've improved the SC translation files for NSIS: > https://www.dropbox.com/sh/lu92wl75kkejxe6/AABvNmSVtRAnmyXCQ8_Lau4wa?dl=0 > > Anything else that I can do, please let me know. Perhaps you can try upstreaming your changes to https://sourceforge.net/p/nsis/patches/?
Honestly I'm not looking forward to participate in yet another project so soon. There is so much to do with Krita's translation alone. The current installer's translation dates back to 2010 and has mistakes and feels awkward, but it's serviceable. I will consider about going upstream later. If my updated files are a hassle to use in production, just leave them be. :P
It's fine if you don't want to upstream the changes for now, it's just for letting more users benefit from your improvements. I will see if it's worth applying them locally. In the meantime, I have extracted and prepared the strings for a one-off translation which you can find them on Invent [1]. Please note that the strings might still be changed, and the TC strings are just what I think would be suitable and not a professional translation. If you feel like doing the SC strings then please go ahead. [1]: https://invent.kde.org/graphics/krita/-/merge_requests/359/diffs#diff-content-d86e3c7cd0d79eafc2513481fc9e2dc742c48521
I tried to create or upload the translated file, but it kept displaying: An error occurred while committing your changes. [Please try again] The try again button doesn't do anything. I'm very confused.
(In reply to Tyson Tan from comment #9) > I tried to create or upload the translated file, but it kept displaying: > > An error occurred while committing your changes. > [Please try again] > > The try again button doesn't do anything. I'm very confused. Just attach the file here and I'll put it in for you.
OK, I forked the NSIS Localization branch, commit the new changes and created a merge request. Anything more I must do to make it work?
(In reply to Tyson Tan from comment #11) > OK, I forked the NSIS Localization branch, commit the new changes and > created a merge request. Anything more I must do to make it work? Thanks, it's now included in my merge request.
Git commit 923a9a7122ab2e3979045542b9b2631fd4672cba by Alvin Wong. Committed on 04/06/2020 at 09:17. Pushed by alvinwong into branch 'master'. Merge branch 'nsis-localization' Merge Request: !359 https://invent.kde.org/graphics/krita/commit/923a9a7122ab2e3979045542b9b2631fd4672cba
@Tyson Tan The latest nightly build [1] now includes the installer translations. Please check it out and let me know what you think. (FWIW the overflowing caption text happens due to the long version string. It should not be an issue with normal releases.) If you consider it OK, it will probably go into the 4.3 branch in preparation for release. After that I'll start working on making it translatable through the normal KDE translation workflow. [1]: https://binary-factory.kde.org/job/Krita_Nightly_Windows_Build/
Hi Alvin, it worked flawlessly! Thank you so much for making this a reality. With the localized installer, it actually felt like a totally different experience. The installer automatically matching to the correct language will be very assuring to the users. NSIS's SC translation though. That's a whole new level of jankiness. I will try to fix that in upstream later. Through the process I've learned the basics of the WebIDE, thanks to Wolthera's documentation. Hopefully I can be more useful in the future. :P
I've filed a ticket in NSIS project and attached both translated files: https://sourceforge.net/p/nsis/patches/297/
Git commit 68b2438d1b7d31bea6bf6fe929100e9646ca9e1c by Alvin Wong. Committed on 05/06/2020 at 08:56. Pushed by alvinwong into branch 'krita/4.3'. Update NSIS installer to provide TC and SC translations (For the 4.3.0 release) Squashed commit of the following: commit 88268b3a8ebf5a582ae85a279dc7307e32e5e833 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 16:03:15 2020 +0800 Win installer: Make uninstaller prompt show in correct language (cherry picked from commit 8130dce97a4743f7c44fb3a1ddf29489114011e9) commit 35b536644306c778e6081a03f304f18147dd9422 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 15:31:54 2020 +0800 Win installer: Skip language selection dialog in silent mode (cherry picked from commit e4db3ce4e05f086a329847f946487665b97cc84b) commit e553f21edd0e8e80a064fd4392fab29d63d62835 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 15:29:27 2020 +0800 Win installer: Reuse language on uninstall (cherry picked from commit 17f47918e9c7cc9559a80e9ba67b6ba1e10151af) commit f73a541c84fce29b718398e9ce20886cd7f32bb9 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 20:40:08 2020 +0800 Win installer: Fix using the translation files (cherry picked from commit dbf24cc8e3f67bcb5cb869d086d6a2b4a54b8d83) commit 01c2f1a590fe111f80ca4123eda7865c8635dfac Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 19:15:21 2020 +0800 Win installer: Fix makensis invocation (cherry picked from commit c6581b15864c88e4568fdae7fcc44c6656f72b80) commit 82d90b2e785772afbb0dfcbaa4a62ee2e9d08253 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 16:59:03 2020 +0800 Win installer: Include Simp. Chinese translation (cherry picked from commit 859609a79157595f530013c5bfb3ba86e2d1ff71) commit 187a099ae78f3adf4edd984a82634d170b2b6cc4 Author: Tyson Tan <tysontan@tysontan.com> Date: Thu Jun 4 08:28:55 2020 +0000 Add S-Chinese translation to NSIS installer. (cherry picked from commit 109309b481ca31a4760b6dda0fe4f2d35b61c9d7) commit 92ce868784770a005cdf82cc558eb0efe68407d3 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 00:17:41 2020 +0800 Win installer: Stop adding the "Uninstall Krita" item to the Start Menu The "Uninstall Krita" start menu item is mostly redundant since users can perform the uninstallation from the Control Panel. Windows 10 also offers to open the relevant Settings page when users right-click on the Krita icon and select "Uninstall". Moreover, recent Windows 10 versions automatically hides the "Uninstall Krita" menu item (but would fail to do so if its name is localized). (cherry picked from commit ed49fff88f9f7c8b3ab965f72485a7b18e84bc5e) commit 48aba59fbc1d8e1a327c805d71725fe6055e5f66 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 23:32:35 2020 +0800 Win installer: Make some changes to the strings (cherry picked from commit a4cfe5861757edc8eefa0cd3a6e5a299d21a3143) commit fe0ef8a315dd83acaa3ef0b935c0cde4ac4b4982 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 23:30:06 2020 +0800 Win installer: Add tentative Trad. Chinese translations (cherry picked from commit 000ad10e94449b27a219753d44b41b2a8c0349d2) commit f5afa3e9b83faa51a9415e60a0d6a15530c7b558 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:48:43 2020 +0800 Win installer: Split strings into its own file (cherry picked from commit 9713ef5f6330d859d8f9f7d01e2f4f3382195182) commit 6abce0df502845aa3265642561c40a32da98d178 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:36:14 2020 +0800 Win installer: Remove prompt regarding separate shell extension That prompt is really unnecessary. (cherry picked from commit 7ea17bf85736365c94fe9ddc9985ddff904025e8) commit 9201ba9130930a0915305c31e16081c5549ae702 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:28:50 2020 +0800 Win installer: Combine desktop icon page and confirm page (cherry picked from commit b31446819d9c65859507d0f211d8130e69c8d3f1) commit 2a4a98bb9ca4f1783e999ad22df7d45ee2f57af1 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 20:56:07 2020 +0800 Win installer: Fix deletion of localized shortcut (cherry picked from commit a06bc489cb1a9fc13f0eb8cc9993e3191f0180dd) commit 723458e8a54d10e7b99b4c710b328883b9f64536 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 20:53:04 2020 +0800 Win installer: Reduce the amount of strings to translate (cherry picked from commit 97e7841a786a0a4da03ad6adfd1c474ef1acf5bf) commit 4e8bb3231681716d5bf3eb4e78e887edac4ed6ea Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 18:49:05 2020 +0800 Win installer: Simplify ancient version handling to reduce strings (cherry picked from commit c2c850f50708e68ee2cbfc20ea9d8c5c22d9db28) commit 20c989ab4a020f66e6dd70aba7cd1d45131feb5f Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 17:52:18 2020 +0800 Win installer: Extract strings to prepare for translation (cherry picked from commit ae22d453bf45b62953b0cad40e50d9a2f03d57f6) M +8 -0 packaging/windows/installer/ConfigureInstallerNsis.cmake M +1 -0 packaging/windows/installer/MakeInstallerNsis.cmake.in M +133 -149 packaging/windows/installer/installer_krita.nsi A +46 -0 packaging/windows/installer/translations/English.nsh A +46 -0 packaging/windows/installer/translations/SimpChinese.nsh A +46 -0 packaging/windows/installer/translations/TradChinese.nsh https://invent.kde.org/graphics/krita/commit/68b2438d1b7d31bea6bf6fe929100e9646ca9e1c
Git commit 4b80aca1bdce7b3f67006e7e709ae1c6a32eff9d by Boudewijn Rempt, on behalf of Alvin Wong. Committed on 05/06/2020 at 09:18. Pushed by rempt into branch 'krita/4.3.0'. Update NSIS installer to provide TC and SC translations (For the 4.3.0 release) Squashed commit of the following: commit 88268b3a8ebf5a582ae85a279dc7307e32e5e833 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 16:03:15 2020 +0800 Win installer: Make uninstaller prompt show in correct language (cherry picked from commit 8130dce97a4743f7c44fb3a1ddf29489114011e9) commit 35b536644306c778e6081a03f304f18147dd9422 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 15:31:54 2020 +0800 Win installer: Skip language selection dialog in silent mode (cherry picked from commit e4db3ce4e05f086a329847f946487665b97cc84b) commit e553f21edd0e8e80a064fd4392fab29d63d62835 Author: Alvin Wong <alvin@alvinhc.com> Date: Fri Jun 5 15:29:27 2020 +0800 Win installer: Reuse language on uninstall (cherry picked from commit 17f47918e9c7cc9559a80e9ba67b6ba1e10151af) commit f73a541c84fce29b718398e9ce20886cd7f32bb9 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 20:40:08 2020 +0800 Win installer: Fix using the translation files (cherry picked from commit dbf24cc8e3f67bcb5cb869d086d6a2b4a54b8d83) commit 01c2f1a590fe111f80ca4123eda7865c8635dfac Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 19:15:21 2020 +0800 Win installer: Fix makensis invocation (cherry picked from commit c6581b15864c88e4568fdae7fcc44c6656f72b80) commit 82d90b2e785772afbb0dfcbaa4a62ee2e9d08253 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 16:59:03 2020 +0800 Win installer: Include Simp. Chinese translation (cherry picked from commit 859609a79157595f530013c5bfb3ba86e2d1ff71) commit 187a099ae78f3adf4edd984a82634d170b2b6cc4 Author: Tyson Tan <tysontan@tysontan.com> Date: Thu Jun 4 08:28:55 2020 +0000 Add S-Chinese translation to NSIS installer. (cherry picked from commit 109309b481ca31a4760b6dda0fe4f2d35b61c9d7) commit 92ce868784770a005cdf82cc558eb0efe68407d3 Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 4 00:17:41 2020 +0800 Win installer: Stop adding the "Uninstall Krita" item to the Start Menu The "Uninstall Krita" start menu item is mostly redundant since users can perform the uninstallation from the Control Panel. Windows 10 also offers to open the relevant Settings page when users right-click on the Krita icon and select "Uninstall". Moreover, recent Windows 10 versions automatically hides the "Uninstall Krita" menu item (but would fail to do so if its name is localized). (cherry picked from commit ed49fff88f9f7c8b3ab965f72485a7b18e84bc5e) commit 48aba59fbc1d8e1a327c805d71725fe6055e5f66 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 23:32:35 2020 +0800 Win installer: Make some changes to the strings (cherry picked from commit a4cfe5861757edc8eefa0cd3a6e5a299d21a3143) commit fe0ef8a315dd83acaa3ef0b935c0cde4ac4b4982 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 23:30:06 2020 +0800 Win installer: Add tentative Trad. Chinese translations (cherry picked from commit 000ad10e94449b27a219753d44b41b2a8c0349d2) commit f5afa3e9b83faa51a9415e60a0d6a15530c7b558 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:48:43 2020 +0800 Win installer: Split strings into its own file (cherry picked from commit 9713ef5f6330d859d8f9f7d01e2f4f3382195182) commit 6abce0df502845aa3265642561c40a32da98d178 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:36:14 2020 +0800 Win installer: Remove prompt regarding separate shell extension That prompt is really unnecessary. (cherry picked from commit 7ea17bf85736365c94fe9ddc9985ddff904025e8) commit 9201ba9130930a0915305c31e16081c5549ae702 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 21:28:50 2020 +0800 Win installer: Combine desktop icon page and confirm page (cherry picked from commit b31446819d9c65859507d0f211d8130e69c8d3f1) commit 2a4a98bb9ca4f1783e999ad22df7d45ee2f57af1 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 20:56:07 2020 +0800 Win installer: Fix deletion of localized shortcut (cherry picked from commit a06bc489cb1a9fc13f0eb8cc9993e3191f0180dd) commit 723458e8a54d10e7b99b4c710b328883b9f64536 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 20:53:04 2020 +0800 Win installer: Reduce the amount of strings to translate (cherry picked from commit 97e7841a786a0a4da03ad6adfd1c474ef1acf5bf) commit 4e8bb3231681716d5bf3eb4e78e887edac4ed6ea Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 18:49:05 2020 +0800 Win installer: Simplify ancient version handling to reduce strings (cherry picked from commit c2c850f50708e68ee2cbfc20ea9d8c5c22d9db28) commit 20c989ab4a020f66e6dd70aba7cd1d45131feb5f Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 17:52:18 2020 +0800 Win installer: Extract strings to prepare for translation (cherry picked from commit ae22d453bf45b62953b0cad40e50d9a2f03d57f6) M +8 -0 packaging/windows/installer/ConfigureInstallerNsis.cmake M +1 -0 packaging/windows/installer/MakeInstallerNsis.cmake.in M +133 -149 packaging/windows/installer/installer_krita.nsi A +46 -0 packaging/windows/installer/translations/English.nsh A +46 -0 packaging/windows/installer/translations/SimpChinese.nsh A +46 -0 packaging/windows/installer/translations/TradChinese.nsh https://invent.kde.org/graphics/krita/commit/4b80aca1bdce7b3f67006e7e709ae1c6a32eff9d
The updated simplified Chinese patch I submitted has been accepted by NSIS.
@Boud I propose that we incorporate Tyson's updates to the NSIS built-in strings by directly patching the binary NSIS zip release. This way I don't need to make awful hacks in the build steps to get them in. To make the patched package you would need to: 1. get `nsis-3.05.zip` and extract it somewhere, then 2. in `nsis-3.05/Contrib/Language files` replace `SimpChinese.nlf` and `SimpChinese.nsh` with the ones downloaded from [1] and [2], then 3. rename the top dir `nsis-3.05` to something like `nsis-3.05-patched`, then 4. zip it back up as `nsis-3.05-patched.zip` (note the file name should match the top dir name), then 5. upload it to files.kde.org/krita/build/dependencies/ Does this seem good to you? [1]: https://sourceforge.net/p/nsis/code/7187/tree//NSIS/trunk/Contrib/Language%20files/SimpChinese.nlf?format=raw [2]: https://sourceforge.net/p/nsis/code/7187/tree//NSIS/trunk/Contrib/Language%20files/SimpChinese.nsh?format=raw
Okay, sure. And I guess when we can update to the version of nsis that has the translations we should move to that?
(In reply to Boudewijn Rempt from comment #21) > Okay, sure. And I guess when we can update to the version of nsis that has > the translations we should move to that? Yes, exactly.
Done.
Git commit 08bdfe561e8020a906da1abdcef30638eaa668da by Alvin Wong. Committed on 11/06/2020 at 08:24. Pushed by alvinwong into branch 'master'. Win installer: Update hash for patched NSIS package The patched package contains new Simp. Chinese translations by Tyson Tan. M +1 -1 packaging/windows/installer/MakeInstallerNsis.cmake.in https://invent.kde.org/graphics/krita/commit/08bdfe561e8020a906da1abdcef30638eaa668da
Git commit 1a1756eff5fc280191902d5768e0d3a7bb53af44 by Alvin Wong. Committed on 11/06/2020 at 08:28. Pushed by alvinwong into branch 'krita/4.3'. Win installer: Bump to use new patched NSIS 3.05 Squashed commit of the following: commit 223f89013dea2846e2bc216498d4307a0602a7dc Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 11 16:23:05 2020 +0800 Win installer: Update hash for patched NSIS package The patched package contains new Simp. Chinese translations by Tyson Tan. (cherry picked from commit 08bdfe561e8020a906da1abdcef30638eaa668da) commit 404f5f27d61561cc9894fe1d536182d3d3d907b6 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 17:16:39 2020 +0800 Bump Windows installer NSIS version to 3.05 This is mainly for the updated translations which might be used in the future. (cherry picked from commit aec3418f259bc7b810d548f590647b86c1cdcbaa) M +2 -2 packaging/windows/installer/MakeInstallerNsis.cmake.in https://invent.kde.org/graphics/krita/commit/1a1756eff5fc280191902d5768e0d3a7bb53af44
I guess we should continue over at https://phabricator.kde.org/T13266
Git commit ae013c966de62c9002633304e371f03f8bf5ed08 by Alvin Wong. Committed on 11/06/2020 at 08:32. Pushed by rempt into branch 'krita/4.3.0'. Win installer: Bump to use new patched NSIS 3.05 Squashed commit of the following: commit 223f89013dea2846e2bc216498d4307a0602a7dc Author: Alvin Wong <alvin@alvinhc.com> Date: Thu Jun 11 16:23:05 2020 +0800 Win installer: Update hash for patched NSIS package The patched package contains new Simp. Chinese translations by Tyson Tan. (cherry picked from commit 08bdfe561e8020a906da1abdcef30638eaa668da) commit 404f5f27d61561cc9894fe1d536182d3d3d907b6 Author: Alvin Wong <alvin@alvinhc.com> Date: Wed Jun 3 17:16:39 2020 +0800 Bump Windows installer NSIS version to 3.05 This is mainly for the updated translations which might be used in the future. (cherry picked from commit aec3418f259bc7b810d548f590647b86c1cdcbaa) M +2 -2 packaging/windows/installer/MakeInstallerNsis.cmake.in https://invent.kde.org/graphics/krita/commit/ae013c966de62c9002633304e371f03f8bf5ed08