//
// ERXItalianLocalizer.java
// ERExtensions
//
// Created by Giorgio Valoti on 25/11/04.
// Copyright (c) 2004. All rights reserved.
//
package er.extensions.localization;
/**
* <div class="en">
* ERXItalianLocalizer is a subclass of {@link ERXLocalizer}.
* <p>
* Overrides <code>plurify</code> from its super class
* and tries to pluralize the string according to italian grammar rules.
* </div>
*
* <div class="ja">
* ERXItalianLocalizer は ERXLocalizer のサブクラスです。
* <p>
* スーパー・クラスの <code>plurify</code> をオーバライドし、複数の文法ルールを試します。
* </div>
*/
public class ERXItalianLocalizer extends ERXLocalizer {
public ERXItalianLocalizer(String aLanguage) {
super(aLanguage);
}
/**
* <div class="ja">
* 複数形の文字列を戻します (スーパークラス参照)
*
* @param name - 翻訳対象キー
* @param count - 数
*
* @return ローカライズ済み文字列
* </div>
*/
@Override
protected String plurify(String name, int count) {
String result = name;
if(name != null && count > 1) {
if(result.matches("^.+cie$"))
return result;
if(result.matches("^.+[^aeiou][gc]o$")) {
result = result.substring(0, result.length()-1)+"hi";
}
result = result.substring(0, result.length()-1)+"i";
if(result.endsWith("ii")) {
result = result.substring(0, result.length()-1);
}
}
return result;
}
}