Skip to content

Commit

Permalink
Refactor german language pack (#45)
Browse files Browse the repository at this point in the history
  • Loading branch information
brainformatik authored Feb 2, 2024
1 parent 7ce50d8 commit 3c7d8e3
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 66 deletions.
14 changes: 7 additions & 7 deletions src/lang/de/fields.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
return [
'minutes' => [
'every' => 'jede Minute',
'increment' => 'jede :increment Minute',
'increment' => 'alle :increment Minuten',
'times_per_increment' => ':times mal alle :increment Minuten',
'multiple' => ':times mal pro Stunde',
],
'hours' => [
'every' => 'jede Stunde',
'once_an_hour' => 'ein mal pro Stunde',
'increment' => 'jede :increment Stunde',
'once_an_hour' => 'einmal pro Stunde',
'increment' => 'alle :increment Stunden',
'multiple_per_increment' => ':count Stunden aus :increment',
'times_per_increment' => ':times mal alle :increment Stunden',
'times_per_increment' => ':timesmal alle :increment Stunden',
'increment_chained' => 'alle :increment Stunden',
'multiple_per_day' => ':count Stunden pro Tag',
'times_per_day' => ':times mal am Tag',
'once_at_time' => 'um :time',
'once_at_time' => 'um :time Uhr',
],
'days_of_month' => [
'every' => 'jeden Tag',
Expand All @@ -33,7 +33,7 @@
'multiple_per_increment' => ':count Monate von :increment',
'multiple_per_year' => ':count Monate im Jahr',
'once_on_month' => 'im :month',
'once_on_day' => 'im :month den :day',
'once_on_day' => 'am :day :month',
],
'days_of_week' => [
'every' => 'jeden :weekday',
Expand All @@ -42,7 +42,7 @@
'multiple_days_a_week' => ':count Tage in der Woche',
#'once_on_day' => 'jeden :days',
#'once_on_day' => 'am :days',
'once_on_day' => 'des :days',
'once_on_day' => 'an jedem :day',
],
'years' => [
'every' => 'jedes Jahr',
Expand Down
118 changes: 59 additions & 59 deletions tests/CronTranslatorDETest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,51 +9,51 @@ public function it_translates_expressions_to_german_with_alle_and_once(): void
{
// All 32 (2^5) combinations of alle/Once.
$this->assertCronTranslateToDE('Jede Minute', '* * * * *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags', '* * * * 0');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag', '* * * * 0');
$this->assertCronTranslateToDE('Jede Minute im Januar', '* * * 1 *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags im Januar', '* * * 1 0');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag im Januar', '* * * 1 0');
$this->assertCronTranslateToDE('Jede Minute am 1. eines jeden Monats', '* * 1 * *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags am 1. eines jeden Monats', '* * 1 * 0');
$this->assertCronTranslateToDE('Jede Minute im Januar den 1.', '* * 1 1 *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags im Januar den 1.', '* * 1 1 0');
$this->assertCronTranslateToDE('Jede Minute um 0:00', '* 0 * * *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags um 0:00', '* 0 * * 0');
$this->assertCronTranslateToDE('Jede Minute im Januar um 0:00', '* 0 * 1 *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags im Januar um 0:00', '* 0 * 1 0');
$this->assertCronTranslateToDE('Jede Minute am 1. eines jeden Monats um 0:00', '* 0 1 * *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags am 1. eines jeden Monats um 0:00', '* 0 1 * 0');
$this->assertCronTranslateToDE('Jede Minute im Januar den 1. um 0:00', '* 0 1 1 *');
$this->assertCronTranslateToDE('Jede Minute des Sonntags im Januar den 1. um 0:00', '* 0 1 1 0');
$this->assertCronTranslateToDE('Ein mal pro Stunde', '0 * * * *');
$this->assertCronTranslateToDE('Ein mal pro Stunde des Sonntags', '0 * * * 0');
$this->assertCronTranslateToDE('Ein mal pro Stunde im Januar', '0 * * 1 *');
$this->assertCronTranslateToDE('Ein mal pro Stunde des Sonntags im Januar', '0 * * 1 0');
$this->assertCronTranslateToDE('Ein mal pro Stunde am 1. eines jeden Monats', '0 * 1 * *');
$this->assertCronTranslateToDE('Ein mal pro Stunde des Sonntags am 1. eines jeden Monats', '0 * 1 * 0');
$this->assertCronTranslateToDE('Ein mal pro Stunde im Januar den 1.', '0 * 1 1 *');
$this->assertCronTranslateToDE('Ein mal pro Stunde des Sonntags im Januar den 1.', '0 * 1 1 0');
$this->assertCronTranslateToDE('Jeden Tag um 0:00', '0 0 * * *');
$this->assertCronTranslateToDE('Jeden Sonntag um 0:00', '0 0 * * 0');
$this->assertCronTranslateToDE('Jeden Tag im Januar um 0:00', '0 0 * 1 *');
$this->assertCronTranslateToDE('Jeden Sonntag im Januar um 0:00', '0 0 * 1 0');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00', '0 0 1 * *');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats des Sonntags um 0:00', '0 0 1 * 0');
$this->assertCronTranslateToDE('Jedes Jahr im Januar den 1. um 0:00', '0 0 1 1 *');
// TODO 'Des Sonntags'
$this->assertCronTranslateToDE('Des Sonntags im Januar den 1. um 0:00', '0 0 1 1 0');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag am 1. eines jeden Monats', '* * 1 * 0');
$this->assertCronTranslateToDE('Jede Minute am 1. Januar', '* * 1 1 *');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag am 1. Januar', '* * 1 1 0');
$this->assertCronTranslateToDE('Jede Minute um 0:00 Uhr', '* 0 * * *');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag um 0:00 Uhr', '* 0 * * 0');
$this->assertCronTranslateToDE('Jede Minute im Januar um 0:00 Uhr', '* 0 * 1 *');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag im Januar um 0:00 Uhr', '* 0 * 1 0');
$this->assertCronTranslateToDE('Jede Minute am 1. eines jeden Monats um 0:00 Uhr', '* 0 1 * *');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag am 1. eines jeden Monats um 0:00 Uhr', '* 0 1 * 0');
$this->assertCronTranslateToDE('Jede Minute am 1. Januar um 0:00 Uhr', '* 0 1 1 *');
$this->assertCronTranslateToDE('Jede Minute an jedem Sonntag am 1. Januar um 0:00 Uhr', '* 0 1 1 0');
$this->assertCronTranslateToDE('Einmal pro Stunde', '0 * * * *');
$this->assertCronTranslateToDE('Einmal pro Stunde an jedem Sonntag', '0 * * * 0');
$this->assertCronTranslateToDE('Einmal pro Stunde im Januar', '0 * * 1 *');
$this->assertCronTranslateToDE('Einmal pro Stunde an jedem Sonntag im Januar', '0 * * 1 0');
$this->assertCronTranslateToDE('Einmal pro Stunde am 1. eines jeden Monats', '0 * 1 * *');
$this->assertCronTranslateToDE('Einmal pro Stunde an jedem Sonntag am 1. eines jeden Monats', '0 * 1 * 0');
$this->assertCronTranslateToDE('Einmal pro Stunde am 1. Januar', '0 * 1 1 *');
$this->assertCronTranslateToDE('Einmal pro Stunde an jedem Sonntag am 1. Januar', '0 * 1 1 0');
$this->assertCronTranslateToDE('Jeden Tag um 0:00 Uhr', '0 0 * * *');
$this->assertCronTranslateToDE('Jeden Sonntag um 0:00 Uhr', '0 0 * * 0');
$this->assertCronTranslateToDE('Jeden Tag im Januar um 0:00 Uhr', '0 0 * 1 *');
$this->assertCronTranslateToDE('Jeden Sonntag im Januar um 0:00 Uhr', '0 0 * 1 0');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00 Uhr', '0 0 1 * *');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats an jedem Sonntag um 0:00 Uhr', '0 0 1 * 0');
$this->assertCronTranslateToDE('Jedes Jahr am 1. Januar um 0:00 Uhr', '0 0 1 1 *');
// TODO 'an jedem Sonntag'
$this->assertCronTranslateToDE('An jedem Sonntag am 1. Januar um 0:00 Uhr', '0 0 1 1 0');

// More realistic examples.
$this->assertCronTranslateToDE('Jedes Jahr im Januar den 1. um 12:00', '0 12 1 1 *');
$this->assertCronTranslateToDE('Jede Minute des Montags um 15:00', '* 15 * * 1');
$this->assertCronTranslateToDE('Jede Minute im Januar den 3.', '* * 3 1 *');
$this->assertCronTranslateToDE('Jede Minute des Montags im April', '* * * 4 1');
// TODO "Des Montags"
$this->assertCronTranslateToDE('Des Montags im April den 22. um 15:10', '10 15 22 4 1');
$this->assertCronTranslateToDE('Jeden Tag um 22:00', '0 22 * * *');
$this->assertCronTranslateToDE('Jeden Tag um 9:00', '0 9 * * *');
$this->assertCronTranslateToDE('Jeden Montag um 16:00', '0 16 * * 1');
$this->assertCronTranslateToDE('Jedes Jahr im Januar den 1. um 0:00', '0 0 1 1 *');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00', '0 0 1 * *');
$this->assertCronTranslateToDE('Jedes Jahr am 1. Januar um 12:00 Uhr', '0 12 1 1 *');
$this->assertCronTranslateToDE('Jede Minute an jedem Montag um 15:00 Uhr', '* 15 * * 1');
$this->assertCronTranslateToDE('Jede Minute am 3. Januar', '* * 3 1 *');
$this->assertCronTranslateToDE('Jede Minute an jedem Montag im April', '* * * 4 1');
// TODO "an jedem Montag"
$this->assertCronTranslateToDE('An jedem Montag am 22. April um 15:10 Uhr', '10 15 22 4 1');
$this->assertCronTranslateToDE('Jeden Tag um 22:00 Uhr', '0 22 * * *');
$this->assertCronTranslateToDE('Jeden Tag um 9:00 Uhr', '0 9 * * *');
$this->assertCronTranslateToDE('Jeden Montag um 16:00 Uhr', '0 16 * * 1');
$this->assertCronTranslateToDE('Jedes Jahr am 1. Januar um 0:00 Uhr', '0 0 1 1 *');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00 Uhr', '0 0 1 * *');
}

/** @test */
Expand All @@ -66,26 +66,26 @@ public function it_translate_expressions_to_german_with_multiple(): void
$this->assertCronTranslateToDE('Zwei mal pro Stunde 5 Stunden pro Tag', '0,30 1-5 * * *');
$this->assertCronTranslateToDE('5 mal am Tag', '0 1-5 * * *');
$this->assertCronTranslateToDE('Jede Minute 5 Stunden pro Tag', '* 1-5 * * *');
$this->assertCronTranslateToDE('5 Tage im Monat um 1:00', '0 1 1-5 * *');
$this->assertCronTranslateToDE('5 Tage im Monat 2 Monate im Jahr um 1:00', '0 1 1-5 5,6 *');
$this->assertCronTranslateToDE('2 Monate im Jahr am 5. um 1:00', '0 1 5 5,6 *');
$this->assertCronTranslateToDE('Jeden 5. eines jeden Monats 4 Tage in der Woche um 1:00', '0 1 5 * 1-4');
$this->assertCronTranslateToDE('5 Tage im Monat um 1:00 Uhr', '0 1 1-5 * *');
$this->assertCronTranslateToDE('5 Tage im Monat 2 Monate im Jahr um 1:00 Uhr', '0 1 1-5 5,6 *');
$this->assertCronTranslateToDE('2 Monate im Jahr am 5. um 1:00 Uhr', '0 1 5 5,6 *');
$this->assertCronTranslateToDE('Jeden 5. eines jeden Monats 4 Tage in der Woche um 1:00 Uhr', '0 1 5 * 1-4');
}

