[jboss-user] [JBoss Seam] - Plurals

jarkko@jab.fi do-not-reply at jboss.com
Sun Dec 3 20:50:06 EST 2006


Hello hello,
 Seam has nice way of handling i18n by the usage of #{messages.key}, with nice support for param passing to messages (eg. #{stuff.name} in the value ). 

Now i'm trying to implement something that would allow us to construct grammatically correct messages regarding plurals. I just started to study this so the first question is: does Seam already has something that could be used to archieve this? 

Fast googling revealed not too many resources about the issue.
1. http://java.sun.com/docs/books/tutorial/i18n/format/choiceFormat.html

I came up with couple bad ideas how to tackle this.

1. Use Server side JavaScript/something with logic constructs inside the properties files. Like
found_num_targets=switch #{foundTargets.rowCount}: {
  | case 0:  return "No targets found"; // nothing
  | case 1:  return "Found 1 target"; // one 
  | default:  return "Found #{foundTargets.rowCount} targets"; // multiple
  | }
  | 
pros: Allows you to do almost anything
cons: well... it's just stupid ( and likely hard to get it right)

2. Use "smart" concatenation with the key plus some added logic somewhere. 

  | <b>#{messages.found_num_targets_#{foundTargets.rowCount}}</b>
  | 
and then in properties file we have:

  | found_num_targets_0=No targets found
  | found_num_targets_1=Found 1 target
  | found_num_targets_2=Found #{foundTargets.rowCount} targets
  | 
etc,-10,-1,0 maps to 0; 1 maps to 1; 2,3,4,etc maps to 2
pros: seems clean enough 
cons: requires multiple keys in property file, maybe hard on the parsing (with #{} in the  key part}. Could #{messages.['found_num_targets_#{foundTargets.rowCount}']} work? If so, it's starting to look pretty ugly..

Anyone dealt the "plural" issue any other ways?



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3990842#3990842

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3990842



More information about the jboss-user mailing list