MediaWiki  master
LanguageLa.php
Go to the documentation of this file.
1 <?php
29 class LanguageLa extends Language {
43  function convertGrammar( $word, $case ) {
44  global $wgGrammarForms;
45  if ( isset( $wgGrammarForms['la'][$case][$word] ) ) {
46  return $wgGrammarForms['la'][$case][$word];
47  }
48 
49  switch ( $case ) {
50  case 'genitive':
51  // only a few declensions, and even for those mostly the singular only
52  $in = [
53  '/u[ms]$/', # 2nd declension singular
54  '/ommunia$/', # 3rd declension neuter plural (partly)
55  '/a$/', # 1st declension singular
56  '/libri$/', '/nuntii$/', '/datae$/', # 2nd declension plural (partly)
57  '/tio$/', '/ns$/', '/as$/', # 3rd declension singular (partly)
58  '/es$/' # 5th declension singular
59  ];
60  $out = [
61  'i',
62  'ommunium',
63  'ae',
64  'librorum', 'nuntiorum', 'datorum',
65  'tionis', 'ntis', 'atis',
66  'ei'
67  ];
68  return preg_replace( $in, $out, $word );
69  case 'accusative':
70  // only a few declensions, and even for those mostly the singular only
71  $in = [
72  '/u[ms]$/', # 2nd declension singular
73  '/a$/', # 1st declension singular
74  '/ommuniam$/', # 3rd declension neuter plural (partly)
75  '/libri$/', '/nuntii$/', '/datam$/', # 2nd declension plural (partly)
76  '/tio$/', '/ns$/', '/as$/', # 3rd declension singular (partly)
77  '/es$/' # 5th declension singular
78  ];
79  $out = [
80  'um',
81  'am',
82  'ommunia',
83  'libros', 'nuntios', 'data',
84  'tionem', 'ntem', 'atem',
85  'em'
86  ];
87  return preg_replace( $in, $out, $word );
88  case 'ablative':
89  // only a few declensions, and even for those mostly the singular only
90  $in = [
91  '/u[ms]$/', # 2nd declension singular
92  '/ommunia$/', # 3rd declension neuter plural (partly)
93  '/a$/', # 1st declension singular
94  '/libri$/', '/nuntii$/', '/data$/', # 2nd declension plural (partly)
95  '/tio$/', '/ns$/', '/as$/', # 3rd declension singular (partly)
96  '/es$/' # 5th declension singular
97  ];
98  $out = [
99  'o',
100  'ommunibus',
101  'a',
102  'libris', 'nuntiis', 'datis',
103  'tione', 'nte', 'ate',
104  'e'
105  ];
106  return preg_replace( $in, $out, $word );
107  default:
108  return $word;
109  }
110  }
111 }
Latin (lingua Latina)
Definition: LanguageLa.php:29
convertGrammar( $word, $case)
Convert from the nominative form of a noun to some other case.
Definition: LanguageLa.php:43
$wgGrammarForms
Some languages need different word forms, usually for different cases.