Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
GrammarGa
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
132
0.00% covered (danger)
0.00%
0 / 1
 process
0.00% covered (danger)
0.00%
0 / 26
0.00% covered (danger)
0.00%
0 / 1
132
1<?php
2/**
3 * @license GPL-2.0-or-later
4 * @file
5 */
6
7namespace Wikimedia\Leximorph\Handler\Overrides\Grammar;
8
9use Wikimedia\Leximorph\Handler\Overrides\IGrammarTransformer;
10
11/**
12 * GrammarGa
13 *
14 * Implements grammar transformations for Irish (ga).
15 *
16 * These rules don't cover the whole grammar of the language.
17 * This logic was originally taken from MediaWiki Core.
18 * Thanks to all contributors.
19 *
20 * @since     1.45
21 * @author    Doğu Abaris (abaris@null.net)
22 * @license   https://www.gnu.org/copyleft/gpl.html GPL-2.0-or-later
23 */
24class GrammarGa implements IGrammarTransformer {
25    /**
26     * Applies Irish-specific grammatical transformations.
27     *
28     * @param string $word The word to process.
29     * @param string $case The grammatical case.
30     *
31     * @since 1.45
32     * @return string The processed word.
33     */
34    public function process( string $word, string $case ): string {
35        switch ( $case ) {
36            case 'ainmlae':
37                switch ( $word ) {
38                    case 'an Domhnach':
39                        $word = 'Dé Domhnaigh';
40                        break;
41                    case 'an Luan':
42                        $word = 'Dé Luain';
43                        break;
44                    case 'an Mháirt':
45                        $word = 'Dé Mháirt';
46                        break;
47                    case 'an Chéadaoin':
48                        $word = 'Dé Chéadaoin';
49                        break;
50                    case 'an Déardaoin':
51                        $word = 'Déardaoin';
52                        break;
53                    case 'an Aoine':
54                        $word = 'Dé hAoine';
55                        break;
56                    case 'an Satharn':
57                        $word = 'Dé Sathairn';
58                        break;
59                    default:
60                        break;
61                }
62                break;
63
64            default:
65                break;
66        }
67
68        return $word;
69    }
70}