Skip to content
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed

### Fixed
- **Bulgarian status labels no longer mix singular and plural** — the campaign queue showed a single campaign as "Завършена" (feminine singular) next to "Отменени" (plural), because one string served both the status badge of a single item and the filter links that count many. Status, type and subscriber labels that describe a single row now use context-qualified strings (`_x()`), so Bulgarian can render campaign badges as feminine singular ("Завършена", "Отменена", "Насрочена"), email badges as masculine singular ("Изпратен", "Неуспешен", "Отменен") and the filter links as plural ("Завършени", "Отменени", "Насрочени"). German keeps its existing wording, and the date columns "Sent"/"Opened"/"Scheduled" now read as column headers ("Изпратен на", "Gesendet am") instead of as filter labels.

### Security

Expand Down
4 changes: 2 additions & 2 deletions admin/partials/dashboard.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,15 +160,15 @@
<h3><?php esc_html_e( 'Cron status', 'mail-system' ); ?></h3>
<?php if ( $next_cron ) : ?>
<div class="mskd-stat-info">
<span class="mskd-cron-active"><?php esc_html_e( 'Active', 'mail-system' ); ?></span>
<span class="mskd-cron-active"><?php echo esc_html( _x( 'Active', 'cron status', 'mail-system' ) ); ?></span>
<?php
/* translators: %s: next cron scheduled time */
printf( esc_html__( 'Next run: %s', 'mail-system' ), '<p>' . esc_html( date_i18n( 'd.m.Y H:i:s', $next_cron ) ) . '</p>' );
?>
</div>
<?php else : ?>
<div class="mskd-stat-info">
<span class="mskd-cron-inactive"><?php esc_html_e( 'Inactive', 'mail-system' ); ?></span>
<span class="mskd-cron-inactive"><?php echo esc_html( _x( 'Inactive', 'cron status', 'mail-system' ) ); ?></span>
</div>
<?php endif; ?>
<p class="description">
Expand Down
24 changes: 12 additions & 12 deletions admin/partials/queue-detail.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,16 +169,16 @@
<span class="mskd-status mskd-status-<?php echo esc_attr( $campaign->status ); ?>">
<?php
$statuses = array(
'pending' => __( 'Pending', 'mail-system' ),
'processing' => __( 'Processing', 'mail-system' ),
'completed' => __( 'Completed', 'mail-system' ),
'cancelled' => __( 'Cancelled', 'mail-system' ),
'pending' => _x( 'Pending', 'campaign status', 'mail-system' ),
'processing' => _x( 'Processing', 'campaign status', 'mail-system' ),
'completed' => _x( 'Completed', 'campaign status', 'mail-system' ),
'cancelled' => _x( 'Cancelled', 'campaign status', 'mail-system' ),
);
echo esc_html( $statuses[ $campaign->status ] ?? $campaign->status );
?>
</span>
<?php if ( $campaign->type === 'one_time' ) : ?>
<span class="mskd-badge mskd-badge-onetime"><?php _e( 'One-time', 'mail-system' ); ?></span>
<span class="mskd-badge mskd-badge-onetime"><?php echo esc_html( _x( 'One-time', 'campaign type', 'mail-system' ) ); ?></span>
<?php else : ?>
<span class="mskd-badge mskd-badge-campaign"><?php _e( 'Campaign', 'mail-system' ); ?></span>
<?php endif; ?>
Expand Down Expand Up @@ -413,8 +413,8 @@ class="<?php echo $status_filter === 'cancelled' ? 'current' : ''; ?>">
<th scope="col"><?php _e( 'Recipient', 'mail-system' ); ?></th>
<th scope="col" style="width: 100px;"><?php _e( 'Status', 'mail-system' ); ?></th>
<th scope="col" style="width: 80px;"><?php _e( 'Attempts', 'mail-system' ); ?></th>
<th scope="col" style="width: 140px;"><?php _e( 'Sent', 'mail-system' ); ?></th>
<th scope="col" style="width: 160px;"><?php _e( 'Opened', 'mail-system' ); ?></th>
<th scope="col" style="width: 140px;"><?php echo esc_html( _x( 'Sent', 'table column header', 'mail-system' ) ); ?></th>
<th scope="col" style="width: 160px;"><?php echo esc_html( _x( 'Opened', 'table column header', 'mail-system' ) ); ?></th>
<th scope="col" style="width: 180px;"><?php _e( 'Clicks', 'mail-system' ); ?></th>
<th scope="col"><?php _e( 'Error', 'mail-system' ); ?></th>
<th scope="col" style="width: 80px;"><?php _e( 'Actions', 'mail-system' ); ?></th>
Expand Down Expand Up @@ -456,11 +456,11 @@ class="<?php echo $status_filter === 'cancelled' ? 'current' : ''; ?>">
<span class="mskd-status mskd-status-<?php echo esc_attr( $item->status ); ?>">
<?php
$item_statuses = array(
'pending' => __( 'Pending', 'mail-system' ),
'processing' => __( 'Processing', 'mail-system' ),
'sent' => __( 'Sent', 'mail-system' ),
'failed' => __( 'Failed', 'mail-system' ),
'cancelled' => __( 'Cancelled', 'mail-system' ),
'pending' => _x( 'Pending', 'email status', 'mail-system' ),
'processing' => _x( 'Processing', 'email status', 'mail-system' ),
'sent' => _x( 'Sent', 'email status', 'mail-system' ),
'failed' => _x( 'Failed', 'email status', 'mail-system' ),
'cancelled' => _x( 'Cancelled', 'email status', 'mail-system' ),
);
echo esc_html( $item_statuses[ $item->status ] ?? $item->status );
?>
Expand Down
16 changes: 8 additions & 8 deletions admin/partials/queue-legacy.php
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ class="<?php echo $status_filter === 'cancelled' ? 'current' : ''; ?>">
<th scope="col" class="mskd-col-subject"><?php esc_html_e( 'Subject', 'mail-system' ); ?></th>
<th scope="col" style="width: 100px;"><?php esc_html_e( 'Status', 'mail-system' ); ?></th>
<th scope="col" style="width: 80px;"><?php esc_html_e( 'Attempts', 'mail-system' ); ?></th>
<th scope="col"><?php esc_html_e( 'Scheduled', 'mail-system' ); ?></th>
<th scope="col"><?php esc_html_e( 'Sent', 'mail-system' ); ?></th>
<th scope="col"><?php echo esc_html( _x( 'Scheduled', 'table column header', 'mail-system' ) ); ?></th>
<th scope="col"><?php echo esc_html( _x( 'Sent', 'table column header', 'mail-system' ) ); ?></th>
<th scope="col" style="width: 100px;"><?php esc_html_e( 'Actions', 'mail-system' ); ?></th>
</tr>
</thead>
Expand Down Expand Up @@ -167,17 +167,17 @@ class="<?php echo $status_filter === 'cancelled' ? 'current' : ''; ?>">
<span class="mskd-status mskd-status-<?php echo esc_attr( $item->status ); ?>">
<?php
$statuses = array(
'pending' => __( 'Pending', 'mail-system' ),
'processing' => __( 'Processing', 'mail-system' ),
'sent' => __( 'Sent', 'mail-system' ),
'failed' => __( 'Failed', 'mail-system' ),
'cancelled' => __( 'Cancelled', 'mail-system' ),
'pending' => _x( 'Pending', 'email status', 'mail-system' ),
'processing' => _x( 'Processing', 'email status', 'mail-system' ),
'sent' => _x( 'Sent', 'email status', 'mail-system' ),
'failed' => _x( 'Failed', 'email status', 'mail-system' ),
'cancelled' => _x( 'Cancelled', 'email status', 'mail-system' ),
);
echo esc_html( $statuses[ $item->status ] ?? $item->status );
?>
</span>
<?php if ( $is_future_scheduled && $item->status === 'pending' ) : ?>
<br><small class="mskd-scheduled-badge"><?php esc_html_e( 'Scheduled', 'mail-system' ); ?></small>
<br><small class="mskd-scheduled-badge"><?php echo esc_html( _x( 'Scheduled', 'email status', 'mail-system' ) ); ?></small>
<?php endif; ?>
<?php if ( $item->status === 'failed' && $item->error_message ) : ?>
<br><small class="mskd-error-msg"><?php echo esc_html( $item->error_message ); ?></small>
Expand Down
12 changes: 6 additions & 6 deletions admin/partials/queue.php
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ class="<?php echo $type_filter === 'campaign' ? 'current' : ''; ?>">
</td>
<td>
<?php if ( $campaign->type === 'one_time' ) : ?>
<span class="mskd-badge mskd-badge-onetime"><?php esc_html_e( 'One-time', 'mail-system' ); ?></span>
<span class="mskd-badge mskd-badge-onetime"><?php echo esc_html( _x( 'One-time', 'campaign type', 'mail-system' ) ); ?></span>
<?php else : ?>
<span class="mskd-badge mskd-badge-campaign"><?php esc_html_e( 'Campaign', 'mail-system' ); ?></span>
<?php endif; ?>
Expand Down Expand Up @@ -337,16 +337,16 @@ class="<?php echo $type_filter === 'campaign' ? 'current' : ''; ?>">
<span class="mskd-status mskd-status-<?php echo esc_attr( $campaign->status ); ?>">
<?php
$statuses = array(
'pending' => __( 'Pending', 'mail-system' ),
'processing' => __( 'Processing', 'mail-system' ),
'completed' => __( 'Completed', 'mail-system' ),
'cancelled' => __( 'Cancelled', 'mail-system' ),
'pending' => _x( 'Pending', 'campaign status', 'mail-system' ),
'processing' => _x( 'Processing', 'campaign status', 'mail-system' ),
'completed' => _x( 'Completed', 'campaign status', 'mail-system' ),
'cancelled' => _x( 'Cancelled', 'campaign status', 'mail-system' ),
);
echo esc_html( $statuses[ $campaign->status ] ?? $campaign->status );
?>
</span>
<?php if ( $is_future_scheduled && $campaign->status === 'pending' ) : ?>
<br><small class="mskd-scheduled-badge"><?php esc_html_e( 'Scheduled', 'mail-system' ); ?></small>
<br><small class="mskd-scheduled-badge"><?php echo esc_html( _x( 'Scheduled', 'campaign status', 'mail-system' ) ); ?></small>
<?php endif; ?>
</td>
<td>
Expand Down
12 changes: 6 additions & 6 deletions admin/partials/subscribers.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,13 +105,13 @@
<td>
<select name="status" id="status">
<option value="active" <?php selected( $subscriber ? $subscriber->status : 'active', 'active' ); ?>>
<?php esc_html_e( 'Active', 'mail-system' ); ?>
<?php echo esc_html( _x( 'Active', 'subscriber status', 'mail-system' ) ); ?>
</option>
<option value="inactive" <?php selected( $subscriber ? $subscriber->status : '', 'inactive' ); ?>>
<?php esc_html_e( 'Inactive', 'mail-system' ); ?>
<?php echo esc_html( _x( 'Inactive', 'subscriber status', 'mail-system' ) ); ?>
</option>
<option value="unsubscribed" <?php selected( $subscriber ? $subscriber->status : '', 'unsubscribed' ); ?>>
<?php esc_html_e( 'Unsubscribed', 'mail-system' ); ?>
<?php echo esc_html( _x( 'Unsubscribed', 'subscriber status', 'mail-system' ) ); ?>
</option>
</select>
</td>
Expand Down Expand Up @@ -386,9 +386,9 @@ class="<?php echo 'unsubscribed' === $status_filter ? 'current' : ''; ?>">
<span class="mskd-status mskd-status-<?php echo esc_attr( $sub->status ); ?>">
<?php
$statuses = array(
'active' => esc_html__( 'Active', 'mail-system' ),
'inactive' => esc_html__( 'Inactive', 'mail-system' ),
'unsubscribed' => esc_html__( 'Unsubscribed', 'mail-system' ),
'active' => _x( 'Active', 'subscriber status', 'mail-system' ),
'inactive' => _x( 'Inactive', 'subscriber status', 'mail-system' ),
'unsubscribed' => _x( 'Unsubscribed', 'subscriber status', 'mail-system' ),
);
echo esc_html( $statuses[ $sub->status ] ?? $sub->status );
?>
Expand Down
4 changes: 2 additions & 2 deletions includes/Admin/class-admin-assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ private function get_localized_strings(): array {
'copy_error' => __( 'Copy failed', 'mail-system' ),
'no_subscribers_selected' => __( 'No subscribers selected.', 'mail-system' ),
'no_lists_selected' => __( 'No lists selected.', 'mail-system' ),
'status_active' => __( 'Active', 'mail-system' ),
'status_inactive' => __( 'Inactive', 'mail-system' ),
'status_active' => _x( 'Active', 'subscriber status', 'mail-system' ),
'status_inactive' => _x( 'Inactive', 'subscriber status', 'mail-system' ),
);
}
}
Binary file modified languages/mail-system-bg_BG.mo
Binary file not shown.
112 changes: 106 additions & 6 deletions languages/mail-system-bg_BG.po
Original file line number Diff line number Diff line change
Expand Up @@ -327,15 +327,15 @@ msgstr "Cron статус"

