Bug 6986 - not everything is translated in client Windows installer
Summary: not everything is translated in client Windows installer
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Client platforms (show other bugs)
Version: 1.3.1
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.9.0
Assignee: Pierre Ossman
URL:
Keywords: hean01_tester, prosaic, thomas_tester
Depends on:
Blocks:
 
Reported: 2017-06-08 14:14 CEST by Pierre Ossman
Modified: 2018-01-24 08:55 CET (History)
2 users (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2017-06-08 14:14:29 CEST
We've overlooked these two dialogs:

  "Warning: This Windows version is not supported"

  "A previous version of the ThinLinc Client is already installed. Do you want to remove it?"
Comment 2 Pierre Ossman cendio 2017-06-09 10:34:58 CEST
Fixed now. Fortunately the warning for the wrong Windows version was already translated, so it should be easy to test. Just start the installer on an old Windows machine with one of our translated languages set.
Comment 4 Pierre Ossman cendio 2017-06-12 14:48:44 CEST
Urgh. The customizer also had similar strings.
Comment 6 Pierre Ossman cendio 2017-06-16 11:13:31 CEST
Works well. Tested by changing language and starting the setup in Windows XP compatibility mode.
Comment 8 Thomas Nilefalk cendio 2017-08-16 15:49:28 CEST
Problems where we have string definitions out of sync for the installer & customizer should never happen again if r32682 passes inspection. Please test.
Comment 9 Henrik Andersson cendio 2017-08-22 14:30:23 CEST
Verified using the update translation routine in make release for ThinLinc. translations.nsh contains the newly translated strings. Works as expected.
Comment 10 Peter Åstrand cendio 2017-12-19 08:42:46 CET
When I tried to build on my workstation I got:

cat clientfiles.nsh.in | awk '{ print $0"\r" }' > clientfiles.nsh
cat thinlinc-client.nsi.in | awk -v VERSION=`cat ../../VERSION` '{gsub("%VERSION%", VERSION); print $0"\r"}' > thinlinc-client.nsi
../tlclient/configdefs2reg ../tlclient/tlclient_config_defs.h | awk '{ print $0"\r" }' > settings.reg
cat ../ssh_known_hosts | sed 's@\(.*\) \(.*\) \(.*\)@"\1,\2"="\3"\r@'  >> settings.reg
rm -rf motmp
mkdir -p motmp
for fn in ../tlclient/po/tmp.po ../tlclient/po/nl.po ../tlclient/po/pt_BR.po ../tlclient/po/it.po ../tlclient/po/fr.po ../tlclient/po/sv.po ../tlclient/po/es.po ../tlclient/po/de.po ../tlclient/po/tr.po ../tlclient/po/ru.po; do \
	msgfmt $fn -o motmp/`basename $fn`.mo; \
done
../../buildtools/bin/mo2nsh \
                 -s "Run ThinLinc Client"  -s "Warning: This Windows version is not supported."  -s "A previous version of the ThinLinc Client is already installed. Do you want to remove it?"  -s "A previous version of the ThinLinc Client Customizer is already installed. Do you want to remove it?" \
	motmp/*.mo > intl/translations.nsh
Traceback (most recent call last):
  File "../../buildtools/bin/mo2nsh", line 84, in <module>
    main()
  File "../../buildtools/bin/mo2nsh", line 80, in main
    lang_name = LANG_NAMES[lang]
KeyError: ''
make[2]: *** [intl/translations.nsh] Fel 1
make[2]: Lämnar katalogen "/home/astrand/ctc/client/installer"
make[1]: *** [installer/setup.exe] Fel 2
make[1]: Lämnar katalogen "/home/astrand/ctc/client"
make: *** [client/tl-4.8.0post-client-windows.exe] Fel 2

Then, I re-ran the same command "make client-zip", and everything worked as expected. I checked client/installer/Makefile and found:

	../../buildtools/bin/mo2nsh \
                $(shell grep gettext ../tlclient/tlclient_extra_install_translations.h | awk -v FS='"' '{ print " -s \"" $$2 "\""}') \
		motmp/*.mo > $@

When manually running the grep command I get:

$ grep gettext client/tlclient/tlclient_extra_install_translations.h | cbrun i386 awk -v FS='"' '{ print " -s \"" $$2 "\""}'
 -s "    gettext_noop("Run ThinLinc Client"),"
 -s "    gettext_noop("Warning: This Windows version is not supported."),"
 -s "    gettext_noop("A previous version of the ThinLinc Client is already installed. Do you want to remove it?"),"
 -s "    gettext_noop("A previous version of the ThinLinc Client Customizer is already installed. Do you want to remove it?"),"

This does not look right...? 


I also looked at the rest of the commit and it seems like tlclient_extra_windows_translations.h is never used?
Comment 11 Thomas Nilefalk cendio 2018-01-23 11:04:59 CET
Tested with nightly build from 2018-01-23.

Windows language set to Swedish.
Set compatibility mode to XP and added the registry string value
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cendio ThinLinc client_is1\UninstallString" and "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cendio ThinLinc client customizer_is1\UninstallString" to non-empty strings in the 32-bit registry to simulate existing install of very old ThinLinc.

Both strings are now translated in client and customizer installers.

Note You need to log in before you can comment on or make changes to this bug.