Forum: Italian Ruby user group [RAILS] Nomi tabelle e models in italiano

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cbe503ad4dc0a47353b8dd04ea77a9fb?d=identicon&s=25 Stefano Guglielmetti (Guest)
on 2007-06-03 12:03
(Received via mailing list)
Se volete usare nomi delle tabelle in italiano, potete usare l'apposito
inflector in enviroinment.rb

Con una cosa del genere gestite il 99% dei casi

Inflector.inflections do |inflect|
  inflect.plural /^([\w]*)a/i, '\1e'
  inflect.singular /^([\w]*)e/i, '\1a'
  inflect.plural /^([\w]*)o/i, '\1i'
  inflect.singular /^([\w]*)i/i, '\1o'
End

Per verificarlo:

p Inflector.pluralize('casa') #--> casa
p Inflector.singularize('zone') #--> zona
p Inflector.pluralize('deputato') #--> deputati
p Inflector.singularize('documenti') #--> documento


Cosi vi salta tutto l'inglese quindi dovete andare avanti tutto in
italiano

Se volete mappare a mano solo le poche parole che dovete lasciare in
italiano, potete fare

Inflector.inflections do |inflect|
  inflect.irregular 'deputato', 'deputati'
  inflect.irregular 'documento', 'documenti'
end


jeko
C4e834d2a30e0e87e43ec1b7bf49b859?d=identicon&s=25 Marco Cosentino (technics)
on 2011-03-25 09:18
Stefano Guglielmetti wrote in post #254301:
> Se volete usare nomi delle tabelle in italiano, potete usare l'apposito
> inflector in enviroinment.rb
>
> Con una cosa del genere gestite il 99% dei casi
>
> Inflector.inflections do |inflect|
>   inflect.plural /^([\w]*)a/i, '\1e'
>   inflect.singular /^([\w]*)e/i, '\1a'
>   inflect.plural /^([\w]*)o/i, '\1i'
>   inflect.singular /^([\w]*)i/i, '\1o'
> End

Queste regole danno problemi perchè si sovrappongono alle regole per
l'inglese creando strani errori dove meno ve lo aspettereste.

Meglio procedere con regole meno invasive e gestire più cose tramite
"irregular".

Un esempio:

  # azione, condizione, deviazione, proiezione
  inflect.plural /([\w]*)zione$/i, '\1zioni'
  inflect.singular /([\w]*)zioni$/i, '\1zione'

  # ente, dipendente, serpente
  inflect.plural /([\w]*)nte$/i, '\1nti'
  inflect.singular /([\w]*)nti$/i, '\1nte'

  # Irregolarità
  inflect.irregular 'errore', 'errori'
This topic is locked and can not be replied to.