#: admin/partials/dashboard.php
msgid "Active"
msgstr "Активен"
msgstr "Активни"

#: admin/partials/dashboard.php
msgid "Next run: %s"
msgstr "Следващо изпълнение: %s"

#: admin/partials/dashboard.php
msgid "Inactive"
msgstr "Неактивен"
msgstr "Неактивни"

#: admin/partials/dashboard.php
msgid "Sending: %d emails/min"
Expand Down Expand Up @@ -367,7 +367,7 @@ msgstr "Статус"

#: admin/partials/subscribers.php
msgid "Unsubscribed"
msgstr "Отписан"
msgstr "Отписани"

#: admin/partials/subscribers.php
msgid "No lists created."
Expand Down Expand Up @@ -546,11 +546,11 @@ msgstr "%d имейла/мин"

#: admin/partials/queue.php
msgid "Scheduled"
msgstr "Насрочен"
msgstr "Насрочени"

#: admin/partials/queue.php
msgid "Pending"
msgstr "Чакащ"
msgstr "Чакащи"

#: admin/partials/queue.php
msgid "Processing"
Expand Down Expand Up @@ -1154,7 +1154,7 @@ msgstr ""

#: admin/partials/queue.php
msgid "Completed"
msgstr "Завършена"
msgstr "Завършени"

