Aug 24 2008
Linguistics - pomoc przy zabawach z językiem i wyrazami w Ruby
Ostatnio pracując nad wersją anglojęzyczną faktury w programie do fakturowania on-line, szukałem biblioteki do przekształcania liczb na ich słowne odpowiedniki. Byłem przekonany, że coś takiego istnieje, gdyż w Active Record w Ruby On Rails zna liczbę mnogą rzeczowników, gdyż szuka tabeli w bazie danych będącej liczbą mnogą od nazwy modelu.
Do podobnych zastosowań mogę polecić Ruby Linguistics. Bibliotekę łatwo można zainstalować z gemów. Widząc kilka przykładów użycia nie trzeba się nawet wiele zagłębiać w dokumentacje projektu.
require ‘linguistics’
Linguistics::use( :en ) # extends Array, String, and Numeric“book”.en.plural # => “boxes”
“mouse”.en.plural # => “mice”
“ruby”.en.plural # => “rubies”
Oprócz liczb mnogich rzeczowników biblioteka “zna” równiez przedimki:
“book”.en.a
# => “a book”“article”.en.a
# => “an article”
liczebniki porządkowe
5.en.ordinal # => “5th”
2004.en.ordinal # => “2004th”
oraz potrafi zamieniać liczby na ich odpowiednik słowny:
5.en.numwords
# => “five”2004.en.numwords
# => “two thousand and four”2385762345876.en.numwords
# => “two trillion, three hundred and eighty-five billion, seven
# hundred and sixty-two million, three hundred and forty-five thousand,
# eight hundred and seventy-six”
Jedyną wadą jaką dotychczas znalazłem jest mała liczba języków dostępnych, a właściwie jest tylko angielski.
Więcej przykładów dostępnych jest poprzez wiki projektu.

