Commit 4693c05994b for woocommerce
commit 4693c05994bcf07c88c1a9d6353e4df82e438acc
Author: Brian <brian@brianhaas.li>
Date: Fri May 22 15:14:26 2026 +0200
dont let browsers auto-translate currency (#62037)
* dont let browsers auto-translate currency
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* add translate no for woo blocks component
* add translate no to product editor component
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce
* add translate no to mini cart price section
* add translate no to mini cart block types
* Add parsed_block to render_product_collection_callback
Fix bug because $parsed_block is out of scope inside function
* Update PHP unit tests to expect translate="no" on currency symbol spans
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* add minicart translate no
* add translate="no"
* add translate no
* Use block instead of parsed_block variable
* Add changelog
* Update PHPStan
* Fix wrong priority in check
* Update PHPStan (II)
* Fix another broken expression
* add translate no
* add translate no
* add translate no
* delete wrong patch
* Remove unrelated changes - update from trunk
* Update product-price snapshots for translate="no" attribute
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Co-authored-by: woocommercebot <woocommercebot@users.noreply.github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Lovro Hrust <33687174+Lovor01@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
diff --git a/packages/js/product-editor/changelog/62037-patch-1 b/packages/js/product-editor/changelog/62037-patch-1
new file mode 100644
index 00000000000..7b0a71ec117
--- /dev/null
+++ b/packages/js/product-editor/changelog/62037-patch-1
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Add global HTML translate attribute to currency so it doesn't get auto translated
\ No newline at end of file
diff --git a/packages/js/product-editor/src/components/formatted-price/formatted-price.tsx b/packages/js/product-editor/src/components/formatted-price/formatted-price.tsx
index ad72a041872..167ca6930d2 100644
--- a/packages/js/product-editor/src/components/formatted-price/formatted-price.tsx
+++ b/packages/js/product-editor/src/components/formatted-price/formatted-price.tsx
@@ -29,7 +29,7 @@ export function FormattedPrice( {
) }
>
{ product.on_sale && (
- <span>
+ <span translate="no">
{ product.sale_price
? formatAmount( product.sale_price )
: formatAmount( product.price ) }
@@ -38,6 +38,7 @@ export function FormattedPrice( {
{ product.regular_price && (
<span
+ translate="no"
className={ clsx( {
'woocommerce-product-formatted-price--on-sale':
product.on_sale,
diff --git a/plugins/woocommerce/changelog/62037-patch-1 b/plugins/woocommerce/changelog/62037-patch-1
new file mode 100644
index 00000000000..7b0a71ec117
--- /dev/null
+++ b/plugins/woocommerce/changelog/62037-patch-1
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Add global HTML translate attribute to currency so it doesn't get auto translated
\ No newline at end of file
diff --git a/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/index.tsx b/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/index.tsx
index 873997f97e1..52b29487d8e 100644
--- a/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/index.tsx
+++ b/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/index.tsx
@@ -144,6 +144,7 @@ const SalePrice = ( {
regularPriceClassName
) }
style={ regularPriceStyle }
+ translate="no"
>
{ value }
</del>
@@ -163,6 +164,7 @@ const SalePrice = ( {
priceClassName
) }
style={ priceStyle }
+ translate="no"
>
{ value }
</ins>
diff --git a/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/test/__snapshots__/index.js.snap b/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/test/__snapshots__/index.js.snap
index 291a2a0beb1..27d4a1312fa 100644
--- a/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/test/__snapshots__/index.js.snap
+++ b/plugins/woocommerce/client/blocks/assets/js/base/components/product-price/test/__snapshots__/index.js.snap
@@ -12,6 +12,7 @@ exports[`ProductPrice should apply the format if one is provided 1`] = `
</span>
<del
className="wc-block-components-product-price__regular"
+ translate="no"
>
£1.00
</del>
@@ -22,6 +23,7 @@ exports[`ProductPrice should apply the format if one is provided 1`] = `
</span>
<ins
className="wc-block-components-product-price__value is-discounted"
+ translate="no"
>
£0.50
</ins>
@@ -40,6 +42,7 @@ exports[`ProductPrice should use default price if no format is provided 1`] = `
</span>
<del
className="wc-block-components-product-price__regular"
+ translate="no"
>
£1.00
</del>
@@ -50,6 +53,7 @@ exports[`ProductPrice should use default price if no format is provided 1`] = `
</span>
<ins
className="wc-block-components-product-price__value is-discounted"
+ translate="no"
>
£0.50
</ins>
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/mini-cart/block.tsx b/plugins/woocommerce/client/blocks/assets/js/blocks/mini-cart/block.tsx
index af6f9f5d687..247751754e3 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/mini-cart/block.tsx
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/mini-cart/block.tsx
@@ -268,6 +268,7 @@ const MiniCartBlock = ( attributes: Props ): JSX.Element => {
/>
{ ! hasHiddenPrice && (
<span
+ translate="no"
className="wc-block-mini-cart__amount"
style={ { color: priceColor.color } }
>
diff --git a/plugins/woocommerce/client/blocks/assets/js/previews/product-response-items.ts b/plugins/woocommerce/client/blocks/assets/js/previews/product-response-items.ts
index 0b5c2e32605..bc26e038944 100644
--- a/plugins/woocommerce/client/blocks/assets/js/previews/product-response-items.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/previews/product-response-items.ts
@@ -20,7 +20,7 @@ export const previewProductResponseItems: ProductResponseItem[] = [
'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
price: '799',
price_html:
- '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',
+ '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.99</span>',
images: [
{
id: 1,
diff --git a/plugins/woocommerce/client/blocks/assets/js/previews/products.js b/plugins/woocommerce/client/blocks/assets/js/previews/products.js
index 33989919b9e..41e602c934c 100644
--- a/plugins/woocommerce/client/blocks/assets/js/previews/products.js
+++ b/plugins/woocommerce/client/blocks/assets/js/previews/products.js
@@ -21,7 +21,7 @@ export const previewProducts = [
'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
price: '7.99',
price_html:
- '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7.99</span>',
+ '<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.99</span>',
images: [
{
id: 1,
diff --git a/plugins/woocommerce/client/blocks/packages/components/formatted-monetary-amount/index.tsx b/plugins/woocommerce/client/blocks/packages/components/formatted-monetary-amount/index.tsx
index 38bb761d8a3..18026b63148 100644
--- a/plugins/woocommerce/client/blocks/packages/components/formatted-monetary-amount/index.tsx
+++ b/plugins/woocommerce/client/blocks/packages/components/formatted-monetary-amount/index.tsx
@@ -121,6 +121,7 @@ const FormattedMonetaryAmount = ( {
<NumberFormat
className={ classes }
displayType={ displayType }
+ translate="no"
{ ...numberFormatProps }
value={ priceValue }
onValueChange={ onValueChangeWrapper }
diff --git a/plugins/woocommerce/includes/wc-formatting-functions.php b/plugins/woocommerce/includes/wc-formatting-functions.php
index e85a77ac706..da84e79affd 100644
--- a/plugins/woocommerce/includes/wc-formatting-functions.php
+++ b/plugins/woocommerce/includes/wc-formatting-functions.php
@@ -643,7 +643,7 @@ function wc_price( $price, $args = array() ) {
}
if ( $args['in_span'] ) {
- $formatted_price = ( $negative ? '-' : '' ) . sprintf( $args['price_format'], '<span class="woocommerce-Price-currencySymbol">' . get_woocommerce_currency_symbol( $args['currency'] ) . '</span>', $price );
+ $formatted_price = ( $negative ? '-' : '' ) . sprintf( $args['price_format'], '<span class="woocommerce-Price-currencySymbol" translate="no">' . get_woocommerce_currency_symbol( $args['currency'] ) . '</span>', $price );
$aria_hidden = $args['aria-hidden'] ? ' aria-hidden="true"' : '';
$return = '<span class="woocommerce-Price-amount amount"' . $aria_hidden . '><bdi>' . $formatted_price . '</bdi></span>';
} else {
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCart.php b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCart.php
index b883b0ac402..86c94d2f104 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCart.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCart.php
@@ -638,7 +638,7 @@ class MiniCart extends AbstractBlock {
<?php endif; ?>
</span>
<?php if ( $cart_always_shows_price ) : ?>
- <span data-wp-text="state.formattedSubtotal" class="wc-block-mini-cart__amount" style="<?php echo 'color:' . esc_attr( $price_color ); ?>">
+ <span data-wp-text="state.formattedSubtotal" class="wc-block-mini-cart__amount" translate="no" style="<?php echo 'color:' . esc_attr( $price_color ); ?>">
</span>
<?php if ( ! empty( $this->tax_label ) ) : ?>
<small
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartFooterBlock.php b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartFooterBlock.php
index 81dbe387c51..f04e706d224 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartFooterBlock.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartFooterBlock.php
@@ -75,7 +75,7 @@ class MiniCartFooterBlock extends AbstractInnerBlock {
<span class="wc-block-components-totals-item__label">
<?php echo esc_html( $subtotal_label ); ?>
</span>
- <span data-wp-text="woocommerce/mini-cart::state.formattedSubtotal" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value">
+ <span data-wp-text="woocommerce/mini-cart::state.formattedSubtotal" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-totals-item__value notranslate">
</span>
<div class="wc-block-components-totals-item__description">
<?php echo esc_html( $other_costs_label ); ?>
diff --git a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartProductsTableBlock.php b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartProductsTableBlock.php
index 09c2a19a24f..c8f6bef2d72 100644
--- a/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartProductsTableBlock.php
+++ b/plugins/woocommerce/src/Blocks/BlockTypes/MiniCartProductsTableBlock.php
@@ -133,7 +133,7 @@ class MiniCartProductsTableBlock extends AbstractInnerBlock {
data-wp-bind--srcset="state.itemSrcset"
data-wp-bind--sizes="state.itemSizes"
data-wp-on--error="actions.hideImage"
- >
+ >
</a>
</td>
<td class="wc-block-cart-item__product">
@@ -149,16 +149,16 @@ class MiniCartProductsTableBlock extends AbstractInnerBlock {
<span class="screen-reader-text">
<?php esc_html_e( 'Previous price:', 'woocommerce' ); ?>
</span>
- <del data-wp-text="state.priceWithoutDiscount" class="wc-block-components-product-price__regular"></del>
+ <del data-wp-text="state.priceWithoutDiscount" class="wc-block-components-product-price__regular notranslate" translate="no"></del>
<span class="screen-reader-text">
<?php esc_html_e( 'Discounted price:', 'woocommerce' ); ?>
</span>
- <ins data-wp-text="state.itemPrice" class="wc-block-components-product-price__value is-discounted"></ins>
+ <ins data-wp-text="state.itemPrice" class="wc-block-components-product-price__value is-discounted notranslate" translate="no"></ins>
<span data-wp-text="state.afterItemPrice"></span>
</span>
<span data-wp-bind--hidden="state.cartItemHasDiscount" class="price wc-block-components-product-price">
<span data-wp-text="state.beforeItemPrice"></span>
- <span data-wp-text="state.itemPrice" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value">
+ <span data-wp-text="state.itemPrice" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value notranslate" translate="no">
</span>
<span data-wp-text="state.afterItemPrice"></span>
</span>
@@ -167,35 +167,35 @@ class MiniCartProductsTableBlock extends AbstractInnerBlock {
<div data-wp-watch="callbacks.itemShortDescription" >
<div class="wc-block-components-product-metadata__description"></div>
</div>
- <?php echo $this->render_product_details_markup( 'item_data' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
- <?php echo $this->render_product_details_markup( 'variation' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
+ <?php echo $this->render_product_details_markup( 'item_data' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
+ <?php echo $this->render_product_details_markup( 'variation' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<div class="wc-block-cart-item__quantity">
<div class="wc-block-components-quantity-selector" data-wp-bind--hidden="state.cartItem.sold_individually">
- <input
+ <input
data-wp-on--input="actions.overrideInvalidQuantity"
- data-wp-on--change="actions.changeQuantity"
- data-wp-bind--aria-label="state.quantityDescriptionLabel"
- data-wp-bind--min="state.cartItem.quantity_limits.minimum"
+ data-wp-on--change="actions.changeQuantity"
+ data-wp-bind--aria-label="state.quantityDescriptionLabel"
+ data-wp-bind--min="state.cartItem.quantity_limits.minimum"
data-wp-bind--max="state.cartItem.quantity_limits.maximum"
data-wp-bind--value="state.cartItem.quantity"
data-wp-bind--readonly="!state.cartItem.quantity_limits.editable"
- class="wc-block-components-quantity-selector__input"
- type="number"
+ class="wc-block-components-quantity-selector__input"
+ type="number"
step="1"
>
- <button
- data-wp-bind--disabled="state.minimumReached"
- data-wp-on--click="actions.decrementQuantity"
+ <button
+ data-wp-bind--disabled="state.minimumReached"
+ data-wp-on--click="actions.decrementQuantity"
data-wp-bind--aria-label="state.reduceQuantityLabel"
data-wp-bind--hidden="!state.cartItem.quantity_limits.editable"
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--minus"
>
−
</button>
- <button
- data-wp-bind--disabled="state.maximumReached"
- data-wp-on--click="actions.incrementQuantity"
+ <button
+ data-wp-bind--disabled="state.maximumReached"
+ data-wp-on--click="actions.incrementQuantity"
data-wp-bind--aria-label="state.increaseQuantityLabel"
data-wp-bind--hidden="!state.cartItem.quantity_limits.editable"
class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
@@ -219,11 +219,11 @@ class MiniCartProductsTableBlock extends AbstractInnerBlock {
<td class="wc-block-cart-item__total">
<div class="wc-block-cart-item__total-price-and-sale-badge-wrapper">
<span class="price wc-block-components-product-price">
- <span data-wp-text="state.lineItemTotal" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value">
- </span>
+ <span data-wp-text="state.lineItemTotal" class="wc-block-formatted-money-amount wc-block-components-formatted-money-amount wc-block-components-product-price__value notranslate" translate="no">
+ </span>
</span>
- <div
- data-wp-bind--hidden="!state.cartItemHasDiscount"
+ <div
+ data-wp-bind--hidden="!state.cartItemHasDiscount"
class="wc-block-components-product-badge wc-block-components-sale-badge"
>
<?php
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/cart/cart.php b/plugins/woocommerce/tests/legacy/unit-tests/cart/cart.php
index 68febd8926b..b1ff8083453 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/cart/cart.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/cart/cart.php
@@ -1087,7 +1087,7 @@ class WC_Tests_Cart extends WC_Unit_Test_Case {
WC()->cart->add_to_cart( $product2->get_id(), 1 );
WC()->cart->calculate_totals();
- $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">€</span>68,50</bdi></span>';
+ $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">€</span>68,50</bdi></span>';
$this->assertEquals( $expected_price, WC()->cart->get_total() );
$this->assertEquals( '12.36', wc_round_tax_total( WC()->cart->get_total_tax( 'edit' ) ) );
@@ -1096,7 +1096,7 @@ class WC_Tests_Cart extends WC_Unit_Test_Case {
WC()->cart->add_to_cart( $product4->get_id(), 1 );
WC()->cart->calculate_totals();
- $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">€</span>112,00</bdi></span>';
+ $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">€</span>112,00</bdi></span>';
$this->assertEquals( $expected_price, WC()->cart->get_total() );
$this->assertEquals( '20.19', wc_round_tax_total( WC()->cart->get_total_tax( 'edit' ) ) );
@@ -1107,7 +1107,7 @@ class WC_Tests_Cart extends WC_Unit_Test_Case {
WC()->cart->add_to_cart( $product6->get_id(), 1 );
WC()->cart->calculate_totals();
- $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">€</span>239,00</bdi></span>';
+ $expected_price = '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">€</span>239,00</bdi></span>';
$this->assertEquals( $expected_price, WC()->cart->get_total() );
$this->assertEquals( '43.09', wc_round_tax_total( WC()->cart->get_total_tax( 'edit' ) ) );
}
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/formatting/functions.php b/plugins/woocommerce/tests/legacy/unit-tests/formatting/functions.php
index 5f5a822038a..1593ff747a1 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/formatting/functions.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/formatting/functions.php
@@ -611,35 +611,35 @@ class WC_Tests_Formatting_Functions extends WC_Unit_Test_Case {
*/
public function test_wc_price() {
// Common prices.
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1.00</bdi></span>', wc_price( 1 ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1.10</bdi></span>', wc_price( 1.1 ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1.17</bdi></span>', wc_price( 1.17 ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1,111.17</bdi></span>', wc_price( 1111.17 ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>0.00</bdi></span>', wc_price( 0 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.00</bdi></span>', wc_price( 1 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.10</bdi></span>', wc_price( 1.1 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.17</bdi></span>', wc_price( 1.17 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1,111.17</bdi></span>', wc_price( 1111.17 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.00</bdi></span>', wc_price( 0 ) );
// Different currency.
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">£</span>1,111.17</bdi></span>', wc_price( 1111.17, array( 'currency' => 'GBP' ) ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">£</span>1,111.17</bdi></span>', wc_price( 1111.17, array( 'currency' => 'GBP' ) ) );
// Negative price.
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi>-<span class="woocommerce-Price-currencySymbol">$</span>1.17</bdi></span>', wc_price( -1.17 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi>-<span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.17</bdi></span>', wc_price( -1.17 ) );
// Aria hidden option.
- $this->assertEquals( '<span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi>-<span class="woocommerce-Price-currencySymbol">$</span>1.17</bdi></span>', wc_price( -1.17, array( 'aria-hidden' => true ) ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi>-<span class="woocommerce-Price-currencySymbol" translate="no">$</span>1.17</bdi></span>', wc_price( -1.17, array( 'aria-hidden' => true ) ) );
// Bogus prices.
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>0.00</bdi></span>', wc_price( null ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>0.00</bdi></span>', wc_price( 'Q' ) );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>0.00</bdi></span>', wc_price( 'ಠ_ಠ' ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.00</bdi></span>', wc_price( null ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.00</bdi></span>', wc_price( 'Q' ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>0.00</bdi></span>', wc_price( 'ಠ_ಠ' ) );
// Trim zeros.
add_filter( 'woocommerce_price_trim_zeros', '__return_true' );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1</bdi></span>', wc_price( 1.00 ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1</bdi></span>', wc_price( 1.00 ) );
remove_filter( 'woocommerce_price_trim_zeros', '__return_true' );
// Ex tax label.
$calc_taxes = get_option( 'woocommerce_calc_taxes' );
update_option( 'woocommerce_calc_taxes', 'yes' );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>1,111.17</bdi></span> <small class="woocommerce-Price-taxLabel tax_label">(ex. tax)</small>', wc_price( '1111.17', array( 'ex_tax_label' => true ) ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>1,111.17</bdi></span> <small class="woocommerce-Price-taxLabel tax_label">(ex. tax)</small>', wc_price( '1111.17', array( 'ex_tax_label' => true ) ) );
update_option( 'woocommerce_calc_taxes', $calc_taxes );
}
@@ -953,7 +953,7 @@ class WC_Tests_Formatting_Functions extends WC_Unit_Test_Case {
* @since 3.3.0
*/
public function test_wc_format_sale_price() {
- $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>10.00</bdi></span></del> <span class="screen-reader-text">Original price was: $10.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>5.00</bdi></span></ins><span class="screen-reader-text">Current price is: $5.00.</span>', wc_format_sale_price( '10', '5' ) );
+ $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>10.00</bdi></span></del> <span class="screen-reader-text">Original price was: $10.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>5.00</bdi></span></ins><span class="screen-reader-text">Current price is: $5.00.</span>', wc_format_sale_price( '10', '5' ) );
}
/**
@@ -962,7 +962,7 @@ class WC_Tests_Formatting_Functions extends WC_Unit_Test_Case {
* @since 3.3.0
*/
public function test_wc_format_price_range() {
- $this->assertEquals( '<span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi><span class="woocommerce-Price-currencySymbol">$</span>10.00</bdi></span> <span aria-hidden="true">–</span> <span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi><span class="woocommerce-Price-currencySymbol">$</span>5.00</bdi></span><span class="screen-reader-text">Price range: $10.00 through $5.00</span>', wc_format_price_range( '10', '5' ) );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>10.00</bdi></span> <span aria-hidden="true">–</span> <span class="woocommerce-Price-amount amount" aria-hidden="true"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>5.00</bdi></span><span class="screen-reader-text">Price range: $10.00 through $5.00</span>', wc_format_price_range( '10', '5' ) );
}
/**
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/order/class-wc-tests-crud-orders.php b/plugins/woocommerce/tests/legacy/unit-tests/order/class-wc-tests-crud-orders.php
index 463bc7e99bc..6cfde5c21b0 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/order/class-wc-tests-crud-orders.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/order/class-wc-tests-crud-orders.php
@@ -1037,7 +1037,7 @@ class WC_Tests_CRUD_Orders extends WC_Unit_Test_Case {
$object = new WC_Order();
$object->set_total( 100 );
$object->set_currency( 'USD' );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>100.00</bdi></span>', $object->get_formatted_order_total() );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>100.00</bdi></span>', $object->get_formatted_order_total() );
}
/**
diff --git a/plugins/woocommerce/tests/legacy/unit-tests/product/data.php b/plugins/woocommerce/tests/legacy/unit-tests/product/data.php
index df7b8bbe881..7a97b21bd82 100644
--- a/plugins/woocommerce/tests/legacy/unit-tests/product/data.php
+++ b/plugins/woocommerce/tests/legacy/unit-tests/product/data.php
@@ -265,15 +265,15 @@ class WC_Tests_Product_Data extends WC_Unit_Test_Case {
$product = wc_get_product( $product1_id );
$this->assertEquals( $product1_id, $product->get_id() );
- $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>10.00</bdi></span></del> <span class="screen-reader-text">Original price was: $10.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>7.00</bdi></span></ins><span class="screen-reader-text">Current price is: $7.00.</span>', $product->get_price_html() );
+ $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>10.00</bdi></span></del> <span class="screen-reader-text">Original price was: $10.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>7.00</bdi></span></ins><span class="screen-reader-text">Current price is: $7.00.</span>', $product->get_price_html() );
$product = wc_get_product( $product2_id );
$this->assertEquals( $product2_id, $product->get_id() );
- $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>20.00</bdi></span></del> <span class="screen-reader-text">Original price was: $20.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>16.00</bdi></span></ins><span class="screen-reader-text">Current price is: $16.00.</span>', $product->get_price_html() );
+ $this->assertEquals( '<del aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>20.00</bdi></span></del> <span class="screen-reader-text">Original price was: $20.00.</span><ins aria-hidden="true"><span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>16.00</bdi></span></ins><span class="screen-reader-text">Current price is: $16.00.</span>', $product->get_price_html() );
$product = wc_get_product( $product3_id );
$this->assertEquals( $product3_id, $product->get_id() );
- $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>50.00</bdi></span>', $product->get_price_html() );
+ $this->assertEquals( '<span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol" translate="no">$</span>50.00</bdi></span>', $product->get_price_html() );
}
/**