From 7154a8a55aaf685fef8b3edfc8a191830ed853de Mon Sep 17 00:00:00 2001 From: Konstantin Kuklin Date: Thu, 29 Oct 2015 22:31:49 +0300 Subject: [PATCH 1/2] added russian language translation with tests --- README.md | 1 + spec/Coduo/PHPHumanizer/DateTimeSpec.php | 18 ++++++++++ .../Resources/translations/difference.ru.yml | 35 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 src/Coduo/PHPHumanizer/Resources/translations/difference.ru.yml diff --git a/README.md b/README.md index f7ba58a..ddd14ef 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,7 @@ Currently we support following languages: * [Português - Brasil](src/Coduo/PHPHumanizer/Resources/translations/difference.pt_BR.yml) * [Italian](src/Coduo/PHPHumanizer/Resources/translations/difference.it.yml) * [Dutch](src/Coduo/PHPHumanizer/Resources/translations/difference.nl.yml) +* [Русский](src/Coduo/PHPHumanizer/Resources/translations/difference.ru.yml) # Credits diff --git a/spec/Coduo/PHPHumanizer/DateTimeSpec.php b/spec/Coduo/PHPHumanizer/DateTimeSpec.php index 009cd8b..a029d60 100644 --- a/spec/Coduo/PHPHumanizer/DateTimeSpec.php +++ b/spec/Coduo/PHPHumanizer/DateTimeSpec.php @@ -299,4 +299,22 @@ function it_humanizes_precise_difference_between_dates_for_no_locale() $this->preciseDifference(new \DateTime($example[0]), new \DateTime($example[1]), 'no')->shouldReturn($example[2]); } } + + function it_humanizes_precise_difference_between_dates_for_ru_locale() + { + $examples = array( + array("2014-04-26 13:00:00", "2014-04-26 12:58:15", '1 минута, 45 секунд назад'), + array("2014-04-26 13:00:00", "2014-04-26 11:20:00", '1 час, 40 минут назад'), + array("2014-04-26 13:00:00", "2014-04-27 13:15:00", '1 день, 15 минут вперед'), + array("2014-04-26 13:00:00", "2014-05-03 15:00:00", '7 дней, 2 часа вперед'), + array("2014-04-26 13:00:00", "2015-04-28 17:00:00", '1 год, 2 дня, 4 часа вперед'), + array("2014-04-26 13:00:00", "2014-04-28 23:00:00", '2 дня, 10 часов вперед'), + array("2014-04-26 13:00:00", "2014-04-25 11:20:00", '1 день, 1 час, 40 минут назад'), + array("2014-04-26 13:00:00", "2016-04-27 13:00:00", '2 года, 1 день вперед'), + ); + + foreach ($examples as $example) { + $this->preciseDifference(new \DateTime($example[0]), new \DateTime($example[1]), 'ru')->shouldReturn($example[2]); + } + } } diff --git a/src/Coduo/PHPHumanizer/Resources/translations/difference.ru.yml b/src/Coduo/PHPHumanizer/Resources/translations/difference.ru.yml new file mode 100644 index 0000000..cfbaee0 --- /dev/null +++ b/src/Coduo/PHPHumanizer/Resources/translations/difference.ru.yml @@ -0,0 +1,35 @@ +just_now: + past: "[0,Inf] прямо сейчас" + future: "[0,Inf] прямо сейчас" +second: + past: "{1} %count% секунду назад|[2,4] %count% секунды назад|[5,Inf] %count% секунд назад" + future: "{1} %count% секунду вперед|[2,4] %count% секунды вперед|[5,Inf] %count% секунд вперед" +minute: + past: "{1} %count% минуту назад|[2,4] %count% минуты назад|[5,Inf] %count% минут назад" + future: "{1} %count% минуту вперед|[2,4] %count% минуты вперед|[5,Inf] %count% минут вперед" +hour: + past: "{1} %count% час назад|[2,4] %count% часа назад|[5,Inf] %count% часов назад" + future: "{1} %count% час вперед|[2,4] %count% часа вперед|[5,Inf] %count% часов вперед" +day: + past: "{1} %count% дней назад|[2,4] %count% дня назад|[5,Inf] %count% дней назад" + future: "{1} %count% дней вперед|[2,4] %count% дня вперед|[5,Inf] %count% дней вперед" +week: + past: "{1} %count% неделю назад|[2,4] %count% недели назад|[5,Inf] %count% недель назад" + future: "{1} %count% неделю вперед|[2,4] %count% недели вперед|[5,Inf] %count% недель вперед" +month: + past: "{1} %count% месяц назад|[2,4] %count% месяца назад|[5,Inf] %count% месяцев назад" + future: "{1} %count% месяц вперед|[2,4] %count% месяца вперед|[5,Inf] %count% месяцев вперед" +year: + past: "{1} %count% год назад|[2,4] %count% года назад|[5,Inf] %count% лет назад" + future: "{1} %count% год вперед|[2,4] %count% года вперед|[5,Inf] %count% лет вперед" + +compound: + second: "{1} %count% секунда|[2,4] %count% секунды|[5,Inf] %count% секунд" + minute: "{1} %count% минута|[2,4] %count% минуты|[5,Inf] %count% минут" + hour: "{1} %count% час|[2,4] %count% часа|[5,Inf] %count% часов" + day: "{1} %count% день|[2,4] %count% дня|[5,Inf] %count% дней" + week: "{1} %count% неделя|[2,4] %count% недели|[5,Inf] %count% недель" + month: "{1} %count% месяц|[2,4] %count% месяца|[5,Inf] %count% месяцев" + year: "{1} %count% год|[2,4] %count% года|[5,Inf] %count% лет" + ago: "назад" + from_now: "вперед" \ No newline at end of file From a088161dde899cf66e248b356743492d7e4acc77 Mon Sep 17 00:00:00 2001 From: Konstantin Kuklin Date: Thu, 29 Oct 2015 22:39:59 +0300 Subject: [PATCH 2/2] added oxford with russian translation --- src/Coduo/PHPHumanizer/Resources/translations/oxford.ru.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/Coduo/PHPHumanizer/Resources/translations/oxford.ru.yml diff --git a/src/Coduo/PHPHumanizer/Resources/translations/oxford.ru.yml b/src/Coduo/PHPHumanizer/Resources/translations/oxford.ru.yml new file mode 100644 index 0000000..8d75843 --- /dev/null +++ b/src/Coduo/PHPHumanizer/Resources/translations/oxford.ru.yml @@ -0,0 +1,3 @@ +only_two: "%first% и %second%" +comma_separated: "%list%, и %last%" +comma_separated_with_limit: "{1} %list%, и еще 1|[2,Inf] %list%, и еще %count%" \ No newline at end of file