Browse Source

Hebrew for history pages

brett lockspeiser 1 year ago
parent
commit
670943e40b

BIN
locale/en/LC_MESSAGES/django.mo


+ 207 - 46
locale/en/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-13 07:00-0700\n"
+"POT-Creation-Date: 2017-10-16 14:21-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -61,11 +61,7 @@ msgid ""
 "to create your own online."
 msgstr ""
 
-#: reader/views.py:572
-msgid " | Sefaria Group"
-msgstr ""
-
-#: reader/views.py:580 templates/groups.html:7
+#: reader/views.py:572 reader/views.py:580 templates/groups.html:7
 msgid "Sefaria Groups"
 msgstr ""
 
@@ -73,36 +69,36 @@ msgstr ""
 msgid "My Notes on Sefaria"
 msgstr ""
 
-#: reader/views.py:602
+#: reader/views.py:604
 msgid "My Source Sheets | Sefaria Source Sheets"
 msgstr ""
 
-#: reader/views.py:603
+#: reader/views.py:605
 msgid "My Sources Sheets on Sefaria, both private and public."
 msgstr ""
 
-#: reader/views.py:610
-msgid "Public Source Sheets | Sefaria"
+#: reader/views.py:612
+msgid "Public Source Sheets | Sefaria Source Sheets"
 msgstr ""
 
-#: reader/views.py:611
+#: reader/views.py:613
 msgid ""
 "Explore thousands of public Source Sheets drawing on Sefaria's library of "
 "Jewish texts."
 msgstr ""
 
-#: reader/views.py:616
+#: reader/views.py:618
 #, python-format
 msgid ""
 "Public Source Sheets on tagged with \"%(tag)s\", drawing from Sefaria's "
 "library of Jewish texts."
 msgstr ""
 
-#: reader/views.py:645
+#: reader/views.py:647
 msgid "Topics"
 msgstr ""
 
-#: reader/views.py:645 templates/person.html:6 templates/person.html.py:8
+#: reader/views.py:647 templates/person.html:6 templates/person.html.py:8
 #: templates/search.html:6
 #: templates/registration/password_reset_complete.html:3
 #: templates/registration/password_reset_confirm.html:4
@@ -114,24 +110,24 @@ msgstr ""
 msgid "Sefaria"
 msgstr ""
 
-#: reader/views.py:646
+#: reader/views.py:648
 msgid "Explore Jewish Texts by Topic on Sefaria"
 msgstr ""
 
-#: reader/views.py:701
+#: reader/views.py:703
 msgid "The Sefaria Library"
 msgstr ""
 
-#: reader/views.py:702
+#: reader/views.py:704
 msgid ""
 "Browse 1,000s of Jewish texts in the Sefaria Library by category and title."
 msgstr ""
 
-#: reader/views.py:708
+#: reader/views.py:710
 msgid "New Additions to the Sefaria Library"
 msgstr ""
 
-#: reader/views.py:709
+#: reader/views.py:711
 msgid ""
 "See texts, translations and connections that have been recently added to "
 "Sefaria."
@@ -142,24 +138,36 @@ msgid "Sefaria Account"
 msgstr ""
 
 #: reader/views.py:725
-msgid "Sefaria Notifcations"
+msgid "Sefaria Notifications"
 msgstr ""
 
 #: reader/views.py:732
 msgid "Moderator Tools"
 msgstr ""
 
-#: reader/views.py:2875
+#: reader/views.py:2877
 msgid "You must be logged in to update your profile."
 msgstr ""
 
-#: reader/views.py:3461 reader/views.py:3464
+#: reader/views.py:3463 reader/views.py:3466
 #, python-format
 msgid "Learn about %(name)s - works written, biographies, dates and more."
 msgstr ""
 
+#: reader/templatetags/sefaria_tags.py:216 sefaria/settings.py:23
+msgid "English"
+msgstr ""
+
+#: reader/templatetags/sefaria_tags.py:217 sefaria/settings.py:24
+msgid "Hebrew"
+msgstr ""
+
+#: reader/templatetags/sefaria_tags.py:218
+msgid "Bilingual"
+msgstr ""
+
 #: sefaria/forms.py:58 sefaria/forms.py:63 sefaria/forms.py:129
-#: templates/static/home.html:361
+#: templates/static/educators.html:301 templates/static/home.html:361
 msgid "Email Address"
 msgstr ""
 
@@ -187,14 +195,6 @@ msgstr ""
 msgid "A user with that email already exists."
 msgstr ""
 
-#: sefaria/settings.py:23
-msgid "English"
-msgstr ""
-
-#: sefaria/settings.py:24
-msgid "Hebrew"
-msgstr ""
-
 #: sefaria/views.py:162
 msgid "Logged out"
 msgstr ""
@@ -231,6 +231,46 @@ msgid ""
 "source sheets, and text translations, edits or additions. "
 msgstr ""
 
+#: templates/activity.html:52
+msgid "All Activity"
+msgstr ""
+
+#: templates/activity.html:53
+msgid "Translations"
+msgstr ""
+
+#: templates/activity.html:54 templates/profile.html:106
+msgid "Source Sheets"
+msgstr ""
+
+#: templates/activity.html:55
+msgid "New Texts"
+msgstr ""
+
+#: templates/activity.html:56
+msgid "Edits"
+msgstr ""
+
+#: templates/activity.html:57 templates/profile.html:126
+msgid "Notes"
+msgstr ""
+
+#: templates/activity.html:58
+msgid "Reviews"
+msgstr ""
+
+#: templates/activity.html:59
+msgid "Text Info"
+msgstr ""
+
+#: templates/activity.html:60
+msgid "Reversions"
+msgstr ""
+
+#: templates/activity.html:61
+msgid "Flagged"
+msgstr ""
+
 #: templates/edit_group.html:7
 msgid "Edit Group on Sefaria"
 msgstr ""
@@ -284,18 +324,14 @@ msgstr ""
 msgid "at "
 msgstr ""
 
-#: templates/profile.html:106
-msgid "Source Sheets"
-msgstr ""
-
-#: templates/profile.html:126
-msgid "Notes"
-msgstr ""
-
 #: templates/profile.html:133
 msgid "Activity"
 msgstr ""
 
+#: templates/profile.html:135
+msgid "More Activity"
+msgstr ""
+
 #: templates/profile.html:183
 msgid "Send a message to "
 msgstr ""
@@ -327,31 +363,31 @@ msgstr ""
 msgid "Create your own source sheet with Sefaria's Source Sheet Builder."
 msgstr ""
 
-#: templates/s2_sheets.html:994
+#: templates/s2_sheets.html:1043
 msgid "Private"
 msgstr ""
 
-#: templates/s2_sheets.html:997
+#: templates/s2_sheets.html:1046
 msgid "Listed for Sefaria Users"
 msgstr ""
 
-#: templates/s2_sheets.html:1000
+#: templates/s2_sheets.html:1049
 msgid "Anyone can Add"
 msgstr ""
 
-#: templates/s2_sheets.html:1003
+#: templates/s2_sheets.html:1052
 msgid "Anyone can Add - Unlisted"
 msgstr ""
 
-#: templates/s2_sheets.html:1006
+#: templates/s2_sheets.html:1055
 msgid "Anyone can Edit"
 msgstr ""
 
-#: templates/s2_sheets.html:1009
+#: templates/s2_sheets.html:1058
 msgid "Anyone can Edit - Unlisted"
 msgstr ""
 
-#: templates/s2_sheets.html:1022
+#: templates/s2_sheets.html:1071
 msgid "None"
 msgstr ""
 
@@ -415,6 +451,130 @@ msgid ""
 "verse in his commentary on another."
 msgstr ""
 
+#: templates/elements/activity_feed.html:7
+msgid "deleted the text"
+msgstr ""
+
+#: templates/elements/activity_feed.html:11
+msgid "deleted a text version of"
+msgstr ""
+
+#: templates/elements/activity_feed.html:13
+#: templates/elements/activity_feed.html:35
+#: templates/elements/activity_feed.html:101
+msgid "Version"
+msgstr ""
+
+#: templates/elements/activity_feed.html:18
+msgid "translated"
+msgstr ""
+
+#: templates/elements/activity_feed.html:20
+msgid "added"
+msgstr ""
+
+#: templates/elements/activity_feed.html:22
+msgid "edited"
+msgstr ""
+
+#: templates/elements/activity_feed.html:24
+msgid "reverted"
+msgstr ""
+
+#: templates/elements/activity_feed.html:29
+#: templates/elements/activity_feed.html:51
+msgid "and "
+msgstr ""
+
+#: templates/elements/activity_feed.html:29
+msgid "others"
+msgstr ""
+
+#: templates/elements/activity_feed.html:32
+#: templates/elements/activity_feed.html:99
+msgid "history"
+msgstr ""
+
+#: templates/elements/activity_feed.html:44
+msgid "added a connection"
+msgstr ""
+
+#: templates/elements/activity_feed.html:46
+msgid "edited a connection"
+msgstr ""
+
+#: templates/elements/activity_feed.html:48
+msgid "deleted a connection"
+msgstr ""
+
+#: templates/elements/activity_feed.html:51
+msgid "between"
+msgstr ""
+
+#: templates/elements/activity_feed.html:55
+msgid "automatic commentary link"
+msgstr ""
+
+#: templates/elements/activity_feed.html:56
+msgid "automatic citation link"
+msgstr ""
+
+#: templates/elements/activity_feed.html:63
+msgid "added a note to "
+msgstr ""
+
+#: templates/elements/activity_feed.html:65
+msgid "edited a note on "
+msgstr ""
+
+#: templates/elements/activity_feed.html:67
+msgid "deleted a note on "
+msgstr ""
+
+#: templates/elements/activity_feed.html:80
+msgid "added text info for the text"
+msgstr ""
+
+#: templates/elements/activity_feed.html:82
+msgid "edited the text info of"
+msgstr ""
+
+#: templates/elements/activity_feed.html:86
+msgid "details"
+msgstr ""
+
+#: templates/elements/activity_feed.html:97
+msgid "reviewed"
+msgstr ""
+
+#: templates/elements/activity_feed.html:109
+msgid "published a new Source Sheet"
+msgstr ""
+
+#: templates/elements/activity_feed.html:119
+msgid "related"
+msgstr ""
+
+#: templates/elements/activity_feed.html:127
+msgid "No matching public activity yet."
+msgstr ""
+
+#: templates/elements/activity_feed.html:129
+msgid "No public activity yet."
+msgstr ""
+
+#: templates/elements/activity_feed.html:133
+msgid "No matching public history items."
+msgstr ""
+
+#: templates/elements/activity_feed.html:135
+msgid "No public history items."
+msgstr ""
+
+#: templates/elements/activity_feed.html:141
+msgid "Older Activity"
+msgstr ""
+
 #: templates/registration/logged_out.html:4
 msgid "Logged Out"
 msgstr ""
@@ -659,6 +819,7 @@ msgid ""
 msgstr ""
 
 #: templates/static/william-davidson-talmud.html:4
+#: templates/static/william-davidson-talmud.html:80
 msgid "The William Davidson Talmud"
 msgstr ""
 

BIN
locale/he/LC_MESSAGES/django.mo


+ 195 - 36
locale/he/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-13 06:59-0700\n"
+"POT-Creation-Date: 2017-10-16 14:22-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -66,17 +66,11 @@ msgstr ""
 "סיירו בין אלפי דפי מקורות פומביים והשתמשו בבונה דפי המקורות בכדי ליצור דף "
 "מקורות משלכם."
 
-#: reader/views.py:572
-#, fuzzy
-msgid " | Sefaria Group"
-msgstr " | קבוצות בספריא"
-
-#: reader/views.py:580 templates/groups.html:7
+#: reader/views.py:572 reader/views.py:580 templates/groups.html:7
 msgid "Sefaria Groups"
 msgstr "קבוצות בספריא"
 
 #: reader/views.py:586
-#, fuzzy
 msgid "My Notes on Sefaria"
 msgstr "הרשומות שלי בספריא"
 
@@ -89,8 +83,9 @@ msgid "My Sources Sheets on Sefaria, both private and public."
 msgstr "דפי המקורות שלי בספריא. פרטיים ופומביים"
 
 #: reader/views.py:612
-msgid "Public Source Sheets | Sefaria"
-msgstr "דפי מקורות פומביים | ספריא"
+#, fuzzy
+msgid "Public Source Sheets | Sefaria Source Sheets"
+msgstr "דפי המקורות שלי | דפי מקורות בספריא"
 
 #: reader/views.py:613
 msgid ""
@@ -155,22 +150,34 @@ msgstr "חשבון בספריא"
 
 #: reader/views.py:725
 #, fuzzy
-msgid "Sefaria Notifcations"
+msgid "Sefaria Notifications"
 msgstr "הודעות בספריא"
 
 #: reader/views.py:732
 msgid "Moderator Tools"
 msgstr "כלי מנהלים"
 
-#: reader/views.py:2875
+#: reader/views.py:2877
 msgid "You must be logged in to update your profile."
 msgstr "הנכם צריכים להיות מחוברים כדי לערוך את הפרופיל שלכם."
 
-#: reader/views.py:3461 reader/views.py:3464
+#: reader/views.py:3463 reader/views.py:3466
 #, python-format
 msgid "Learn about %(name)s - works written, biographies, dates and more."
 msgstr ""
 
+#: reader/templatetags/sefaria_tags.py:216 sefaria/settings.py:23
+msgid "English"
+msgstr "אנגלית"
+
+#: reader/templatetags/sefaria_tags.py:217 sefaria/settings.py:24
+msgid "Hebrew"
+msgstr "עברית"
+
+#: reader/templatetags/sefaria_tags.py:218
+msgid "Bilingual"
+msgstr ""
+
 #: sefaria/forms.py:58 sefaria/forms.py:63 sefaria/forms.py:129
 #: templates/static/educators.html:301 templates/static/home.html:361
 msgid "Email Address"
@@ -200,14 +207,6 @@ msgstr "אני מסכימ/ה לקבל את עלון המחנכים שלנו"
 msgid "A user with that email already exists."
 msgstr "משתמש עם כתובת האימייל לעיל כבר קיים"
 
-#: sefaria/settings.py:23
-msgid "English"
-msgstr "אנגלית"
-
-#: sefaria/settings.py:24
-msgid "Hebrew"
-msgstr "עברית"
-
 #: sefaria/views.py:162
 msgid "Logged out"
 msgstr "מנותק מהחשבון"
@@ -245,6 +244,46 @@ msgid ""
 msgstr ""
 "צפו ברישום הכולל של פעילות פומבית בספריא כולל דפי מקורות, תרגומים ועריכות"
 
+#: templates/activity.html:52
+msgid "All Activity"
+msgstr "היסטוריית פעילות"
+
+#: templates/activity.html:53
+msgid "Translations"
+msgstr "תרגומים"
+
+#: templates/activity.html:54 templates/profile.html:106
+msgid "Source Sheets"
+msgstr "דפי מקורות"
+
+#: templates/activity.html:55
+msgid "New Texts"
+msgstr "טקסטים חדשים"
+
+#: templates/activity.html:56
+msgid "Edits"
+msgstr "עריכות"
+
+#: templates/activity.html:57 templates/profile.html:126
+msgid "Notes"
+msgstr "הערות"
+
+#: templates/activity.html:58
+msgid "Reviews"
+msgstr "ביקורות גולשים"
+
+#: templates/activity.html:59
+msgid "Text Info"
+msgstr "מידע אודות הטקסט"
+
+#: templates/activity.html:60
+msgid "Reversions"
+msgstr "שחזורים"
+
+#: templates/activity.html:61
+msgid "Flagged"
+msgstr "מסומנים"
+
 #: templates/edit_group.html:7
 msgid "Edit Group on Sefaria"
 msgstr "עריכת קבוצה בספריא"
@@ -304,14 +343,6 @@ msgstr "נמצא בספריא. עקבו אחרי פעילות שלהם בדפי
 msgid "at "
 msgstr "ב"
 
-#: templates/profile.html:106
-msgid "Source Sheets"
-msgstr "דפי מקורות"
-
-#: templates/profile.html:126
-msgid "Notes"
-msgstr ""
-
 #: templates/profile.html:133
 msgid "Activity"
 msgstr "פעילות"
@@ -352,31 +383,31 @@ msgstr ""
 msgid "Create your own source sheet with Sefaria's Source Sheet Builder."
 msgstr "צרו דף מקורות משלכם בעזרת בונה דפי המקורות של ספריא"
 
-#: templates/s2_sheets.html:994
+#: templates/s2_sheets.html:1043
 msgid "Private"
 msgstr "פרטי"
 
-#: templates/s2_sheets.html:997
+#: templates/s2_sheets.html:1046
 msgid "Listed for Sefaria Users"
 msgstr "מופיע למשתמשים רשומים"
 
-#: templates/s2_sheets.html:1000
+#: templates/s2_sheets.html:1049
 msgid "Anyone can Add"
 msgstr "כל אחד יכול להוסיף"
 
-#: templates/s2_sheets.html:1003
+#: templates/s2_sheets.html:1052
 msgid "Anyone can Add - Unlisted"
 msgstr "כל אחד יכול להוסיף - מוסתר"
 
-#: templates/s2_sheets.html:1006
+#: templates/s2_sheets.html:1055
 msgid "Anyone can Edit"
 msgstr "כל אחד יכול לערוך"
 
-#: templates/s2_sheets.html:1009
+#: templates/s2_sheets.html:1058
 msgid "Anyone can Edit - Unlisted"
 msgstr "כל אחד יכול לערוך - מוסתר"
 
-#: templates/s2_sheets.html:1022
+#: templates/s2_sheets.html:1071
 msgid "None"
 msgstr "ללא"
 
@@ -450,6 +481,130 @@ msgstr ""
 "צפו כיצד רשי יוצר חיבורים בין מקומות שונים בתורה כשהוא מפרש פסוק אחד ומצטט "
 "שם פסוק אחר"
 
+#: templates/elements/activity_feed.html:7
+msgid "deleted the text"
+msgstr "מחק את הטקסט"
+
+#: templates/elements/activity_feed.html:11
+msgid "deleted a text version of"
+msgstr "מחק את גרסת הטקסט של"
+
+#: templates/elements/activity_feed.html:13
+#: templates/elements/activity_feed.html:35
+#: templates/elements/activity_feed.html:101
+msgid "Version"
+msgstr "גרסה"
+
+#: templates/elements/activity_feed.html:18
+msgid "translated"
+msgstr "תורגם"
+
+#: templates/elements/activity_feed.html:20
+msgid "added"
+msgstr "נוסף"
+
+#: templates/elements/activity_feed.html:22
+msgid "edited"
+msgstr "נערך"
+
+#: templates/elements/activity_feed.html:24
+msgid "reverted"
+msgstr "שוחזר"
+
+#: templates/elements/activity_feed.html:29
+#: templates/elements/activity_feed.html:51
+msgid "and "
+msgstr "ו"
+
+#: templates/elements/activity_feed.html:29
+msgid "others"
+msgstr "אחרים"
+
+#: templates/elements/activity_feed.html:32
+#: templates/elements/activity_feed.html:99
+msgid "history"
+msgstr "הסטוריה"
+
+#: templates/elements/activity_feed.html:44
+msgid "added a connection"
+msgstr "קישור לטקסט אחר"
+
+#: templates/elements/activity_feed.html:46
+msgid "edited a connection"
+msgstr "ערך קישור"
+
+#: templates/elements/activity_feed.html:48
+msgid "deleted a connection"
+msgstr "מחק קישור"
+
+#: templates/elements/activity_feed.html:51
+msgid "between"
+msgstr "בין"
+
+#: templates/elements/activity_feed.html:55
+msgid "automatic commentary link"
+msgstr "קישור אוטומטי לפירוש"
+
+#: templates/elements/activity_feed.html:56
+msgid "automatic citation link"
+msgstr "קישור אוטומטי לציטוט"
+
+#: templates/elements/activity_feed.html:63
+msgid "added a note to "
+msgstr "הוסיף הערה ל"
+
+#: templates/elements/activity_feed.html:65
+msgid "edited a note on "
+msgstr "ערך הערה ב"
+
+#: templates/elements/activity_feed.html:67
+msgid "deleted a note on "
+msgstr "מחק הערה ב"
+
+#: templates/elements/activity_feed.html:80
+msgid "added text info for the text"
+msgstr "הוסיף מידע אודות הטקסט"
+
+#: templates/elements/activity_feed.html:82
+msgid "edited the text info of"
+msgstr "ערך מידע אודות הטקסט"
+
+#: templates/elements/activity_feed.html:86
+msgid "details"
+msgstr "פרטים"
+
+#: templates/elements/activity_feed.html:97
+msgid "reviewed"
+msgstr "הוסיף הגהה"
+
+#: templates/elements/activity_feed.html:109
+msgid "published a new Source Sheet"
+msgstr "פרסם דף מקורות חדש"
+
+#: templates/elements/activity_feed.html:119
+msgid "related"
+msgstr "נוספים"
+
+#: templates/elements/activity_feed.html:127
+msgid "No matching public activity yet."
+msgstr "לא נמצאו פרטי פעילות גלויה תואמים"
+
+#: templates/elements/activity_feed.html:129
+msgid "No public activity yet."
+msgstr "לא נמצאה פעילות גלויה"
+
+#: templates/elements/activity_feed.html:133
+msgid "No matching public history items."
+msgstr "לא נמצאו פרטי הסטוריה גלויה תואמים"
+
+#: templates/elements/activity_feed.html:135
+msgid "No public history items."
+msgstr "לא נמצאו פרטי הסטוריה גלויה"
+
+#: templates/elements/activity_feed.html:141
+msgid "Older Activity"
+msgstr "פעילות ישנה יותר"
+
 #: templates/registration/logged_out.html:4
 msgid "Logged Out"
 msgstr "מנותק"
@@ -717,6 +872,7 @@ msgstr ""
 "ומצגות אודות מאגר הטקסטים והקישורים"
 
 #: templates/static/william-davidson-talmud.html:4
+#: templates/static/william-davidson-talmud.html:80
 msgid "The William Davidson Talmud"
 msgstr "התלמוד במהדורת וויליאם דוידסון"
 
@@ -730,3 +886,6 @@ msgstr ""
 "התלמוד במהדורת וויליאם דוידסון הוא גרסה דיגיטלית חפשית של התלמוד הבבלי עם "
 "תרגום מקביל המקושר לפרשנים מרכזיים, אזכורים מקראיים, מדרש, הלכה ועולם הולך "
 "וגדל של טקסטים יהודיים"
+
+#~ msgid "Public Source Sheets | Sefaria"
+#~ msgstr "דפי מקורות פומביים | ספריא"

+ 13 - 0
reader/templatetags/sefaria_tags.py

@@ -20,6 +20,7 @@ from django.utils.translation import ugettext as _
 
 from sefaria.sheets import get_sheet
 from sefaria.model.user_profile import user_link as ulink, user_name as uname, public_user_data
+from sefaria.model.text import Version
 from sefaria.utils.util import strip_tags as strip_tags_func
 from sefaria.utils.hebrew import hebrew_plural, hebrew_term, hebrew_parasha_name
 from sefaria.utils.hebrew import hebrew_term as translate_hebrew_term
@@ -103,6 +104,18 @@ def he_parasha(value):
 
 
 @register.filter(is_safe=True)
