Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Internationalising sentences with two plural words

Using gettext how should a sentence with multiple numeric variables be made translatable? ngettext only takes one number as the plural parameter.

The permutations that should be allowed in the below sentence are "adult and child", "adults and child", "adult and children" and "adults and children".

"from #AVAILABILITYFROM to #AVAILABILITYTO for #NUMADULTS adult and #NUMCHILDREN child"

like image 232
dsas Avatar asked Dec 11 '09 14:12

dsas


1 Answers

Grammar can be very complex in some other languages than English and you should be aware that is practical impossible to generate correct complex sentences using your approach.

Remember that multiple variables and genre (male/female) also adds lots of complexity.

The solution is to generate only simple sentences where you have only one variable. This is the case that is supported by ngettext.

Understand that ngettext is something great and that is something that most commercial i18n frameworks from bug software companies don't even support. Even so it has his limitations, so shortly the solution for your question is do split your complex sentence in several simple ones that can be translated using only one variable.

like image 198
sorin Avatar answered Oct 07 '22 17:10

sorin