#: admin/partials/queue.php
msgid "Campaigns"
Expand Down Expand Up @@ -2994,3 +2994,103 @@ msgstr "Достъпът за запис изисква обхват за чет
#: admin/partials/api-access.php:74
msgid "e.g. Newsletter scheduler"
msgstr "напр. Планировчик на бюлетини"

#: admin/partials/queue.php, admin/partials/queue-detail.php
msgctxt "campaign status"
msgid "Pending"
msgstr "Чакаща"

#: admin/partials/queue.php, admin/partials/queue-detail.php
msgctxt "campaign status"
msgid "Processing"
msgstr "В процес"

#: admin/partials/queue.php, admin/partials/queue-detail.php
msgctxt "campaign status"
msgid "Completed"
msgstr "Завършена"

#: admin/partials/queue.php, admin/partials/queue-detail.php
msgctxt "campaign status"
msgid "Cancelled"
msgstr "Отменена"

#: admin/partials/queue.php
msgctxt "campaign status"
msgid "Scheduled"
msgstr "Насрочена"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Pending"
msgstr "Чакащ"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Processing"
msgstr "В процес"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Sent"
msgstr "Изпратен"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Failed"
msgstr "Неуспешен"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Cancelled"
msgstr "Отменен"

#: admin/partials/queue-legacy.php
msgctxt "email status"
msgid "Scheduled"
msgstr "Насрочен"