+@stringfilter
+def he_version(value):
+	"""
+	Returns the Hebrew translation of a version title, if it exists.
+	"""
+	version = Version().load({"versionTitle": value})
+	if not version:
+		return value
+	return getattr(version, "versionTitleInHebrew", value)
+
+
+@register.filter(is_safe=True)
 def version_link(v):
 	"""
 	Return an <a> tag linking to the first available text of a particular version.

+ 9 - 4
reader/views.py

@@ -569,7 +569,7 @@ def s2_group_sheets(request, group, authenticated):
     return render_to_response('s2.html', {
         "propsJSON": propsJSON,
         "html": html,
-        "title": group[0].name + _(" | Sefaria Group"),
+        "title": group[0].name + " | " + _("Sefaria Groups"),
         "desc": props["groupData"].get("description", ""),
     }, RequestContext(request))
 
@@ -722,7 +722,7 @@ def s2_account(request):
 @login_required
 def s2_notifications(request):
     # Notifications content is not rendered server side
-    title = _("Sefaria Notifcations")
+    title = _("Sefaria Notifications")
     props = s2_props(request)
     return s2_page(request, props, "notifications", title)
 
@@ -2707,6 +2707,7 @@ def global_activity(request, page=1):
                                 'leaders1': top_contributors(1),
                                 'email': email,
                                 'next_page': next_page,
+                                'he': request.interfaceLang == "hebrew", # to make templates less verbose
                                 },
                              RequestContext(request))
 
@@ -2745,6 +2746,7 @@ def user_activity(request, slug, page=1):
                                 'for_user': True,
                                 'email': email,
                                 'next_page': next_page,
+                                'he': request.interfaceLang == "hebrew", # to make templates less verbose
                                 },
                              RequestContext(request))
 
@@ -2763,7 +2765,8 @@ def segment_history(request, tref, lang, version, page=1):
     nref = oref.normal()
 
     version = version.replace("_", " ")
-    if not Version().load({"title":oref.index.title, "versionTitle":version, "language":lang}):
+    version_record = Version().load({"title":oref.index.title, "versionTitle":version, "language":lang})
+    if not version_record:
         raise Http404(u"We do not have a version of {} called '{}'.  Please use the menu to find the text you are looking for.".format(oref.index.title, version))
     filter_type = request.GET.get("type", None)
     history = text_history(oref, version, lang, filter_type=filter_type, page=page)
@@ -2779,9 +2782,11 @@ def segment_history(request, tref, lang, version, page=1):
                                "ref": nref,
                                "lang": lang,
                                "version": version,
+                               "heVersion": getattr(version_record, "heVersionTitle", version_record.verstionTitle),
                                'email': email,
                                'filter_type': filter_type,
-                               'next_page': next_page
+                               'next_page': next_page,
+                               'he': request.interfaceLang == "hebrew", # to make templates less verbose
                              },
                              RequestContext(request))
 

+ 33 - 41
static/css/static.css

@@ -585,50 +585,48 @@
 #profilePage .sheet a {
   color: #333;
 }
-#activityList{
+#activityList {
   font-family: "proxima-nova", "Helvetica Neue", "Helvetica", sans-serif;
   color: #666;
   padding: 0;
 }
+.interface-hebrew #activityList {
+  font-family: "Heebo", "Helvetica Neue", Helvetica, Ariel, san-serif;
+}
 #profileActivity a {
   color: #333;
   font-weight: normal;
 }
-/*#profilePage #moreActivity {
-  display: block;
-  margin-top: 30px;
-  font-size: 15px;
-}*/
-#profilePage  #followMe span{
+#profilePage  #followMe span {
   font-size: inherit;
 }
-#profilePage  .button span.int-en{
+#profilePage  .button span.int-en {
 }
-#profilePage  .button span.int-he{
+#profilePage  .button span.int-he {
   font-size: inherit;
 }
-#profilePage #followMe.follow span.following{
+#profilePage #followMe.follow span.following {
   display: none;
 }
-#profilePage #followMe.following span.follow{
+#profilePage #followMe.following span.follow {
   display: none;
 }
-#profilePage #followMe span.unfollow{
+#profilePage #followMe span.unfollow {
   display:none;
 }
-#profilePage #followMe.following:hover span.unfollow{
+#profilePage #followMe.following:hover span.unfollow {
   display:inherit;
 }
-#profilePage #followMe.following:hover span.following{
+#profilePage #followMe.following:hover span.following {
   display:none;
 }
 #activityList .topline {
   font-weight: normal;
 }
-#activityList .text.int-en, #activityList .text{
+#activityList .text.int-en, #activityList .text {
   font-family: "adobe-garamond-pro", Georgia, serif;
 }
-#activityList .text.int-he{
+#activityList .text.int-he {
   font-family: "Frank Ruehl Libre", "Times New Roman", serif;
 }
 #activityList .time {
@@ -647,12 +645,10 @@
   font-family: "proxima-nova", "Helvetica Neue", "Helvetica", sans-serif;
   font-size: 14px;
 }
-
 .registrationContent {
   margin: 1% auto 0;
   width: 320px;
 }
-
 .registrationContent h1 .int-en{
   font-family: "adobe-garamond-pro", Georgia, serif;
 }
@@ -758,61 +754,61 @@
 #visualLibraryPage {
   padding-top: 70px;
 }
-.static div.single-button{
+.static div.single-button {
   margin: 5% 0;
 }
-.static div.single-button.center{
+.static div.single-button.center {
   text-align: center;
 }
 #donatePage #donateOptions .donateOption {
     margin-bottom: 35px;
 }
-#donatePage .faq p.question{
+#donatePage .faq p.question {
   font-weight: bold;
 }
-#donatePage .faq p.answer{
+#donatePage .faq p.answer {
   margin-left: 40px;
   text-indent: -20px;
 }
-#donatePage .faq p.question:before{
+#donatePage .faq p.question:before {
   content: "Q)";
 }
-#donatePage .faq p.answer:before{
+#donatePage .faq p.answer:before {
   content: "A)";
 }
 .interface-hebrew #donatePage .faq p.answer{
   margin-right: 40px;
   text-indent: -20px;
 }
-.interface-hebrew #donatePage .faq p.question:before{
+.interface-hebrew #donatePage .faq p.question:before {
   content: "ש)";
   font-family: "Heebo", "Helvetica Neue", Helvetica, Ariel, san-serif;
 }
-.interface-hebrew #donatePage .faq p.answer:before{
+.interface-hebrew #donatePage .faq p.answer:before {
   content: "ת)";
   font-family: "Heebo", "Helvetica Neue", Helvetica, Ariel, san-serif;
 }
 #supportersPage{
   text-align: center;
 }
-#supportersPage .leading-supporters p.tagline:first-child{
+#supportersPage .leading-supporters p.tagline:first-child {
   text-align: center;
   max-width: 500px;
   margin: auto;
 }
-#supportersPage .leading-supporters p.tagline:last-child{
+#supportersPage .leading-supporters p.tagline:last-child {
   margin-top: 20px;
 }
-#supportersPage .supporters p.tagline:first-child{
+#supportersPage .supporters p.tagline:first-child {
   margin-bottom: 20px;
 }
-#supportersPage h2{
+#supportersPage h2 {
     margin-top: 25px;
 }
-#supportersPage h2 span{
+#supportersPage h2 span {
   font-size: 1.3em;
 }
-#supportersPage .donate-link{
+#supportersPage .donate-link {
   margin-top:20px;
 }
 #aboutPage {
@@ -1207,7 +1203,7 @@
     border-radius: 8px;
     pointer-events: none;
 }
-#activityPage h2{
+#activityPage h2 {
   font-family: "adobe-garamond-pro", Georgia, serif;
   font-size: 25px;
   font-style: italic;
@@ -1216,6 +1212,9 @@
   border: none;
   text-transform: none;
 }
+.interface-hebrew #activityPage h2 {
+  font-family: "Heebo", "Helvetica Neue", Helvetica, Ariel, san-serif;
+}
 #activityPage #activityFeed {
   color: #666;
 }
@@ -1244,9 +1243,8 @@
   text-align: center;
   margin: 30px 0;
   padding-bottom: 30px;
-
 }
-#activityPage select{
+#activityPage select {
   min-width: 165px;
   background-color: #ffffff;
   height: 3em;
@@ -1255,12 +1253,6 @@
   border-radius: 3px;
   border-color: #ccc;
   font-size: 14px;
-  /*-webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;*/
 }
 #iosPage p {
   margin-bottom: 30px;

+ 27 - 14
templates/activity.html

@@ -27,25 +27,38 @@
 <div id="activityPage" class="container static">
     <div class="inner">
         {% if single %}
-		    <h1>Revision History of <a href="/{{ref}}">{{ ref }}</a></h1>
-		    <h2>{{ version }}</h2>
+		    <h1>
+				<span class="int-en">Revision History of {{ ref|ref_link }}</a></span>
+				<span class="int-he">היסטורית עריכה {{ ref|he_ref_link }}</span>
+		    </h1>
+		    <h2>
+				<span class="int-en">{{ version }}</span>
+				<span class="int-he">{{ heVersion }}</span>
+		    </h2>
         {% elif for_user %}
-            <h1>{{ profile.id|user_link }} | Public Activity</h1>
+            <h1>
+            	<span class="int-en">{{ profile.id|user_link }} | Public Activity</span>
+				<span class="int-he"{{ profile.id|user_link }} | פעילות גלויה></span>
+            	
+        	</h1>
         {% else %}
-            <h1>Recent Activity on Sefaria</h1>
+            <h1>
+				<span class="int-en">Recent Activity on Sefaria</span>
+				<span class="int-he">פעילות אחרונה בספריא</span>
+        	</h1>
         {% endif %}
         <div class="activityFilterSection sans">
             <select id="activityFilter">
-                <option value=""{% if not filter_type %} selected {% endif %}>All Activity</option>
-                <option value="translate" {% if filter_type == "translate" %} selected {% endif %}>Translations</option>
-                <option value="publish_sheet"{% if filter_type == "publish_sheet" %} selected {% endif %}>Source Sheets</option>
-                <option value="add_text"{% if filter_type == "add_text" %} selected {% endif %}>New Texts</option>
-                <option value="edit_text"{% if filter_type == "edit_text" %} selected {% endif %}>Edits</option>
-                <option value="add_note"{% if filter_type == "add_note" %} selected {% endif %}>Notes</option>
-                <option value="review"{% if filter_type == "review" %} selected {% endif %}>Reviews</option>
-                <option value="index_change"{% if filter_type == "index_change" %} selected {% endif %}>Text Info</option>
-                <option value="revert_text"{% if filter_type == "revert_text" %} selected {% endif %}>Reversions</option>
-                <option value="flagged"{% if filter_type == "flagged" %} selected {% endif %}>Flagged</option>
+                <option value=""{% if not filter_type %} selected {% endif %}>{% trans "All Activity" %}</option>
+                <option value="translate" {% if filter_type == "translate" %} selected {% endif %}>{% trans "Translations" %}</option>
+                <option value="publish_sheet"{% if filter_type == "publish_sheet" %} selected {% endif %}>{% trans "Source Sheets" %}</option>
+                <option value="add_text"{% if filter_type == "add_text" %} selected {% endif %}>{% trans "New Texts" %}</option>
+                <option value="edit_text"{% if filter_type == "edit_text" %} selected {% endif %}>{% trans "Edits" %}</option>
+                <option value="add_note"{% if filter_type == "add_note" %} selected {% endif %}>{% trans "Notes" %}</option>
+                <option value="review"{% if filter_type == "review" %} selected {% endif %}>{% trans "Reviews" %}</option>
+                <option value="index_change"{% if filter_type == "index_change" %} selected {% endif %}>{% trans "Text Info" %}</option>
+                <option value="revert_text"{% if filter_type == "revert_text" %} selected {% endif %}>{% trans "Reversions" %}</option>
+                <option value="flagged"{% if filter_type == "flagged" %} selected {% endif %}>{% trans "Flagged" %}</option>
             </select>
         </div>
 

+ 61 - 38
templates/elements/activity_feed.html

@@ -1,40 +1,40 @@
-{% load sefaria_tags %}
-{% load humanize %}
+{% load i18n humanize sefaria_tags %}
 
 <ul id="activityList">
 {% for event in activity %}
     <li>
         {% if event.rev_type == "delete index" %}
-            <span class="topline">{{ event.user|user_link }} deleted the text <i>{{ event.title }}</i>.
+            <span class="topline">{{ event.user|user_link }} {% trans "deleted the text" %} <i>{% if he %}{{ event.title|he_ref }}{% else %}{{ event.title }}{% endif %}</i>.
             </span>
 
+
         {% elif event.rev_type == "delete text" %}
-            <span class="topline">{{ event.user|user_link }} deleted a text version of <b>{{ event.title|ref_link }}</b>.
+            <span class="topline">{{ event.user|user_link }} {% trans "deleted a text version of" %} <b>{{ event.title|ref_link }}</b>.
             </span>
-    	   <div class="versionLine">Version: {{ event.version }} ({{ event.language|lang_code }})</div>
+    	   <div class="versionLine">{% trans "Version" %}: {% if he %}{{ event.version|he_version }}{% else %}{{ event.version }}{% endif %} ({{ event.language|lang_code }})</div>
 
-        {% elif "text" in event.rev_type %}
 
+        {% elif "text" in event.rev_type %}
 	    	<span class="topline">{{ event.user|user_link }} 
     		{% if event.rev_type == "add text" and event.version == "Sefaria Community Translation" %}
-    			translated 
+    			{% trans "translated" %} 
             {% elif event.rev_type == "add text" %}
-                added
+                {% trans "added" %}
     		{% elif event.rev_type == "edit text" %}
-    			edited 
+    			{% trans "edited" %} 
     		{% elif event.rev_type == "revert text" %}
-    			reverted
+    			{% trans "reverted" %}
     		{% endif %}
-	    	{{ event.ref|ref_link }}
+	    	{% if he%}{{ event.ref|he_ref_link }}{% else %}{{ event.ref|ref_link }}{% endif %}
             {% if event.method == "API" %} (via API) {% endif %}
             {% if event.summary %}
-                and <a class="showAllActivity" href="{{ event.history_url }}">{{ event.updates_count }} others &raquo;</a>
+                {% trans "and " %}<a class="showAllActivity" href="{{ event.history_url }}">{{ event.updates_count }} {% trans "others" %} &raquo;</a>
 
 	    	{% elif not single %}
-	    		<a class="historyLink" href="{{ event.history_url }}">history &raquo;</a>
+	    		<a class="historyLink" href="{{ event.history_url }}">{% trans "history" %} &raquo;</a>
 	    	{% endif %}
 	    	</span>
-            <div class="versionLine">Version: {{ event.version }} ({{ event.language|lang_code }})</div>
+            <div class="versionLine">{% trans "Version" %}: {% if he %}{{ event.version|he_version }}{% else %}{{ event.version }}{% endif %} ({{ event.language|lang_code }})</div>
 	    	<div class="text ver-{{ event.language }}">
 	    		{% autoescape off %}{{ event.diff_html }}{% endautoescape %}
 	    	</div>
@@ -43,32 +43,47 @@
 	    {% elif "link" in event.rev_type %}
 	    	<span class="topline">{{ event.user|user_link }}  
     		{% if event.rev_type == "add link" %}
-    			added a connection 
+    			{% trans "added a connection" %} 
     		{% elif event.rev_type == "edit link" %}
-    			edited a connection  
+    			{% trans "edited a connection" %}  
     		{% elif event.rev_type == "delete link" %}
-    			deleted a connection  
+    			{% trans "deleted a connection" %}  
     		{% endif %}
     		{% if event.new.type %}({{ event.new.type }}){% endif %}
-	    	between {% filter ref_link %}{% firstof event.new.refs.0 event.old.refs.0 %}{% endfilter %} and {% filter ref_link %}{% firstof event.new.refs.1  event.old.refs.1 %}{% endfilter %}.
+	    	{% trans "between" %}
+            {% if he %}
+                {% filter he_ref_link %}{% firstof event.new.refs.0 event.old.refs.0 %}{% endfilter %}
+            {% else %}
+                {% filter ref_link %}{% firstof event.new.refs.0 event.old.refs.0 %}{% endfilter %}
+            {% endif %}
+            {% trans "and " %}
+            {% if he %}
+                {% filter he_ref_link %}{% firstof event.new.refs.1 event.old.refs.1 %}{% endfilter %}
+            {% else %}
+                {% filter ref_link %}{% firstof event.new.refs.1 event.old.refs.1 %}{% endfilter %}
+            {% endif %}
 	    	{% if event.method == "API" %} (via API) {% endif %}
             </span>
             <div class="versionLine">
-            {% if event.rev_type == "add link" and event.new.generated_by == "add_commentary_links" %}(automatic commentary link){% endif %}
-            {% if event.rev_type == "add link" and event.new.generated_by == "add_links_from_text" %}(automatic citation link){% endif %}
+            {% if event.rev_type == "add link" and event.new.generated_by == "add_commentary_links" %}({% trans "automatic commentary link" %}){% endif %}
+            {% if event.rev_type == "add link" and event.new.generated_by == "add_links_from_text" %}({% trans "automatic citation link" %}){% endif %}
             </div>
 
 
 	    {% elif "note" in event.rev_type %}
 	    	<span class="topline">{{ event.user|user_link }}  
     		{% if event.rev_type == "add note" %}
-    			added a note to 
+    			{% trans "added a note to " %} 
     		{% elif event.rev_type == "edit note" %}
-    			edited a note on  
+    			{% trans "edited a note on " %}  
     		{% elif event.rev_type == "delete note" %}
-    			deleted a note on 
+    			{% trans "deleted a note on " %} 
     		{% endif %}
-	    	{% filter ref_link %}{% firstof event.new.ref event.old.ref %}{% endfilter %}.
+            {% if he %}
+                {% filter he_ref_link %}{% firstof event.new.ref event.old.ref %}{% endfilter %}.
+            {% else %}
+                {% filter ref_link %}{% firstof event.new.ref event.old.ref %}{% endfilter %}.
+            {% endif %}
             {% if event.method == "API" %} (via API) {% endif %}
 	    	</span>
 	    	<div class="text">
@@ -79,13 +94,13 @@
 	   	{% elif "index" in event.rev_type %}
 	    	<span class="topline">{{ event.user|user_link }}  
     		{% if event.rev_type == "add index" %}
-    			added text info for the text 
+    			{% trans "added text info for the text" %}
     		{% elif event.rev_type == "edit index" %}
-    			edited the text info of 
+    			{% trans "edited the text info of" %} 
     		{% endif %}
-	    	{{ event.title|ref_link }}.
+	    	{% if he %}{{ event.title|he_ref_link }}{% else %}{{ event.title|ref_link }}{% endif %}.
             {% if event.method == "API" %} (via API) {% endif %}
-            <span class="indexDetailsLink">details &raquo;</span>
+            <span class="indexDetailsLink">{% trans "details" %} &raquo;</span>
 	    	</span>
 
             <div class="indexDetails" style="display:none">
@@ -95,12 +110,13 @@
                 <pre>{{ event.old|pprint }}</pre>
             </div>
 
+
 	    {% elif "review" in event.rev_type %}
-            <span class="topline">{{ event.user|user_link }} reviewed {{ event.ref|ref_link }} .</span>
+            <span class="topline">{{ event.user|user_link }} {% trans "reviewed" %} {% if he %}{{ event.ref|he_ref_link }}{% else %}{{ event.ref|ref_link }}{% endif %} .</span>
             {% if not single %}
-                <a class="historyLink" href="{{ event.history_url }}">history &raquo;</a>
+                <a class="historyLink" href="{{ event.history_url }}">{% trans "history" %} &raquo;</a>
             {% endif %} 
-            <div class="versionLine">Version: {{ event.version }} ({{ event.language|lang_code }})</div>
+            <div class="versionLine">{% trans "Version" %}: {% if he %}{{ event.version|he_version }}{% else %}{{ event.version }}{% endif %} ({{ event.language|lang_code }})</div>
             <div class="score raty" data-raty="{{ event.score }}"></div>
             <div class="text">
                 {{ event.comment|linebreaksbr }}
@@ -108,30 +124,37 @@
         
 
         {% elif event.rev_type == "publish sheet" %}
-            <span class="topline">{{ event.user|user_link }} published a new Source Sheet, {{ event.sheet|sheet_link }}.
+            <span class="topline">{{ event.user|user_link }} {% trans "published a new Source Sheet" %}, {{ event.sheet|sheet_link }}.
             </span>
 
         {% endif %}
 
 
-
     	<div class="time">
     		{{ event.date|naturaltime }}
     	</div>
         {% if event.summary %}
-            <a class="showAllActivity bottom" href="{{ event.history_url }}">{{ event.updates_count }} related &raquo;</a>
+            <a class="showAllActivity bottom" href="{{ event.history_url }}">{{ event.updates_count }} {% trans "related" %} &raquo;</a>
         {% endif %}
     </li>
 {% empty %}
     {% if empty_message %}
         <i>{{ empty_message }}</i>
     {% elif profile %}
-        <i>No {% if filter_type %}matching{% endif %} public activity yet.</i>
+        {% if filter_type %}
+        <i>{% trans "No matching public activity yet." %}</i>
+        {% else %}
+        <i>{% trans "No public activity yet." %}</i>
+        {% endif %}
     {% else %}
-	   <i>No {% if filter_type %}matching{% endif %} public history items.</i>
+        {% if filter_type %}
+        <i>{% trans "No matching public history items." %}</i>
+        {% else %}
+        <i>{% trans "No public history items." %}</i>
+        {% endif %}
     {% endif %}
 {% endfor %}
 </ul>
 {% if next_page and not hide_more_link %}
-    <a class="page-link" id="older" href="{{ next_page }}">Older Activity &raquo;</a>
-{% endif %}
+    <a class="page-link" id="older" href="{{ next_page }}">{% trans "Older Activity" %} &raquo;</a>
+{% endif %}

+ 0 - 31
templates/elements/activity_filter.html

@@ -1,31 +0,0 @@
-
-
-<div id="activityFilter">
-    <span class="filter">{% if not filter_type %} all activity {% else %} <a href="?">all activity</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "translate" %} translations {% else %} <a href="?type=translate">translations</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "publish_sheet" %} source sheets {% else %} <a href="?type=publish_sheet">source sheets</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "add_text" %} new texts {% else %} <a href="?type=add_text">new texts</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "edit_text" %} edits {% else %} <a href="?type=edit_text">edits</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "add_note" %} notes {% else %} <a href="?type=add_note">notes</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "review" %} reviews {% else %} <a href="?type=review">reviews</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "index_change" %} text info {% else %} <a href="?type=index_change">text info</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "revert_text" %} reversions {% else %} <a href="?type=revert_text">reversions</a> {% endif %}</span>
-    <span class="filter">{% if filter_type == "flagged" %} flagged {% else %} <a href="?type=flagged">flagged</a> {% endif %}</span>
-
-<!---
-    rev types in db:
-    "0" : "edit text",
-    "1" : "add text",
-    "2" : "add link",
-    "3" : "edit index",
-    "4" : "add note",
-    "5" : "revert text",
-    "6" : "edit link",
-    "7" : "add index",
-    "8" : "delete link",
-    "9" : "edit note",
-    "10" : "delete note",
-    "11" : "review"
- -->
-
-</div>