e107inc / e107

e107 Bootstrap CMS (Content Management System) v2 with PHP, MySQL, HTML5, jQuery and Twitter Bootstrap. Issue Discussion Room: https://gitter.im/e107inc/e107
https://e107.org
GNU General Public License v3.0
322 stars 214 forks source link

more forms of plural #816

Open Jimmi08 opened 10 years ago

Jimmi08 commented 10 years ago

I found this problem in 1.0.4 version, but in V2 it will be done similar way.

English has 2 plural forms (member/members, comment/comments). But my language (and a lot of other ones has 3 plural forms), so I need to have 3 language strings for numbers of something.

Example: number of members: $NewItems[] = $new_users.' '.($new_users == 1 ? LOGIN_MENU_L22 : LOGIN_MENU_L23);

I have: 1 člen LOGIN_MENU_L22 (member/člen) 2 členovia, 3 členovia, 4 členovia - LOGIN_MENU_L23 (members/členov) 5 členov...

I can add new string, but I don't know how to write php part for this. Maybe this would be more clear: "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"

Thank you

Moc commented 8 years ago

@Jimmi08 I am just reading this again and I'm curious, do you know of a page somewhere which explains the multiple forms of grammar in your language for example? I have not come across this yet since the languages that I know are more western European, which deal with one form of plural only as far as I know.

I am trying to get a better understanding in order to provide a way for e107 to deal with this :)

EDIT; I found this interesting discussion which shows how tricky it is to implement this correctly: https://core.trac.wordpress.org/ticket/13651

EDIT2: So basically, if I understand correctly, you have different forms of plural depending on the amount of 'things' we are talking about. Is this amount always fixed? E.g.:

Jimmi08 commented 8 years ago

Try look at this: https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals

e107 doesn't have too much place where this is problem. Just where numbers are displayed. I don't know if it is possible to change way how they are displayes from there are: 'number' labels to there are: one label: number ( example: there are 1 user/ 10 users to there are: Users: 0 (or 10) )

Moc commented 8 years ago

Wow, thank you for that page. It shows the complexity of this issue, seeing the different rules. New world for me haha.

Thinking about your comment... What would be examples currently in the core which would require changing?

EDIT: just adding some more references and ideas which could be useful: