summaryrefslogtreecommitdiff
path: root/languages/LanguageHe.php
diff options
context:
space:
mode:
Diffstat (limited to 'languages/LanguageHe.php')
-rw-r--r--languages/LanguageHe.php309
1 files changed, 309 insertions, 0 deletions
diff --git a/languages/LanguageHe.php b/languages/LanguageHe.php
new file mode 100644
index 00000000..80238514
--- /dev/null
+++ b/languages/LanguageHe.php
@@ -0,0 +1,309 @@
+<?php
+/**
+ * Hebrew (עברית)
+ *
+ * @package MediaWiki
+ * @subpackage Language
+ *
+ * @author Rotem Dan (July 2003)
+ * @author Rotem Liss (March 2006 on)
+ */
+
+require_once("LanguageUtf8.php");
+
+if (!$wgCachedMessageArrays) {
+ require_once('MessagesHe.php');
+}
+
+class LanguageHe extends LanguageUtf8 {
+ private $mMessagesHe, $mNamespaceNamesHe = null;
+
+ private $mSkinNamesHe = array(
+ "standard" => "רגיל",
+ "nostalgia" => "נוסטלגי",
+ "cologneblue" => "מים כחולים",
+ "davinci" => "דה־וינצ'י",
+ "simple" => "פשוט",
+ "mono" => "מונו",
+ "monobook" => "מונובוק",
+ "myskin" => "הרקע שלי",
+ "chick" => "צ'יק"
+ );
+
+ private $mQuickbarSettingsHe = array(
+ "ללא", "קבוע משמאל", "קבוע מימין", "צף משמאל", "צף מימין"
+ );
+
+ private $mBookstoreListHe = array(
+ "מיתוס" => "http://www.mitos.co.il/",
+ "iBooks" => "http://www.ibooks.co.il/",
+ "Barnes & Noble" => "http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=\$1",
+ "Amazon.com" => "http://www.amazon.com/exec/obidos/ISBN=\$1"
+ );
+
+ private $mMagicWordsHe = array(
+ MAG_REDIRECT => array( 0, '#הפניה', '#REDIRECT' ),
+ MAG_NOTOC => array( 0, '__ללא_תוכן_עניינים__', '__ללא_תוכן__', '__NOTOC__' ),
+ MAG_NOGALLERY => array( 0, '__ללא_גלריה__', '__NOGALLERY__' ),
+ MAG_FORCETOC => array( 0, '__חייב_תוכן_עניינים__', '__חייב_תוכן__', '__FORCETOC__' ),
+ MAG_TOC => array( 0, '__תוכן_עניינים__', '__תוכן__', '__TOC__' ),
+ MAG_NOEDITSECTION => array( 0, '__ללא_עריכה__', '__NOEDITSECTION__' ),
+ MAG_START => array( 0, '__התחלה__', '__START__' ),
+ MAG_CURRENTMONTH => array( 1, 'חודש נוכחי', 'CURRENTMONTH' ),
+ MAG_CURRENTMONTHNAME => array( 1, 'שם חודש נוכחי', 'CURRENTMONTHNAME' ),
+ MAG_CURRENTMONTHNAMEGEN => array( 1, 'שם חודש נוכחי קניין', 'CURRENTMONTHNAMEGEN' ),
+ MAG_CURRENTMONTHABBREV => array( 1, 'קיצור חודש נוכחי', 'CURRENTMONTHABBREV' ),
+ MAG_CURRENTDAY => array( 1, 'יום נוכחי', 'CURRENTDAY' ),
+ MAG_CURRENTDAY2 => array( 1, 'יום נוכחי 2', 'CURRENTDAY2' ),
+ MAG_CURRENTDAYNAME => array( 1, 'שם יום נוכחי', 'CURRENTDAYNAME' ),
+ MAG_CURRENTYEAR => array( 1, 'שנה נוכחית', 'CURRENTYEAR' ),
+ MAG_CURRENTTIME => array( 1, 'שעה נוכחית', 'CURRENTTIME' ),
+ MAG_NUMBEROFPAGES => array( 1, 'מספר דפים כולל', 'מספר דפים', 'NUMBEROFPAGES' ),
+ MAG_NUMBEROFARTICLES => array( 1, 'מספר ערכים', 'NUMBEROFARTICLES' ),
+ MAG_NUMBEROFFILES => array( 1, 'מספר קבצים', 'NUMBEROFFILES' ),
+ MAG_NUMBEROFUSERS => array( 1, 'מספר משתמשים', 'NUMBEROFUSERS' ),
+ MAG_PAGENAME => array( 1, 'שם הדף', 'PAGENAME' ),
+ MAG_PAGENAMEE => array( 1, 'שם הדף מקודד', 'PAGENAMEE' ),
+ MAG_NAMESPACE => array( 1, 'מרחב השם', 'NAMESPACE' ),
+ MAG_NAMESPACEE => array( 1, 'מרחב השם מקודד', 'NAMESPACEE' ),
+ MAG_TALKSPACE => array( 1, 'מרחב השיחה', 'TALKSPACE' ),
+ MAG_TALKSPACEE => array( 1, 'מרחב השיחה מקודד', 'TALKSPACEE' ),
+ MAG_SUBJECTSPACE => array( 1, 'מרחב הנושא', 'מרחב הערכים', 'SUBJECTSPACE', 'ARTICLESPACE' ),
+ MAG_SUBJECTSPACEE => array( 1, 'מרחב הנושא מקודד', 'מרחב הערכים מקודד', 'SUBJECTSPACEE', 'ARTICLESPACEE' ),
+ MAG_FULLPAGENAME => array( 1, 'שם הדף המלא', 'FULLPAGENAME' ),
+ MAG_FULLPAGENAMEE => array( 1, 'שם הדף המלא מקודד', 'FULLPAGENAMEE' ),
+ MAG_SUBPAGENAME => array( 1, 'שם דף המשנה', 'SUBPAGENAME' ),
+ MAG_SUBPAGENAMEE => array( 1, 'שם דף המשנה מקודד', 'SUBPAGENAMEE' ),
+ MAG_BASEPAGENAME => array( 1, 'שם דף הבסיס', 'BASEPAGENAME' ),
+ MAG_BASEPAGENAMEE => array( 1, 'שם דף הבסיס מקודד', 'BASEPAGENAMEE' ),
+ MAG_TALKPAGENAME => array( 1, 'שם דף השיחה', 'TALKPAGENAME' ),
+ MAG_TALKPAGENAMEE => array( 1, 'שם דף השיחה מקודד', 'TALKPAGENAMEE' ),
+ MAG_SUBJECTPAGENAME => array( 1, 'שם דף הנושא', 'שם הערך', 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
+ MAG_SUBJECTPAGENAMEE => array( 1, 'שם דף הנושא מקודד', 'שם הערך מקודד', 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
+ MAG_MSG => array( 0, 'הכללה:', 'MSG:' ),
+ MAG_SUBST => array( 0, 'ס:', 'SUBST:' ),
+ MAG_MSGNW => array( 0, 'הכללת מקור', 'MSGNW:' ),
+ MAG_END => array( 0, '__סוף__', '__END__' ),
+ MAG_IMG_THUMBNAIL => array( 1, 'ממוזער', 'thumbnail', 'thumb' ),
+ MAG_IMG_MANUALTHUMB => array( 1, 'ממוזער=$1', 'thumbnail=$1', 'thumb=$1'),
+ MAG_IMG_RIGHT => array( 1, 'ימין', 'right' ),
+ MAG_IMG_LEFT => array( 1, 'שמאל', 'left' ),
+ MAG_IMG_NONE => array( 1, 'ללא', 'none' ),
+ MAG_IMG_WIDTH => array( 1, '$1px', '$1px' ),
+ MAG_IMG_CENTER => array( 1, 'מרכז', 'center', 'centre' ),
+ MAG_IMG_FRAMED => array( 1, 'ממוסגר', 'מסגרת', 'framed', 'enframed', 'frame' ),
+ MAG_INT => array( 0, 'הודעה:', 'INT:' ),
+ MAG_SITENAME => array( 1, 'שם האתר', 'SITENAME' ),
+ MAG_NS => array( 0, 'מרחב שם:', 'NS:' ),
+ MAG_LOCALURL => array( 0, 'כתובת יחסית:', 'LOCALURL:' ),
+ MAG_LOCALURLE => array( 0, 'כתובת יחסית מקודד:', 'LOCALURLE:' ),
+ MAG_SERVER => array( 0, 'כתובת השרת', 'שרת', 'SERVER' ),
+ MAG_SERVERNAME => array( 0, 'שם השרת', 'SERVERNAME' ),
+ MAG_SCRIPTPATH => array( 0, 'נתיב הקבצים', 'SCRIPTPATH' ),
+ MAG_GRAMMAR => array( 0, 'דקדוק:', 'GRAMMAR:' ),
+ MAG_NOTITLECONVERT => array( 0, '__ללא_המרת_כותרת__', '__NOTITLECONVERT__', '__NOTC__'),
+ MAG_NOCONTENTCONVERT => array( 0, '__ללא_המרת_תוכן__', '__NOCONTENTCONVERT__', '__NOCC__'),
+ MAG_CURRENTWEEK => array( 1, 'שבוע נוכחי', 'CURRENTWEEK' ),
+ MAG_CURRENTDOW => array( 1, 'מספר יום נוכחי', 'CURRENTDOW' ),
+ MAG_REVISIONID => array( 1, 'מזהה גרסה', 'REVISIONID' ),
+ MAG_PLURAL => array( 0, 'רבים:', 'PLURAL:' ),
+ MAG_FULLURL => array( 0, 'כתובת מלאה:', 'FULLURL:' ),
+ MAG_FULLURLE => array( 0, 'כתובת מלאה מקודד:', 'FULLURLE:' ),
+ MAG_LCFIRST => array( 0, 'אות ראשונה קטנה:', 'LCFIRST:' ),
+ MAG_UCFIRST => array( 0, 'אות ראשונה גדולה:', 'UCFIRST:' ),
+ MAG_LC => array( 0, 'אותיות קטנות:', 'LC:' ),
+ MAG_UC => array( 0, 'אותיות גדולות:', 'UC:' ),
+ MAG_RAW => array( 0, 'ללא עיבוד:', 'RAW:' ),
+ MAG_DISPLAYTITLE => array( 1, 'כותרת תצוגה', 'DISPLAYTITLE' ),
+ MAG_RAWSUFFIX => array( 1, 'ללא פסיק', 'R' ),
+ MAG_NEWSECTIONLINK => array( 1, '__יצירת_הערה__', '__NEWSECTIONLINK__' ),
+ MAG_CURRENTVERSION => array( 1, 'גרסה נוכחית', 'CURRENTVERSION' ),
+ MAG_URLENCODE => array( 0, 'נתיב מקודד:', 'URLENCODE:' ),
+ MAG_CURRENTTIMESTAMP => array( 1, 'זמן נוכחי', 'CURRENTTIMESTAMP' ),
+ MAG_DIRECTIONMARK => array( 1, 'סימן כיווניות', 'DIRECTIONMARK', 'DIRMARK' ),
+ MAG_LANGUAGE => array( 0, '#שפה:', '#LANGUAGE:' ),
+ MAG_CONTENTLANGUAGE => array( 1, 'שפת תוכן', 'CONTENTLANGUAGE', 'CONTENTLANG' ),
+ MAG_PAGESINNAMESPACE => array( 1, 'דפים במרחב השם:', 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
+ MAG_NUMBEROFADMINS => array( 1, 'מספר מפעילים', 'NUMBEROFADMINS' ),
+ );
+
+ /**
+ * Constructor, setting the namespaces
+ */
+ function __construct() {
+ parent::__construct();
+
+ global $wgAllMessagesHe;
+ $this->mMessagesHe = &$wgAllMessagesHe;
+
+ global $wgMetaNamespace;
+ $this->mNamespaceNamesHe = array(
+ NS_MEDIA => "מדיה",
+ NS_SPECIAL => "מיוחד",
+ NS_MAIN => "",
+ NS_TALK => "שיחה",
+ NS_USER => "משתמש",
+ NS_USER_TALK => "שיחת_משתמש",
+ NS_PROJECT => $wgMetaNamespace,
+ NS_PROJECT_TALK => "שיחת_" . $wgMetaNamespace,
+ NS_IMAGE => "תמונה",
+ NS_IMAGE_TALK => "שיחת_תמונה",
+ NS_MEDIAWIKI => "מדיה_ויקי",
+ NS_MEDIAWIKI_TALK => "שיחת_מדיה_ויקי",
+ NS_TEMPLATE => "תבנית",
+ NS_TEMPLATE_TALK => "שיחת_תבנית",
+ NS_HELP => "עזרה",
+ NS_HELP_TALK => "שיחת_עזרה",
+ NS_CATEGORY => "קטגוריה",
+ NS_CATEGORY_TALK => "שיחת_קטגוריה",
+ );
+ }
+
+ /**
+ * Changing the default quickbar setting to "2" - right instead of left, as we use RTL interface
+ *
+ * @return array of the default user options
+ */
+ function getDefaultUserOptions() {
+ $opt = parent::getDefaultUserOptions();
+ $opt["quickbar"] = 2;
+ return $opt;
+ }
+
+ /**
+ * @return array of Hebrew bookstore list
+ */
+ function getBookstoreList() {
+ return $this->mBookstoreListHe;
+ }
+
+ /**
+ * @return array of Hebrew namespace names
+ */
+ function getNamespaces() {
+ return $this->mNamespaceNamesHe + parent::getNamespaces();
+ }
+
+ /**
+ * @return array of Hebrew skin names
+ */
+ function getSkinNames() {
+ return $this->mSkinNamesHe + parent::getSkinNames();
+ }
+
+ /**
+ * @return array of Hebrew quickbar settings
+ */
+ function getQuickbarSettings() {
+ return $this->mQuickbarSettingsHe;
+ }
+
+ /**
+ * The function returns a message, in Hebrew if exists, in English if not, only from the default translations here.
+ *
+ * @param string the message key
+ *
+ * @return string of the wanted message
+ */
+ function getMessage( $key ) {
+ if( isset( $this->mMessagesHe[$key] ) ) {
+ return $this->mMessagesHe[$key];
+ } else {
+ return parent::getMessage( $key );
+ }
+ }
+
+ /**
+ * @return array of all the Hebrew messages
+ */
+ function getAllMessages() {
+ return $this->mMessagesHe;
+ }
+
+ /**
+ * @return array of all the magic words
+ */
+ function &getMagicWords() {
+ return $this->mMagicWordsHe;
+ }
+
+ /**
+ * @return true, as Hebrew is RTL language
+ */
+ function isRTL() {
+ return true;
+ }
+
+ /**
+ * @return regular expression which includes the word trails in the link
+ */
+ function linkTrail() {
+ return '/^([a-zא-ת]+)(.*)$/sDu';
+ }
+
+ /**
+ * Convert grammar forms of words.
+ *
+ * Available cases:
+ * "prefixed" (or "תחילית") - when the word has a prefix
+ *
+ * @param string the word to convert
+ * @param string the case
+ */
+ function convertGrammar( $word, $case ) {
+ global $wgGrammarForms;
+ if ( isset($wgGrammarForms['he'][$case][$word]) ) {
+ return $wgGrammarForms['he'][$case][$word];
+ }
+
+ switch ( $case ) {
+ case 'prefixed':
+ case 'תחילית':
+ # Duplicate the "Waw" if prefixed
+ if ( substr( $word, 0, 2 ) == "ו" && substr( $word, 0, 4 ) != "וו" ) {
+ $word = "ו".$word;
+ }
+
+ # Remove the "He" if prefixed
+ if ( substr( $word, 0, 2 ) == "ה" ) {
+ $word = substr( $word, 2 );
+ }
+
+ # Add a hyphen if non-Hebrew letters
+ if ( substr( $word, 0, 2 ) < "א" || substr( $word, 0, 2 ) > "ת" ) {
+ $word = "־".$word;
+ }
+ }
+
+ return $word;
+ }
+
+ /**
+ * Gets a number and uses the suited form of the word.
+ *
+ * @param integer the number of items
+ * @param string the first form (singular)
+ * @param string the second form (plural)
+ * @param string the third form (2 items, plural is used if not applicable and not specified)
+ *
+ * @return string of the suited form of word
+ */
+ function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
+ if ( $count == '1' ) {
+ return $wordform1;
+ } elseif ( $count == '2' && $wordform3 ) {
+ return $wordform3;
+ } else {
+ return $wordform2;
+ }
+ }
+
+ /**
+ * @return string of the best 8-bit encoding for Hebrew, if UTF-8 cannot be used
+ */
+ function fallback8bitEncoding() {
+ return "windows-1255";
+ }
+}
+
+?>