X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=languages%2Fclasses%2FLanguageCu.php;h=89625c0567f801d0a177e0a1b9428ebc1d36e1a1;hb=08324f14b457e8c7e8394480df48b82d9a92576d;hp=2016a43cce7c141d27c632706da1c25fa32e1f5e;hpb=987319a54adf9f6208534b5ac3b60d6f88bbf7e4;p=lhc%2Fweb%2Fwiklou.git diff --git a/languages/classes/LanguageCu.php b/languages/classes/LanguageCu.php index 2016a43cce..89625c0567 100644 --- a/languages/classes/LanguageCu.php +++ b/languages/classes/LanguageCu.php @@ -27,57 +27,44 @@ * @ingroup Language */ class LanguageCu extends Language { - /** * Convert from the nominative form of a noun to some other case * Invoked with {{grammar:case|word}} * - * @param $word string - * @param $case string + * @param string $word + * @param string $case * @return string */ function convertGrammar( $word, $case ) { global $wgGrammarForms; + if ( isset( $wgGrammarForms['сu'][$case][$word] ) ) { return $wgGrammarForms['сu'][$case][$word]; } - # These rules are not perfect, but they are currently only used for site names so it doesn't - # matter if they are wrong sometimes. Just add a special case for your site name if necessary. + # These rules are not perfect, but they are currently only used for + # site names so it doesn't matter if they are wrong sometimes. Just add + # a special case for your site name if necessary. # join and array_slice instead mb_substr - $ar = array(); + $ar = []; preg_match_all( '/./us', $word, $ar ); - if ( !preg_match( "/[a-zA-Z_]/us", $word ) ) + if ( !preg_match( "/[a-zA-Z_]/us", $word ) ) { switch ( $case ) { case 'genitive': # родительный падеж - if ( ( join( '', array_slice( $ar[0], -4 ) ) == 'вики' ) || ( join( '', array_slice( $ar[0], -4 ) ) == 'Вики' ) ) - { } - elseif ( join( '', array_slice( $ar[0], -2 ) ) == 'ї' ) - $word = join( '', array_slice( $ar[0], 0, -2 ) ) . 'їѩ'; + if ( ( implode( '', array_slice( $ar[0], -4 ) ) == 'вики' ) + || ( implode( '', array_slice( $ar[0], -4 ) ) == 'Вики' ) + ) { + } elseif ( implode( '', array_slice( $ar[0], -2 ) ) == 'ї' ) { + $word = implode( '', array_slice( $ar[0], 0, -2 ) ) . 'їѩ'; + } break; case 'accusative': # винительный падеж # stub break; } - return $word; - } - - /** - * @param $count int - * @param $forms array - * @return string - */ - function convertPlural( $count, $forms ) { - if ( !count( $forms ) ) { return ''; } - $forms = $this->preConvertPlural( $forms, 4 ); - - switch ( $count % 10 ) { - case 1: return $forms[0]; - case 2: return $forms[1]; - case 3: - case 4: return $forms[2]; - default: return $forms[3]; } + + return $word; } }