Skip to content

Commit

Permalink
Fix #2240 fix Occitan ordinal rule (#2241)
Browse files Browse the repository at this point in the history
Fix #2240
  • Loading branch information
kylekatarnls committed Nov 28, 2020
1 parent 2183278 commit d046377
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 35 deletions.
19 changes: 8 additions & 11 deletions src/Carbon/Lang/oc.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,14 @@
'weekdays_short' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'],
'weekdays_min' => ['dg', 'dl', 'dm', 'dc', 'dj', 'dv', 'ds'],
'ordinal' => function ($number, $period) {
return $number.(
($period === 'w' || $period === 'W') ? 'a' : (
($number === 1) ? 'r' : (
($number === 2) ? 'n' : (
($number === 3) ? 'r' : (
($number === 4) ? 't' : 'è'
)
)
)
)
);
$ordinal = [1 => 'èr', 2 => 'nd'][(int) $number] ?? 'en';

// feminine for year, week, hour, minute, second
if (preg_match('/^[yYwWhHgGis]$/', $period)) {
$ordinal .= 'a';
}

return $number.$ordinal;
},
'first_day_of_week' => 1,
'day_of_first_week_of_year' => 4,
Expand Down
24 changes: 12 additions & 12 deletions tests/Localization/OcFrTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,27 +75,27 @@ class OcFrTest extends LocalizationTestCase
// Carbon::parse('2018-01-07 00:00:00')->subDays(2)->calendar(Carbon::parse('2018-01-07 00:00:00'))
'divendres passat a 0:00',
// Carbon::parse('2018-01-01 00:00:00')->isoFormat('Qo Mo Do Wo wo')
'1r 1r 1r 1a 1a',
'1èr 1èr 1èr 1èra 1èra',
// Carbon::parse('2018-01-02 00:00:00')->isoFormat('Do wo')
'2n 1a',
'2nd 1èra',
// Carbon::parse('2018-01-03 00:00:00')->isoFormat('Do wo')
'3r 1a',
'3en 1èra',
// Carbon::parse('2018-01-04 00:00:00')->isoFormat('Do wo')
'4t 1a',
'4en 1èra',
// Carbon::parse('2018-01-05 00:00:00')->isoFormat('Do wo')
'5è 1a',
'5en 1èra',
// Carbon::parse('2018-01-06 00:00:00')->isoFormat('Do wo')
'6è 1a',
'6en 1èra',
// Carbon::parse('2018-01-07 00:00:00')->isoFormat('Do wo')
'7è 1a',
'7en 1èra',
// Carbon::parse('2018-01-11 00:00:00')->isoFormat('Do wo')
'11è 2a',
'11en 2nda',
// Carbon::parse('2018-02-09 00:00:00')->isoFormat('DDDo')
'40è',
'40en',
// Carbon::parse('2018-02-10 00:00:00')->isoFormat('DDDo')
'41è',
'41en',
// Carbon::parse('2018-04-10 00:00:00')->isoFormat('DDDo')
'100è',
'100en',
// Carbon::parse('2018-02-10 00:00:00', 'Europe/Paris')->isoFormat('h:mm a z')
'12:00 am CET',
// Carbon::parse('2018-02-10 00:00:00')->isoFormat('h:mm A, h:mm a')
Expand All @@ -117,7 +117,7 @@ class OcFrTest extends LocalizationTestCase
// Carbon::parse('2018-02-10 23:00:00')->isoFormat('h:mm A, h:mm a')
'11:00 PM, 11:00 pm',
// Carbon::parse('2018-01-01 00:00:00')->ordinal('hour')
'',
'0en',
// Carbon::now()->subSeconds(1)->diffForHumans()
'fa 1 segonda',
// Carbon::now()->subSeconds(1)->diffForHumans(null, false, true)
Expand Down
24 changes: 12 additions & 12 deletions tests/Localization/OcTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,27 +75,27 @@ class OcTest extends LocalizationTestCase
// Carbon::parse('2018-01-07 00:00:00')->subDays(2)->calendar(Carbon::parse('2018-01-07 00:00:00'))
'divendres passat a 0:00',
// Carbon::parse('2018-01-01 00:00:00')->isoFormat('Qo Mo Do Wo wo')
'1r 1r 1r 1a 1a',
'1èr 1èr 1èr 1èra 1èra',
// Carbon::parse('2018-01-02 00:00:00')->isoFormat('Do wo')
'2n 1a',
'2nd 1èra',
// Carbon::parse('2018-01-03 00:00:00')->isoFormat('Do wo')
'3r 1a',
'3en 1èra',
// Carbon::parse('2018-01-04 00:00:00')->isoFormat('Do wo')
'4t 1a',
'4en 1èra',
// Carbon::parse('2018-01-05 00:00:00')->isoFormat('Do wo')
'5è 1a',
'5en 1èra',
// Carbon::parse('2018-01-06 00:00:00')->isoFormat('Do wo')
'6è 1a',
'6en 1èra',
// Carbon::parse('2018-01-07 00:00:00')->isoFormat('Do wo')
'7è 1a',
'7en 1èra',
// Carbon::parse('2018-01-11 00:00:00')->isoFormat('Do wo')
'11è 2a',
'11en 2nda',
// Carbon::parse('2018-02-09 00:00:00')->isoFormat('DDDo')
'40è',
'40en',
// Carbon::parse('2018-02-10 00:00:00')->isoFormat('DDDo')
'41è',
'41en',
// Carbon::parse('2018-04-10 00:00:00')->isoFormat('DDDo')
'100è',
'100en',
// Carbon::parse('2018-02-10 00:00:00', 'Europe/Paris')->isoFormat('h:mm a z')
'12:00 am CET',
// Carbon::parse('2018-02-10 00:00:00')->isoFormat('h:mm A, h:mm a')
Expand All @@ -117,7 +117,7 @@ class OcTest extends LocalizationTestCase
// Carbon::parse('2018-02-10 23:00:00')->isoFormat('h:mm A, h:mm a')
'11:00 PM, 11:00 pm',
// Carbon::parse('2018-01-01 00:00:00')->ordinal('hour')
'',
'0en',
// Carbon::now()->subSeconds(1)->diffForHumans()
'fa 1 segonda',
// Carbon::now()->subSeconds(1)->diffForHumans(null, false, true)
Expand Down

0 comments on commit d046377

Please sign in to comment.