simcha / polish_number

Translates numbers to Polish words

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Polish Number Code Climate Build Status Test Coverage

Translates numbers to Polish words.

Installation

Add this line to your application's Gemfile:

gem 'polish_number'

Note: in the past known as polish-number (dash instead of an underscore) -- before version 1.0.0. Old repo: https://github.com/wpiekutowski/polish-number

And then execute:

$ bundle

Or install it yourself as:

$ gem install polish_number

Usage

require 'polish_number'

PolishNumber.translate(1234) #=> tysiąc dwieście trzydzieści cztery
PolishNumber.translate(34, :currency => :PLN) #=> trzydzieści cztery złote
PolishNumber.translate(12, :currency => :PLN) #=> dwanaście złotych

Cents format

PolishNumber.translate(34.11) #=> trzydzieści cztery i jedenaście setnych
PolishNumber.translate(30.01, :currency => :PLN) #=> trzydzieści złote i jeden grosz
PolishNumber.translate(0.10, :currency => :PLN) #=> dziesięć groszy
PolishNumber.translate(5.10, :currency => :PLN, :cents => :no ) #=> pięć złotych
PolishNumber.translate(5, :currency => :PLN, :cents => :words ) #=> pięć złotych zero groszy
PolishNumber.translate(5, :currency => :PLN, :cents => :digits ) #=> pięć złotych 00/100

Adding new currencies

PolishNumber.add_currency(:COWS, { :one => 'krowa', :few => 'krowy',
  :many => 'krów', :gender => :she,
  :one_100 => 'ser', :few_100 => 'sery',
  :many_100 => 'serów', :gender_100 => :hi})

PolishNumber.translate(35.05, :currency => :COWS) #=> trzydzieści pięć krów i pięć serów

Ordinal numbers

The gem translate ordinal numbers in 0..99 range for all cases (nominative, genitive, dative, accusative, instrumental, locative, vocative) and all gender (masculine, feminine, neuter, masculine_personal, non_masculine) For masculine_personal gender and nominative/vocative case number should be in 0..4 range

PolishNumber.translate_ordinal(34, :grammatical_case => :nominative, :gender => :masculine) #=> trzydziesty czwarty
PolishNumber.translate_ordinal(18, :grammatical_case => :dative, :gender => :feminine) #=> osiemnastej
PolishNumber.translate_ordinal(20, :grammatical_case => :instrumental, :gender => :neuter) #=> dwudziestym
PolishNumber.translate_ordinal(2, :grammatical_case => :nominative, :gender => :masculine_personal) #=> drudzy

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Analytics

About

Translates numbers to Polish words

License:MIT License


Languages

Language:Ruby 100.0%