KIntNumInput::setTemplate(const QString &template)

Nicolas Goutte nicolasg at snafu.de
Fri Sep 1 18:56:29 BST 2006


On Friday 01 September 2006 10:26, David Faure wrote:
> 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).

Thank you for notifing the error but for KDE4 it becomes:
i18np("1 minute", "%n minutes", number_of_minutes)

otheriwse it would always be "1 minute", as this string has no placeholder 
( %1...)

> 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") )

I am not 100% sure but I suppose that this will not work either.
(And we do not have a I18N_NOOP for plurals.) :-(

>
> 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? ;)

Have a nice day!




More information about the kde-core-devel mailing list