diff --git a/src/Settings/Pages/Advanced.php b/src/Settings/Pages/Advanced.php index 8f2ac914..0305ec18 100644 --- a/src/Settings/Pages/Advanced.php +++ b/src/Settings/Pages/Advanced.php @@ -4,6 +4,8 @@ use abrain\Einsatzverwaltung\PermalinkController; use abrain\Einsatzverwaltung\Utilities; use WP_Post; +use function esc_html; +use function esc_html__; /** * Settings page for advanced stuff @@ -12,14 +14,11 @@ */ class Advanced extends SubPage { - private $permalinkOptions = array( - PermalinkController::DEFAULT_REPORT_PERMALINK => array( - 'label' => 'Beitragstitel mit angehängtem Zähler (Standard)' - ), - '%post_id%-%postname_nosuffix%' => array( - 'label' => 'Beitragsnummer und Beitragstitel ohne angehängten Zähler' - ) - ); + /** + * @var array[] + */ + private $permalinkOptions; + /** * @var PermalinkController */ @@ -35,6 +34,15 @@ public function __construct(PermalinkController $permalinkController) parent::__construct('advanced', __('Advanced', 'einsatzverwaltung')); $this->permalinkController = $permalinkController; + $this->permalinkOptions = [ + PermalinkController::DEFAULT_REPORT_PERMALINK => [ + 'label' => __('Title with counter', 'einsatzverwaltung') + ], + '%post_id%-%postname_nosuffix%' => [ + 'label' => __('ID + title without counter', 'einsatzverwaltung') + ] + ]; + add_filter('pre_update_option_einsatzvw_rewrite_slug', array($this, 'maybeRewriteSlugChanged'), 10, 2); } @@ -42,28 +50,28 @@ public function addSettingsFields() { add_settings_field( 'einsatzvw_permalinks_base', - 'Basis', + __('Base', 'einsatzverwaltung'), array($this, 'echoFieldBase'), $this->settingsApiPage, 'einsatzvw_settings_permalinks' ); add_settings_field( 'einsatzvw_permalinks_struct', - 'URL-Struktur für Einsatzberichte', + __('URL structure for reports', 'einsatzverwaltung'), array($this, 'echoFieldUrlStructure'), $this->settingsApiPage, 'einsatzvw_settings_permalinks' ); add_settings_field( 'einsatzvw_advreport_corefeatures', - 'Beitragsfunktionen', + __('Post features', 'einsatzverwaltung'), array($this, 'echoFieldCoreFeatures'), $this->settingsApiPage, 'einsatzvw_settings_advreport' ); add_settings_field( 'einsatzvw_advreport_gutenberg', - 'Gutenberg', + __('Block editor', 'einsatzverwaltung'), array($this, 'echoFieldGutenberg'), $this->settingsApiPage, 'einsatzvw_settings_advreport' @@ -91,7 +99,10 @@ function () { ); echo '
'; } - echo 'Eine Änderung der Permalinkstruktur hat zur Folge, dass bisherige Links auf Einsatzberichte nicht mehr funktionieren. Dem solltest du als Seitenbetreiber mit Weiterleitungen entgegenwirken.
'; + printf( + "%s
", + esc_html__('Changing the permalink structure breaks existing links to reports and archives. In case you are setting up the plugin for the first time, this is not a problem. If you have been using the plugin for some time, you should redirect the broken URLs to the working ones.', 'einsatzverwaltung') + ); }, $this->settingsApiPage ); @@ -128,9 +139,18 @@ public function echoFieldBase() ); echo ''; printf( - 'Basis für Links zu Einsatzberichten, zum %s und zum %s.', - sprintf('%s', get_post_type_archive_link('einsatz'), 'Archiv'), - sprintf('%s', get_post_type_archive_feed_link('einsatz'), 'Feed') + /* translators: 1: archive, 2: feed */ + __('Base for links to single reports, the %s, and the %s.', 'einsatzverwaltung'), + sprintf( + '%s', + get_post_type_archive_link(\abrain\Einsatzverwaltung\Types\Report::getSlug()), + esc_html__('archive', 'einsatzverwaltung') + ), + sprintf( + '%s', + get_post_type_archive_feed_link(\abrain\Einsatzverwaltung\Types\Report::getSlug()), + esc_html__('feed', 'einsatzverwaltung') + ) ); echo '
'; } @@ -147,7 +167,10 @@ public function echoFieldCoreFeatures() 'einsatz_support_posttag', __('Tags', 'einsatzverwaltung') ); - echo 'Diese Funktionen, die du von Beiträgen kennst, können auch für Einsatzberichte aktiviert werden.
'; + printf( + '%s
', + __('You can activate these features of Posts also for Incident Reports.', 'einsatzverwaltung') + ); echo ''; } @@ -178,21 +201,13 @@ public function echoFieldUrlStructure() ); printf( __('By default, WordPress uses the post name to build the URL. To ensure uniqueness across posts, the post name can have a number appended if there are other posts with the same title (e.g. %1$s, %2$s, %3$s, ...).', 'einsatzverwaltung'), - $sampleSlug, - "$sampleSlug-2", - "$sampleSlug-3" + esc_html($sampleSlug), + esc_html("$sampleSlug-2"), + esc_html("$sampleSlug-3") ); echo ''; } - /** - * @inheritDoc - */ - public function echoStaticContent() - { - echo 'Die erweiterten Einstellungen können weitreichende Konsequenzen haben und sollten entsprechend nicht leichtfertig geändert werden.
'; - } - /** * @param WP_Post $post * @param string $permalinkStructure