Commit 0b2bf2a1583 for woocommerce
commit 0b2bf2a15832dbe4fdf6c34cd713c18f2ae694cb
Author: Filipe Varela <keoshi@keoshi.com>
Date: Wed Sep 9 14:59:16 2026 +0100
Add translator context to the Orders list Status column (#67816)
* Give the Orders list "Status" column its own translator context
"Status" is currently one shared translatable string used for the Orders
list column, the WooCommerce > Status menu item, webhook status, stock
status and more - thirteen call sites, one entry in the .pot. Translators
get a single box and have to pick a word that works for all of them,
which several languages can't do. Japanese PTEs raised it on the issue:
in Japanese, the order column ends up showing the word for the system
status page.
Wrap the Orders list column in _x() with the "Order status" context
already used for order status values elsewhere in the codebase, so it
becomes its own entry. Same English, no visual change - translators just
get to translate it separately now.
Applied to both the HPOS and legacy posts list tables so the two storage
modes keep showing the same header.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Add changelog entry for Orders list status translator context
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
diff --git a/plugins/woocommerce/changelog/fix-45770-order-status-translator-context b/plugins/woocommerce/changelog/fix-45770-order-status-translator-context
new file mode 100644
index 00000000000..63dd8d5d3d3
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-45770-order-status-translator-context
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Add translator context to the Orders list table "Status" column so it can be translated independently of the unrelated "Status" strings elsewhere in the admin.
diff --git a/plugins/woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php b/plugins/woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php
index b39b130e5fb..bdfe49341fb 100644
--- a/plugins/woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php
+++ b/plugins/woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php
@@ -123,7 +123,7 @@ class WC_Admin_List_Table_Orders extends WC_Admin_List_Table {
$show_columns['cb'] = $columns['cb'];
$show_columns['order_number'] = __( 'Order', 'woocommerce' );
$show_columns['order_date'] = __( 'Date', 'woocommerce' );
- $show_columns['order_status'] = __( 'Status', 'woocommerce' );
+ $show_columns['order_status'] = _x( 'Status', 'Order status', 'woocommerce' );
$show_columns['billing_address'] = __( 'Billing', 'woocommerce' );
$show_columns['shipping_address'] = __( 'Ship to', 'woocommerce' );
$show_columns['order_total'] = __( 'Total', 'woocommerce' );
diff --git a/plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php b/plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
index 4dba6d82c86..547190b3dc4 100644
--- a/plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
+++ b/plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
@@ -1041,7 +1041,7 @@ class ListTable extends WP_List_Table {
'cb' => '<input type="checkbox" />',
'order_number' => esc_html__( 'Order', 'woocommerce' ),
'order_date' => esc_html__( 'Date', 'woocommerce' ),
- 'order_status' => esc_html__( 'Status', 'woocommerce' ),
+ 'order_status' => esc_html_x( 'Status', 'Order status', 'woocommerce' ),
'billing_address' => esc_html__( 'Billing', 'woocommerce' ),
'shipping_address' => esc_html__( 'Ship to', 'woocommerce' ),
'order_total' => esc_html__( 'Total', 'woocommerce' ),