Using convertGrammar for the prefixed site names in Hebrew.
authorRotem Liss <rotem@users.mediawiki.org>
Sun, 25 Jun 2006 10:37:45 +0000 (10:37 +0000)
committerRotem Liss <rotem@users.mediawiki.org>
Sun, 25 Jun 2006 10:37:45 +0000 (10:37 +0000)
languages/LanguageHe.php
languages/MessagesHe.php

index 1a5e23a..63d5077 100644 (file)
@@ -233,19 +233,51 @@ class LanguageHe extends LanguageUtf8 {
        function isRTL() {
                return true;
        }
-
+       
        /**
-        * Gets a number and uses the suited form of the word.
+        * Convert grammar forms of words.
         *
-        * Needed for Hebrew as some words also has a form for two instances - for example, year or shoe -
-        * and the third parameter is used for them.
+        * Available cases:
+        * "prefixed" (or "תחילית") - when the word has a prefix
         *
-        * When the word has only signular and plural forms, the plural form will be used for 2.
+        * @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 $count
-        * @param string $wordform1
-        * @param string $wordform2
-        * @param string $wordform3 (optional)
+        * @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
         */
index 75072c1..f80c077 100644 (file)
@@ -322,7 +322,7 @@ $wgAllMessagesHe = array(
 
 # Login and logout pages
 "logouttitle"        => "יציאה מהחשבון",
-"logouttext"         => "יצאתם זה עתה מהחשבון. באפשרותכם להמשיך ולעשות שימוש באתר {{SITENAME}} באופן אנונימי, או לשוב ולהיכנס לאתר עם שם משתמש זהה או אחר.",
+"logouttext"         => "יצאתם זה עתה מהחשבון. באפשרותכם להמשיך ולעשות שימוש ב{{grammar:תחילית|{{SITENAME}}}} באופן אנונימי, או לשוב ולהיכנס לאתר עם שם משתמש זהה או אחר.",
 "welcomecreation"    => "== ברוך הבא, $1! ==
 חשבונך נפתח. אל תשכח להתאים את הגדרות המשתמש שלך.",
 "loginpagetitle"     => "כניסת משתמש",
@@ -336,7 +336,7 @@ $wgAllMessagesHe = array(
 "alreadyloggedin"    => "'''$1, כבר ביצעת כניסה לאתר!'''<br />",
 
 "login"                      => "כניסה לחשבון",
-"loginprompt"                => 'לפני הכניסה לחשבון באתר {{SITENAME}}, עליכם לוודא כי ה"עוגיות" (Cookies) מופעלות.',
+"loginprompt"                => 'לפני הכניסה לחשבון ב{{grammar:תחילית|{{SITENAME}}}}, עליכם לוודא כי ה"עוגיות" (Cookies) מופעלות.',
 "userlogin"                  => "כניסה / הרשמה לחשבון",
 "logout"                     => "יציאה מהחשבון",
 "userlogout"                 => "יציאה מהחשבון",
@@ -362,11 +362,11 @@ $wgAllMessagesHe = array(
 "prefs-help-realname"        => "* שם אמיתי (אופציונאלי): אם תבחרו לספק שם זה, הוא ישמש לייחוס עבודתכם אליכם.",
 "loginerror"                 => "שגיאה בכניסה לאתר",
 "prefs-help-email"           => '* דואר אלקטרוני (אופציונאלי): אפשרו לאחרים לשלוח לכם מסר דרך דף המשתמש שלכם ללא צורך לחשוף את כתובתכם.',
-"nocookiesnew"               => "נוצר חשבון המשתמש שלכם, אך לא נכנסתם כמשתמשים רשומים למערכת כיוון שניטרלתם את העוגיות, שהאתר {{SITENAME}} משתמש בהן לצורך כניסה למערכת. אנא הפעילו אותן מחדש, ולאחר מכן תוכלו להיכנס למערכת עם שם המשתמש והסיסמה החדשים שלכם.",
-"nocookieslogin"             => "לא הצלחתם להיכנס למערכת כמשתמשים רשומים כיוון שניטרלתם את העוגיות, שהאתר {{SITENAME}} משתמש בהן לצורך כניסה למערכת. אנא הפעילו אותן מחדש, ולאחר מכן תוכלו להיכנס למערכת עם שם המשתמש והסיסמה שלכם.",
+"nocookiesnew"               => "נוצר חשבון המשתמש שלכם, אך לא נכנסתם כמשתמשים רשומים למערכת כיוון שניטרלתם את העוגיות, ש{{grammar:תחילית|{{SITENAME}}}} משתמש בהן לצורך כניסה למערכת. אנא הפעילו אותן מחדש, ולאחר מכן תוכלו להיכנס למערכת עם שם המשתמש והסיסמה החדשים שלכם.",
+"nocookieslogin"             => "לא הצלחתם להיכנס למערכת כמשתמשים רשומים כיוון שניטרלתם את העוגיות, ש{{grammar:תחילית|{{SITENAME}}}} משתמש בהן לצורך כניסה למערכת. אנא הפעילו אותן מחדש, ולאחר מכן תוכלו להיכנס למערכת עם שם המשתמש והסיסמה שלכם.",
 "noname"                     => "לא הזנתם שם משתמש חוקי",
 "loginsuccesstitle"          => "הכניסה הושלמה בהצלחה",
-"loginsuccess"               => '\'\'\'נכנסתם לאתר {{SITENAME}} בשם "$1".\'\'\'',
+"loginsuccess"               => '\'\'\'נכנסתם ל{{grammar:תחילית|{{SITENAME}}}} בשם "$1".\'\'\'',
 "nosuchuser"                 => 'אין משתמש בשם "$1".
 
 אנא ודאו שהאיות נכון, או השתמשו בטופס שלהלן ליצירת חשבון משתמש חדש.',
@@ -375,8 +375,8 @@ $wgAllMessagesHe = array(
 "wrongpassword"              => "הסיסמה שהקלדתם שגויה, אנא נסו שנית.",
 "wrongpasswordempty"         => "הסיסמה שהקלדתם ריקה. אנא נסו שנית.",
 "mailmypassword"             => "שלחו לי סיסמה חדשה",
-"passwordremindertitle"      => "תזכורת סיסמה מהאתר {{SITENAME}}",
-"passwordremindertext"       => 'מישהו (ככל הנראה אתם, מכתובת ה־IP מספר $1) ביקש שנשלח לכם סיסמה חדשה לכניסה לחשבון באתר {{SITENAME}} ($4). הסיסמה עבור המשתמש "$2" היא עתה "$3". עליכם להיכנס לאתר ולשנות את סיסמתכם בהקדם האפשרי. אם מישהו אחר ביקש סיסמה חדשה זו או אם נזכרתם בסיסמתכם ואינכם רוצים עוד לשנות אותה, באפשרותכם להתעלם מהודעה זו ולהמשיך להשתמש בסיסמתכם הישנה.',
+"passwordremindertitle"      => "תזכורת סיסמה מ{{grammar:תחילית|{{SITENAME}}}}",
+"passwordremindertext"       => 'מישהו (ככל הנראה אתם, מכתובת ה־IP מספר $1) ביקש שנשלח לכם סיסמה חדשה לכניסה לחשבון ב{{grammar:תחילית|{{SITENAME}}}} ($4). הסיסמה עבור המשתמש "$2" היא עתה "$3". עליכם להיכנס לאתר ולשנות את סיסמתכם בהקדם האפשרי. אם מישהו אחר ביקש סיסמה חדשה זו או אם נזכרתם בסיסמתכם ואינכם רוצים עוד לשנות אותה, באפשרותכם להתעלם מהודעה זו ולהמשיך להשתמש בסיסמתכם הישנה.',
 "noemail"                    => 'לא רשומה כתובת דואר אלקטרוני עבור משתמש  "$1".',
 "passwordsent"               => 'סיסמה חדשה נשלחה לכתובת הדואר האלקטרוני הרשומה עבור "$1".
 אנא הכנסו חזרה לאתר אחרי שתקבלו אותה.',
@@ -504,8 +504,8 @@ $wgAllMessagesHe = array(
 
 אם תשמרו את הדף, כל השינויים שנעשו מאז גרסה זו יאבדו.'''",
 "yourdiff"                  => "הבדלים",
-"copyrightwarning"          => '<div id="editing-warn">\'\'\'שימו לב:\'\'\' תרומתכם לאתר {{SITENAME}} תפורסם תחת תנאי הרישיון $2 (ראו $1 לפרטים נוספים). אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כל, ושאחרים יוכלו להעתיק ממנה בציון המקור – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על־ידי זכויות יוצרים. \'\'\'אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!\'\'\'</div>',
-"copyrightwarning2"         => '<div id="editing-warn">\'\'\'שימו לב:\'\'\' תורמים אחרים עשויים לערוך או אף להסיר את תרומתכם לאתר {{SITENAME}}. אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על־ידי זכויות יוצרים (ראו $1 לפרטים נוספים). \'\'\'אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!\'\'\'</div>',
+"copyrightwarning"          => '<div id="editing-warn">\'\'\'שימו לב:\'\'\' תרומתכם ל{{grammar:תחילית|{{SITENAME}}}} תפורסם תחת תנאי הרישיון $2 (ראו $1 לפרטים נוספים). אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים, שתופץ לעיני כל, ושאחרים יוכלו להעתיק ממנה בציון המקור – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על־ידי זכויות יוצרים. \'\'\'אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!\'\'\'</div>',
+"copyrightwarning2"         => '<div id="editing-warn">\'\'\'שימו לב:\'\'\' תורמים אחרים עשויים לערוך או אף להסיר את תרומתכם ל{{grammar:תחילית|{{SITENAME}}}}. אם אינכם רוצים שעבודתכם תהיה זמינה לעריכה על־ידי אחרים – אל תפרסמו אותה פה. כמו־כן, אתם מבטיחים לנו כי כתבתם את הטקסט הזה בעצמכם, או העתקתם אותו ממקור שאינו מוגן על־ידי זכויות יוצרים (ראו $1 לפרטים נוספים). \'\'\'אל תעשו שימוש בחומר המוגן בזכויות יוצרים ללא רשות!\'\'\'</div>',
 "longpagewarning"           => "'''אזהרה: גודל דף זה הוא $1 קילובייטים. בדפדפנים מסוימים יהיו בעיות בעריכת דף הגדול מ־32 קילובייטים. אנא שיקלו לחלק דף זה לדפים קטנים יותר. אם זהו דף שיחה, שיקלו לארכב אותו.'''",
 "longpageerror"             => "'''שגיאה: הטקסט ששלחתם הוא באורך $1 קילובייטים, אך אסור לו להיות ארוך יותר מהמקסימום של $2 קילובייטים. לא ניתן לשומרו.'''",
 "readonlywarning"           => "'''אזהרה: בסיס הנתונים ננעל לצורך תחזוקה. בזמן זה אי אפשר לשמור את הטקסט הערוך. בינתיים, עד סיום התחזוקה, אתם יכולים להשתמש בעורך חיצוני. אנו מתנצלים על התקלה.'''",
@@ -581,7 +581,7 @@ $wgAllMessagesHe = array(
 
 # Search results
 "searchresults"     => "תוצאות החיפוש",
-"searchresulttext"  => "ראו גם [[{{ns:project}}:חיפוש|מידע נוסף על חיפוש באתר {{SITENAME}}]].",
+"searchresulttext"  => "ראו גם [[{{ns:project}}:חיפוש|מידע נוסף על חיפוש ב{{grammar:תחילית|{{SITENAME}}}}]].",
 "searchquery"       => 'לחיפוש "$1"',
 "badquery"          => "שגיאה בניסוח השאילתה.",
 "badquerytext"      => 'לא הצלחנו לבצע את השאילתה, ככל הנראה כיוון שניסיתם לחפש מילה בעלת פחות משלוש אותיות. חיפוש כזה עדיין אינו נתמך במערכת. ייתכן גם ששגיתם בהקלדת השאליתה – לדוגמה, כתבתם "דג וגם וגם משקל".
@@ -820,7 +820,7 @@ $wgAllMessagesHe = array(
 
 # Statistics
 "statistics"    => "סטטיסטיקות",
-"sitestats"     => "סטטיסטיקות האתר {{SITENAME}}",
+"sitestats"     => "סטטיסטיקות {{SITENAME}}",
 "userstats"     => "סטטיסטיקות משתמשים",
 "sitestatstext" => 'בבסיס הנתונים יש בסך הכול \'\'\'$1\'\'\' דפים. מספר זה כולל דפים שאינם דפי תוכן, כגון דפי שיחה, דפים אודות {{SITENAME}}, קצרמרים, דפי תוכן ללא קישורים פנימיים, הפניות, וכיוצא בזה. אם לא סופרים את הדפים שאינם דפי תוכן, נשארים \'\'\'$2\'\'\' דפים שהם ככל הנראה דפי תוכן לכל דבר.
 
@@ -985,16 +985,16 @@ $wgAllMessagesHe = array(
 "wlhideshowbots"       => "$1 בוטים",
 "wldone"               => "בוצע.",
 
-"enotif_mailer"      => "הודעות האתר {{SITENAME}}",
+"enotif_mailer"      => "הודעות {{SITENAME}}",
 "enotif_reset"       => "סמן את כל הדפים כאילו נצפו",
 "enotif_newpagetext" => "זהו דף חדש.",
 "changed"            => "שונה",
 "created"            => "נוצר",
-"enotif_subject"     => 'הדף $PAGETITLE באתר {{SITENAME}} $CHANGEDORCREATED על־ידי $PAGEEDITOR',
+"enotif_subject"     => 'הדף $PAGETITLE ב{{grammar:תחילית|{{SITENAME}}}} $CHANGEDORCREATED על־ידי $PAGEEDITOR',
 "enotif_lastvisited" => "ראו $1 לכל השינויים מאז ביקורכם האחרון.",
 "enotif_body"        => 'לכבוד $WATCHINGUSERNAME,
 
-הדף $PAGETITLE באתר {{SITENAME}} $CHANGEDORCREATED ב־$PAGEEDITDATE על־ידי $PAGEEDITOR, ראו $PAGETITLE_URL לגרסה הנוכחית.
+הדף $PAGETITLE ב{{grammar:תחילית|{{SITENAME}}}} $CHANGEDORCREATED ב־$PAGEEDITDATE על־ידי $PAGEEDITOR, ראו $PAGETITLE_URL לגרסה הנוכחית.
 
 $NEWPAGE
 
@@ -1320,7 +1320,7 @@ $NEWPAGE
 "accesskey-watch"                   => "w",
 
 # Tooltip help for some actions, most are in Monobook.js
-"tooltip-search"                  => "חיפוש באתר {{SITENAME}} [Alt+F]",
+"tooltip-search"                  => "חיפוש ב{{grammar:תחילית|{{SITENAME}}}} [Alt+F]",
 "tooltip-minoredit"               => "סימון עריכה זו כמשנית [Alt+I]",
 "tooltip-save"                    => "שמירת את השינויים שביצעתם [Alt+S]",
 "tooltip-preview"                 => "צפו בתצוגה מקדימה, אנא השתמשו באפשרות זו לפני השמירה! [Alt+P]",
@@ -1514,8 +1514,8 @@ ta["ca-nstab-category"]     = ["c", "צפו בדף הקטגוריה"];',
 "confirmemail_success"    => 'כתובת הדוא"ל שלכם אושרה. כעת באפשרותכם להיכנס לחשבון שלכם וליהנות מהאתר.',
 "confirmemail_loggedin"   => 'כתובת הדוא"ל שלכם אושרה כעת.',
 "confirmemail_error"      => "שגיאה בשמירת קוד האישור.",
-"confirmemail_subject"    => 'קוד אישור דוא"ל מהאתר {{SITENAME}}',
-"confirmemail_body"       => 'מישהו, כנראה אתם (מכתובת ה־IP הזו: $1), רשם את החשבון "$2" עם כתובת הדוא"ל הזו באתר {{SITENAME}}.
+"confirmemail_subject"    => 'קוד אישור דוא"ל מ{{grammar:תחילית|{{SITENAME}}}}',
+"confirmemail_body"       => 'מישהו, כנראה אתם (מכתובת ה־IP הזו: $1), רשם את החשבון "$2" עם כתובת הדוא"ל הזו ב{{grammar:תחילית|{{SITENAME}}}}.
 
 כדי לוודא שחשבון זה באמת שייך לכם ולהפעיל את שירותי הדוא"ל באתר, אנא פתחו את הכתובת הבאה בדפדפן שלכם: