Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor german language pack #45

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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',

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lorisleiva technically this is correct. Does php translate the var correctly like this or is the space required for different reasons?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your help Mark! Yes, PHP is happy with this as it's just a simple find and replace for the substring :variable.

'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
Loading