#: admin/partials/queue.php, admin/partials/queue-detail.php
msgctxt "campaign type"
msgid "One-time"
msgstr "Еднократна"

#: admin/partials/queue-detail.php, admin/partials/queue-legacy.php
msgctxt "table column header"
msgid "Sent"
msgstr "Изпратен на"

#: admin/partials/queue-detail.php
msgctxt "table column header"
msgid "Opened"
msgstr "Отворен на"

#: admin/partials/queue-legacy.php
msgctxt "table column header"
msgid "Scheduled"
msgstr "Насрочен за"

#: admin/partials/subscribers.php, includes/Admin/class-admin-assets.php
msgctxt "subscriber status"
msgid "Active"
msgstr "Активен"

#: admin/partials/subscribers.php, includes/Admin/class-admin-assets.php
msgctxt "subscriber status"
msgid "Inactive"
msgstr "Неактивен"

#: admin/partials/subscribers.php
msgctxt "subscriber status"
msgid "Unsubscribed"
msgstr "Отписан"

#: admin/partials/dashboard.php
msgctxt "cron status"
msgid "Active"
msgstr "Активен"

#: admin/partials/dashboard.php
msgctxt "cron status"
msgid "Inactive"
msgstr "Неактивен"
Binary file modified languages/mail-system-de_DE.mo
Binary file not shown.
Loading
Loading