<?php
-/** Kurdish
- * converter routines
- *
- * @addtogroup Language
- */
-
require_once( dirname(__FILE__).'/../LanguageConverter.php' );
require_once( dirname(__FILE__).'/LanguageKu_ku.php' );
+/** Kurdish
+ * converter routines
+ *
+ * @ingroup Language
+ */
class KuConverter extends LanguageConverter {
var $mArabicToLatin = array(
'ب' => 'b', 'ج' => 'c', 'چ' => 'ç', 'د' => 'd', 'ف' => 'f', 'گ' => 'g', 'ھ' => 'h',
'ہ' => 'h', 'ه' => 'h', 'ح' => 'h', 'ژ' => 'j', 'ك' => 'k', 'ک' => 'k', 'ل' => 'l',
'م' => 'm', 'ن' => 'n', 'پ' => 'p', 'ق' => 'q', 'ر' => 'r', 'س' => 's', 'ش' => 'ş',
- 'ت' => 't', 'ڤ' => 'v', 'خ' => 'x', 'غ' => 'x', 'ز' => 'z',
+ 'ت' => 't', 'ڤ' => 'v', 'خ' => 'x', 'غ' => 'x', 'ز' => 'z',
+
+// ک و => ku -- ist richtig
+// و ك=> ku -- ist auch richtig
/* Doppel- und Halbvokale */
'ڵ' => 'll', #ll
'ۆ' => 'o',
'و' => 'w',
'ئ' => '', # initial hemze should not be shown
- '،' => ',',
+ '،' => ',',
'ع' => '\'', # ayn
'؟' => '?',
+
+ # digits
+ '٠' => '0', # ٠
+ '١' => '1', # ١
+ '٢' => '2', # ٢
+ '٣' => '3', # ٣
+ '٤' => '4', # ٤
+ '٥' => '5', # ٥
+ '٦' => '6', # ٦
+ '٧' => '7', # ٧
+ '٨' => '8', # ٨
+ '٩' => '9', # ٩
);
var $mLatinToArabic = array(
'u' => 'و',
'û' => 'وو',
'w' => 'و',
- ',' => '،',
+ ',' => '،',
'?' => '؟',
# Try to replace the leading vowel
' U' => 'ئو ',
' Û' => 'ئوو ',
# eyn erstmal deaktivieren, einfache Anführungsstriche sind einfach zu häufig, um sie als eyn zu interpretieren
- # '\'' => 'ع',
-
- );
+ # '\'' => 'ع',
+
+/* # deactivated for now, breaks links i.e. in header of Special:Recentchanges :-(
+ # digits
+ '0' => '٠', # ٠
+ '1' => '١', # ١
+ '2' => '٢', # ٢
+ '3' => '٣', # ٣
+ '4' => '٤', # ٤
+ '5' => '٥', # ٥
+ '6' => '٦', # ٦
+ '7' => '٧', # ٧
+ '8' => '٨', # ٨
+ '9' => '٩', # ٩
+*/
+ );
function loadDefaultTables() {
$this->mTables = array(
);
}
-
// Do not convert content on talk pages
function parserConvert( $text, &$parser ){
if(is_object($parser->getTitle() ) && $parser->getTitle()->isTalkPage())
$this->mDoContentConvert=false;
- else
+ else
$this->mDoContentConvert=true;
return parent::parserConvert($text, $parser );
/*
* A function wrapper:
- * - if there is no selected variant, leave the link
+ * - if there is no selected variant, leave the link
* names as they were
* - do not try to find variants for usernames
*/
- function findVariantLink( &$link, &$nt ) {
+ function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
// check for user namespace
if(is_object($nt)){
$ns = $nt->getNamespace();
}
$oldlink=$link;
- parent::findVariantLink($link,$nt);
- if($this->getPreferredVariant()==$this->mMainLanguageCode)
+ parent::findVariantLink( $link, $nt, $ignoreOtherCond );
+ if( $this->getPreferredVariant() == $this->mMainLanguageCode )
$link=$oldlink;
}
*/
function autoConvert($text, $toVariant=false) {
global $wgTitle;
- if(is_object($wgTitle) && $wgTitle->getNameSpace()==NS_IMAGE){
+ if(is_object($wgTitle) && $wgTitle->getNameSpace()==NS_FILE){
$imagename = $wgTitle->getNsText();
if(preg_match("/^$imagename:/",$text)) return $text;
}
}
}
+/**
+ * @ingroup Language
+ */
class LanguageKu extends LanguageKu_ku {
function __construct() {
$this->mConverter = new KuConverter( $this, 'ku', $variants, $variantfallbacks );
$wgHooks['ArticleSaveComplete'][] = $this->mConverter;
}
-
-/* From Kazakh interface, not needed for the moment
-
- function convertGrammar( $word, $case ) {
- $fname="LanguageKu::convertGrammar";
- wfProfileIn( $fname );
-
- //always convert to ku-latn before convertGrammar
- $w1 = $word;
- $word = $this->mConverter->autoConvert( $word, 'ku-latn' );
- $w2 = $word;
- $word = parent::convertGrammar( $word, $case );
- //restore encoding
- if( $w1 != $w2 ) {
- $word = $this->mConverter->translate( $word, 'ku-latn' );
- }
- wfProfileOut( $fname );
- return $word;
- }
-*/
}
-
-