| <?php |
| |
| /** |
| * This file is part of the Carbon package. |
| * |
| * (c) Brian Nesbitt <brian@nesbot.com> |
| * |
| * For the full copyright and license information, please view the LICENSE |
| * file that was distributed with this source code. |
| */ |
| $processHoursFunction = function (\Carbon\CarbonInterface $date, string $format) { |
| return $format.'о'.($date->hour === 11 ? 'б' : '').'] LT'; |
| }; |
| |
| /* |
| * Authors: |
| * - Kunal Marwaha |
| * - Josh Soref |
| * - François B |
| * - Tim Fish |
| * - Serhan Apaydın |
| * - Max Mykhailenko |
| * - JD Isaacks |
| * - Max Kovpak |
| * - AucT |
| * - Philippe Vaucher |
| * - Ilya Shaplyko |
| * - Vadym Ievsieiev |
| * - Denys Kurets |
| * - Igor Kasyanchuk |
| * - Tsutomu Kuroda |
| * - tjku |
| * - Max Melentiev |
| * - Oleh |
| * - epaminond |
| * - Juanito Fatas |
| * - Vitalii Khustochka |
| * - Akira Matsuda |
| * - Christopher Dell |
| * - Enrique Vidal |
| * - Simone Carletti |
| * - Aaron Patterson |
| * - Andriy Tyurnikov |
| * - Nicolás Hock Isaza |
| * - Iwakura Taro |
| * - Andrii Ponomarov |
| * - alecrabbit |
| * - vystepanenko |
| * - AlexWalkerson |
| * - Andre Havryliuk (Andrend) |
| * - Max Datsenko (datsenko-md) |
| */ |
| return [ |
| 'year' => ':count рік|:count роки|:count років', |
| 'y' => ':countр', |
| 'a_year' => '{1}рік|:count рік|:count роки|:count років', |
| 'month' => ':count місяць|:count місяці|:count місяців', |
| 'm' => ':countм', |
| 'a_month' => '{1}місяць|:count місяць|:count місяці|:count місяців', |
| 'week' => ':count тиждень|:count тижні|:count тижнів', |
| 'w' => ':countт', |
| 'a_week' => '{1}тиждень|:count тиждень|:count тижні|:count тижнів', |
| 'day' => ':count день|:count дні|:count днів', |
| 'd' => ':countд', |
| 'a_day' => '{1}день|:count день|:count дні|:count днів', |
| 'hour' => ':count година|:count години|:count годин', |
| 'h' => ':countг', |
| 'a_hour' => '{1}година|:count година|:count години|:count годин', |
| 'minute' => ':count хвилина|:count хвилини|:count хвилин', |
| 'min' => ':countхв', |
| 'a_minute' => '{1}хвилина|:count хвилина|:count хвилини|:count хвилин', |
| 'second' => ':count секунда|:count секунди|:count секунд', |
| 's' => ':countсек', |
| 'a_second' => '{1}декілька секунд|:count секунда|:count секунди|:count секунд', |
| |
| 'hour_ago' => ':count годину|:count години|:count годин', |
| 'a_hour_ago' => '{1}годину|:count годину|:count години|:count годин', |
| 'minute_ago' => ':count хвилину|:count хвилини|:count хвилин', |
| 'a_minute_ago' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', |
| 'second_ago' => ':count секунду|:count секунди|:count секунд', |
| 'a_second_ago' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд', |
| |
| 'hour_from_now' => ':count годину|:count години|:count годин', |
| 'a_hour_from_now' => '{1}годину|:count годину|:count години|:count годин', |
| 'minute_from_now' => ':count хвилину|:count хвилини|:count хвилин', |
| 'a_minute_from_now' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', |
| 'second_from_now' => ':count секунду|:count секунди|:count секунд', |
| 'a_second_from_now' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд', |
| |
| 'hour_after' => ':count годину|:count години|:count годин', |
| 'a_hour_after' => '{1}годину|:count годину|:count години|:count годин', |
| 'minute_after' => ':count хвилину|:count хвилини|:count хвилин', |
| 'a_minute_after' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', |
| 'second_after' => ':count секунду|:count секунди|:count секунд', |
| 'a_second_after' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд', |
| |
| 'hour_before' => ':count годину|:count години|:count годин', |
| 'a_hour_before' => '{1}годину|:count годину|:count години|:count годин', |
| 'minute_before' => ':count хвилину|:count хвилини|:count хвилин', |
| 'a_minute_before' => '{1}хвилину|:count хвилину|:count хвилини|:count хвилин', |
| 'second_before' => ':count секунду|:count секунди|:count секунд', |
| 'a_second_before' => '{1}декілька секунд|:count секунду|:count секунди|:count секунд', |
| |
| 'ago' => ':time тому', |
| 'from_now' => 'за :time', |
| 'after' => ':time після', |
| 'before' => ':time до', |
| 'diff_now' => 'щойно', |
| 'diff_today' => 'Сьогодні', |
| 'diff_today_regexp' => 'Сьогодні(?:\\s+о)?', |
| 'diff_yesterday' => 'вчора', |
| 'diff_yesterday_regexp' => 'Вчора(?:\\s+о)?', |
| 'diff_tomorrow' => 'завтра', |
| 'diff_tomorrow_regexp' => 'Завтра(?:\\s+о)?', |
| 'diff_before_yesterday' => 'позавчора', |
| 'diff_after_tomorrow' => 'післязавтра', |
| 'period_recurrences' => 'один раз|:count рази|:count разів', |
| 'period_interval' => 'кожні :interval', |
| 'period_start_date' => 'з :date', |
| 'period_end_date' => 'до :date', |
| 'formats' => [ |
| 'LT' => 'HH:mm', |
| 'LTS' => 'HH:mm:ss', |
| 'L' => 'DD.MM.YYYY', |
| 'LL' => 'D MMMM YYYY', |
| 'LLL' => 'D MMMM YYYY, HH:mm', |
| 'LLLL' => 'dddd, D MMMM YYYY, HH:mm', |
| ], |
| 'calendar' => [ |
| 'sameDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { |
| return $processHoursFunction($date, '[Сьогодні '); |
| }, |
| 'nextDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { |
| return $processHoursFunction($date, '[Завтра '); |
| }, |
| 'nextWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { |
| return $processHoursFunction($date, '[У] dddd ['); |
| }, |
| 'lastDay' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { |
| return $processHoursFunction($date, '[Вчора '); |
| }, |
| 'lastWeek' => function (\Carbon\CarbonInterface $date) use ($processHoursFunction) { |
| switch ($date->dayOfWeek) { |
| case 0: |
| case 3: |
| case 5: |
| case 6: |
| return $processHoursFunction($date, '[Минулої] dddd ['); |
| default: |
| return $processHoursFunction($date, '[Минулого] dddd ['); |
| } |
| }, |
| 'sameElse' => 'L', |
| ], |
| 'ordinal' => function ($number, $period) { |
| switch ($period) { |
| case 'M': |
| case 'd': |
| case 'DDD': |
| case 'w': |
| case 'W': |
| return $number.'-й'; |
| case 'D': |
| return $number.'-го'; |
| default: |
| return $number; |
| } |
| }, |
| 'meridiem' => function ($hour) { |
| if ($hour < 4) { |
| return 'ночі'; |
| } |
| if ($hour < 12) { |
| return 'ранку'; |
| } |
| if ($hour < 17) { |
| return 'дня'; |
| } |
| |
| return 'вечора'; |
| }, |
| 'months' => ['січня', 'лютого', 'березня', 'квітня', 'травня', 'червня', 'липня', 'серпня', 'вересня', 'жовтня', 'листопада', 'грудня'], |
| 'months_standalone' => ['січень', 'лютий', 'березень', 'квітень', 'травень', 'червень', 'липень', 'серпень', 'вересень', 'жовтень', 'листопад', 'грудень'], |
| 'months_short' => ['січ', 'лют', 'бер', 'кві', 'тра', 'чер', 'лип', 'сер', 'вер', 'жов', 'лис', 'гру'], |
| 'months_regexp' => '/(D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|L{2,4}|l{2,4})/', |
| 'weekdays' => function (\Carbon\CarbonInterface $date, $format, $index) { |
| static $words = [ |
| 'nominative' => ['неділя', 'понеділок', 'вівторок', 'середа', 'четвер', 'п’ятниця', 'субота'], |
| 'accusative' => ['неділю', 'понеділок', 'вівторок', 'середу', 'четвер', 'п’ятницю', 'суботу'], |
| 'genitive' => ['неділі', 'понеділка', 'вівторка', 'середи', 'четверга', 'п’ятниці', 'суботи'], |
| ]; |
| |
| $nounCase = preg_match('/(\[(В|в|У|у)\])\s+dddd/', $format) |
| ? 'accusative' |
| : ( |
| preg_match('/\[?(?:минулої|наступної)?\s*\]\s+dddd/', $format) |
| ? 'genitive' |
| : 'nominative' |
| ); |
| |
| return $words[$nounCase][$index] ?? null; |
| }, |
| 'weekdays_short' => ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], |
| 'weekdays_min' => ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], |
| 'first_day_of_week' => 1, |
| 'day_of_first_week_of_year' => 1, |
| 'list' => [', ', ' i '], |
| ]; |