Open Jimmi08 opened 10 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.:
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) )
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:
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