humanize 1.8.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ module Humanize
2
+ class Tr
3
+ POINT = "virgül".freeze
4
+ INFINITY = 'sonsuz'.freeze
5
+ UNDEFINED = 'tanımsız'.freeze
6
+ NEGATIVE = 'eksi'.freeze
7
+ LOTS = [nil, 'bin', 'milyon', 'milyar', 'trilyon', 'katrilyon', 'kentilyon', 'seksilyon', 'septilyon', 'oktilyon', 'nonilyon', 'desilyon', 'undesilyon', 'dodesilyon', 'tredesilyon', 'katordesilyon', 'kendesilyon', 'seksdesilyon', 'septendesilyon', 'oktodesilyon', 'novemdesilyon', 'vigintilyon'].freeze
8
+ SUB_ONE_GROUPING = ['sıfır', 'bir', 'iki', 'üç', 'dört', 'beş', 'altı', 'yedi', 'sekiz', 'dokuz', 'on', 'on bir', 'on iki', 'on üç', 'on dört', 'on beş', 'on altı', 'on yedi', 'on sekiz', 'on dokuz', 'yirmi', 'yirmi bir', 'yirmi iki', 'yirmi üç', 'yirmi dört', 'yirmi beş', 'yirmi altı', 'yirmi yedi', 'yirmi sekiz', 'yirmi dokuz', 'otuz', 'otuz bir', 'otuz iki', 'otuz üç', 'otuz dört', 'otuz beş', 'otuz altı', 'otuz yedi', 'otuz sekiz', 'otuz dokuz', 'kırk', 'kırk bir', 'kırk iki', 'kırk üç', 'kırk dört', 'kırk beş', 'kırk altı', 'kırk yedi', 'kırk sekiz', 'kırk dokuz', 'elli', 'elli bir', 'elli iki', 'elli üç', 'elli dört', 'elli beş', 'elli altı', 'elli yedi', 'elli sekiz', 'elli dokuz', 'altmış', 'altmış bir', 'altmış iki', 'altmış üç', 'altmış dört', 'altmış beş', 'altmış altı', 'altmış yedi', 'altmış sekiz', 'altmış dokuz', 'yetmiş', 'yetmiş bir', 'yetmiş iki', 'yetmiş üç', 'yetmiş dört', 'yetmiş beş', 'yetmiş altı', 'yetmiş yedi', 'yetmiş sekiz', 'yetmiş dokuz', 'seksen', 'seksen bir', 'seksen iki', 'seksen üç', 'seksen dört', 'seksen beş', 'seksen altı', 'seksen yedi', 'seksen sekiz', 'seksen dokuz', 'doksan', 'doksan bir', 'doksan iki', 'doksan üç', 'doksan dört', 'doksan beş', 'doksan altı', 'doksan yedi', 'doksan sekiz', 'doksan dokuz', 'yüz', 'yüz bir', 'yüz iki', 'yüz üç', 'yüz dört', 'yüz beş', 'yüz altı', 'yüz yedi', 'yüz sekiz', 'yüz dokuz', 'yüz on', 'yüz on bir', 'yüz on iki', 'yüz on üç', 'yüz on dört', 'yüz on beş', 'yüz on altı', 'yüz on yedi', 'yüz on sekiz', 'yüz on dokuz', 'yüz yirmi', 'yüz yirmi bir', 'yüz yirmi iki', 'yüz yirmi üç', 'yüz yirmi dört', 'yüz yirmi beş', 'yüz yirmi altı', 'yüz yirmi yedi', 'yüz yirmi sekiz', 'yüz yirmi dokuz', 'yüz otuz', 'yüz otuz bir', 'yüz otuz iki', 'yüz otuz üç', 'yüz otuz dört', 'yüz otuz beş', 'yüz otuz altı', 'yüz otuz yedi', 'yüz otuz sekiz', 'yüz otuz dokuz', 'yüz kırk', 'yüz kırk bir', 'yüz kırk iki', 'yüz kırk üç', 'yüz kırk dört', 'yüz kırk beş', 'yüz kırk altı', 'yüz kırk yedi', 'yüz kırk sekiz', 'yüz kırk dokuz', 'yüz elli', 'yüz elli bir', 'yüz elli iki', 'yüz elli üç', 'yüz elli dört', 'yüz elli beş', 'yüz elli altı', 'yüz elli yedi', 'yüz elli sekiz', 'yüz elli dokuz', 'yüz altmış', 'yüz altmış bir', 'yüz altmış iki', 'yüz altmış üç', 'yüz altmış dört', 'yüz altmış beş', 'yüz altmış altı', 'yüz altmış yedi', 'yüz altmış sekiz', 'yüz altmış dokuz', 'yüz yetmiş', 'yüz yetmiş bir', 'yüz yetmiş iki', 'yüz yetmiş üç', 'yüz yetmiş dört', 'yüz yetmiş beş', 'yüz yetmiş altı', 'yüz yetmiş yedi', 'yüz yetmiş sekiz', 'yüz yetmiş dokuz', 'yüz seksen', 'yüz seksen bir', 'yüz seksen iki', 'yüz seksen üç', 'yüz seksen dört', 'yüz seksen beş', 'yüz seksen altı', 'yüz seksen yedi', 'yüz seksen sekiz', 'yüz seksen dokuz', 'yüz doksan', 'yüz doksan bir', 'yüz doksan iki', 'yüz doksan üç', 'yüz doksan dört', 'yüz doksan beş', 'yüz doksan altı', 'yüz doksan yedi', 'yüz doksan sekiz', 'yüz doksan dokuz', 'iki yüz', 'iki yüz bir', 'iki yüz iki', 'iki yüz üç', 'iki yüz dört', 'iki yüz beş', 'iki yüz altı', 'iki yüz yedi', 'iki yüz sekiz', 'iki yüz dokuz', 'iki yüz on', 'iki yüz on bir', 'iki yüz on iki', 'iki yüz on üç', 'iki yüz on dört', 'iki yüz on beş', 'iki yüz on altı', 'iki yüz on yedi', 'iki yüz on sekiz', 'iki yüz on dokuz', 'iki yüz yirmi', 'iki yüz yirmi bir', 'iki yüz yirmi iki', 'iki yüz yirmi üç', 'iki yüz yirmi dört', 'iki yüz yirmi beş', 'iki yüz yirmi altı', 'iki yüz yirmi yedi', 'iki yüz yirmi sekiz', 'iki yüz yirmi dokuz', 'iki yüz otuz', 'iki yüz otuz bir', 'iki yüz otuz iki', 'iki yüz otuz üç', 'iki yüz otuz dört', 'iki yüz otuz beş', 'iki yüz otuz altı', 'iki yüz otuz yedi', 'iki yüz otuz sekiz', 'iki yüz otuz dokuz', 'iki yüz kırk', 'iki yüz kırk bir', 'iki yüz kırk iki', 'iki yüz kırk üç', 'iki yüz kırk dört', 'iki yüz kırk beş', 'iki yüz kırk altı', 'iki yüz kırk yedi', 'iki yüz kırk sekiz', 'iki yüz kırk dokuz', 'iki yüz elli', 'iki yüz elli bir', 'iki yüz elli iki', 'iki yüz elli üç', 'iki yüz elli dört', 'iki yüz elli beş', 'iki yüz elli altı', 'iki yüz elli yedi', 'iki yüz elli sekiz', 'iki yüz elli dokuz', 'iki yüz altmış', 'iki yüz altmış bir', 'iki yüz altmış iki', 'iki yüz altmış üç', 'iki yüz altmış dört', 'iki yüz altmış beş', 'iki yüz altmış altı', 'iki yüz altmış yedi', 'iki yüz altmış sekiz', 'iki yüz altmış dokuz', 'iki yüz yetmiş', 'iki yüz yetmiş bir', 'iki yüz yetmiş iki', 'iki yüz yetmiş üç', 'iki yüz yetmiş dört', 'iki yüz yetmiş beş', 'iki yüz yetmiş altı', 'iki yüz yetmiş yedi', 'iki yüz yetmiş sekiz', 'iki yüz yetmiş dokuz', 'iki yüz seksen', 'iki yüz seksen bir', 'iki yüz seksen iki', 'iki yüz seksen üç', 'iki yüz seksen dört', 'iki yüz seksen beş', 'iki yüz seksen altı', 'iki yüz seksen yedi', 'iki yüz seksen sekiz', 'iki yüz seksen dokuz', 'iki yüz doksan', 'iki yüz doksan bir', 'iki yüz doksan iki', 'iki yüz doksan üç', 'iki yüz doksan dört', 'iki yüz doksan beş', 'iki yüz doksan altı', 'iki yüz doksan yedi', 'iki yüz doksan sekiz', 'iki yüz doksan dokuz', 'üç yüz', 'üç yüz bir', 'üç yüz iki', 'üç yüz üç', 'üç yüz dört', 'üç yüz beş', 'üç yüz altı', 'üç yüz yedi', 'üç yüz sekiz', 'üç yüz dokuz', 'üç yüz on', 'üç yüz on bir', 'üç yüz on iki', 'üç yüz on üç', 'üç yüz on dört', 'üç yüz on beş', 'üç yüz on altı', 'üç yüz on yedi', 'üç yüz on sekiz', 'üç yüz on dokuz', 'üç yüz yirmi', 'üç yüz yirmi bir', 'üç yüz yirmi iki', 'üç yüz yirmi üç', 'üç yüz yirmi dört', 'üç yüz yirmi beş', 'üç yüz yirmi altı', 'üç yüz yirmi yedi', 'üç yüz yirmi sekiz', 'üç yüz yirmi dokuz', 'üç yüz otuz', 'üç yüz otuz bir', 'üç yüz otuz iki', 'üç yüz otuz üç', 'üç yüz otuz dört', 'üç yüz otuz beş', 'üç yüz otuz altı', 'üç yüz otuz yedi', 'üç yüz otuz sekiz', 'üç yüz otuz dokuz', 'üç yüz kırk', 'üç yüz kırk bir', 'üç yüz kırk iki', 'üç yüz kırk üç', 'üç yüz kırk dört', 'üç yüz kırk beş', 'üç yüz kırk altı', 'üç yüz kırk yedi', 'üç yüz kırk sekiz', 'üç yüz kırk dokuz', 'üç yüz elli', 'üç yüz elli bir', 'üç yüz elli iki', 'üç yüz elli üç', 'üç yüz elli dört', 'üç yüz elli beş', 'üç yüz elli altı', 'üç yüz elli yedi', 'üç yüz elli sekiz', 'üç yüz elli dokuz', 'üç yüz altmış', 'üç yüz altmış bir', 'üç yüz altmış iki', 'üç yüz altmış üç', 'üç yüz altmış dört', 'üç yüz altmış beş', 'üç yüz altmış altı', 'üç yüz altmış yedi', 'üç yüz altmış sekiz', 'üç yüz altmış dokuz', 'üç yüz yetmiş', 'üç yüz yetmiş bir', 'üç yüz yetmiş iki', 'üç yüz yetmiş üç', 'üç yüz yetmiş dört', 'üç yüz yetmiş beş', 'üç yüz yetmiş altı', 'üç yüz yetmiş yedi', 'üç yüz yetmiş sekiz', 'üç yüz yetmiş dokuz', 'üç yüz seksen', 'üç yüz seksen bir', 'üç yüz seksen iki', 'üç yüz seksen üç', 'üç yüz seksen dört', 'üç yüz seksen beş', 'üç yüz seksen altı', 'üç yüz seksen yedi', 'üç yüz seksen sekiz', 'üç yüz seksen dokuz', 'üç yüz doksan', 'üç yüz doksan bir', 'üç yüz doksan iki', 'üç yüz doksan üç', 'üç yüz doksan dört', 'üç yüz doksan beş', 'üç yüz doksan altı', 'üç yüz doksan yedi', 'üç yüz doksan sekiz', 'üç yüz doksan dokuz', 'dört yüz', 'dört yüz bir', 'dört yüz iki', 'dört yüz üç', 'dört yüz dört', 'dört yüz beş', 'dört yüz altı', 'dört yüz yedi', 'dört yüz sekiz', 'dört yüz dokuz', 'dört yüz on', 'dört yüz on bir', 'dört yüz on iki', 'dört yüz on üç', 'dört yüz on dört', 'dört yüz on beş', 'dört yüz on altı', 'dört yüz on yedi', 'dört yüz on sekiz', 'dört yüz on dokuz', 'dört yüz yirmi', 'dört yüz yirmi bir', 'dört yüz yirmi iki', 'dört yüz yirmi üç', 'dört yüz yirmi dört', 'dört yüz yirmi beş', 'dört yüz yirmi altı', 'dört yüz yirmi yedi', 'dört yüz yirmi sekiz', 'dört yüz yirmi dokuz', 'dört yüz otuz', 'dört yüz otuz bir', 'dört yüz otuz iki', 'dört yüz otuz üç', 'dört yüz otuz dört', 'dört yüz otuz beş', 'dört yüz otuz altı', 'dört yüz otuz yedi', 'dört yüz otuz sekiz', 'dört yüz otuz dokuz', 'dört yüz kırk', 'dört yüz kırk bir', 'dört yüz kırk iki', 'dört yüz kırk üç', 'dört yüz kırk dört', 'dört yüz kırk beş', 'dört yüz kırk altı', 'dört yüz kırk yedi', 'dört yüz kırk sekiz', 'dört yüz kırk dokuz', 'dört yüz elli', 'dört yüz elli bir', 'dört yüz elli iki', 'dört yüz elli üç', 'dört yüz elli dört', 'dört yüz elli beş', 'dört yüz elli altı', 'dört yüz elli yedi', 'dört yüz elli sekiz', 'dört yüz elli dokuz', 'dört yüz altmış', 'dört yüz altmış bir', 'dört yüz altmış iki', 'dört yüz altmış üç', 'dört yüz altmış dört', 'dört yüz altmış beş', 'dört yüz altmış altı', 'dört yüz altmış yedi', 'dört yüz altmış sekiz', 'dört yüz altmış dokuz', 'dört yüz yetmiş', 'dört yüz yetmiş bir', 'dört yüz yetmiş iki', 'dört yüz yetmiş üç', 'dört yüz yetmiş dört', 'dört yüz yetmiş beş', 'dört yüz yetmiş altı', 'dört yüz yetmiş yedi', 'dört yüz yetmiş sekiz', 'dört yüz yetmiş dokuz', 'dört yüz seksen', 'dört yüz seksen bir', 'dört yüz seksen iki', 'dört yüz seksen üç', 'dört yüz seksen dört', 'dört yüz seksen beş', 'dört yüz seksen altı', 'dört yüz seksen yedi', 'dört yüz seksen sekiz', 'dört yüz seksen dokuz', 'dört yüz doksan', 'dört yüz doksan bir', 'dört yüz doksan iki', 'dört yüz doksan üç', 'dört yüz doksan dört', 'dört yüz doksan beş', 'dört yüz doksan altı', 'dört yüz doksan yedi', 'dört yüz doksan sekiz', 'dört yüz doksan dokuz', 'beş yüz', 'beş yüz bir', 'beş yüz iki', 'beş yüz üç', 'beş yüz dört', 'beş yüz beş', 'beş yüz altı', 'beş yüz yedi', 'beş yüz sekiz', 'beş yüz dokuz', 'beş yüz on', 'beş yüz on bir', 'beş yüz on iki', 'beş yüz on üç', 'beş yüz on dört', 'beş yüz on beş', 'beş yüz on altı', 'beş yüz on yedi', 'beş yüz on sekiz', 'beş yüz on dokuz', 'beş yüz yirmi', 'beş yüz yirmi bir', 'beş yüz yirmi iki', 'beş yüz yirmi üç', 'beş yüz yirmi dört', 'beş yüz yirmi beş', 'beş yüz yirmi altı', 'beş yüz yirmi yedi', 'beş yüz yirmi sekiz', 'beş yüz yirmi dokuz', 'beş yüz otuz', 'beş yüz otuz bir', 'beş yüz otuz iki', 'beş yüz otuz üç', 'beş yüz otuz dört', 'beş yüz otuz beş', 'beş yüz otuz altı', 'beş yüz otuz yedi', 'beş yüz otuz sekiz', 'beş yüz otuz dokuz', 'beş yüz kırk', 'beş yüz kırk bir', 'beş yüz kırk iki', 'beş yüz kırk üç', 'beş yüz kırk dört', 'beş yüz kırk beş', 'beş yüz kırk altı', 'beş yüz kırk yedi', 'beş yüz kırk sekiz', 'beş yüz kırk dokuz', 'beş yüz elli', 'beş yüz elli bir', 'beş yüz elli iki', 'beş yüz elli üç', 'beş yüz elli dört', 'beş yüz elli beş', 'beş yüz elli altı', 'beş yüz elli yedi', 'beş yüz elli sekiz', 'beş yüz elli dokuz', 'beş yüz altmış', 'beş yüz altmış bir', 'beş yüz altmış iki', 'beş yüz altmış üç', 'beş yüz altmış dört', 'beş yüz altmış beş', 'beş yüz altmış altı', 'beş yüz altmış yedi', 'beş yüz altmış sekiz', 'beş yüz altmış dokuz', 'beş yüz yetmiş', 'beş yüz yetmiş bir', 'beş yüz yetmiş iki', 'beş yüz yetmiş üç', 'beş yüz yetmiş dört', 'beş yüz yetmiş beş', 'beş yüz yetmiş altı', 'beş yüz yetmiş yedi', 'beş yüz yetmiş sekiz', 'beş yüz yetmiş dokuz', 'beş yüz seksen', 'beş yüz seksen bir', 'beş yüz seksen iki', 'beş yüz seksen üç', 'beş yüz seksen dört', 'beş yüz seksen beş', 'beş yüz seksen altı', 'beş yüz seksen yedi', 'beş yüz seksen sekiz', 'beş yüz seksen dokuz', 'beş yüz doksan', 'beş yüz doksan bir', 'beş yüz doksan iki', 'beş yüz doksan üç', 'beş yüz doksan dört', 'beş yüz doksan beş', 'beş yüz doksan altı', 'beş yüz doksan yedi', 'beş yüz doksan sekiz', 'beş yüz doksan dokuz', 'altı yüz', 'altı yüz bir', 'altı yüz iki', 'altı yüz üç', 'altı yüz dört', 'altı yüz beş', 'altı yüz altı', 'altı yüz yedi', 'altı yüz sekiz', 'altı yüz dokuz', 'altı yüz on', 'altı yüz on bir', 'altı yüz on iki', 'altı yüz on üç', 'altı yüz on dört', 'altı yüz on beş', 'altı yüz on altı', 'altı yüz on yedi', 'altı yüz on sekiz', 'altı yüz on dokuz', 'altı yüz yirmi', 'altı yüz yirmi bir', 'altı yüz yirmi iki', 'altı yüz yirmi üç', 'altı yüz yirmi dört', 'altı yüz yirmi beş', 'altı yüz yirmi altı', 'altı yüz yirmi yedi', 'altı yüz yirmi sekiz', 'altı yüz yirmi dokuz', 'altı yüz otuz', 'altı yüz otuz bir', 'altı yüz otuz iki', 'altı yüz otuz üç', 'altı yüz otuz dört', 'altı yüz otuz beş', 'altı yüz otuz altı', 'altı yüz otuz yedi', 'altı yüz otuz sekiz', 'altı yüz otuz dokuz', 'altı yüz kırk', 'altı yüz kırk bir', 'altı yüz kırk iki', 'altı yüz kırk üç', 'altı yüz kırk dört', 'altı yüz kırk beş', 'altı yüz kırk altı', 'altı yüz kırk yedi', 'altı yüz kırk sekiz', 'altı yüz kırk dokuz', 'altı yüz elli', 'altı yüz elli bir', 'altı yüz elli iki', 'altı yüz elli üç', 'altı yüz elli dört', 'altı yüz elli beş', 'altı yüz elli altı', 'altı yüz elli yedi', 'altı yüz elli sekiz', 'altı yüz elli dokuz', 'altı yüz altmış', 'altı yüz altmış bir', 'altı yüz altmış iki', 'altı yüz altmış üç', 'altı yüz altmış dört', 'altı yüz altmış beş', 'altı yüz altmış altı', 'altı yüz altmış yedi', 'altı yüz altmış sekiz', 'altı yüz altmış dokuz', 'altı yüz yetmiş', 'altı yüz yetmiş bir', 'altı yüz yetmiş iki', 'altı yüz yetmiş üç', 'altı yüz yetmiş dört', 'altı yüz yetmiş beş', 'altı yüz yetmiş altı', 'altı yüz yetmiş yedi', 'altı yüz yetmiş sekiz', 'altı yüz yetmiş dokuz', 'altı yüz seksen', 'altı yüz seksen bir', 'altı yüz seksen iki', 'altı yüz seksen üç', 'altı yüz seksen dört', 'altı yüz seksen beş', 'altı yüz seksen altı', 'altı yüz seksen yedi', 'altı yüz seksen sekiz', 'altı yüz seksen dokuz', 'altı yüz doksan', 'altı yüz doksan bir', 'altı yüz doksan iki', 'altı yüz doksan üç', 'altı yüz doksan dört', 'altı yüz doksan beş', 'altı yüz doksan altı', 'altı yüz doksan yedi', 'altı yüz doksan sekiz', 'altı yüz doksan dokuz', 'yedi yüz', 'yedi yüz bir', 'yedi yüz iki', 'yedi yüz üç', 'yedi yüz dört', 'yedi yüz beş', 'yedi yüz altı', 'yedi yüz yedi', 'yedi yüz sekiz', 'yedi yüz dokuz', 'yedi yüz on', 'yedi yüz on bir', 'yedi yüz on iki', 'yedi yüz on üç', 'yedi yüz on dört', 'yedi yüz on beş', 'yedi yüz on altı', 'yedi yüz on yedi', 'yedi yüz on sekiz', 'yedi yüz on dokuz', 'yedi yüz yirmi', 'yedi yüz yirmi bir', 'yedi yüz yirmi iki', 'yedi yüz yirmi üç', 'yedi yüz yirmi dört', 'yedi yüz yirmi beş', 'yedi yüz yirmi altı', 'yedi yüz yirmi yedi', 'yedi yüz yirmi sekiz', 'yedi yüz yirmi dokuz', 'yedi yüz otuz', 'yedi yüz otuz bir', 'yedi yüz otuz iki', 'yedi yüz otuz üç', 'yedi yüz otuz dört', 'yedi yüz otuz beş', 'yedi yüz otuz altı', 'yedi yüz otuz yedi', 'yedi yüz otuz sekiz', 'yedi yüz otuz dokuz', 'yedi yüz kırk', 'yedi yüz kırk bir', 'yedi yüz kırk iki', 'yedi yüz kırk üç', 'yedi yüz kırk dört', 'yedi yüz kırk beş', 'yedi yüz kırk altı', 'yedi yüz kırk yedi', 'yedi yüz kırk sekiz', 'yedi yüz kırk dokuz', 'yedi yüz elli', 'yedi yüz elli bir', 'yedi yüz elli iki', 'yedi yüz elli üç', 'yedi yüz elli dört', 'yedi yüz elli beş', 'yedi yüz elli altı', 'yedi yüz elli yedi', 'yedi yüz elli sekiz', 'yedi yüz elli dokuz', 'yedi yüz altmış', 'yedi yüz altmış bir', 'yedi yüz altmış iki', 'yedi yüz altmış üç', 'yedi yüz altmış dört', 'yedi yüz altmış beş', 'yedi yüz altmış altı', 'yedi yüz altmış yedi', 'yedi yüz altmış sekiz', 'yedi yüz altmış dokuz', 'yedi yüz yetmiş', 'yedi yüz yetmiş bir', 'yedi yüz yetmiş iki', 'yedi yüz yetmiş üç', 'yedi yüz yetmiş dört', 'yedi yüz yetmiş beş', 'yedi yüz yetmiş altı', 'yedi yüz yetmiş yedi', 'yedi yüz yetmiş sekiz', 'yedi yüz yetmiş dokuz', 'yedi yüz seksen', 'yedi yüz seksen bir', 'yedi yüz seksen iki', 'yedi yüz seksen üç', 'yedi yüz seksen dört', 'yedi yüz seksen beş', 'yedi yüz seksen altı', 'yedi yüz seksen yedi', 'yedi yüz seksen sekiz', 'yedi yüz seksen dokuz', 'yedi yüz doksan', 'yedi yüz doksan bir', 'yedi yüz doksan iki', 'yedi yüz doksan üç', 'yedi yüz doksan dört', 'yedi yüz doksan beş', 'yedi yüz doksan altı', 'yedi yüz doksan yedi', 'yedi yüz doksan sekiz', 'yedi yüz doksan dokuz', 'sekiz yüz', 'sekiz yüz bir', 'sekiz yüz iki', 'sekiz yüz üç', 'sekiz yüz dört', 'sekiz yüz beş', 'sekiz yüz altı', 'sekiz yüz yedi', 'sekiz yüz sekiz', 'sekiz yüz dokuz', 'sekiz yüz on', 'sekiz yüz on bir', 'sekiz yüz on iki', 'sekiz yüz on üç', 'sekiz yüz on dört', 'sekiz yüz on beş', 'sekiz yüz on altı', 'sekiz yüz on yedi', 'sekiz yüz on sekiz', 'sekiz yüz on dokuz', 'sekiz yüz yirmi', 'sekiz yüz yirmi bir', 'sekiz yüz yirmi iki', 'sekiz yüz yirmi üç', 'sekiz yüz yirmi dört', 'sekiz yüz yirmi beş', 'sekiz yüz yirmi altı', 'sekiz yüz yirmi yedi', 'sekiz yüz yirmi sekiz', 'sekiz yüz yirmi dokuz', 'sekiz yüz otuz', 'sekiz yüz otuz bir', 'sekiz yüz otuz iki', 'sekiz yüz otuz üç', 'sekiz yüz otuz dört', 'sekiz yüz otuz beş', 'sekiz yüz otuz altı', 'sekiz yüz otuz yedi', 'sekiz yüz otuz sekiz', 'sekiz yüz otuz dokuz', 'sekiz yüz kırk', 'sekiz yüz kırk bir', 'sekiz yüz kırk iki', 'sekiz yüz kırk üç', 'sekiz yüz kırk dört', 'sekiz yüz kırk beş', 'sekiz yüz kırk altı', 'sekiz yüz kırk yedi', 'sekiz yüz kırk sekiz', 'sekiz yüz kırk dokuz', 'sekiz yüz elli', 'sekiz yüz elli bir', 'sekiz yüz elli iki', 'sekiz yüz elli üç', 'sekiz yüz elli dört', 'sekiz yüz elli beş', 'sekiz yüz elli altı', 'sekiz yüz elli yedi', 'sekiz yüz elli sekiz', 'sekiz yüz elli dokuz', 'sekiz yüz altmış', 'sekiz yüz altmış bir', 'sekiz yüz altmış iki', 'sekiz yüz altmış üç', 'sekiz yüz altmış dört', 'sekiz yüz altmış beş', 'sekiz yüz altmış altı', 'sekiz yüz altmış yedi', 'sekiz yüz altmış sekiz', 'sekiz yüz altmış dokuz', 'sekiz yüz yetmiş', 'sekiz yüz yetmiş bir', 'sekiz yüz yetmiş iki', 'sekiz yüz yetmiş üç', 'sekiz yüz yetmiş dört', 'sekiz yüz yetmiş beş', 'sekiz yüz yetmiş altı', 'sekiz yüz yetmiş yedi', 'sekiz yüz yetmiş sekiz', 'sekiz yüz yetmiş dokuz', 'sekiz yüz seksen', 'sekiz yüz seksen bir', 'sekiz yüz seksen iki', 'sekiz yüz seksen üç', 'sekiz yüz seksen dört', 'sekiz yüz seksen beş', 'sekiz yüz seksen altı', 'sekiz yüz seksen yedi', 'sekiz yüz seksen sekiz', 'sekiz yüz seksen dokuz', 'sekiz yüz doksan', 'sekiz yüz doksan bir', 'sekiz yüz doksan iki', 'sekiz yüz doksan üç', 'sekiz yüz doksan dört', 'sekiz yüz doksan beş', 'sekiz yüz doksan altı', 'sekiz yüz doksan yedi', 'sekiz yüz doksan sekiz', 'sekiz yüz doksan dokuz', 'dokuz yüz', 'dokuz yüz bir', 'dokuz yüz iki', 'dokuz yüz üç', 'dokuz yüz dört', 'dokuz yüz beş', 'dokuz yüz altı', 'dokuz yüz yedi', 'dokuz yüz sekiz', 'dokuz yüz dokuz', 'dokuz yüz on', 'dokuz yüz on bir', 'dokuz yüz on iki', 'dokuz yüz on üç', 'dokuz yüz on dört', 'dokuz yüz on beş', 'dokuz yüz on altı', 'dokuz yüz on yedi', 'dokuz yüz on sekiz', 'dokuz yüz on dokuz', 'dokuz yüz yirmi', 'dokuz yüz yirmi bir', 'dokuz yüz yirmi iki', 'dokuz yüz yirmi üç', 'dokuz yüz yirmi dört', 'dokuz yüz yirmi beş', 'dokuz yüz yirmi altı', 'dokuz yüz yirmi yedi', 'dokuz yüz yirmi sekiz', 'dokuz yüz yirmi dokuz', 'dokuz yüz otuz', 'dokuz yüz otuz bir', 'dokuz yüz otuz iki', 'dokuz yüz otuz üç', 'dokuz yüz otuz dört', 'dokuz yüz otuz beş', 'dokuz yüz otuz altı', 'dokuz yüz otuz yedi', 'dokuz yüz otuz sekiz', 'dokuz yüz otuz dokuz', 'dokuz yüz kırk', 'dokuz yüz kırk bir', 'dokuz yüz kırk iki', 'dokuz yüz kırk üç', 'dokuz yüz kırk dört', 'dokuz yüz kırk beş', 'dokuz yüz kırk altı', 'dokuz yüz kırk yedi', 'dokuz yüz kırk sekiz', 'dokuz yüz kırk dokuz', 'dokuz yüz elli', 'dokuz yüz elli bir', 'dokuz yüz elli iki', 'dokuz yüz elli üç', 'dokuz yüz elli dört', 'dokuz yüz elli beş', 'dokuz yüz elli altı', 'dokuz yüz elli yedi', 'dokuz yüz elli sekiz', 'dokuz yüz elli dokuz', 'dokuz yüz altmış', 'dokuz yüz altmış bir', 'dokuz yüz altmış iki', 'dokuz yüz altmış üç', 'dokuz yüz altmış dört', 'dokuz yüz altmış beş', 'dokuz yüz altmış altı', 'dokuz yüz altmış yedi', 'dokuz yüz altmış sekiz', 'dokuz yüz altmış dokuz', 'dokuz yüz yetmiş', 'dokuz yüz yetmiş bir', 'dokuz yüz yetmiş iki', 'dokuz yüz yetmiş üç', 'dokuz yüz yetmiş dört', 'dokuz yüz yetmiş beş', 'dokuz yüz yetmiş altı', 'dokuz yüz yetmiş yedi', 'dokuz yüz yetmiş sekiz', 'dokuz yüz yetmiş dokuz', 'dokuz yüz seksen', 'dokuz yüz seksen bir', 'dokuz yüz seksen iki', 'dokuz yüz seksen üç', 'dokuz yüz seksen dört', 'dokuz yüz seksen beş', 'dokuz yüz seksen altı', 'dokuz yüz seksen yedi', 'dokuz yüz seksen sekiz', 'dokuz yüz seksen dokuz', 'dokuz yüz doksan', 'dokuz yüz doksan bir', 'dokuz yüz doksan iki', 'dokuz yüz doksan üç', 'dokuz yüz doksan dört', 'dokuz yüz doksan beş', 'dokuz yüz doksan altı', 'dokuz yüz doksan yedi', 'dokuz yüz doksan sekiz', 'dokuz yüz doksan dokuz'].freeze
9
+ end
10
+ end
@@ -0,0 +1,42 @@
1
+ require_relative 'constants/de'
2
+
3
+ module Humanize
4
+ class De
5
+ def humanize(number)
6
+ iteration = 0
7
+ parts = []
8
+ use_and = false
9
+ until number.zero?
10
+ number, remainder = number.divmod(1000)
11
+ unless remainder.zero?
12
+ if iteration.zero? && remainder < 100
13
+ use_and = true
14
+ else
15
+ add_grouping(parts, use_and, iteration)
16
+ end
17
+
18
+ parts << SUB_ONE_GROUPING[remainder]
19
+ end
20
+
21
+ iteration += 1
22
+ end
23
+
24
+ parts
25
+ end
26
+
27
+ private
28
+
29
+ def conjunction(parts, use_and)
30
+ return '' if parts.empty? || !use_and
31
+
32
+ ' und'
33
+ end
34
+
35
+ def add_grouping(parts, use_and, iteration)
36
+ grouping = LOTS[iteration]
37
+ return unless grouping
38
+
39
+ parts << "#{grouping}#{conjunction(parts, use_and)}"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ require_relative 'constants/en'
2
+
3
+ module Humanize
4
+ class En
5
+ def humanize(number)
6
+ iteration = 0
7
+ parts = []
8
+ use_and = false
9
+ until number.zero?
10
+ number, remainder = number.divmod(1000)
11
+ unless remainder.zero?
12
+ if iteration.zero? && remainder < 100
13
+ use_and = true
14
+ else
15
+ add_grouping(parts, use_and, iteration)
16
+ end
17
+
18
+ parts << SUB_ONE_GROUPING[remainder]
19
+ end
20
+
21
+ iteration += 1
22
+ end
23
+
24
+ parts
25
+ end
26
+
27
+ private
28
+
29
+ def conjunction(parts, use_and)
30
+ return '' if parts.empty?
31
+
32
+ use_and ? ' and' : ','
33
+ end
34
+
35
+ def add_grouping(parts, use_and, iteration)
36
+ grouping = LOTS[iteration]
37
+ return unless grouping
38
+
39
+ parts << "#{grouping}#{conjunction(parts, use_and)}"
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,35 @@
1
+ require_relative 'constants/fr'
2
+
3
+ module Humanize
4
+ class Fr
5
+ def humanize(number)
6
+ iteration = 0
7
+ parts = []
8
+ until number.zero?
9
+ number, remainder = number.divmod(1000)
10
+ unless remainder.zero?
11
+ add_grouping(parts, iteration)
12
+
13
+ parts << SUB_ONE_GROUPING[remainder] unless exactly_one_thousand?(remainder, parts)
14
+ end
15
+
16
+ iteration += 1
17
+ end
18
+
19
+ parts
20
+ end
21
+
22
+ private
23
+
24
+ def exactly_one_thousand?(remainder, parts)
25
+ remainder == 1 && parts.last.to_s.strip == 'mille'
26
+ end
27
+
28
+ def add_grouping(parts, iteration)
29
+ grouping = LOTS[iteration]
30
+ return unless grouping
31
+
32
+ parts << grouping
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,36 @@
1
+ require_relative 'constants/id'
2
+
3
+ module Humanize
4
+ class Id
5
+ def humanize(number)
6
+ iteration = 0
7
+ parts = []
8
+ until number.zero?
9
+ number, remainder = number.divmod(1000)
10
+ unless remainder.zero?
11
+ add_grouping(parts, iteration)
12
+
13
+ parts << SUB_ONE_GROUPING[remainder]
14
+ end
15
+
16
+ iteration += 1
17
+ end
18
+
19
+ correct_one_thousand(parts)
20
+ end
21
+
22
+ def add_grouping(parts, iteration)
23
+ grouping = LOTS[iteration]
24
+ return unless grouping
25
+
26
+ parts << grouping
27
+ end
28
+
29
+ def correct_one_thousand(parts)
30
+ lots = LOTS.drop(2)
31
+ wrong_1000_re = /(?<=#{lots.join(" |")} )\s*satu ribu|^satu ribu/
32
+ parts = parts.reverse.join(" ").sub(wrong_1000_re, 'seribu')
33
+ parts.split(" ").reverse
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,45 @@
1
+ require_relative 'constants/th'
2
+
3
+ module Humanize
4
+ class Th
5
+ def humanize(number)
6
+ number_groups = [100, 10]
7
+ number_grouping = number_groups.shift
8
+ iteration = 0
9
+ parts = []
10
+ use_and = false
11
+ until number.zero?
12
+ number, remainder = number.divmod(number_grouping)
13
+ unless remainder.zero?
14
+ if iteration.zero? && remainder < (number_grouping / 10)
15
+ use_and = true
16
+ else
17
+ add_grouping(parts, use_and, iteration)
18
+ end
19
+
20
+ parts << SUB_ONE_GROUPING[remainder]
21
+ end
22
+
23
+ number_grouping = number_groups.shift unless number_groups.empty?
24
+ iteration += 1
25
+ end
26
+
27
+ parts
28
+ end
29
+
30
+ private
31
+
32
+ def conjunction(parts, use_and)
33
+ return '' if parts.empty? && !use_and
34
+
35
+ ' และ'
36
+ end
37
+
38
+ def add_grouping(parts, use_and, iteration)
39
+ grouping = LOTS[iteration]
40
+ return unless grouping
41
+
42
+ parts << "#{grouping}#{conjunction(parts, use_and)}"
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,35 @@
1
+ require_relative 'constants/tr'
2
+
3
+ module Humanize
4
+ class Tr
5
+ def humanize(number)
6
+ iteration = 0
7
+ parts = []
8
+ until number.zero?
9
+ number, remainder = number.divmod(1000)
10
+ unless remainder.zero?
11
+ add_grouping(parts, iteration)
12
+
13
+ parts << SUB_ONE_GROUPING[remainder] unless exactly_one_thousand?(remainder, parts)
14
+ end
15
+
16
+ iteration += 1
17
+ end
18
+
19
+ parts
20
+ end
21
+
22
+ private
23
+
24
+ def exactly_one_thousand?(remainder, parts)
25
+ remainder == 1 && parts.last.to_s.strip == 'bin'
26
+ end
27
+
28
+ def add_grouping(parts, iteration)
29
+ grouping = LOTS[iteration]
30
+ return unless grouping
31
+
32
+ parts << grouping
33
+ end
34
+ end
35
+ end
@@ -1,15 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  module Humanize
4
-
5
4
  describe Configuration do
6
-
7
5
  after(:each) do
8
6
  Humanize.reset_config
9
7
  end
10
8
 
11
9
  describe "#default_locale" do
12
-
13
10
  it "default value is :en" do
14
11
  expect(Humanize.config.default_locale).to eq(:en)
15
12
  end
@@ -25,9 +22,6 @@ module Humanize
25
22
  Humanize.config.default_locale = :fr
26
23
  expect(Humanize.config.default_locale).to eq(:fr)
27
24
  end
28
-
29
25
  end
30
-
31
26
  end
32
-
33
27
  end
@@ -1,22 +1,11 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
1
  require 'spec_helper'
4
2
 
5
- describe "Humanize" do
6
- require_relative 'tests'
7
-
8
- after(:each) do
3
+ RSpec.describe "Humanize" do
4
+ after do
9
5
  Humanize.reset_config
10
6
  end
11
7
 
12
- TESTS.each do |num, human|
13
- it "#{num} is #{human}" do
14
- expect(num.humanize).to eql(human)
15
- end
16
- end
17
-
18
8
  describe 'locale option' do
19
-
20
9
  it 'uses default locale' do
21
10
  Humanize.config.default_locale = :fr
22
11
  expect(42.humanize).to eql('quarante-deux')
@@ -24,55 +13,35 @@ describe "Humanize" do
24
13
 
25
14
  it 'uses locale passed as argument if given' do
26
15
  Humanize.config.default_locale = :en
27
- expect(42.humanize(:locale => :fr)).to eql('quarante-deux')
28
- end
29
-
30
- describe 'french specific rules' do
31
-
32
- it 'one thousand and two equals "mille deux"' do
33
- expect(1002.humanize(:locale => :fr)).to eql('mille deux')
34
- end
35
-
36
- it 'two thousand and one equals "deux mille un"' do
37
- expect(2001.humanize(:locale => :fr)).to eql('deux mille un')
38
- end
39
-
40
- it 'ten thousand equals "dix mille"' do
41
- expect(10000.humanize(:locale => :fr)).to eql('dix mille')
42
- end
43
-
16
+ expect(42.humanize(locale: :fr)).to eql('quarante-deux')
44
17
  end
45
18
 
46
19
  describe 'turkish specific rules' do
47
-
48
20
  it 'one thousand and two equals "bin iki"' do
49
- expect(1002.humanize(:locale => :tr)).to eql('bin iki')
21
+ expect(1002.humanize(locale: :tr)).to eql('bin iki')
50
22
  end
51
23
 
52
24
  it 'two thousand and one equals "iki bin bir' do
53
- expect(2001.humanize(:locale => :tr)).to eql('iki bin bir')
25
+ expect(2001.humanize(locale: :tr)).to eql('iki bin bir')
54
26
  end
55
27
 
56
28
  it 'ten thousand equals "on bin"' do
57
- expect(10000.humanize(:locale => :tr)).to eql('on bin')
29
+ expect(10_000.humanize(locale: :tr)).to eql('on bin')
58
30
  end
59
-
60
31
  end
61
32
 
62
33
  describe 'azerbaijani specific rules' do
63
-
64
34
  it 'one thousand and two equals "min iki"' do
65
- expect(1002.humanize(:locale => :az)).to eql('min iki')
35
+ expect(1002.humanize(locale: :az)).to eql('min iki')
66
36
  end
67
37
 
68
38
  it 'two thousand and one equals "iki min bir' do
69
- expect(2001.humanize(:locale => :az)).to eql('iki min bir')
39
+ expect(2001.humanize(locale: :az)).to eql('iki min bir')
70
40
  end
71
41
 
72
42
  it 'ten thousand equals "on min"' do
73
- expect(10000.humanize(:locale => :az)).to eql('on min')
43
+ expect(10_000.humanize(locale: :az)).to eql('on min')
74
44
  end
75
-
76
45
  end
77
46
 
78
47
  describe 'indonesian specific rules' do
@@ -94,11 +63,9 @@ describe "Humanize" do
94
63
  end
95
64
  end
96
65
  end
97
-
98
66
  end
99
67
 
100
68
  describe 'decimals_as option' do
101
-
102
69
  it 'uses value from configuration' do
103
70
  Humanize.config.decimals_as = :number
104
71
  expect(0.42.humanize).to eql('zero point forty-two')
@@ -106,11 +73,10 @@ describe "Humanize" do
106
73
 
107
74
  it 'uses value passed as argument if given' do
108
75
  Humanize.config.decimals_as = :number
109
- expect(0.42.humanize(:decimals_as => :digits)).to eql('zero point four two')
76
+ expect(0.42.humanize(decimals_as: :digits)).to eql('zero point four two')
110
77
  end
111
78
 
112
79
  describe 'when set as number' do
113
-
114
80
  before do
115
81
  Humanize.config.decimals_as = :number
116
82
  end
@@ -119,35 +85,30 @@ describe "Humanize" do
119
85
  expect(0.042.humanize).to eql('zero point zero four two')
120
86
  expect(0.0042.humanize).to eql('zero point zero zero four two')
121
87
  end
122
-
123
88
  end
124
-
125
89
  end
126
90
 
127
91
  describe 'both options work together' do
128
-
129
92
  it 'work together' do
130
93
  expect(
131
- 0.42.humanize(:locale => :fr, :decimals_as => :number)
94
+ 0.42.humanize(locale: :fr, decimals_as: :number)
132
95
  ).to eql('zéro virgule quarante-deux')
133
96
  end
134
-
135
97
  end
136
98
 
137
99
  describe 'when called on instances of Rational, Complex, and Date::Infinity' do
138
-
139
100
  it 'will raise NoMethodError' do
140
- expect{ Rational(1,3).humanize }.to raise_error(NoMethodError, /humanize/)
141
- expect{ Complex(1+2i).humanize }.to raise_error(NoMethodError, /humanize/)
142
- expect{
143
- Date::Infinity.new.humanize
144
- }.to raise_error(NoMethodError, /humanize/) if defined? Date::Infinity
101
+ expect { Rational(1, 3).humanize }.to raise_error(NoMethodError, /humanize/)
102
+ expect { Complex(1 + 2i).humanize }.to raise_error(NoMethodError, /humanize/)
103
+ if defined? Date::Infinity
104
+ expect do
105
+ Date::Infinity.new.humanize
106
+ end.to raise_error(NoMethodError, /humanize/)
107
+ end
145
108
  end
146
-
147
109
  end
148
110
 
149
111
  describe 'when called on conceptual number' do
150
-
151
112
  it 'reads correctly' do
152
113
  inf = Float::INFINITY
153
114
  neg_inf = -inf
@@ -157,15 +118,5 @@ describe "Humanize" do
157
118
  expect(neg_inf.humanize).to eql('negative infinity')
158
119
  expect(nan.humanize).to eql('undefined')
159
120
  end
160
-
161
121
  end
162
-
163
- describe 'when called on bigdecimal' do
164
-
165
- it 'reads correctly' do
166
- expect(BigDecimal.new(TESTS.last.first).humanize).to eql(TESTS.last.last)
167
- end
168
-
169
- end
170
-
171
122
  end