Aug 24 2008

Linguistics - pomoc przy zabawach z językiem i wyrazami w Ruby

Category: Rubyadmin @ 1:36 pm

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.

Leave a Reply