GenoPro Home
GenoPro Home  |  Get Started With My Genealogy Tree  |  Buy  |  Login  |  Privacy  |  Search  |  Site Map
 
Plural rules


https://support.genopro.com/Topic28616.aspx
Print Topic | Close Window

By Akerbeltz - Tuesday, June 28, 2011
Hi guys,

Been a while and I just noticed to my shock my language had dropped below 50%. One thing I noticed is that there seem to be a lot more phrase generation strings such as {0} objects selected.

That works for English where you have one form of a noun for 1 and another form for anything more than one, including 0. But a lot of languages are more complex than that (apologies if I'm asking something that's already been sorted but I searched for plural rules and couldn't find any).

Compare the ruleset Mozilla (the folk who do Firefox) have: https://developer.mozilla.org/en/Localization_and_Plurals

Is there anything comparable on GenoPro (yet)? I just want to ask before I re-start translation.

Cheers
By Akerbeltz - Tuesday, July 12, 2011
Please don't all answer at the same time! Wink
By jcmorin - Tuesday, July 12, 2011
The translation use the same technology as the Phrase generator use by Ron and others to create nice report.

If you have special plural rules (0,1,2, 2+ elements). You can do it with conditional.



Take your time and read this document: 
http://www.genopro.com/sdk/Report-Generator/Phrase/

There is PLENTY of example in it, if you have more questions you are welcome.
By Akerbeltz - Saturday, February 18, 2012
Ok, this is a bit over my head I'm afraid. Let's say we have this string:

The family tree has {0} individuals and is too big for the AutoArrange!


Gaelic requires different handling of nouns following this pattern:

1, 11 require form I (duine)
2, 12 require form II (dhuine)
3-10, 13-19 require form III (daoine)
0, 20+ require form IV (duine)

So how do I have to code that?
By GenoProSupport - Monday, February 20, 2012
Ideally, this has to be implemented inside GenoPro, unless you want to write your own function.  Looking at https://developer.mozilla.org/en/Localization_and_Plurals, it would not be too hard to implement.
By Akerbeltz - Thursday, July 12, 2012
So how can I request that sort of thing is coded into GenoPro?

Addendum: Since response to this issue seems to be slow, would this workaround be ok? I found

[{?0=1} one more day][{!}{0} more days]


in the files. Which I re-modelled as

[{?0=1|11}{0} taigh][{?0=2|12}{0} thaigh][{?0=3|4|5|6|7|8|9|10|13|14|15|16|17|18|19|20}{0}taighean][{!}{0} taigh]


I'm not great shakes at code so feedback would be much appreciated.
By Akerbeltz - Wednesday, August 1, 2012
Ok, thanks jcmorin ... I'm a tiny little bit closer now Crazy

I have entered this:
http://www.akerbeltz.org/Pics/GenoPro/plurals01.jpg

But in live, that gives me strange stuff if I select objects:
http://www.akerbeltz.org/Pics/GenoPro/plurals02.jpg

Since I can't add *all* number manually, I tried to do an "or else" function but that creates real havoc:
http://www.akerbeltz.org/Pics/GenoPro/plurals03.jpg

And I also does not like me using OR:
http://www.akerbeltz.org/Pics/GenoPro/plurals04.jpg
What am I doing wrong?
By genome - Tuesday, September 18, 2012
Having read your latest post, I had an attempt at this using the Phrase Editor.  The Else {!} applies to the immediately preceding conditional, so theretically to get the result you want you need to nest the clauses and should be able to use

Tha [{?0=1}{0} taigh][{!}[{?0=2}{0} thaigh][{!}[{?0=3}{0} taighean][{!}{0} taighaen]]]

But whilst this appears to work in the GenoPro Phrase Editor, when actually applied in a localization then the phrase template is not converted correctly as you have already discovered.

http://support.genopro.com/Uploads/Images/4b0f85fe-c331-4298-a2df-d3db.png

This seems therefore to be a real bug in GenoPro and perhaps is more easily fixed than the 'limitation' your refer too.

Perhaps Dan or JC could comment on this.


By Akerbeltz - Friday, September 28, 2012
Just found another related bug.I was working on this:

The registration key '{0}' is not valid[ because it had expired [{?1=1}yesterday][{!}{1} days ago]].


and since Gaelic does not allow "days ago" until you get past 2, I tried

[{?1=1}an-dè][{?1=2}a-bhòin-dè][{!}{1} làithean air ais]


I get the right forms (ignoring the bad plurals) but for yesterday I now get this weird one:

an-dè1 làithean air ais
By genome - Saturday, September 29, 2012
As before you need to nest the 'else' phrases
[{?1=1}an-dè][{!}[{?1=2}a-bhòin-dè][{!}{1} làithean air ais]]
By Akerbeltz - Saturday, September 29, 2012
Thanks. It seems to produce the right outcome in the editor but I'm not sure if it produces the right outcome in the UI, given the above problem.
By Akerbeltz - Sunday, February 3, 2013
There still doesn't seem to be a solution that actually works in the live system. Given it affects a large number of languages, shouldn't this become an in-program feature in such a way that it can handle various plurals? A lot of programs have them, Mozilla does, Wikis do, LibreOffice and OpenOffice also handle it - it's quite common and not that hard I'm given to understand (for a programmer that is).
By Akerbeltz - Wednesday, September 17, 2014
Any news? I take it there are still developers around?