Localizarea și pluralizare în PHP

Ce este de localizare știm deja. Ce face pluralitatea termenul?

pluralizare

Pluralizare (pluralizare) - dând smth. natura multiplicitate, diversității, bazată pe principiile pluralismului.

Singulariza - formând o formă singulară.

Asta e) Dar, dacă pur și simplu, acest lucru înseamnă a defini termenul corect pentru sfârșitul de cuvinte, în funcție de dimensiunea, adică, 1 MP 11 deputați. 24 deputați.

Există o resursă bună, care conține regulile pluralismului în toate limbile - Sediu Guide (sau aici). Tabelul următor arată:

  • limba și denumirea sa ISO;
  • nplurals - este numărul de forme care pot lua substantivul;
  • plural - acest algoritm regulă prin care putem selecta forma dorită a cuvântului la numărul specificat;

Pentru cel rusesc (ru) avem 3 forme posibile (nplurals = 3;) și regula următoare:

plural determină poziția dorită într-un pre-pregătit cuvintele noastre și matrice este. De exemplu:

Pe această bază, este important să se înțeleagă că mesajele-cheie în fișierele de localizare pot conține numere diferite de pluralform pentru limbi diferite. Pentru En - 2 forme, ca de Ru - 3.

Symfony 2 și 4 Laravel

In Symfony 2 pentru izolarea și pluralizare utilizate componente de traducere. Aici este un exemplu descriere a formei de plural pentru cuvântul Apple în dicționare En și Ru:

Atenție! Nu se poate descrie toate forma de plural pentru limba română, prin intervalele explicite!

Descriind forma de plural în dicționar, regulile standard de determinare a formularelor sunt utilizate în mod implicit. Dar, dacă ați descrie o serie de intervale de timp - o formă de cuvinte se va baza numai pe regulile tale!

Sintaxa pentru definirea intervalelor explicite (Explicit Interval pluralizare) în componenta de traducere nu permite în mod succint descrie toate formele de substantiv declinare pentru limba română (și altele). Deci, utilizați intervalele explicite sunt numai pentru En. Deși aveți nevoie de ea, rar, cum ar fi:

Notă pentru Laravel 4

Laravel 4 utilizează aceeași componentă de traducere. Cu toate acestea, Symfony 2 pentru variabile de substituție sunt stabilite în formatul:% count% mere. și în Laravel 4 prin două puncte: număr de mere.

Din păcate, această componentă nu rezolvă problema de declinare a cuvântului înainte numeralul:

Punerea în aplicare în PHP

implementare EXEMPLU crenguță -Filter plural (). Acesta poate fi, de asemenea, utilizat ca un nativ PHP f-TION:

alte biblioteci

#pluralization, #localization, #translate, #singularize