wppaste
WordPress

WP_Translations

Since
6.5.0
Source
wp-includes/l10n/class-wp-translations.php:18
Class WP_Translations.

Compatibility

WordPress
since 6.5.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Properties · 2

$textdomainstringprotected
Text domain.
$controllerWP_Translation_Controllerprotected
Translation controller instance.

Methods · 5

Source code

class WP_Translations {	/**	 * Text domain.	 *	 * @since 6.5.0	 * @var string	 */	protected $textdomain = 'default'; 	/**	 * Translation controller instance.	 *	 * @since 6.5.0	 * @var WP_Translation_Controller	 */	protected $controller; 	/**	 * Constructor.	 *	 * @since 6.5.0	 *	 * @param WP_Translation_Controller $controller I18N controller.	 * @param string                    $textdomain Optional. Text domain. Default 'default'.	 */	public function __construct( WP_Translation_Controller $controller, string $textdomain = 'default' ) {		$this->controller = $controller;		$this->textdomain = $textdomain;	} 	/**	 * Magic getter for backward compatibility.	 *	 * @since 6.5.0	 *	 * @param string $name Property name.	 * @return mixed	 */	public function __get( string $name ) {		if ( 'entries' === $name ) {			$entries = $this->controller->get_entries( $this->textdomain ); 			$result = array(); 			foreach ( $entries as $original => $translations ) {				$result[] = $this->make_entry( $original, $translations );			} 			return $result;		} 		if ( 'headers' === $name ) {			return $this->controller->get_headers( $this->textdomain );		} 		return null;	} 	/**	 * Builds a Translation_Entry from original string and translation strings.	 *	 * @see MO::make_entry()	 *	 * @since 6.5.0	 *	 * @param string $original     Original string to translate from MO file. Might contain	 *                             0x04 as context separator or 0x00 as singular/plural separator.	 * @param string $translations Translation strings from MO file.	 * @return Translation_Entry Entry instance.	 */	private function make_entry( $original, $translations ): Translation_Entry {		$entry = new Translation_Entry(); 		// Look for context, separated by \4.		$parts = explode( "\4", $original );		if ( isset( $parts[1] ) ) {			$original       = $parts[1];			$entry->context = $parts[0];		}

Changelog

Introduced in 6.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/l10n/class-wp-translations.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.