Dear Maintainer, I am using Debian Stretch package skanlite (2.0-1). With a Canon CanoScan N670U the field "Scan resolution" shows the text "300 DPI (I18N_EXCESS_ARGUMENTS_SUPPLIED)". This indicates that the i18n library is not called correctly. Best regards Heinrich Schuchardt Reproducible: Always Steps to Reproduce: Open the application and choose a scanner. Actual Results: With a Canon CanoScan N670U the field "Scan resolution" shows the text "300 DPI (I18N_EXCESS_ARGUMENTS_SUPPLIED)". Expected Results: The text should read "300 DPI".
The command line shows this output: "1 instead of 0 arguments to message { DPI} supplied before conversion."
I think #386053 might be related
Still a thing in latest git.
Git commit dd39e1fb2f2da6d4f2d8b70366441dc0044117fb by Pino Toscano. Committed on 06/07/2020 at 17:10. Pushed by pino into branch 'master'. i18n: add placeholder to KSaneOption::unitString() strings The resulting string is set as suffix for KPluralHandlingSpinBox. KPluralHandlingSpinBox updates its text on value change replacing the value as placeholder/argument in the suffix string; if the KLocalizedString suffix does not have a placeholder, there will be a command line warning about the extra placeholder. FIXED-IN: 20.07.80 M +6 -6 src/options/ksaneoption.cpp https://invent.kde.org/graphics/libksane/commit/dd39e1fb2f2da6d4f2d8b70366441dc0044117fb
Sorry, I just realized the change in libksane is wrong: the result is that the value will be shown twice, once by the spin box itself and the other as its suffix. Instead, I will fix KPluralHandlingSpinBox to not attempt to substitute the value in the suffix KLocalizedString.
Actually I take it back: the issue is in libkscan: the KLocalizedString object for KPluralHandlingSpinBox::setSuffix() must be a plural string.
Git commit f88f843d5e143b4b5b89119189d720d616c01cbe by Pino Toscano. Committed on 06/07/2020 at 22:04. Pushed by pino into branch 'master'. i18n: use plural forms for KSaneOption::unitString() strings The resulting string is set as suffix for KPluralHandlingSpinBox. KPluralHandlingSpinBox tries to substitute the value, so the KLocalizedString set must be either a plural form. Hence, make all the strings returned by KSaneOption::unitString() as plural forms. FIXED-IN: 20.07.80 M +4 -4 src/options/ksaneoption.cpp https://invent.kde.org/graphics/libksane/commit/f88f843d5e143b4b5b89119189d720d616c01cbe
Awesome! I was just about to file this as a bug and have the exact same issue with the exact same scanner :)