class PluralRules

PluralRules

Die verschiedenen Sprachen haben unterschiedliche Formen der Pluralbildung. Das Englische kennt zwei, das polnische kennt vier Pluralformen. Diese Klasse bildet die Pluralregeln ab. Die angegebenen Schlüsselwörter sind nur Platzhalter, denen eine Kategorie zugewisen wird.

// Polnische Regeln. $locale = \Alvine\I18n\Locale::getInstance('pl'); $rule = \Alvine\I18n\Util\PluralRules::getInstance($locale); $rule->getKeyword(1); // ist ONE; $rule->getKeyword(2); // ist FEW;

Beispiel für das Wort Auto in polnisch 0 aut 1 auto 2-4 auta 5-19 aut 20-21 aut 22-24 auta 25-29 aut x0-x1 aut x2-x4 auta x5-x9 aut

Constants

ZERO

Null, oder kein.

ONE

ein oder singular

TWO

zwei / dual

FEW

Einige

MANY

Viele

OTHER

Alle restlichen Formen

Properties

protected Constraint $constraint Regelwerk für die Ermittlung des Schlüsselwortes.
static protected array $instanceMap Alle Instanzen des Regelwerks nach Localen gemapped.
static protected array $rulemap Liste mit ISO-Codes der Sprachen und eine Referenz auf die für die Locale definierte Mehrzahlregel.
static protected array $rules Definition der einzelnen Regeln zur Mehrzahlbildung.

Methods

__construct(Locale $locale = null)

Neues Objekt

static PluralRules
getInstance(Locale $locale = null)

getInstance

static 
parse(type $rule)

Zerlegen einer Plural-Regel

static array
getRule(type $iso)

Diese Funktion ermittelt die für diese Locale gültige Regel und gibt diese zurück. Wird keine Regel gefunden, so wird ein leeres Array zurückgegeben.

string
getKeyword(integer $n)

Diese Funktion gibt das Schlüsselwort für die Mehrzahlbildung zurück.

Details

at line 464
protected __construct(Locale $locale = null)

Neues Objekt

Neues Objekt für Locale anlegen und das Regelwerk initialisieren.

Parameters

Locale $locale Locale

at line 486
static PluralRules getInstance(Locale $locale = null)

getInstance

Die Plural-Regeln sollen pro Locale nur einmal erstellt werden. Aus diesem Grund ist der Konstruktor protected und kann nur über diese Methode indirekt aufgerufen werden.

Parameters

Locale $locale Locale

Return Value

PluralRules Bestehendes oder neues Objekt.

at line 533
static parse(type $rule)

Zerlegen einer Plural-Regel

condition : or_condition and_condition or_condition : and_condition 'or' condition and_condition : relation relation 'and' relation relation : is_relation in_relation within_relation 'n' EOL is_relation : expr 'is' value expr 'is' 'not' value in_relation : expr 'in' range expr 'not' 'in' range within_relation : expr 'within' range expr 'not' 'within' range expr : 'n' 'n' 'mod' value value : digit+ digit : 0|1|2|3|4|5|6|7|8|9 range : value'..'value

Parameters

type $rule

Exceptions

ParseException

at line 628
static protected array getRule(type $iso)

Diese Funktion ermittelt die für diese Locale gültige Regel und gibt diese zurück. Wird keine Regel gefunden, so wird ein leeres Array zurückgegeben.

Parameters

type $iso Iso-Code der Locale (z.B. de)

Return Value

array Liste mit den Regeln

at line 644
string getKeyword(integer $n)

Diese Funktion gibt das Schlüsselwort für die Mehrzahlbildung zurück.

Parameters

integer $n Zahl

Return Value

string Schlüsselwort ZERO,ONE,TWO,FEW,MANY,OTHER