Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
SpecificLanguageMessageLocalizer
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 msg
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3declare( strict_types = 1 );
4
5namespace EntitySchema\MediaWiki;
6
7use Message;
8use MessageLocalizer;
9
10/**
11 * @license GPL-2.0-or-later
12 */
13class SpecificLanguageMessageLocalizer implements MessageLocalizer {
14
15    private string $languageCode;
16
17    public function __construct( string $languageCode ) {
18        $this->languageCode = $languageCode;
19    }
20
21    public function msg( $key, ...$params ): Message {
22        $message = ( new Message( $key, [] ) )->inLanguage( $this->languageCode );
23
24        if ( $params ) {
25            // we use ->params() instead of the $params constructor parameter
26            // because ->params() supports some additional calling conventions,
27            // which our callers might also have used
28            $message->params( ...$params );
29        }
30
31        return $message;
32    }
33
34}