/** @test */
public function it_translate_expressions_to_german_with_increment(): void
{
$this->assertCronTranslateToDE('Jede 2 Minute', '*/2 * * * *');
$this->assertCronTranslateToDE('Jede 2 Minute', '1/2 * * * *');
$this->assertCronTranslateToDE('Alle 2 Minuten', '*/2 * * * *');
$this->assertCronTranslateToDE('Alle 2 Minuten', '1/2 * * * *');
$this->assertCronTranslateToDE('Zwei mal alle 4 Minuten', '1,3/4 * * * *');
$this->assertCronTranslateToDE('3 mal alle 5 Minuten', '1-3/5 * * * *');
$this->assertCronTranslateToDE('Jede 2 Minute um 14:00', '*/2 14 * * *');
$this->assertCronTranslateToDE('Ein mal pro Stunde alle 2 Tage', '0 * */2 * *');
$this->assertCronTranslateToDE('Alle 2 Minuten um 14:00 Uhr', '*/2 14 * * *');
$this->assertCronTranslateToDE('Einmal pro Stunde alle 2 Tage', '0 * */2 * *');
$this->assertCronTranslateToDE('Jede Minute alle 2 Tage', '* * */2 * *');
$this->assertCronTranslateToDE('Ein mal alle 2 Stunden', '0 */2 * * *');
$this->assertCronTranslateToDE('Zwei mal alle 5 Stunden', '0 1,2/5 * * *');
$this->assertCronTranslateToDE('Einmal alle 2 Stunden', '0 */2 * * *');
$this->assertCronTranslateToDE('Zweimal alle 5 Stunden', '0 1,2/5 * * *');
$this->assertCronTranslateToDE('Jede Minute 2 Stunden aus 5', '* 1,2/5 * * *');
$this->assertCronTranslateToDE('Jeden Tag alle 4 Monate um 0:00', '0 0 * */4 *');
$this->assertCronTranslateToDE('Jeden Tag alle 4 Monate um 0:00 Uhr', '0 0 * */4 *');
}

