KIntNumInput::setTemplate(const QString &template)
faure at kde.org
Fri Sep 1 09:26:03 BST 2006
On Sunday 27 August 2006 17:41, Sébastien Laoût wrote:
> Currently, the class KIntNumInput has two methods:
> - setPrefix(const QString &prefix)
> - setSuffix(const QString &suffix)
> This generate two problems:
> 1/ No plural for is allowed.
> Or to be more precise, all numbers are always presented in the plural form.
> 2/ Currency translation is bad.
> In USA, the program should call setPreffix("$ ").
> In Europe, the program should call setSuffix(" €")
> (not sure if € should be postfixed or prefixed, but it's for the example:
> other currencies are placed after the number).
> For KDE 4, I propose you remove those methods in profit of that one:
> - KIntNumInput::setTemplate(const QString &template)
> The two examples will be transformed to:
> - setTemplate(i18n("%n minute", "%n minutes));
Doesn't work that way. The syntax is i18n("1 minute", "%n minutes", number_of_minutes).
But in kde4 one can also use ki18np("1 minute", "%n minutes").subs(number_of_minutes).toString()
so I think this could become
setTemplate( ki18np("1 minute", "%n minutes") )
and KIntNumInput would take care of calling subs(number_of_minutes) when the number of minutes changes.
And the api would be
setTemplate( const KLocalizedString& )
But I'm not sure how the editing would work, when the number is somewhere
in the middle of a string...
> Note: I'm not voluntering to do that change ;-)
Even now that you know how to do it? ;)
David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
More information about the kde-core-devel