ar_TN.php
6 years ago
ca_ES.php
6 years ago
cs_CZ.php
6 years ago
da_DK.php
6 years ago
de_DE.php
6 years ago
en_GB.php
6 years ago
en_US.php
6 years ago
es_ES.php
6 years ago
fr_FR.php
6 years ago
hu_HU.php
6 years ago
id_ID.php
6 years ago
it_IT.php
6 years ago
ja_JP.php
6 years ago
ko_KR.php
6 years ago
lv_LV.php
6 years ago
nl_NL.php
6 years ago
no_NO.php
6 years ago
oc_LNC.php
6 years ago
pl_PL.php
6 years ago
pt_BR.php
6 years ago
pt_PT.php
6 years ago
ro_RO.php
6 years ago
ru_RU.php
6 years ago
se_SV.php
6 years ago
th_TH.php
6 years ago
tr_TR.php
6 years ago
uk_UA.php
6 years ago
vi_VN.php
6 years ago
zh_CN.php
6 years ago
zh_TW.php
6 years ago
uk_UA.php
124 lines
| 1 | <?php |
| 2 | |
| 3 | // locale: Українська (Ukrainian) (uk_UA) |
| 4 | // author: Mykola Pukhalskyi |
| 5 | |
| 6 | /** |
| 7 | * returns ending for plural form of word by number and array of variants (1, 4, 5) |
| 8 | * example variants for apples ['яблуко', 'яблука', 'яблук'] |
| 9 | */ |
| 10 | |
| 11 | /** |
| 12 | * @param int $number |
| 13 | * @param array $endingArray |
| 14 | * |
| 15 | * @return string |
| 16 | */ |
| 17 | $getNumEnding = function ($number, array $endingArray) |
| 18 | { |
| 19 | $number = $number % 100; |
| 20 | |
| 21 | if ($number >= 11 && $number <= 19) |
| 22 | { |
| 23 | return $endingArray[2]; |
| 24 | } |
| 25 | |
| 26 | $i = $number % 10; |
| 27 | |
| 28 | switch ($i) |
| 29 | { |
| 30 | case (1): |
| 31 | $ending = $endingArray[0]; |
| 32 | break; |
| 33 | case (2): |
| 34 | case (3): |
| 35 | case (4): |
| 36 | $ending = $endingArray[1]; |
| 37 | break; |
| 38 | default: |
| 39 | $ending = $endingArray[2]; |
| 40 | } |
| 41 | |
| 42 | return $ending; |
| 43 | }; |
| 44 | |
| 45 | return array( |
| 46 | 'months' => explode('_', 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'), |
| 47 | 'monthsNominative' => explode('_', 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'), |
| 48 | 'monthsShort' => explode('_', 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'), |
| 49 | 'weekdays' => explode('_', 'понеділок_вівторок_середа_четвер_п’ятниця_субота_неділя'), |
| 50 | 'weekdaysShort' => explode('_', 'пн_вт_ср_чт_пт_сб_нд'), |
| 51 | 'calendar' => array( |
| 52 | 'sameDay' => '[сьогодні]', |
| 53 | 'nextDay' => '[завтра]', |
| 54 | 'lastDay' => '[вчора]', // or "учора". |
| 55 | 'lastWeek' => 'l', |
| 56 | 'sameElse' => 'l', |
| 57 | 'withTime' => function (\Moment\Moment $number) |
| 58 | { |
| 59 | return $number->format('G') == 11 ? '[об] H:i' : '[о] H:i'; |
| 60 | }, |
| 61 | 'default' => 'd-m-Y', |
| 62 | ), |
| 63 | 'relativeTime' => array( |
| 64 | // 'future' => 'о %s', // or "об" |
| 65 | 'future' => function (\Moment\Moment $number) |
| 66 | { |
| 67 | return $number->format('G') == 11 ? 'об %s' : 'о %s'; |
| 68 | }, |
| 69 | 'past' => '%s тому', |
| 70 | 's' => 'кілька секунд', |
| 71 | 'ss' => 'кілька секунд', // needs review by native speaker see https://github.com/fightbulc/moment.php/issues/166 |
| 72 | 'm' => '� |
| 73 | вилину', |
| 74 | 'mm' => function ($number) use ($getNumEnding) |
| 75 | { |
| 76 | return $getNumEnding($number, array('%d � |
| 77 | вилину', '%d � |
| 78 | вилини', '%d � |
| 79 | вилин')); |
| 80 | }, |
| 81 | 'h' => 'година', |
| 82 | 'hh' => function ($number) use ($getNumEnding) |
| 83 | { |
| 84 | return $getNumEnding($number, array('%d годину', '%d години', '%d годин')); |
| 85 | }, |
| 86 | 'd' => 'день', |
| 87 | 'dd' => function ($number) use ($getNumEnding) |
| 88 | { |
| 89 | return $getNumEnding($number, array('%d день', '%d дні', '%d днів')); |
| 90 | }, |
| 91 | 'M' => 'місяць', |
| 92 | 'MM' => function ($number) use ($getNumEnding) |
| 93 | { |
| 94 | return $getNumEnding($number, array('%d місяць', '%d місяці', '%d місяців')); |
| 95 | }, |
| 96 | 'y' => 'рік', |
| 97 | 'yy' => function ($number) use ($getNumEnding) |
| 98 | { |
| 99 | return $getNumEnding($number, array('%d рік', '%d роки', '%d років')); |
| 100 | }, |
| 101 | ), |
| 102 | 'ordinal' => function ($number) |
| 103 | { |
| 104 | $n = $number % 100; |
| 105 | $k = $number % 10; |
| 106 | $ends = array('-ше', '-ге', '-тє', '-те', '-те', '-те', '-ме', '-ме', '-те', '-те'); |
| 107 | |
| 108 | if ($n >= 11 && $n <= 13) |
| 109 | { |
| 110 | return $number . '[th]'; |
| 111 | } |
| 112 | |
| 113 | if ($n != 13 && $k = 3) { |
| 114 | return $number . '[' . $ends[2] . ']'; |
| 115 | } |
| 116 | |
| 117 | return $number . '[' . $ends[$k] . ']'; |
| 118 | }, |
| 119 | 'week' => array( |
| 120 | 'dow' => 1, // Monday is the first day of the week. |
| 121 | 'doy' => 4 // The week that contains Jan 4th is the first week of the year. |
| 122 | ), |
| 123 | ); |
| 124 |