Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener Class Reference

Flattens message arrays for further processing. More...

Public Member Functions

 __construct (private readonly string $sep='.', private readonly bool $parseCLDRPlurals=false,)
 
 flatten (array $unflat)
 Flattens multidimensional array by using the path to the value as key with each individual key separated by a dot.
 
 flattenCLDRPlurals (array $messages)
 Flattens arrays that contain CLDR plural keywords into single values using MediaWiki's plural syntax.
 
 unflatten (array $flat)
 Performs the reverse operation of flatten.
 
 unflattenCLDRPlurals (string $key, string $message)
 Converts the plural syntax to array of CLDR style plurals.
 
 compareContent (?string $a, ?string $b)
 Compares two strings for equal content, taking PLURAL expansion into account.
 

Detailed Description

Flattens message arrays for further processing.

Supports parsing CLDR plural messages and converting them into MediaWiki's {{PLURAL}} syntax in a single message.

Author
Niklas Laxström
Erik Moeller @license GPL-2.0-or-later
Since
2016.01

Definition at line 19 of file ArrayFlattener.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::__construct ( private readonly string $sep = '.',
private readonly bool $parseCLDRPlurals = false )

Definition at line 30 of file ArrayFlattener.php.

Member Function Documentation

◆ compareContent()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::compareContent ( ?string $a,
?string $b )

Compares two strings for equal content, taking PLURAL expansion into account.

Definition at line 270 of file ArrayFlattener.php.

◆ flatten()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::flatten ( array $unflat)

Flattens multidimensional array by using the path to the value as key with each individual key separated by a dot.

Parameters
array$unflatArray of messages

Definition at line 41 of file ArrayFlattener.php.

◆ flattenCLDRPlurals()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::flattenCLDRPlurals ( array $messages)

Flattens arrays that contain CLDR plural keywords into single values using MediaWiki's plural syntax.

Returns
bool|string

Definition at line 78 of file ArrayFlattener.php.

◆ unflatten()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::unflatten ( array $flat)

Performs the reverse operation of flatten.

Each dot (or custom separator) in the key starts a new subarray in the final array.

Parameters
array$flatArray of messages

Definition at line 132 of file ArrayFlattener.php.

◆ unflattenCLDRPlurals()

MediaWiki\Extension\Translate\MessageProcessing\ArrayFlattener::unflattenCLDRPlurals ( string $key,
string $message )

Converts the plural syntax to array of CLDR style plurals.

Returns
bool|array

Definition at line 187 of file ArrayFlattener.php.


The documentation for this class was generated from the following file: