[kmymoney4] [Bug 360129] CSV Importer doesn't recognize sell operation in Polish

allan via KDE Bugzilla bugzilla_noreply at kde.org
Mon Mar 14 00:14:37 UTC 2016


https://bugs.kde.org/show_bug.cgi?id=360129

allan <agander93 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|CSV Importer doesn't        |CSV Importer doesn't
                   |recognize sell operation    |recognize sell operation in
                   |                            |Polish

--- Comment #13 from allan <agander93 at gmail.com> ---
(In reply to NSLW from comment #11)
> (In reply to allan from comment #10)
> > (In reply to NSLW from comment #8)
> > > Created attachment 97709 [details]
> > > csvimporterrc snippet
> > > 
> > > I looked in csvimporterrc and found that
> > > 1) BuyParam=kup
> > > 
> > > "kup" is an verb, while "kupno" is noun. Maybe KMyMoney detects "kupno" by
> > > regular expression.  
> > 
> > It's just "type.contains(*it, Qt::CaseInsensitive", so fairly loose to
> > improve matching chance.  Do you see any problem with that?
> 
> It works with my Buy operations, but I would like it to work also with my
> Sell operations out of the box. 

I'm afraid that may be a tall order.  It will only work out of the box if the
file being imported actually uses the exact same translation as that of the
translator of the KMyMoney file.  Unfortunately, what tends to be found is that
different financial institutions use different terms to describe their
transaction type, in fact sometimes changing within the same file.

This is the reason I allowed for alternative terms to be added to the parameter
list in the resource file.  If the file being imported contains an unrecognised
type, the user will be informed and given the chance to substitute with the
standard KMyMoney transaction type.  If this should happen more than the odd
time, the user may add that unrecognised type to the appropriate list in the
resource file.

What I'm not sure about just now is whether, once the user has chosen to make a
substitution, that new term is added to the resource file automatically.  It's
a few ears since I wrote that code.

> I think that "type.contains(*it, Qt::CaseInsensitive)" is harmless here.
> 

> > > 2) SellParam=
> > > 
> > > after setting this parameter to "Sprzedaż" my sell operations are recognized
> > > correctly, but why isn't that preset just like BuyParam? Maybe SellParam
> > > isn't preset because of last letter in "Sprzedaż", which is diacritic letter.

I know no Polish financial terms.  If the Buy list contains a correct Polish
term, then that I presume was added by the translator.  A possible explanation
is that at line 161 (in my version) of investprocessing.cpp the following
appears - "m_buyList += i18nc("verb", "buy");  //                       some
basic entries in case rc file missing".  It may be that that was when the
translation for Buy was added.  However, the next line is similar for the Sell
operation, and that was not translated apparently.

I would suggest that you include both noun and verb versions for Sell in your
resource file.

> > 
> > I would have to throw that one back to you, as I didn't edit that file. 
> > Might you not have been the translator then?
> 
> "Sprzedaż" is meant too look like this so no need to edit it. What I meant
> by above is: Could there be an sort of encoding problem in KMyMoney with
> that Polish letter, which in the end prevents positive recognition?
> 
> > > As another suggestion, i think it is good to expand context from "verb" to "Action/Type as 
> > > recognized by CSV Importer"
> > 
> > Perhaps that would make sense as you are a user as well as a translator?  
> > I'm not sure that a non-investment-wise translator might understand?
> 
> As it is now was also misleading to me, to today although I'm an fresh
> KMyMoney user :) and translator, so maybe another suggestion will sound
> better to an layman:
> "Type of operation as in financial statement"
> 
That does sound more understandable, although it would have to be added to
every transaction type.

> > So, apart from the fee query, are you now in business?
> 
> After manually editing csvimporterrc file, fee is imported just right for
> all operations. What do you mean by me being in business?

Apologies for that.  I'm extremely impressed by the general level of knowledge
of English shown by the users, and developers, and I forget myself sometimes
and lapse into the vernacular.  "being in business" is used to indicate that a
problem has been solved and normal service may be resumed.  I hope it didn't
cause offence.

So far as your suggested patch is concerned, I'm not sure of its purpose.  The
Subject is "[PATCH] Read operation's type explicitly as QStringList", and in it
you add a number of QStringList definitions, which are already included in
investprocessing.h, c. line 164.

Oh, and just as a post script, I've added "in Polish" to the bug heading, as
the import operation is otherwise as expected.

Allan

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list