Changeset 57505
- Timestamp:
- 01/31/2024 09:49:08 PM (12 months ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/l10n/class-wp-translation-file.php
r57387 r57505 204 204 } 205 205 206 if ( isset( $this->entries[ $text ] ) ) { 207 return $this->entries[ $text ]; 208 } 209 210 /* 211 * Handle cases where a pluralized string is only used as a singular one. 212 * For example, when both __( 'Product' ) and _n( 'Product', 'Products' ) 213 * are used, the entry key will have the format "ProductNULProducts". 214 * Fall back to looking up just "Product" to support this edge case. 215 */ 216 foreach ( $this->entries as $key => $value ) { 217 if ( str_starts_with( $key, $text . "\0" ) ) { 218 $parts = explode( "\0", $value ); 219 return $parts[0]; 220 } 221 } 222 223 return false; 206 return $this->entries[ $text ] ?? false; 224 207 } 225 208 -
trunk/tests/phpunit/tests/l10n/wpTranslationsConvert.php
r57386 r57505 200 200 $this->assertSame( 'translation0 with context', $controller->translate_plural( array( 'plural0 with context', 'plural1 with context' ), 1, 'context', 'unittest' ) ); 201 201 $this->assertSame( 'translation1 with context', $controller->translate_plural( array( 'plural0 with context', 'plural1 with context' ), 2, 'context', 'unittest' ) ); 202 203 $this->assertSame( 'Produkt', $controller->translate( 'Product', '', 'unittest' ) );204 $this->assertSame( 'Produkt', $controller->translate_plural( array( 'Product', 'Products' ), 1, '', 'unittest' ) );205 $this->assertSame( 'Produkte', $controller->translate_plural( array( 'Product', 'Products' ), 2, '', 'unittest' ) );206 202 } 207 203
Note: See TracChangeset
for help on using the changeset viewer.