/** @test */
Expand All @@ -98,19 +98,19 @@ public function it_adds_junctions_to_certain_combinations_of_cron_types_in_germa
/** @test */
public function it_converts_ranges_of_one_into_once_cron_types_in_german(): void
{
$this->assertCronTranslateToDE('Jede Minute um 8:00', '* 8-8 * * *');
$this->assertCronTranslateToDE('Jede Minute um 8:00 Uhr', '* 8-8 * * *');
$this->assertCronTranslateToDE('Jede Minute im Januar', '* * * 1-1 *');
}

/** @test */
public function it_handles_extended_cron_syntax_in_german(): void
{
$this->assertCronTranslateToDE('Ein mal pro Stunde', '@hourly');
$this->assertCronTranslateToDE('Jeden Tag um 0:00', '@daily');
$this->assertCronTranslateToDE('Jeden Sonntag um 0:00', '@weekly');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00', '@monthly');
$this->assertCronTranslateToDE('Jedes Jahr im Januar den 1. um 0:00', '@yearly');
$this->assertCronTranslateToDE('Jedes Jahr im Januar den 1. um 0:00', '@annually');
$this->assertCronTranslateToDE('Einmal pro Stunde', '@hourly');
$this->assertCronTranslateToDE('Jeden Tag um 0:00 Uhr', '@daily');
$this->assertCronTranslateToDE('Jeden Sonntag um 0:00 Uhr', '@weekly');
$this->assertCronTranslateToDE('Jeden 1. eines jeden Monats um 0:00 Uhr', '@monthly');
$this->assertCronTranslateToDE('Jedes Jahr am 1. Januar um 0:00 Uhr', '@yearly');
$this->assertCronTranslateToDE('Jedes Jahr am 1. Januar um 0:00 Uhr', '@annually');
}

// TODO: missing test 'days_of_week' => 'multiple_per_increment'.
Expand Down

0 comments on commit 3c7d8e3

Please sign in to comment.