Commit 0d3c4499 by Calen Pennington Committed by Adam Palay

LMS i18n from Tsinghua

parent 8573ac39
...@@ -17,3 +17,5 @@ input_encoding = utf-8 ...@@ -17,3 +17,5 @@ input_encoding = utf-8
input_encoding = utf-8 input_encoding = utf-8
[mako: common/templates/**.html] [mako: common/templates/**.html]
input_encoding = utf-8 input_encoding = utf-8
[mako: cms/templates/emails/**.txt]
input_encoding = utf-8
{ {
"locales" : ["en", "es"], "locales" : ["en", "zh_CN"],
"dummy-locale" : "fr" "dummy-locale" : "fr"
} }
...@@ -90,8 +90,8 @@ class WikiRedirectTestCase(LoginEnrollmentTestCase): ...@@ -90,8 +90,8 @@ class WikiRedirectTestCase(LoginEnrollmentTestCase):
""" """
Ensure that the response has the course navigator. Ensure that the response has the course navigator.
""" """
self.assertTrue("course info" in resp.content.lower()) self.assertContains(resp, "Course Info")
self.assertTrue("courseware" in resp.content.lower()) self.assertContains(resp, "courseware")
def test_course_navigator(self): def test_course_navigator(self):
"""" """"
......
...@@ -120,9 +120,8 @@ class PageLoaderTestCase(LoginEnrollmentTestCase): ...@@ -120,9 +120,8 @@ class PageLoaderTestCase(LoginEnrollmentTestCase):
self.assertEqual(response.redirect_chain[0][1], 302) self.assertEqual(response.redirect_chain[0][1], 302)
if check_content: if check_content:
unavailable_msg = "this module is temporarily unavailable" self.assertNotContains(response, "this module is temporarily unavailable")
self.assertEqual(response.content.find(unavailable_msg), -1) self.assertNotIsInstance(descriptor, ErrorDescriptor)
self.assertFalse(isinstance(descriptor, ErrorDescriptor))
@override_settings(MODULESTORE=TEST_DATA_XML_MODULESTORE) @override_settings(MODULESTORE=TEST_DATA_XML_MODULESTORE)
......
...@@ -166,7 +166,7 @@ XQUEUE_WAITTIME_BETWEEN_REQUESTS = 5 # seconds ...@@ -166,7 +166,7 @@ XQUEUE_WAITTIME_BETWEEN_REQUESTS = 5 # seconds
############################# SET PATH INFORMATION ############################# ############################# SET PATH INFORMATION #############################
PROJECT_ROOT = path(__file__).abspath().dirname().dirname() # /mitx/lms PROJECT_ROOT = path(__file__).abspath().dirname().dirname() # /edx-platform/lms
REPO_ROOT = PROJECT_ROOT.dirname() REPO_ROOT = PROJECT_ROOT.dirname()
COMMON_ROOT = REPO_ROOT / "common" COMMON_ROOT = REPO_ROOT / "common"
ENV_ROOT = REPO_ROOT.dirname() # virtualenv dir /mitx is in ENV_ROOT = REPO_ROOT.dirname() # virtualenv dir /mitx is in
...@@ -381,6 +381,8 @@ LANGUAGE_CODE = 'en' # http://www.i18nguy.com/unicode/language-identifiers.html ...@@ -381,6 +381,8 @@ LANGUAGE_CODE = 'en' # http://www.i18nguy.com/unicode/language-identifiers.html
USE_I18N = True USE_I18N = True
USE_L10N = True USE_L10N = True
# Localization strings (e.g. django.po) are under this directory
LOCALE_PATHS = (REPO_ROOT + '/conf/locale',) # edx-platform/conf/locale/
# Messages # Messages
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
...@@ -486,6 +488,9 @@ MIDDLEWARE_CLASSES = ( ...@@ -486,6 +488,9 @@ MIDDLEWARE_CLASSES = (
'course_wiki.course_nav.Middleware', 'course_wiki.course_nav.Middleware',
# Detects user-requested locale from 'accept-language' header in http request
'django.middleware.locale.LocaleMiddleware',
'django.middleware.transaction.TransactionMiddleware', 'django.middleware.transaction.TransactionMiddleware',
# 'debug_toolbar.middleware.DebugToolbarMiddleware', # 'debug_toolbar.middleware.DebugToolbarMiddleware',
......
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
<section class="basic_stats"> <section class="basic_stats">
<div class="edx_summary"> <div class="edx_summary">
<h2>edX-wide Summary</h2> <h2>${_("edX-wide Summary")}</h2>
<table style="margin-left:auto;margin-right:auto;width:50%"> <table style="margin-left:auto;margin-right:auto;width:50%">
% for key in results["scalars"]: % for key in results["scalars"]:
<tr> <tr>
......
<%! from django.utils.translation import ugettext as _ %>
<div class="annotatable-wrapper"> <div class="annotatable-wrapper">
<div class="annotatable-header"> <div class="annotatable-header">
% if display_name is not UNDEFINED and display_name is not None: % if display_name is not UNDEFINED and display_name is not None:
...@@ -8,8 +10,8 @@ ...@@ -8,8 +10,8 @@
% if instructions_html is not UNDEFINED and instructions_html is not None: % if instructions_html is not UNDEFINED and instructions_html is not None:
<div class="annotatable-section shaded"> <div class="annotatable-section shaded">
<div class="annotatable-section-title"> <div class="annotatable-section-title">
Instructions ${_("Instructions")}
<a class="annotatable-toggle annotatable-toggle-instructions expanded" href="javascript:void(0)">Collapse Instructions</a> <a class="annotatable-toggle annotatable-toggle-instructions expanded" href="javascript:void(0)">${_("Collapse Instructions")}</a>
</div> </div>
<div class="annotatable-section-body annotatable-instructions"> <div class="annotatable-section-body annotatable-instructions">
${instructions_html} ${instructions_html}
...@@ -19,8 +21,8 @@ ...@@ -19,8 +21,8 @@
<div class="annotatable-section"> <div class="annotatable-section">
<div class="annotatable-section-title"> <div class="annotatable-section-title">
Guided Discussion ${_("Guided Discussion")}
<a class="annotatable-toggle annotatable-toggle-annotations" href="javascript:void(0)">Hide Annotations</a> <a class="annotatable-toggle annotatable-toggle-annotations" href="javascript:void(0)">${_("Hide Annotations")}</a>
</div> </div>
<div class="annotatable-section-body annotatable-content"> <div class="annotatable-section-body annotatable-content">
${content_html} ${content_html}
......
<%! from django.utils.translation import ugettext as _ %>
<section id="combined-open-ended" class="combined-open-ended" data-location="${location}" data-ajax-url="${ajax_url}" data-allow_reset="${allow_reset}" data-state="${state}" data-task-count="${task_count}" data-task-number="${task_number}" data-accept-file-upload = "${accept_file_upload}"> <section id="combined-open-ended" class="combined-open-ended" data-location="${location}" data-ajax-url="${ajax_url}" data-allow_reset="${allow_reset}" data-state="${state}" data-task-count="${task_count}" data-task-number="${task_number}" data-accept-file-upload = "${accept_file_upload}">
<div class="status-container"> <div class="status-container">
${status|n} ${status|n}
...@@ -12,8 +13,8 @@ ...@@ -12,8 +13,8 @@
% endfor % endfor
</div> </div>
<input type="button" value="Reset" class="reset-button" name="reset"/> <input type="button" value="${_("Reset")}" class="reset-button" name="reset"/>
<input type="button" value="Next Step" class="next-step-button" name="reset"/> <input type="button" value="${_("Next Step")}" class="next-step-button" name="reset"/>
</div> </div>
<section class="legend-container"> <section class="legend-container">
......
<%! from django.utils.translation import ugettext as _ %>
<section class="legend-container"> <section class="legend-container">
<div class="legenditem"> <div class="legenditem">
Legend ${_("Legend")}
</div> </div>
% for i in xrange(0,len(legend_list)): % for i in xrange(0,len(legend_list)):
<%legend_title=legend_list[i]['name'] %> <%legend_title=legend_list[i]['name'] %>
......
<%! from django.utils.translation import ugettext as _ %>
<div class="status-elements"> <div class="status-elements">
<section id="combined-open-ended-status" class="combined-open-ended-status"> <section id="combined-open-ended-status" class="combined-open-ended-status">
<div class="statusitem"> <div class="statusitem">
Status ${_("Status")}
</div> </div>
%for i in xrange(0,len(status_list)): %for i in xrange(0,len(status_list)):
<%status=status_list[i]%> <%status=status_list[i]%>
......
<%! from django.utils.translation import ugettext as _ %>
% for co in context_list: % for co in context_list:
% if co['grader_type'] in grader_type_image_dict: % if co['grader_type'] in grader_type_image_dict:
<%grader_type=co['grader_type']%> <%grader_type=co['grader_type']%>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
%if len(co['feedback'])>2: %if len(co['feedback'])>2:
<div class="collapsible evaluation-response"> <div class="collapsible evaluation-response">
<header> <header>
<a href="#">See full feedback</a> <a href="#">${_("See full feedback")}</a>
</header> </header>
<section class="feedback-full"> <section class="feedback-full">
${co['feedback']} ${co['feedback']}
...@@ -32,22 +33,22 @@ ...@@ -32,22 +33,22 @@
<input type="hidden" value="${co['submission_id']}" class="submission_id" /> <input type="hidden" value="${co['submission_id']}" class="submission_id" />
<div class="collapsible evaluation-response"> <div class="collapsible evaluation-response">
<header> <header>
<a href="#">Respond to Feedback</a> <a href="#">${_("Respond to Feedback")}</a>
</header> </header>
<section id="evaluation" class="evaluation"> <section id="evaluation" class="evaluation">
<p>How accurate do you find this feedback?</p> <p>${_("How accurate do you find this feedback?")}</p>
<div class="evaluation-scoring"> <div class="evaluation-scoring">
<ul class="scoring-list"> <ul class="scoring-list">
<li><input type="radio" name="evaluation-score" id="evaluation-score-5" value="5" /> <label for="evaluation-score-5"> Correct</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-5" value="5" /> <label for="evaluation-score-5"> ${_("Correct")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-4" value="4" /> <label for="evaluation-score-4"> Partially Correct</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-4" value="4" /> <label for="evaluation-score-4"> ${_("Partially Correct")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-3" value="3" /> <label for="evaluation-score-3"> No Opinion</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-3" value="3" /> <label for="evaluation-score-3"> ${_("No Opinion")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-2" value="2" /> <label for="evaluation-score-2"> Partially Incorrect</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-2" value="2" /> <label for="evaluation-score-2"> ${_("Partially Incorrect")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-1" value="1" /> <label for="evaluation-score-1"> Incorrect</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-1" value="1" /> <label for="evaluation-score-1"> ${_("Incorrect")}</label></li>
</ul> </ul>
</div> </div>
<p>Additional comments:</p> <p>${_("Additional comments:")}</p>
<textarea rows="${rows}" cols="${cols}" name="feedback" class="feedback-on-feedback" id="feedback"></textarea> <textarea rows="${rows}" cols="${cols}" name="feedback" class="feedback-on-feedback" id="feedback"></textarea>
<input type="button" value="Submit Feedback" class="submit-evaluation-button" name="reset"/> <input type="button" value="${_("Submit Feedback")}" class="submit-evaluation-button" name="reset"/>
</section> </section>
</div> </div>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<section id="openended_${id}" class="open-ended-child" data-state="${state}" data-child-type="${child_type}"> <section id="openended_${id}" class="open-ended-child" data-state="${state}" data-child-type="${child_type}">
<div class="error"></div> <div class="error"></div>
<div class="prompt"> <div class="prompt">
${prompt|n} ${prompt|n}
</div> </div>
<h4>Response</h4> <h4>${_("Response")}</h4>
<textarea rows="${rows}" cols="${cols}" name="answer" class="answer short-form-response" id="input_${id}">${previous_answer|h}</textarea> <textarea rows="${rows}" cols="${cols}" name="answer" class="answer short-form-response" id="input_${id}">${previous_answer|h}</textarea>
<div class="message-wrapper"></div> <div class="message-wrapper"></div>
<div class="grader-status"> <div class="grader-status">
% if state == 'initial': % if state == 'initial':
<span class="unanswered" style="display:inline-block;" id="status_${id}">Unanswered</span> <span class="unanswered" style="display:inline-block;" id="status_${id}">${_(Unanswered)}</span>
% elif state == 'assessing': % elif state == 'assessing':
<span class="grading" id="status_${id}">Submitted for grading. <span class="grading" id="status_${id}">${_("Submitted for grading.")}
% if eta_message is not None: % if eta_message is not None:
${eta_message} ${eta_message}
% endif % endif
...@@ -26,8 +27,8 @@ ...@@ -26,8 +27,8 @@
<div class="file-upload"></div> <div class="file-upload"></div>
<input type="button" value="Submit" class="submit-button" name="show"/> <input type="button" value="${_("Submit")}" class="submit-button" name="show"/>
<input name="skip" class="skip-button" type="button" value="Skip Post-Assessment"/> <input name="skip" class="skip-button" type="button" value="${_("Skip Post-Assessment")}"/>
<div class="open-ended-action"></div> <div class="open-ended-action"></div>
......
<%! from django.utils.translation import ugettext as _ %>
<section> <section>
<div class="shortform"> <div class="shortform">
<div class="result-errors"> <div class="result-errors">
There was an error with your submission. Please contact course staff. ${_("There was an error with your submission. Please contact course staff.")}
</div> </div>
</div> </div>
<div class="longform"> <div class="longform">
......
<%! from django.utils.translation import ugettext as _ %>
<div class="external-grader-message"> <div class="external-grader-message">
${msg|n} ${msg|n}
<div class="collapsible evaluation-response"> <div class="collapsible evaluation-response">
<header> <header>
<a href="#">Respond to Feedback</a> <a href="#">${_("Respond to Feedback")}</a>
</header> </header>
<section id="evaluation_${id}" class="evaluation"> <section id="evaluation_${id}" class="evaluation">
<p>How accurate do you find this feedback?</p> <p>${_("How accurate do you find this feedback?")}</p>
<div class="evaluation-scoring"> <div class="evaluation-scoring">
<ul class="scoring-list"> <ul class="scoring-list">
<li><input type="radio" name="evaluation-score" id="evaluation-score-5" value="5" /> <label for="evaluation-score-5"> Correct</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-5" value="5" /> <label for="evaluation-score-5"> ${_("Correct")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-4" value="4" /> <label for="evaluation-score-4"> Partially Correct</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-4" value="4" /> <label for="evaluation-score-4"> ${_("Partially Correct")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-3" value="3" /> <label for="evaluation-score-3"> No Opinion</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-3" value="3" /> <label for="evaluation-score-3"> ${_("No Opinion")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-2" value="2" /> <label for="evaluation-score-2"> Partially Incorrect</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-2" value="2" /> <label for="evaluation-score-2"> ${_("Partially Incorrect")}</label></li>
<li><input type="radio" name="evaluation-score" id="evaluation-score-1" value="1" /> <label for="evaluation-score-1"> Incorrect</label></li> <li><input type="radio" name="evaluation-score" id="evaluation-score-1" value="1" /> <label for="evaluation-score-1"> ${_("Incorrect")}</label></li>
</ul> </ul>
</div> </div>
<p>Additional comments:</p> <p>${_("Additional comments:")}</p>
<textarea rows="${rows}" cols="${cols}" name="feedback_${id}" class="feedback-on-feedback" id="feedback_${id}"></textarea> <textarea rows="${rows}" cols="${cols}" name="feedback_${id}" class="feedback-on-feedback" id="feedback_${id}"></textarea>
<input type="button" value="Submit Feedback" class="submit-evaluation-button" name="reset"/> <input type="button" value="${_("Submit Feedback")}" class="submit-evaluation-button" name="reset"/>
</section> </section>
</div> </div>
</div> </div>
<%! from django.utils.translation import ugettext as _ %>
<form class="rubric-template" id="inputtype_${id}" xmlns="http://www.w3.org/1999/html"> <form class="rubric-template" id="inputtype_${id}" xmlns="http://www.w3.org/1999/html">
<h3>Rubric</h3> <h3>${_("Rubric")}</h3>
<p>Select the criteria you feel best represents this submission in each category.</p> <p>${_("Select the criteria you feel best represents this submission in each category.")}</p>
<div class="rubric"> <div class="rubric">
% for i in range(len(categories)): % for i in range(len(categories)):
<% category = categories[i] %> <% category = categories[i] %>
......
<%! from django.utils.translation import ugettext as _ %>
<div class="hint"> <div class="hint">
<div class="hint-prompt"> <div class="hint-prompt">
Please enter a hint below: ${_("Please enter a hint below:")}
</div> </div>
<textarea name="post_assessment" class="post_assessment" cols="70" rows="5" <textarea name="post_assessment" class="post_assessment" cols="70" rows="5"
${'readonly="true"' if read_only else ''}>${hint}</textarea> ${'readonly="true"' if read_only else ''}>${hint}</textarea>
......
<%! from django.utils.translation import ugettext as _ %>
<section id="self_assessment_${id}" class="open-ended-child" data-ajax-url="${ajax_url}" <section id="self_assessment_${id}" class="open-ended-child" data-ajax-url="${ajax_url}"
data-id="${id}" data-state="${state}" data-allow_reset="${allow_reset}" data-child-type="${child_type}"> data-id="${id}" data-state="${state}" data-allow_reset="${allow_reset}" data-child-type="${child_type}">
<div class="error"></div> <div class="error"></div>
...@@ -5,7 +6,7 @@ ...@@ -5,7 +6,7 @@
${prompt} ${prompt}
</div> </div>
<h4>Response</h4> <h4>${_("Response")}</h4>
<div> <div>
<textarea name="answer" class="answer short-form-response" cols="70" rows="20">${previous_answer|n}</textarea> <textarea name="answer" class="answer short-form-response" cols="70" rows="20">${previous_answer|n}</textarea>
</div> </div>
...@@ -19,5 +20,5 @@ ...@@ -19,5 +20,5 @@
<div class="message-wrapper"></div> <div class="message-wrapper"></div>
<div class="file-upload"></div> <div class="file-upload"></div>
<input type="button" value="Submit" class="submit-button" name="show"/> <input type="button" value="${_("Submit")}" class="submit-button" name="show"/>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container about"> <section class="container about">
<nav> <nav>
<a href="/t/about.html">Vision</a> <a href="/t/about.html">${_("Vision")}</a>
<a href="/t/faq.html">Faq</a> <a href="/t/faq.html">${_("Faq")}</a>
<a href="/t/press.html">Press</a> <a href="/t/press.html">${_("Press")}</a>
<a href="/t/contact.html" class="active">Contact</a> <a href="/t/contact.html" class="active">${_("Contact")}</a>
</nav> </nav>
<section class="contact"> <section class="contact">
...@@ -15,21 +17,33 @@ ...@@ -15,21 +17,33 @@
<img src="${static.url('images/contact-page.jpg')}"> <img src="${static.url('images/contact-page.jpg')}">
</div> </div>
<div class="contacts"> <div class="contacts">
<h2>Class Feedback</h2> <h2>${_("Class Feedback")}</h2>
<p>We are always seeking feedback to improve our courses. If you are an enrolled student and have any questions, feedback, suggestions, or any other issues specific to a particular class, please post on the discussion forums of that&nbsp;class.</p> <p>${_("We are always seeking feedback to improve our courses. If you are an enrolled student and have any questions, feedback, suggestions, or any other issues specific to a particular class, please post on the discussion forums of that&nbsp;class.")}</p>
<h2>General Inquiries and Feedback</h2> <h2>${_("General Inquiries and Feedback")}</h2>
<p>"If you have a general question about edX please email <a href="mailto:info@edx.org">info@edx.org</a>. To see if your question has already been answered, visit our <a href="${reverse('faq_edx')}">FAQ page</a>. You can also join the discussion on our <a href="http://www.facebook.com/EdxOnline">facebook page</a>. Though we may not have a chance to respond to every email, we take all feedback into consideration.</p> <p>${_('If you have a general question about edX please email {email}. To see if your question has already been answered, visit our {faq_link_start}FAQ page{faq_link_end}. You can also join the discussion on our {fb_link_start}facebook page{fb_link_end}. Though we may not have a chance to respond to every email, we take all feedback into consideration.').format(
email='<a href="mailto:info@edx.org">info@edx.org</a>',
<h2>Technical Inquiries and Feedback</h2> faq_link_start='<a href="{url}">'.format(url=reverse('faq_edx')),
<p>If you have suggestions/feedback about the overall edX platform, or are facing general technical issues with the platform (e.g., issues with email addresses and passwords), you can reach us at <a href="mailto:technical@edx.org">technical@edx.org</a>. For technical questions, please make sure you are using a current version of Firefox or Chrome, and include browser and version in your e-mail, as well as screenshots or other pertinent details. If you find a bug or other issues, you can reach us at the following: <a href="mailto:bugs@edx.org">bugs@edx.org</a>.</p> faq_link_end='</a>',
fb_link_start='<a href="http://www.facebook.com/EdxOnline">'.
<h2>Media</h2> fb_link_end='</a>'
<p>Please visit our <a href="${reverse('faq_edx')}">media/press page</a> for more information. 
For any media or press inquiries, please email <a href="mailto:press@edx.org">press@edx.org</a>.</p> )}</p>
<h2>Universities</h2> <h2>${_("Technical Inquiries and Feedback")}</h2>
<p>If you are a university wishing to Collaborate or with questions about edX, please email <a href="mailto:university@edx.org">university@edx.org</a>.</p> <p>${_('If you have suggestions/feedback about the overall edX platform, or are facing general technical issues with the platform (e.g., issues with email addresses and passwords), you can reach us at {tech_email}. For technical questions, please make sure you are using a current version of Firefox or Chrome, and include browser and version in your e-mail, as well as screenshots or other pertinent details. If you find a bug or other issues, you can reach us at the following: {bug_email}.').format(
tech_email='<a href="mailto:technical@edx.org">technical@edx.org</a>',
bug_email='<a href="mailto:bugs@edx.org">bugs@edx.org</a>'
)}</p>
<h2>${_("Media")}</h2>
<p>${_('Please visit our {link_start}media/press page{link_end} for more information. For any media or press inquiries, please email {email}.').format(
link_start='<a href="{url}">'.format(url=reverse('faq_edx')),
link_end='</a>',
email='<a href="mailto:press@edx.org">press@edx.org</a>',
)}</p>
<h2>${_("Universities")}</h2>
<p>${_('If you are a university wishing to Collaborate or with questions about edX, please email {email}.'.format(email='<a href="mailto:university@edx.org">university@edx.org</a>')}</p>
</div> </div>
</section> </section>
</section> </section>
......
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%namespace file='main.html' import="stanford_theme_enabled"/> <%namespace file='main.html' import="stanford_theme_enabled"/>
<%! <%!
from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _
from courseware.courses import course_image_url, get_course_about_section from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section
%> %>
<%page args="course" /> <%page args="course" />
<article id="${course.id}" class="course"> <article id="${course.id}" class="course">
%if course.is_newish: %if course.is_newish:
<span class="status">New</span> <span class="status">${_("New")}</span>
%endif %endif
<a href="${reverse('about_course', args=[course.id])}"> <a href="${reverse('about_course', args=[course.id])}">
<div class="inner-wrapper"> <div class="inner-wrapper">
......
<%! from django.utils.translation import ugettext as _ %>
<section class="filter"> <section class="filter">
<nav> <nav>
<div class="dropdown university"> <div class="dropdown university">
<div class="filter-heading"> <div class="filter-heading">
All Universities ${_("All Universities")}
</div> </div>
<ul> <ul>
<li> <li>
...@@ -16,34 +18,34 @@ ...@@ -16,34 +18,34 @@
<div class="dropdown subject"> <div class="dropdown subject">
<div class="filter-heading"> <div class="filter-heading">
All Subjects ${_("All Subjects")}
</div> </div>
<ul> <ul>
<li> <li>
<a href="#">Computer Science</a> <a href="#">${_("Computer Science")}</a>
</li> </li>
<li> <li>
<a href="#">History</a> <a href="#">${_("History")}</a>
</li> </li>
</ul> </ul>
</div> </div>
<div class="dropdown featured"> <div class="dropdown featured">
<div class="filter-heading"> <div class="filter-heading">
Newest ${_("Newest")}
</div> </div>
<ul> <ul>
<li> <li>
<a href="#">Top Rated</a> <a href="#">${_("Top Rated")}</a>
</li> </li>
<li> <li>
<a href="#">Starting soonest</a> <a href="#">${_("Starting soonest")}</a>
</li> </li>
</ul> </ul>
</div> </div>
<form class="search"> <form class="search">
<input type="text" placeholder="Search for courses"> <input type="text" placeholder="${_('Search for courses')}">
<input type="submit"> <input type="submit">
</form> </form>
</nav> </nav>
......
<%! from django.utils.translation import ugettext as _ %>
<section class="cohort_manager" data-ajax_url="${cohorts_ajax_url}"> <section class="cohort_manager" data-ajax_url="${cohorts_ajax_url}">
<h3>Cohort groups</h3> <h3>${_("Cohort groups")}</h3>
<div class="controls" style="padding-top:15px"> <div class="controls" style="padding-top:15px">
<a href="#" class="button show_cohorts">Show cohorts</a> <a href="#" class="button show_cohorts">${_("Show cohorts")}</a>
</div> </div>
<ul class="errors"> <ul class="errors">
</ul> </ul>
<div class="summary" style="display:none"> <div class="summary" style="display:none">
<h3>Cohorts in the course</h3> <h3>${_("Cohorts in the course")}</h3>
<ul class="cohorts"> <ul class="cohorts">
</ul> </ul>
<p> <p>
<input class="cohort_name"/> <input class="cohort_name"/>
<a href="#" class="button add_cohort">Add cohort</a> <a href="#" class="button add_cohort">${_("Add cohort")}</a>
</p> </p>
</div> </div>
...@@ -27,10 +28,10 @@ ...@@ -27,10 +28,10 @@
<span class="page_num"></span> <span class="page_num"></span>
<p> <p>
Add users by username or email. One per line or comma-separated. ${_("Add users by username or email. One per line or comma-separated.")}
</p> </p>
<textarea cols="50" row="30" class="users_area" style="height: 200px"></textarea> <textarea cols="50" row="30" class="users_area" style="height: 200px"></textarea>
<a href="#" class="button add_members">Add cohort members</a> <a href="#" class="button add_members">${_("Add cohort members")}</a>
<ul class="op_results"> <ul class="op_results">
</ul> </ul>
......
<!DOCTYPE html> <!DOCTYPE html>
<%! from django.utils.translation import ugettext as _ %>
<html> <html>
<head> <head>
## "edX" should not be translated
<%block name="title"><title>edX</title></%block> <%block name="title"><title>edX</title></%block>
<script type="text/javascript" src="/static/js/vendor/jquery.min.js"></script> <script type="text/javascript" src="/static/js/vendor/jquery.min.js"></script>
......
<%! from django.core.urlresolvers import reverse %> <%!
<%! from xmodule.util.date_utils import get_default_time_display %> from django.core.urlresolvers import reverse
from xmodule.util.date_utils import get_default_time_display
from django.utils.translation import ugettext as _
%>
<%def name="make_chapter(chapter)"> <%def name="make_chapter(chapter)">
<div class="chapter"> <div class="chapter">
<h3 ${' class="active"' if 'active' in chapter and chapter['active'] else ''} aria-label="${chapter['display_name']}${', current chapter' if 'active' in chapter and chapter['active'] else ''}"> <%
if chapter.get('active'):
aria_label = _('{chapter}, current chapter').format(chapter=chapter['display_name'])
active_class = ' class="active"'
else:
aria_label = chapter['display_name']
active_class = ''
%>
<h3 ${active_class} aria-label="${aria_label}">
<a href="#"> <a href="#">
${chapter['display_name']} ${chapter['display_name']}
</a> </a>
......
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
...@@ -51,7 +52,7 @@ ...@@ -51,7 +52,7 @@
location.href = "${reverse('register_user')}?course_id=${course.id}&enrollment_action=enroll"; location.href = "${reverse('register_user')}?course_id=${course.id}&enrollment_action=enroll";
} else { } else {
$('#register_error').html( $('#register_error').html(
(xhr.responseText ? xhr.responseText : 'An error occurred. Please try again later.') (xhr.responseText ? xhr.responseText : ${_('An error occurred. Please try again later.')})
).css("display", "block"); ).css("display", "block");
} }
}); });
...@@ -65,7 +66,7 @@ ...@@ -65,7 +66,7 @@
<script src="${static.url('js/course_info.js')}"></script> <script src="${static.url('js/course_info.js')}"></script>
</%block> </%block>
<%block name="title"><title>About ${course.number}</title></%block> <%block name="title"><title>${_("About {course_number}").format(course_number=course.number)}</title></%block>
<section class="course-info"> <section class="course-info">
<header class="course-profile"> <header class="course-profile">
...@@ -86,13 +87,13 @@ ...@@ -86,13 +87,13 @@
%if show_courseware_link: %if show_courseware_link:
<a href="${course_target}"> <a href="${course_target}">
%endif %endif
<span class="register disabled">You are registered for this course (${course.number})</span> <span class="register disabled">${_("You are registered for this course {course_number}").format(course_number=course.number)}</span>
%if show_courseware_link: %if show_courseware_link:
<strong>View Courseware</strong> <strong>${_("View Courseware")}</strong>
</a> </a>
%endif %endif
%else: %else:
<a href="#" class="register">Register for ${course.number}</a> <a href="#" class="register">${_("Register for {course_number}").format(course_number=course.number)}</a>
<div id="register_error"></div> <div id="register_error"></div>
%endif %endif
</div> </div>
...@@ -119,12 +120,12 @@ ...@@ -119,12 +120,12 @@
<section class="container"> <section class="container">
<section class="details"> <section class="details">
<nav> <nav>
<a href="#" class="active">Overview</a> <a href="#" class="active">${_("Overview")}</a>
## <a href="#">FAQ</a> ## <a href="#">${_("FAQ")}</a>
## <a href="#">Requirements</a> ## <a href="#">${_("Requirements")}</a>
## <a href="#">Text-book</a> ## <a href="#">${_("Text-book")}</a>
## <a href="#">Syllabus</a> ## <a href="#">${_("Syllabus")}</a>
## <a href="#">Reviews</a> ## <a href="#">${_("Reviews")}</a>
</nav> </nav>
<div class="inner-wrapper"> <div class="inner-wrapper">
...@@ -136,7 +137,7 @@ ...@@ -136,7 +137,7 @@
<section class="course-summary"> <section class="course-summary">
<header> <header>
<div class="social-sharing"> <div class="social-sharing">
<div class="sharing-message">Share with friends and family!</div> <div class="sharing-message">${_("Share with friends and family!")}</div>
## TODO: this should probably be an overrideable block, ## TODO: this should probably be an overrideable block,
## or something allowing themes to do whatever they ## or something allowing themes to do whatever they
## want here (and on this whole page, really). ## want here (and on this whole page, really).
...@@ -161,15 +162,15 @@ ...@@ -161,15 +162,15 @@
</header> </header>
<ol class="important-dates"> <ol class="important-dates">
<li><div class="icon course-number"></div><p>Course Number</p><span class="course-number">${course.number}</span></li> <li><div class="icon course-number"></div><p>${_("Course Number")}</p><span class="course-number">${course.number}</span></li>
<li><div class="icon start"></div><p>Classes Start</p><span class="start-date">${course.start_date_text}</span></li> <li><div class="icon start"></div><p>${_("Classes Start")}</p><span class="start-date">${course.start_date_text}</span></li>
## We plan to ditch end_date (which is not stored in course metadata), ## We plan to ditch end_date (which is not stored in course metadata),
## but for backwards compatibility, show about/end_date blob if it exists. ## but for backwards compatibility, show about/end_date blob if it exists.
% if get_course_about_section(course, "end_date") or course.end: % if get_course_about_section(course, "end_date") or course.end:
<li> <li>
<div class="icon end"></div> <div class="icon end"></div>
<p>Classes End</p><span class="final-date"> <p>${_("Classes End")}</p><span class="final-date">
% if get_course_about_section(course, "end_date"): % if get_course_about_section(course, "end_date"):
${get_course_about_section(course, "end_date")} ${get_course_about_section(course, "end_date")}
% else: % else:
...@@ -180,13 +181,13 @@ ...@@ -180,13 +181,13 @@
% endif % endif
% if get_course_about_section(course, "effort"): % if get_course_about_section(course, "effort"):
<li><div class="icon effort"></div><p>Estimated Effort</p><span class="start-date">${get_course_about_section(course, "effort")}</span></li> <li><div class="icon effort"></div><p>${_("Estimated Effort")}</p><span class="start-date">${get_course_about_section(course, "effort")}</span></li>
% endif % endif
##<li><div class="icon length"></div><p>Course Length</p><span class="course-length">15 weeks</span></li> ##<li><div class="icon length"></div><p>${_('Course Length')}</p><span class="course-length">${_('{number} weeks').format(number=15)}</span></li>
% if get_course_about_section(course, "prerequisites"): % if get_course_about_section(course, "prerequisites"):
<li class="prerequisites"><div class="icon prereq"></div><p>Prerequisites</p><span class="start-date">${get_course_about_section(course, "prerequisites")}</span></li> <li class="prerequisites"><div class="icon prereq"></div><p>${_("Prerequisites")}</p><span class="start-date">${get_course_about_section(course, "prerequisites")}</span></li>
% endif % endif
</ol> </ol>
</section> </section>
...@@ -196,10 +197,11 @@ ...@@ -196,10 +197,11 @@
% if get_course_about_section(course, "ocw_links"): % if get_course_about_section(course, "ocw_links"):
<section class="additional-resources"> <section class="additional-resources">
<header> <header>
<h1>Additional Resources</h1> <h1>${_("Additional Resources")}</h1>
</header> </header>
<section> <section>
## "MITOpenCourseware" should *not* be translated
<h2 class="opencourseware">MITOpenCourseware</h2> <h2 class="opencourseware">MITOpenCourseware</h2>
${get_course_about_section(course, "ocw_links")} ${get_course_about_section(course, "ocw_links")}
</section> </section>
...@@ -215,10 +217,10 @@ ...@@ -215,10 +217,10 @@
<form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}"> <form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}">
<fieldset class="enroll_fieldset"> <fieldset class="enroll_fieldset">
<input name="course_id" type="hidden" value="${course.id}"> <input name="course_id" type="hidden" value="${course.id}">
<input name="enrollment_action" type="hidden" value="enroll"> <input name="enrollment_action" type="hidden" value="${_("enroll")}">
</fieldset> </fieldset>
<div class="submit"> <div class="submit">
<input name="submit" type="submit" value="enroll"> <input name="submit" type="submit" value="${_("enroll")}">
</div> </div>
</form> </form>
</div> </div>
......
...@@ -12,6 +12,7 @@ def url_class(is_active): ...@@ -12,6 +12,7 @@ def url_class(is_active):
return "" return ""
%> %>
<%! from courseware.tabs import get_course_tabs %> <%! from courseware.tabs import get_course_tabs %>
<%! from django.utils.translation import ugettext as _ %>
<nav class="${active_page} course-material"> <nav class="${active_page} course-material">
<div class="inner-wrapper"> <div class="inner-wrapper">
...@@ -32,7 +33,7 @@ def url_class(is_active): ...@@ -32,7 +33,7 @@ def url_class(is_active):
<%block name="extratabs" /> <%block name="extratabs" />
% if masquerade is not UNDEFINED: % if masquerade is not UNDEFINED:
% if staff_access and masquerade is not None: % if staff_access and masquerade is not None:
<li style="float:right"><a href="#" id="staffstatus">Staff view</a></li> <li style="float:right"><a href="#" id="staffstatus">${_("Staff view")}</a></li>
% endif % endif
% endif % endif
</ol> </ol>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>Courses</title></%block> <%block name="title"><title>${_("Courses")}</title></%block>
<section class="find-courses"> <section class="find-courses">
<header class="search"> <header class="search">
...@@ -16,9 +17,9 @@ ...@@ -16,9 +17,9 @@
% endif % endif
</div> </div>
% if self.stanford_theme_enabled(): % if self.stanford_theme_enabled():
<h2>Explore free courses from Stanford University.</h2> <h2>${_("Explore free courses from Stanford University.")}</h2>
% else: % else:
<h2>Explore free courses from leading universities.</h2> <h2>${_("Explore free courses from leading universities.")}</h2>
% endif % endif
</hgroup> </hgroup>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="bodyclass">courseware</%block> <%block name="bodyclass">courseware</%block>
<%block name="title"><title>Courseware – edX</title></%block> ## "edX" should *not* be translated
<%block name="title"><title>${_("Courseware")} - edX</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
...@@ -11,7 +13,7 @@ ...@@ -11,7 +13,7 @@
<section class="container"> <section class="container">
<section class="outside-app"> <section class="outside-app">
<h1>There has been an error on the <span class="edx">edX</span> servers</h1> <h1>${_('There has been an error on the {span_start}edX{span_end} servers').format(span_start='<span class="edx">', span_end='</span>')}</h1>
<p>We're sorry, this module is temporarily unavailable. Our staff is working to fix it as soon as possible. Please email us at <a href="mailto:technical@edx.org">technical@edx.org</a> to report any problems or downtime.</p> <p>${_("We're sorry, this module is temporarily unavailable. Our staff is working to fix it as soon as possible. Please email us at {email} to report any problems or downtime.").format(email='<a href="mailto:technical@edx.org">technical@edx.org</a>')}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
<%block name="bodyclass">courseware ${course.css_class}</%block> <%block name="bodyclass">courseware ${course.css_class}</%block>
<%block name="title"><title>${course.number} Courseware</title></%block> <%block name="title"><title>${_("{course_number} Courseware").format(course_number=course.number)}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
...@@ -155,7 +156,7 @@ ...@@ -155,7 +156,7 @@
<div class="timer-main"> <div class="timer-main">
<div id="timer_wrapper"> <div id="timer_wrapper">
% if timer_navigation_return_url: % if timer_navigation_return_url:
<a href="${timer_navigation_return_url}" class="timer_return_url">Return to Exam</a> <a href="${timer_navigation_return_url}" class="timer_return_url">${_("Return to Exam")}</a>
% endif % endif
<div class="timer_label">Time Remaining:</div> <div id="exam_timer" class="timer_value">&nbsp;</div> <div class="timer_label">Time Remaining:</div> <div id="exam_timer" class="timer_value">&nbsp;</div>
</div> </div>
...@@ -170,9 +171,9 @@ ...@@ -170,9 +171,9 @@
<div class="course-wrapper"> <div class="course-wrapper">
% if accordion: % if accordion:
<section aria-label="Course Navigation" class="course-index"> <section aria-label="${_('Course Navigation')}" class="course-index">
<header id="open_close_accordion"> <header id="open_close_accordion">
<a href="#">close</a> <a href="#">${_("close")}</a>
</header> </header>
<div id="accordion" style="display: none"> <div id="accordion" style="display: none">
...@@ -204,7 +205,7 @@ ...@@ -204,7 +205,7 @@
% if course.show_calculator: % if course.show_calculator:
<div class="calc-main"> <div class="calc-main">
<a aria-label="Open Calculator" href="#" class="calc">Calculator</a> <a aria-label="${_('Open Calculator')}" href="#" class="calc">${_("Calculator")}</a>
<div id="calculator_wrapper"> <div id="calculator_wrapper">
<form id="calculator"> <form id="calculator">
...@@ -212,15 +213,15 @@ ...@@ -212,15 +213,15 @@
<input type="text" id="calculator_input" title="Calculator Input Field" /> <input type="text" id="calculator_input" title="Calculator Input Field" />
<div class="help-wrapper"> <div class="help-wrapper">
<a href="#">Hints</a> <a href="#">${_("Hints")}</a>
<dl class="help"> <dl class="help">
<dt>Suffixes:</dt> <dt>${_("Suffixes:")}</dt>
<dd> %kMGTcmunp</dd> <dd> %kMGTcmunp</dd>
<dt>Operations:</dt> <dt>${_("Operations:")}</dt>
<dd>^ * / + - ()</dd> <dd>^ * / + - ()</dd>
<dt>Functions:</dt> <dt>${_("Functions:")}</dt>
<dd>sin, cos, tan, sqrt, log10, log2, ln, arccos, arcsin, arctan, abs </dd> <dd>sin, cos, tan, sqrt, log10, log2, ln, arccos, arcsin, arctan, abs </dd>
<dt>Constants</dt> <dt>${_("Constants")}</dt>
<dd>e, pi</dd> <dd>e, pi</dd>
<!-- Students won't know what parallel means at this time. Complex numbers aren't well tested in the courseware, so we would prefer to not expose them. If you read the comments in the source, feel free to use them. If you run into a bug, please let us know. But we can't officially support them right now. <!-- Students won't know what parallel means at this time. Complex numbers aren't well tested in the courseware, so we would prefer to not expose them. If you read the comments in the source, feel free to use them. If you run into a bug, please let us know. But we can't officially support them right now.
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -7,9 +8,9 @@ ...@@ -7,9 +8,9 @@
<section class="container"> <section class="container">
<div class="gradebook-summary-wrapper"> <div class="gradebook-summary-wrapper">
<section class="gradebook-summary-content"> <section class="gradebook-summary-content">
<h1>Grade summary</h1> <h1>${_("Grade summary")}</h1>
<p>Not implemented yet</p> <p>${_("Not implemented yet")}</p>
</section> </section>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -36,7 +37,7 @@ ...@@ -36,7 +37,7 @@
<section class="container"> <section class="container">
<div class="gradebook-wrapper"> <div class="gradebook-wrapper">
<section class="gradebook-content"> <section class="gradebook-content">
<h1>Gradebook</h1> <h1>${_("Gradebook")}</h1>
<table class="student-table"> <table class="student-table">
<thead> <thead>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%block name="bodyclass">${course.css_class}</%block> <%block name="bodyclass">${course.css_class}</%block>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Course Info</title></%block> <%block name="title"><title>${course.number} ${_("Course Info")}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='info'" /> <%include file="/courseware/course_navigation.html" args="active_page='info'" />
<%! <%!
...@@ -26,7 +27,7 @@ $(document).ready(function(){ ...@@ -26,7 +27,7 @@ $(document).ready(function(){
<div class="info-wrapper"> <div class="info-wrapper">
% if user.is_authenticated(): % if user.is_authenticated():
<section class="updates"> <section class="updates">
<h1>Course Updates &amp; News</h1> <h1>${_("Course Updates &amp; News")}</h1>
${get_course_info_section(request, course, 'updates')} ${get_course_info_section(request, course, 'updates')}
</section> </section>
<section aria-label="Handout Navigation" class="handouts"> <section aria-label="Handout Navigation" class="handouts">
...@@ -35,11 +36,11 @@ $(document).ready(function(){ ...@@ -35,11 +36,11 @@ $(document).ready(function(){
</section> </section>
% else: % else:
<section class="updates"> <section class="updates">
<h1>Course Updates &amp; News</h1> <h1>${_("Course Updates &amp; News")}</h1>
${get_course_info_section(request, course, 'guest_updates')} ${get_course_info_section(request, course, 'guest_updates')}
</section> </section>
<section aria-label="Handout Navigation" class="handouts"> <section aria-label="${_('Handout Navigation')}" class="handouts">
<h1>Course Handouts</h1> <h1>${_("Course Handouts")}</h1>
${get_course_info_section(request, course, 'guest_handouts')} ${get_course_info_section(request, course, 'guest_handouts')}
</section> </section>
% endif % endif
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -102,19 +103,19 @@ function goto( mode) ...@@ -102,19 +103,19 @@ function goto( mode)
<div class="instructor-dashboard-wrapper"> <div class="instructor-dashboard-wrapper">
<section class="instructor-dashboard-content"> <section class="instructor-dashboard-content">
<h1>Instructor Dashboard</h1> <h1>${_("Instructor Dashboard")}</h1>
<h2 class="navbar">[ <a href="#" onclick="goto('Grades');" class="${modeflag.get('Grades')}">Grades</a> | <h2 class="navbar">[ <a href="#" onclick="goto('Grades');" class="${modeflag.get('Grades')}">Grades</a> |
%if settings.MITX_FEATURES.get('ENABLE_PSYCHOMETRICS'): %if settings.MITX_FEATURES.get('ENABLE_PSYCHOMETRICS'):
<a href="#" onclick="goto('Psychometrics');" class="${modeflag.get('Psychometrics')}">Psychometrics</a> | <a href="#" onclick="goto('Psychometrics');" class="${modeflag.get('Psychometrics')}">${_("Psychometrics")}</a> |
%endif %endif
<a href="#" onclick="goto('Admin');" class="${modeflag.get('Admin')}">Admin</a> | <a href="#" onclick="goto('Admin');" class="${modeflag.get('Admin')}">${_("Admin")}</a> |
<a href="#" onclick="goto('Forum Admin');" class="${modeflag.get('Forum Admin')}">Forum Admin</a> | <a href="#" onclick="goto('Forum Admin');" class="${modeflag.get('Forum Admin')}">${_("Forum Admin")}</a> |
<a href="#" onclick="goto('Enrollment');" class="${modeflag.get('Enrollment')}">Enrollment</a> | <a href="#" onclick="goto('Enrollment');" class="${modeflag.get('Enrollment')}">${_("Enrollment")}</a> |
<a href="#" onclick="goto('Data');" class="${modeflag.get('Data')}">DataDump</a> | <a href="#" onclick="goto('Data');" class="${modeflag.get('Data')}">${_("DataDump")}</a> |
<a href="#" onclick="goto('Manage Groups');" class="${modeflag.get('Manage Groups')}">Manage Groups</a> <a href="#" onclick="goto('Manage Groups');" class="${modeflag.get('Manage Groups')}">${_("Manage Groups")}</a>
%if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_ANALYTICS'): %if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_ANALYTICS'):
| <a href="#" onclick="goto('Analytics');" class="${modeflag.get('Analytics')}">Analytics</a> | <a href="#" onclick="goto('Analytics');" class="${modeflag.get('Analytics')}">${_("Analytics")}</a>
%endif %endif
] ]
</h2> </h2>
...@@ -131,34 +132,34 @@ function goto( mode) ...@@ -131,34 +132,34 @@ function goto( mode)
%if offline_grade_log: %if offline_grade_log:
<p><font color='orange'>Pre-computed grades ${offline_grade_log} available: Use? <p><font color='orange'>Pre-computed grades ${offline_grade_log} available: Use?
<input type='checkbox' name='use_offline_grades' value='yes'></font> </p> <input type='checkbox' name='use_offline_grades' value='${_("yes")}'></font> </p>
%endif %endif
<p> <p>
<a href="${reverse('gradebook', kwargs=dict(course_id=course.id))}">Gradebook</a> <a href="${reverse('gradebook', kwargs=dict(course_id=course.id))}">${_("Gradebook")}</a>
</p> </p>
<p> <p>
<a href="${reverse('grade_summary', kwargs=dict(course_id=course.id))}">Grade summary</a> <a href="${reverse('grade_summary', kwargs=dict(course_id=course.id))}">${_("Grade summary")}</a>
</p> </p>
<p> <p>
<input type="submit" name="action" value="Dump list of enrolled students"> <input type="submit" name="action" value="${_("Dump list of enrolled students")}">
</p> </p>
<p> <p>
<input type="submit" name="action" value="Dump Grades for all students in this course"> <input type="submit" name="action" value="${_("Dump Grades for all students in this course")}">
<input type="submit" name="action" value="Download CSV of all student grades for this course"> <input type="submit" name="action" value="${_("Download CSV of all student grades for this course")}">
</p> </p>
<p> <p>
<input type="submit" name="action" value="Dump all RAW grades for all students in this course"> <input type="submit" name="action" value="${_("Dump all RAW grades for all students in this course")}">
<input type="submit" name="action" value="Download CSV of all RAW grades"> <input type="submit" name="action" value="${_("Download CSV of all RAW grades")}">
</p> </p>
<p> <p>
<input type="submit" name="action" value="Download CSV of answer distributions"> <input type="submit" name="action" value="${_("Download CSV of answer distributions")}">
<input type="submit" name="action" value="Dump description of graded assignments configuration"> <input type="submit" name="action" value="${_("Dump description of graded assignments configuration")}">
</p> </p>
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
...@@ -168,104 +169,102 @@ function goto( mode) ...@@ -168,104 +169,102 @@ function goto( mode)
rg = course.remote_gradebook rg = course.remote_gradebook
%> %>
<h3>Export grades to remote gradebook</h3> <h3>${_("Export grades to remote gradebook")}</h3>
<p>The assignments defined for this course should match the ones <p>${_("The assignments defined for this course should match the ones stored in the gradebook, for this to work properly!")}</p>
stored in the gradebook, for this to work properly!</p>
<ul> <ul>
<li>Gradebook name: <font color="green">${rg.get('name','None defined!')}</font> <li>${_("Gradebook name:")} <font color="green">${rg.get('name','None defined!')}</font>
<br/> <br/>
<br/> <br/>
<input type="submit" name="action" value="List assignments available in remote gradebook"> <input type="submit" name="action" value="${_("List assignments available in remote gradebook")}">
<input type="submit" name="action" value="List enrolled students matching remote gradebook"> <input type="submit" name="action" value="${_("List enrolled students matching remote gradebook")}">
<br/> <br/>
<br/> <br/>
</li> </li>
<li><input type="submit" name="action" value="List assignments available for this course"> <li><input type="submit" name="action" value="${_("List assignments available for this course")}">
<br/> <br/>
<br/> <br/>
</li> </li>
<li>Assignment name: <input type="text" name="assignment_name" size=40 > <li>${_("Assignment name:")} <input type="text" name="assignment_name" size=40 >
<br/> <br/>
<br/> <br/>
<input type="submit" name="action" value="Display grades for assignment"> <input type="submit" name="action" value="${_("Display grades for assignment")}">
<input type="submit" name="action" value="Export grades for assignment to remote gradebook"> <input type="submit" name="action" value="${_("Export grades for assignment to remote gradebook")}">
<input type="submit" name="action" value="Export CSV file of grades for assignment"> <input type="submit" name="action" value="${_("Export CSV file of grades for assignment")}">
</li> </li>
</ul> </ul>
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
%if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'): %if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'):
<H2>Course-specific grade adjustment</h2> <H2>${_("Course-specific grade adjustment")}</h2>
<p> <p>
Specify a particular problem in the course here by its url: {_("Specify a particular problem in the course here by its url:")}
<input type="text" name="problem_for_all_students" size="60"> <input type="text" name="problem_for_all_students" size="60">
</p> </p>
<p> <p>
You may use just the "urlname" if a problem, or "modulename/urlname" if not. ${_('You may use just the "urlname" if a problem, or "modulename/urlname" if not. '
(For example, if the location is <tt>i4x://university/course/problem/problemname</tt>, '(For example, if the location is <tt>i4x://university/course/problem/problemname</tt>, '
then just provide the <tt>problemname</tt>. 'then just provide the <tt>problemname</tt>. '
If the location is <tt>i4x://university/course/notaproblem/someothername</tt>, then 'If the location is <tt>i4x://university/course/notaproblem/someothername</tt>, then '
provide <tt>notaproblem/someothername</tt>.) 'provide <tt>notaproblem/someothername</tt>.)')}
</p> </p>
<p> <p>
Then select an action: ${_("Then select an action:")}
<input type="submit" name="action" value="Reset ALL students' attempts"> <input type="submit" name="action" value="${_("Reset ALL students' attempts")}">
<input type="submit" name="action" value="Rescore ALL students' problem submissions"> <input type="submit" name="action" value="${_("Rescore ALL students' problem submissions")}">
</p> </p>
<p> <p>
<p>These actions run in the background, and status for active tasks will appear in a table below. <p>${_("These actions run in the background, and status for active tasks will appear in a table below. To see status for all tasks submitted for this problem, click on this button:")}
To see status for all tasks submitted for this problem, click on this button:
</p> </p>
<p> <p>
<input type="submit" name="action" value="Show Background Task History"> <input type="submit" name="action" value="${_("Show Background Task History")}">
</p> </p>
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
<H2>Student-specific grade inspection and adjustment</h2> <H2>${_("Student-specific grade inspection and adjustment")}</h2>
<p> <p>
Specify the edX email address or username of a student here: ${_("Specify the edX email address or username of a student here:")}
<input type="text" name="unique_student_identifier"> <input type="text" name="unique_student_identifier">
</p> </p>
<p> <p>
Click this, and a link to student's progress page will appear below: ${_("Click this, and a link to student's progress page will appear below:")}
<input type="submit" name="action" value="Get link to student's progress page"> <input type="submit" name="action" value="${_(\"Get link to student's progress page\")}">
</p> </p>
<p> <p>
Specify a particular problem in the course here by its url: ${_("Specify a particular problem in the course here by its url:")}
<input type="text" name="problem_for_student" size="60"> <input type="text" name="problem_for_student" size="60">
</p> </p>
<p> <p>
You may use just the "urlname" if a problem, or "modulename/urlname" if not. ${_('You may use just the "urlname" if a problem, or "modulename/urlname" if not. '
(For example, if the location is <tt>i4x://university/course/problem/problemname</tt>, '(For example, if the location is <tt>i4x://university/course/problem/problemname</tt>, '
then just provide the <tt>problemname</tt>. 'then just provide the <tt>problemname</tt>. '
If the location is <tt>i4x://university/course/notaproblem/someothername</tt>, then 'If the location is <tt>i4x://university/course/notaproblem/someothername</tt>, then '
provide <tt>notaproblem/someothername</tt>.) 'provide <tt>notaproblem/someothername</tt>.)')}
</p> </p>
<p> <p>
Then select an action: ${_("Then select an action:")}
<input type="submit" name="action" value="Reset student's attempts"> <input type="submit" name="action" value="${_(\"Reset student's attempts\")}">
%if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'): %if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'):
<input type="submit" name="action" value="Rescore student's problem submission"> <input type="submit" name="action" value="${_(\"Rescore student's problem submission\")}">
%endif %endif
</p> </p>
%if instructor_access: %if instructor_access:
<p> <p>
You may also delete the entire state of a student for the specified module: ${_("You may also delete the entire state of a student for the specified module:")}
<input type="submit" name="action" value="Delete student state for module"> <input type="submit" name="action" value="${_("Delete student state for module")}">
</p> </p>
%endif %endif
%if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'): %if settings.MITX_FEATURES.get('ENABLE_INSTRUCTOR_BACKGROUND_TASKS'):
<p>Rescoring runs in the background, and status for active tasks will appear in a table below. <p>${_("Rescoring runs in the background, and status for active tasks will appear in a table below. "
To see status for all tasks submitted for this problem and student, click on this button: "To see status for all tasks submitted for this problem and student, click on this button:")}
</p> </p>
<p> <p>
<input type="submit" name="action" value="Show Background Task History for Student"> <input type="submit" name="action" value="${_("Show Background Task History for Student")}">
</p> </p>
%endif %endif
...@@ -274,7 +273,7 @@ function goto( mode) ...@@ -274,7 +273,7 @@ function goto( mode)
##----------------------------------------------------------------------------- ##-----------------------------------------------------------------------------
%if modeflag.get('Psychometrics'): %if modeflag.get('Psychometrics'):
<p>Select a problem and an action: <p>${_("Select a problem and an action:")}
</p> </p>
<p> <p>
...@@ -285,7 +284,7 @@ function goto( mode) ...@@ -285,7 +284,7 @@ function goto( mode)
</select> </select>
</p> </p>
<p> <p>
<input type="submit" name="action" value="Generate Histogram and IRT Plot"> <input type="submit" name="action" value="${_("Generate Histogram and IRT Plot")}">
</p> </p>
<p></p> <p></p>
...@@ -298,28 +297,28 @@ function goto( mode) ...@@ -298,28 +297,28 @@ function goto( mode)
%if instructor_access: %if instructor_access:
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="List course staff members"> <input type="submit" name="action" value="${_("List course staff members")}">
<p> <p>
<input type="text" name="staffuser"> <input type="text" name="staffuser">
<input type="submit" name="action" value="Remove course staff"> <input type="submit" name="action" value="${_("Remove course staff")}">
<input type="submit" name="action" value="Add course staff"> <input type="submit" name="action" value="${_("Add course staff")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
%if admin_access: %if admin_access:
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="List course instructors"> <input type="submit" name="action" value="${_("List course instructors")}">
<p> <p>
<input type="text" name="instructor"> <input type="submit" name="action" value="Remove instructor"> <input type="text" name="instructor"> <input type="submit" name="action" value="${_("Remove instructor")}">
<input type="submit" name="action" value="Add instructor"> <input type="submit" name="action" value="${_("Add instructor")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
%if settings.MITX_FEATURES['ENABLE_MANUAL_GIT_RELOAD'] and admin_access: %if settings.MITX_FEATURES['ENABLE_MANUAL_GIT_RELOAD'] and admin_access:
<p> <p>
<input type="submit" name="action" value="Reload course from XML files"> <input type="submit" name="action" value="${_("Reload course from XML files")}">
<input type="submit" name="action" value="GIT pull and Reload course"> <input type="submit" name="action" value="${_("GIT pull and Reload course")}">
%endif %endif
%endif %endif
...@@ -328,26 +327,26 @@ function goto( mode) ...@@ -328,26 +327,26 @@ function goto( mode)
%if instructor_access: %if instructor_access:
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="List course forum admins"> <input type="submit" name="action" value="${_("List course forum admins")}">
<p> <p>
<input type="text" name="forumadmin"> <input type="submit" name="action" value="Remove forum admin"> <input type="text" name="forumadmin"> <input type="submit" name="action" value="${_("Remove forum admin")}">
<input type="submit" name="action" value="Add forum admin"> <input type="submit" name="action" value="${_("Add forum admin")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
%if instructor_access or forum_admin_access: %if instructor_access or forum_admin_access:
<p> <p>
<input type="submit" name="action" value="List course forum moderators"> <input type="submit" name="action" value="${_("List course forum moderators")}">
<input type="submit" name="action" value="List course forum community TAs"> <input type="submit" name="action" value="${_("List course forum community TAs")}">
<p> <p>
<input type="text" name="forummoderator"> <input type="text" name="forummoderator">
<input type="submit" name="action" value="Remove forum moderator"> <input type="submit" name="action" value="${_("Remove forum moderator")}">
<input type="submit" name="action" value="Add forum moderator"> <input type="submit" name="action" value="${_("Add forum moderator")}">
<input type="submit" name="action" value="Remove forum community TA"> <input type="submit" name="action" value="${_("Remove forum community TA")}">
<input type="submit" name="action" value="Add forum community TA"> <input type="submit" name="action" value="${_("Add forum community TA")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%else: %else:
<p>User requires forum administrator privileges to perform administration tasks. See instructor.</p> <p>${_("User requires forum administrator privileges to perform administration tasks. See instructor.")}</p>
%endif %endif
%endif %endif
...@@ -356,8 +355,8 @@ function goto( mode) ...@@ -356,8 +355,8 @@ function goto( mode)
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="List enrolled students"> <input type="submit" name="action" value="${_("List enrolled students")}">
<input type="submit" name="action" value="List students who may enroll but may not have yet signed up"> <input type="submit" name="action" value="${_("List students who may enroll but may not have yet signed up")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%if settings.MITX_FEATURES.get('REMOTE_GRADEBOOK_URL','') and instructor_access: %if settings.MITX_FEATURES.get('REMOTE_GRADEBOOK_URL','') and instructor_access:
...@@ -366,28 +365,28 @@ function goto( mode) ...@@ -366,28 +365,28 @@ function goto( mode)
rg = course.remote_gradebook rg = course.remote_gradebook
%> %>
<p>Pull enrollment from remote gradebook</p> <p>${_("Pull enrollment from remote gradebook")}</p>
<ul> <ul>
<li>Gradebook name: <font color="green">${rg.get('name','None defined!')}</font> <li>${_("Gradebook name:")} <font color="green">${rg.get('name','None defined!')}</font>
<li>Section: <input type="text" name="gradebook_section" size=40 value="${rg.get('section','')}"></li> <li>${_("Section:")} <input type="text" name="gradebook_section" size=40 value="${rg.get('section','')}"></li>
</ul> </ul>
<input type="submit" name="action" value="List sections available in remote gradebook"> <input type="submit" name="action" value="${_("List sections available in remote gradebook")}">
<input type="submit" name="action" value="List students in section in remote gradebook"> <input type="submit" name="action" value="${_("List students in section in remote gradebook")}">
<input type="submit" name="action" value="Overload enrollment list using remote gradebook"> <input type="submit" name="action" value="${_("Overload enrollment list using remote gradebook")}">
<input type="submit" name="action" value="Merge enrollment list with remote gradebook"> <input type="submit" name="action" value="${_("Merge enrollment list with remote gradebook")}">
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
<p>Enroll or un-enroll one or many students: enter emails, separated by new lines or commas;</p> <p>${_("Enroll or un-enroll one or many students: enter emails, separated by new lines or commas;")}</p>
<textarea rows="6" cols="70" name="multiple_students"></textarea> <textarea rows="6" cols="70" name="multiple_students"></textarea>
<p> <p>
<input type="checkbox" name="email_students"> Notify students by email <input type="checkbox" name="email_students"> ${_("Notify students by email")}
<p> <p>
<input type="checkbox" name="auto_enroll"> Auto-enroll students when they activate <input type="checkbox" name="auto_enroll"> ${_("Auto-enroll students when they activate")}
<input type="submit" name="action" value="Enroll multiple students"> <input type="submit" name="action" value="$_("Enroll multiple students")}">
<p> <p>
<input type="submit" name="action" value="Unenroll multiple students"> <input type="submit" name="action" value="${_("Unenroll multiple students")}">
%endif %endif
...@@ -396,11 +395,11 @@ function goto( mode) ...@@ -396,11 +395,11 @@ function goto( mode)
%if modeflag.get('Data'): %if modeflag.get('Data'):
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="Download CSV of all student profile data"> <input type="submit" name="action" value="${_("Download CSV of all student profile data")}">
</p> </p>
<p> Problem urlname: <p> ${_("Problem urlname:")}
<input type="text" name="problem_to_dump" size="40"> <input type="text" name="problem_to_dump" size="40">
<input type="submit" name="action" value="Download CSV of all responses to problem"> <input type="submit" name="action" value="${_("Download CSV of all responses to problem")}">
</p> </p>
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
%endif %endif
...@@ -411,15 +410,16 @@ function goto( mode) ...@@ -411,15 +410,16 @@ function goto( mode)
%if instructor_access: %if instructor_access:
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
<p> <p>
<input type="submit" name="action" value="List beta testers"> <input type="submit" name="action" value="${_("List beta testers")}">
<p> <p>
Enter usernames or emails for students who should be beta-testers, one per line, or separated by commas. They will get to ## Translators: days_early_for_beta should not be translated
see course materials early, as configured via the <tt>days_early_for_beta</tt> option in the course policy. ${_("Enter usernames or emails for students who should be beta-testers, one per line, or separated by commas. They will get to "
"see course materials early, as configured via the <tt>days_early_for_beta</tt> option in the course policy.")}
</p> </p>
<p> <p>
<textarea cols="50" row="30" name="betausers"></textarea> <textarea cols="50" row="30" name="betausers"></textarea>
<input type="submit" name="action" value="Remove beta testers"> <input type="submit" name="action" value="${_("Remove beta testers")}">
<input type="submit" name="action" value="Add beta testers"> <input type="submit" name="action" value="${_("Add beta testers")}">
</p> </p>
<hr width="40%" style="align:left"> <hr width="40%" style="align:left">
...@@ -442,12 +442,12 @@ function goto( mode) ...@@ -442,12 +442,12 @@ function goto( mode)
%if modeflag.get('Analytics'): %if modeflag.get('Analytics'):
%if not any(analytics_results.values()): %if not any(analytics_results.values()):
<p>No Analytics are available at this time.</p> <p>${_("No Analytics are available at this time.")}</p>
%endif %endif
%if analytics_results.get("StudentsEnrolled"): %if analytics_results.get("StudentsEnrolled"):
<p> <p>
Students enrolled: ${_("Students enrolled:")}
${analytics_results["StudentsEnrolled"]['data'][0]['students']} ${analytics_results["StudentsEnrolled"]['data'][0]['students']}
(${analytics_results["StudentsEnrolled"]['time']}) (${analytics_results["StudentsEnrolled"]['time']})
</p> </p>
...@@ -455,7 +455,7 @@ function goto( mode) ...@@ -455,7 +455,7 @@ function goto( mode)
%if analytics_results.get("StudentsActive"): %if analytics_results.get("StudentsActive"):
<p> <p>
Students active in the last week: ${_("Students active in the last week:")}
${analytics_results["StudentsActive"]['data'][0]['active']} ${analytics_results["StudentsActive"]['data'][0]['active']}
(${analytics_results["StudentsActive"]['time']}) (${analytics_results["StudentsActive"]['time']})
</p> </p>
...@@ -463,14 +463,14 @@ function goto( mode) ...@@ -463,14 +463,14 @@ function goto( mode)
%if analytics_results.get("StudentsDropoffPerDay"): %if analytics_results.get("StudentsDropoffPerDay"):
<p> <p>
Student activity day by day ${_("Student activity day by day")}
(${analytics_results["StudentsDropoffPerDay"]['time']}) (${analytics_results["StudentsDropoffPerDay"]['time']})
</p> </p>
<div> <div>
<table class="stat_table"> <table class="stat_table">
<tr> <tr>
<th>Day</th> <th>${_("Day")}</th>
<th>Students</th> <th>${_("Students")}</th>
</tr> </tr>
%for row in analytics_results['StudentsDropoffPerDay']['data']: %for row in analytics_results['StudentsDropoffPerDay']['data']:
<tr> <tr>
...@@ -485,15 +485,15 @@ function goto( mode) ...@@ -485,15 +485,15 @@ function goto( mode)
<br/> <br/>
%if analytics_results.get("ProblemGradeDistribution"): %if analytics_results.get("ProblemGradeDistribution"):
<p> <p>
Answer distribution for problems ${_("Answer distribution for problems")}
(${analytics_results["ProblemGradeDistribution"]['time']}) (${analytics_results["ProblemGradeDistribution"]['time']})
</p> </p>
<div> <div>
<table class="stat_table"> <table class="stat_table">
<tr> <tr>
<th>Problem</th> <th>${_("Problem")}</th>
<th>Max</th> <th>${_("Max")}</th>
<th colspan="99">Points Earned (Num Students)</th> <th colspan="99">${_("Points Earned (Num Students)")}</th>
</tr> </tr>
%for row in analytics_results['ProblemGradeDistribution']['data']: %for row in analytics_results['ProblemGradeDistribution']['data']:
<tr> <tr>
...@@ -522,14 +522,14 @@ function goto( mode) ...@@ -522,14 +522,14 @@ function goto( mode)
##instead. ##instead.
%if analytics_results.get("StudentsPerProblemCorrect"): %if analytics_results.get("StudentsPerProblemCorrect"):
<p> <p>
Students answering correctly ${_("Students answering correctly")}
(${analytics_results["StudentsPerProblemCorrect"]['time']}) (${analytics_results["StudentsPerProblemCorrect"]['time']})
</p> </p>
<div class="divScroll"> <div class="divScroll">
<table class="stat_table"> <table class="stat_table">
<tr> <tr>
<th>Problem</th> <th>${_("Problem")}</th>
<th>Number of students</th> <th>${_("Number of students")}</th>
</tr> </tr>
%for row in analytics_results['StudentsPerProblemCorrect']['data']: %for row in analytics_results['StudentsPerProblemCorrect']['data']:
<tr> <tr>
...@@ -542,7 +542,7 @@ function goto( mode) ...@@ -542,7 +542,7 @@ function goto( mode)
%endif %endif
<p> <p>
Student distribution per country, all courses, Sep-12 to Oct-17, 1 server (shown here as an example): ${_("Student distribution per country, all courses, Sep-12 to Oct-17, 1 server (shown here as an example):")}
</p> </p>
<div id="posts-list" class="clearfix"> <div id="posts-list" class="clearfix">
...@@ -638,18 +638,18 @@ function goto( mode) ...@@ -638,18 +638,18 @@ function goto( mode)
%if instructor_tasks is not None and len(instructor_tasks) > 0: %if instructor_tasks is not None and len(instructor_tasks) > 0:
<hr width="100%"> <hr width="100%">
<h2>Pending Instructor Tasks</h2> <h2>$_("Pending Instructor Tasks")}</h2>
<div id="task-progress-wrapper"> <div id="task-progress-wrapper">
<table class="stat_table"> <table class="stat_table">
<tr> <tr>
<th>Task Type</th> <th>${_("Task Type")}</th>
<th>Task inputs</th> <th>${_("Task inputs")}</th>
<th>Task Id</th> <th>${_("Task Id")}</th>
<th>Requester</th> <th>${_("Requester")}</th>
<th>Submitted</th> <th>${_("Submitted")}</th>
<th>Task State</th> <th>${_("Task State")}</th>
<th>Duration (sec)</th> <th>${_("Duration (sec)")}</th>
<th>Task Progress</th> <th>${_("Task Progress")}</th>
</tr> </tr>
%for tasknum, instructor_task in enumerate(instructor_tasks): %for tasknum, instructor_task in enumerate(instructor_tasks):
<tr id="task-progress-entry-${tasknum}" class="task-progress-entry" <tr id="task-progress-entry-${tasknum}" class="task-progress-entry"
...@@ -661,8 +661,8 @@ function goto( mode) ...@@ -661,8 +661,8 @@ function goto( mode)
<td>${instructor_task.requester}</td> <td>${instructor_task.requester}</td>
<td>${instructor_task.created}</td> <td>${instructor_task.created}</td>
<td class="task-state">${instructor_task.task_state}</td> <td class="task-state">${instructor_task.task_state}</td>
<td class="task-duration">unknown</td> <td class="task-duration">${_("unknown")}</td>
<td class="task-progress">unknown</td> <td class="task-progress">${_("unknown")}</td>
</tr> </tr>
%endfor %endfor
</table> </table>
...@@ -726,7 +726,7 @@ function goto( mode) ...@@ -726,7 +726,7 @@ function goto( mode)
##----------------------------------------------------------------------------- ##-----------------------------------------------------------------------------
%if modeflag.get('Admin'): %if modeflag.get('Admin'):
% if course_errors is not UNDEFINED: % if course_errors is not UNDEFINED:
<h2>Course errors</h2> <h2>${_("Course errors")}</h2>
<div id="course-errors"> <div id="course-errors">
%if not course_errors: %if not course_errors:
None None
......
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
<%inherit file="../mktg_iframe.html" /> <%inherit file="../mktg_iframe.html" />
<%block name="title"><title>About ${course_id}</title></%block> <%block name="title"><title>${_("About {course_id}").format(course_id=course_id)}</title></%block>
<%block name="bodyclass">view-partial-mktgregister</%block> <%block name="bodyclass">view-partial-mktgregister</%block>
...@@ -23,7 +24,7 @@ ...@@ -23,7 +24,7 @@
<ul class="list-actions register"> <ul class="list-actions register">
<li class="item"> <li class="item">
<a class="action coming-soon" href="">Coming Soon</a> <a class="action coming-soon" href="">${_("Coming Soon")}</a>
</li> </li>
</ul> </ul>
......
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
<%inherit file="../mktg_iframe.html" /> <%inherit file="../mktg_iframe.html" />
<%block name="title"><title>About ${course.number}</title></%block> <%block name="title"><title>${_("About {course_number}").format(course_number=course.number)}</title></%block>
<%block name="bodyclass">view-partial-mktgregister</%block> <%block name="bodyclass">view-partial-mktgregister</%block>
...@@ -31,7 +32,7 @@ ...@@ -31,7 +32,7 @@
window.top.location.href = "${reverse('register_user')}?course_id=${course.id}&enrollment_action=enroll"; window.top.location.href = "${reverse('register_user')}?course_id=${course.id}&enrollment_action=enroll";
} else { } else {
$('#register_error').html( $('#register_error').html(
(xhr.responseText ? xhr.responseText : 'An error occurred. Please try again later.') (xhr.responseText ? xhr.responseText : '${_("An error occurred. Please try again later.")}')
).css("display", "block"); ).css("display", "block");
} }
}); });
...@@ -46,14 +47,14 @@ ...@@ -46,14 +47,14 @@
<li class="item"> <li class="item">
%if user.is_authenticated() and registered: %if user.is_authenticated() and registered:
%if show_courseware_link: %if show_courseware_link:
<a class="action access-courseware" href="${course_target}" target="_top">Access Courseware</a> <a class="action access-courseware" href="${course_target}" target="_top">${_("Access Courseware")}</a>
%else: %else:
<div class="action is-registered">You Are Registered</div> <div class="action is-registered">${_("You Are Registered")}</div>
%endif %endif
%elif allow_registration: %elif allow_registration:
<a class="action action-register register" href="#">Register for <strong>${course.number}</strong></a> <a class="action action-register register" href="#">${_("Register for")} <strong>${course.number}</strong></a>
%else: %else:
<div class="action registration-closed is-disabled">Registration Is Closed</div> <div class="action registration-closed is-disabled">${_("Registration Is Closed")}</div>
%endif %endif
</li> </li>
</ul> </ul>
...@@ -63,11 +64,11 @@ ...@@ -63,11 +64,11 @@
<form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}"> <form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}">
<fieldset class="enroll_fieldset"> <fieldset class="enroll_fieldset">
<input name="course_id" type="hidden" value="${course.id}"> <input name="course_id" type="hidden" value="${course.id}">
<input name="enrollment_action" type="hidden" value="enroll"> <input name="enrollment_action" type="hidden" value="${_("enroll")}">
<input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }"> <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">
</fieldset> </fieldset>
<div class="submit"> <div class="submit">
<input name="enroll" type="submit" value="enroll"> <input name="enroll" type="submit" value="${_("enroll")}">
</div> </div>
</form> </form>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="bodyclass">courseware news</%block> <%block name="bodyclass">courseware news</%block>
<%block name="title"><title>News – MITx 6.002x</title></%block> <%block name="title"><title>${_("News - MITx 6.002x")}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
...@@ -15,7 +16,7 @@ ...@@ -15,7 +16,7 @@
<section class="container"> <section class="container">
<div class="course-wrapper"> <div class="course-wrapper">
<section class="course-content"> <section class="course-content">
<h3> Updates to Discussion Posts You Follow </h3> <h3> ${_("Updates to Discussion Posts You Follow")} </h3>
${content} ${content}
</section> </section>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<% <%
...@@ -37,7 +38,7 @@ def url_for_user(user_id): #TODO ...@@ -37,7 +38,7 @@ def url_for_user(user_id): #TODO
% if notification.get('actor_id', None): % if notification.get('actor_id', None):
<a href="${url_for_user(notification['actor_id'])}">${info['actor_username']}</a> <a href="${url_for_user(notification['actor_id'])}">${info['actor_username']}</a>
% else: % else:
Anonymous ${_("Anonymous")}
% endif % endif
</%def> </%def>
...@@ -48,7 +49,7 @@ def url_for_user(user_id): #TODO ...@@ -48,7 +49,7 @@ def url_for_user(user_id): #TODO
<%def name="render_comment_link(notification)"> <%def name="render_comment_link(notification)">
<% info = notification['info'] %> <% info = notification['info'] %>
<a href="${url_for_comment(info['commentable_id'], info['thread_id'], info['comment_id'])}">comment</a> <a href="${url_for_comment(info['commentable_id'], info['thread_id'], info['comment_id'])}">${_("comment")}</a>
</%def> </%def>
<%def name="render_discussion_link(notification)"> <%def name="render_discussion_link(notification)">
...@@ -59,19 +60,32 @@ def url_for_user(user_id): #TODO ...@@ -59,19 +60,32 @@ def url_for_user(user_id): #TODO
<%def name="render_notification(notification)"> <%def name="render_notification(notification)">
<div class="notification"> <div class="notification">
% if notification['notification_type'] == 'post_reply': % if notification['notification_type'] == 'post_reply':
${render_user_link(notification)} posted a ${render_comment_link(notification)} ${_("{user} posted a {comment} to the thread {thread} in discussion {discussion}").format(
to the thread ${render_thread_link(notification)} in discussion ${render_discussion_link(notification)} user=render_user_link(notification),
comment=render_comment_link(notification),
thread=render_thread_link(notification),
discussion=render_discussion_link(notification),
)}
% elif notification['notification_type'] == 'post_topic': % elif notification['notification_type'] == 'post_topic':
${render_user_link(notification)} posted a new thread ${render_thread_link(notification)} ${_("{user} posted a new thread {thread} in discussion {discussion}").format(
in discussion ${render_discussion_link(notification)} user=render_user_link(notification),
thread=render_thread_link(notification),
discussion=render_discussion_link(notification),
)}
% elif notification['notification_type'] == 'at_user': % elif notification['notification_type'] == 'at_user':
${render_user(info)} mentioned you in
% if notification['info']['content_type'] == 'thread': % if notification['info']['content_type'] == 'thread':
the thread ${render_thread_link(notification)} ${_("{user} mentioned you in the thread {thread} in disucssion {discussion}").format(
in discussion ${render_discussion_link(notification)} user=render_user(info),
thread=render_thread_link(notification),
discussion=render_discussion_link(notification),
)}
% else: % else:
${render_comment_link(notification)} ${_("{user} mentioned you in {comment} to the thread {thread} in discussion {discussion}").format(
to the thread ${render_thread_link(notification)} in discussion ${render_discussion_link(notification)} user=render_user(info),
comment=render_comment_link(notification),
thread=render_thread_link(notification),
discussion=render_discussion_link(notification),
)}
% endif % endif
% endif % endif
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
<%namespace name="progress_graph" file="/courseware/progress_graph.js"/> <%namespace name="progress_graph" file="/courseware/progress_graph.js"/>
<%block name="title"><title>${course.number} Progress</title></%block> <%block name="title"><title>${_("{course_number} Progress").format(course_number=course.number)}</title></%block>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
...@@ -31,7 +32,7 @@ ${progress_graph.body(grade_summary, course.grade_cutoffs, "grade-detail-graph", ...@@ -31,7 +32,7 @@ ${progress_graph.body(grade_summary, course.grade_cutoffs, "grade-detail-graph",
<section class="course-info"> <section class="course-info">
<header> <header>
<h1>Course Progress for Student '${student.username}' (${student.email})</h1> <h1>${_("Course Progress for Student '{username}' ({email})").format(username=student.username, email=student.email)}</h1>
</header> </header>
%if not course.disable_progress_graph: %if not course.disable_progress_graph:
...@@ -83,7 +84,7 @@ ${progress_graph.body(grade_summary, course.grade_cutoffs, "grade-detail-graph", ...@@ -83,7 +84,7 @@ ${progress_graph.body(grade_summary, course.grade_cutoffs, "grade-detail-graph",
%endfor %endfor
</ol> </ol>
%else: %else:
<h3 class="no-scores"> No problem scores in this section </h3> <h3 class="no-scores"> ${_("No problem scores in this section")} </h3>
%endif %endif
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -5,7 +6,7 @@ ...@@ -5,7 +6,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Course Info</title></%block> <%block name="title"><title>${_("{course_number} Course Info").format(course_number=course.number)}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='syllabus'" /> <%include file="/courseware/course_navigation.html" args="active_page='syllabus'" />
<%! <%!
...@@ -15,7 +16,7 @@ ...@@ -15,7 +16,7 @@
<section class="container"> <section class="container">
<div class="syllabus_wrapper"> <div class="syllabus_wrapper">
<div class="syllabus"> <div class="syllabus">
<h1> Syllabus </h1> <h1> ${_("Syllabus ")}</h1>
% if user.is_authenticated(): % if user.is_authenticated():
${get_course_syllabus_section(course, 'syllabus')} ${get_course_syllabus_section(course, 'syllabus')}
% else: % else:
......
<%! from django.utils.translation import ugettext as _ %>
<h2>${chapter_module.display_name_with_default}</h2> <h2>${chapter_module.display_name_with_default}</h2>
<p>You were most recently in <a href="${prev_section_url}">${prev_section.display_name_with_default}</a>. If you're done with that, choose another section on the left.</p> <p>${_("You were most recently in {section_link}. If you're done with that, choose another section on the left.").format(
section_link='<a href="{url}">{section_name}</a>'.format(
url=prev_section_url
section_name=prev_section.display_name_with_default,
)
)}</p>
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
...@@ -8,7 +10,7 @@ ...@@ -8,7 +10,7 @@
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%block name="title"><title>Dashboard</title></%block> <%block name="title"><title>${_("Dashboard")}</title></%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript"> <script type="text/javascript">
...@@ -67,7 +69,7 @@ ...@@ -67,7 +69,7 @@
$("#unenroll_course_id").val() + "&enrollment_action=unenroll"; $("#unenroll_course_id").val() + "&enrollment_action=unenroll";
} else { } else {
$('#unenroll_error').html( $('#unenroll_error').html(
xhr.responseText ? xhr.responseText : "An error occurred. Please try again later." xhr.responseText ? xhr.responseText : "${_('An error occurred. Please try again later.')}")
).stop().css("display", "block"); ).stop().css("display", "block");
} }
}); });
...@@ -88,10 +90,8 @@ ...@@ -88,10 +90,8 @@
{"new_email" : new_email, "password" : new_password}, {"new_email" : new_email, "password" : new_password},
function(data) { function(data) {
if (data.success) { if (data.success) {
$("#change_email_title").html("Please verify your new email"); $("#change_email_title").html("${_('Please verify your new email')}"));
$("#change_email_form").html("<p>You'll receive a confirmation in your " + $("#change_email_form").html("<p>${_('You'll receive a confirmation in your in-box. Please click the link in the email to confirm the email change.')}</p>");
"in-box. Please click the link in the " +
"email to confirm the email change.</p>");
} else { } else {
$("#change_email_error").html(data.error).stop().css("display", "block"); $("#change_email_error").html(data.error).stop().css("display", "block");
} }
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
function(data) { function(data) {
if(data.success) { if(data.success) {
location.reload(); location.reload();
// $("#change_name_body").html("<p>Name changed.</p>"); // $("#change_name_body").html("<p>${_('Name changed.')}</p>");
} else { } else {
$("#change_name_error").html(data.error).stop().css("display", "block"); $("#change_name_error").html(data.error).stop().css("display", "block");
} }
...@@ -135,22 +135,22 @@ ...@@ -135,22 +135,22 @@
<section class="user-info"> <section class="user-info">
<ul> <ul>
<li> <li>
<span class="title"><div class="icon name-icon"></div>Full Name (<a href="#apply_name_change" rel="leanModal" class="edit-name">edit</a>)</span> <span class="data">${ user.profile.name | h }</span> <span class="title"><div class="icon name-icon"></div>${_("Full Name")} (<a href="#apply_name_change" rel="leanModal" class="edit-name">${_("edit")}</a>)</span> <span class="data">${ user.profile.name | h }</span>
</li> </li>
<li> <li>
<span class="title"><div class="icon email-icon"></div>Email <span class="title"><div class="icon email-icon"></div>${_("Email")}
% if external_auth_map is None or 'shib' not in external_auth_map.external_domain: % if external_auth_map is None or 'shib' not in external_auth_map.external_domain:
(<a href="#change_email" rel="leanModal" class="edit-email">edit</a>) (<a href="#change_email" rel="leanModal" class="edit-email">${_("edit")}</a>)
% endif % endif
</span> <span class="data">${ user.email | h }</span> </span> <span class="data">${ user.email | h }</span>
</li> </li>
% if external_auth_map is None or 'shib' not in external_auth_map.external_domain: % if external_auth_map is None or 'shib' not in external_auth_map.external_domain:
<li> <li>
<span class="title"><a href="#password_reset_complete" rel="leanModal" id="pwd_reset_button">Reset Password</a></span> <span class="title"><a href="#password_reset_complete" rel="leanModal" id="pwd_reset_button">${_("Reset Password")}</a></span>
<form id="password_reset_form" method="post" data-remote="true" action="${reverse('password_reset')}"> <form id="password_reset_form" method="post" data-remote="true" action="${reverse('password_reset')}">
<input id="id_email" type="hidden" name="email" maxlength="75" value="${user.email}" /> <input id="id_email" type="hidden" name="email" maxlength="75" value="${user.email}" />
<!-- <input type="submit" id="pwd_reset_button" value="Reset Password" /> --> <!-- <input type="submit" id="pwd_reset_button" value="${_('Reset Password')}" /> -->
</form> </form>
</li> </li>
% endif % endif
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
%if news: %if news:
<article class="news-carousel"> <article class="news-carousel">
<header> <header>
<h4>edX News</h4> <h4>${_("edX News")}</h4>
<nav class="page-dots"> <nav class="page-dots">
<ol> <ol>
<li><a href="#" class="page-dot current"></a></li> <li><a href="#" class="page-dot current"></a></li>
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
%if entry.summary: %if entry.summary:
<p>${entry.summary}</p> <p>${entry.summary}</p>
%endif %endif
<p><a href="${entry.link}">Learn More ›</a></p> <p><a href="${entry.link}">${_("Learn More >")}</a></p>
</div> </div>
</section> </section>
%endfor %endfor
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
<section class="my-courses"> <section class="my-courses">
<header> <header>
<h2>Current Courses</h2> <h2>${_("Current Courses")}</h2>
</header> </header>
% if len(courses) > 0: % if len(courses) > 0:
...@@ -211,11 +211,11 @@ ...@@ -211,11 +211,11 @@
% if course.id in show_courseware_links_for: % if course.id in show_courseware_links_for:
<a href="${course_target}" class="cover"> <a href="${course_target}" class="cover">
<img src="${course_image_url(course)}" alt="${course.number} ${course.display_name_with_default} Cover Image" /> <img src="${course_image_url(course)}" alt="${_("{course_number} {course_name} Cover Image").format(course_number=course.number, course_name=course.display_name_with_default)}" />
</a> </a>
% else: % else:
<div class="cover"> <div class="cover">
<img src="${course_image_url(course)}" alt="${course.number} ${course.display_name_with_default} Cover Image" /> <img src="${course_image_url(course)}" alt="${_("{course_number} {course_name} Cover Image").format(course_number=course.number, course_name=course.display_name_with_default)}" />
</div> </div>
% endif % endif
...@@ -223,11 +223,11 @@ ...@@ -223,11 +223,11 @@
<hgroup> <hgroup>
<p class="date-block"> <p class="date-block">
% if course.has_ended(): % if course.has_ended():
Course Completed - ${course.end_date_text} ${_("Course Completed - {end_date}").format(end_date=course.end_date_text)}
% elif course.has_started(): % elif course.has_started():
Course Started - ${course.start_date_text} ${_("Course Started - {start_date}").format(start_date=course.start_date_text)}
% else: # hasn't started yet % else: # hasn't started yet
Course Starts - ${course.start_date_text} ${_("Course Starts - {start_date}").format(start_date=course.start_date_text)}
% endif % endif
</p> </p>
<h2 class="university">${get_course_about_section(course, 'university')}</h2> <h2 class="university">${get_course_about_section(course, 'university')}</h2>
...@@ -249,27 +249,41 @@ ...@@ -249,27 +249,41 @@
% if registration is None and testcenter_exam_info.is_registering(): % if registration is None and testcenter_exam_info.is_registering():
<div class="message message-status is-shown exam-register"> <div class="message message-status is-shown exam-register">
<a href="${testcenter_register_target}" class="button exam-button" id="exam_register_button">Register for Pearson exam</a> <a href="${testcenter_register_target}" class="button exam-button" id="exam_register_button">${_("Register for Pearson exam")}</a>
<p class="message-copy">Registration for the Pearson exam is now open and will close on <strong>${testcenter_exam_info.registration_end_date_text}</strong></p> <p class="message-copy">${_("Registration for the Pearson exam is now open and will close on {end_date}").format(end_date="<strong>{}</strong>".format(testcenter_exam_info.registration_end_date_text))}</p>
</div> </div>
% endif % endif
<!-- display a registration for a current exam, even if the registration period is over --> <!-- display a registration for a current exam, even if the registration period is over -->
% if registration is not None: % if registration is not None:
% if registration.is_accepted: % if registration.is_accepted:
<div class="message message-status is-shown exam-schedule"> <div class="message message-status is-shown exam-schedule">
<a href="${registration.registration_signup_url}" class="button exam-button">Schedule Pearson exam</a> <a href="${registration.registration_signup_url}" class="button exam-button">${_("Schedule Pearson exam")}</a>
<p class="exam-registration-number"><a href="${testcenter_register_target}" id="exam_register_link">Registration</a> number: <strong>${registration.client_candidate_id}</strong></p> <p class="exam-registration-number">${_("{link_start}Registration{link_end} number: {number}").format(
<p class="message-copy">Write this down! You’ll need it to schedule your exam.</p> link_start='<a href="{url}" id="exam_register_link">'.format(url=testcenter_register_target),
link_end='</a>',
number=registration.client_candidate_id,
)}</p>
<p class="message-copy">${_("Write this down! You'll need it to schedule your exam.")}</p>
</div> </div>
% endif % endif
% if registration.is_rejected: % if registration.is_rejected:
<div class="message message-status is-shown exam-schedule"> <div class="message message-status is-shown exam-schedule">
<p class="message-copy"><strong>Your registration for the Pearson exam has been rejected. Please <a href="${testcenter_register_target}" id="exam_register_link">see your registration status details</a></strong>. Otherwise <a class="contact-link" href="mailto:exam-help@edx.org?subject=Pearson VUE Exam - ${get_course_about_section(course, 'university')} ${course.number}">contact edX at exam-help@edx.org</a> for further help.</p> <p class="message-copy">
<strong>${_("Your registration for the Pearson exam has been rejected. Please {link_start}see your registration status details{link_end}.").format(
link_start='<a href="{url}" id="exam_register_link">'.format(url=testcenter_register_target),
link_end='</a>')}</strong>
${_("Otherwise {link_start}contact edX at {email}{link_end} for further help.').format(
link_start='<a class="contact-link" href="mailto:{email}?subject=Pearson VUE Exam - {about} {number}">'.format(email="exam-help@edx.org", about=get_course_about_section(course, 'university'), number=course.number),
link_end='</a>',
email="exam-help@edx.org",
)}
</div> </div>
% endif % endif
% if not registration.is_accepted and not registration.is_rejected: % if not registration.is_accepted and not registration.is_rejected:
<div class="message message-status is-shown"> <div class="message message-status is-shown">
<p class="message-copy"><strong>Your <a href="${testcenter_register_target}" id="exam_register_link">registration for the Pearson exam</a> is pending</strong>. Within a few days, you should see a confirmation number here, which can be used to schedule your exam.</p> <p class="message-copy"><strong>${_("Your {link_start}registration for the Pearson exam{link_end} is pending.").format(link_start='<a href="{url}" id="exam_register_link">'.format(url=testcenter_register_target), link_end='</a>')}</strong>
${_("Within a few days, you should see a confirmation number here, which can be used to schedule your exam.")}
</p>
</div> </div>
% endif % endif
% endif % endif
...@@ -292,17 +306,16 @@ ...@@ -292,17 +306,16 @@
<div class="message message-status ${status_css_class} is-shown"> <div class="message message-status ${status_css_class} is-shown">
% if cert_status['status'] == 'processing': % if cert_status['status'] == 'processing':
<p class="message-copy">Final course details are being wrapped up at <p class="message-copy">${_("Final course details are being wrapped up at this time. Your final standing will be available shortly.")}</p>
this time. Your final standing will be available shortly.</p>
% elif cert_status['status'] in ('generating', 'ready', 'notpassing', 'restricted'): % elif cert_status['status'] in ('generating', 'ready', 'notpassing', 'restricted'):
<p class="message-copy">Your final grade: <p class="message-copy">${_("Your final grade:")}
<span class="grade-value">${"{0:.0f}%".format(float(cert_status['grade'])*100)}</span>. <span class="grade-value">${"{0:.0f}%".format(float(cert_status['grade'])*100)}</span>.
% if cert_status['status'] == 'notpassing': % if cert_status['status'] == 'notpassing':
Grade required for a certificate: <span class="grade-value"> ${_("Grade required for a certificate:")} <span class="grade-value">
${"{0:.0f}%".format(float(course.lowest_passing_grade)*100)}</span>. ${"{0:.0f}%".format(float(course.lowest_passing_grade)*100)}</span>.
% elif cert_status['status'] == 'restricted': % elif cert_status['status'] == 'restricted':
<p class="message-copy"> <p class="message-copy">
Your certificate is being held pending confirmation that the issuance of your certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting <a class="contact-link" href="mailto:${settings.CONTACT_EMAIL}">${settings.CONTACT_EMAIL}</a>. ${_("Your certificate is being held pending confirmation that the issuance of your certificate is in compliance with strict U.S. embargoes on Iran, Cuba, Syria and Sudan. If you think our system has mistakenly identified you as being connected with one of those countries, please let us know by contacting {email}.").format(email='<a class="contact-link" href="mailto:{email}">{email}</a>.'.format(email=settings.CONTACT_EMAIL))}
</p> </p>
% endif % endif
</p> </p>
...@@ -312,17 +325,17 @@ ...@@ -312,17 +325,17 @@
<ul class="actions"> <ul class="actions">
% if cert_status['show_disabled_download_button']: % if cert_status['show_disabled_download_button']:
<li class="action"><span class="disabled"> <li class="action"><span class="disabled">
Your Certificate is Generating</span></li> ${_("Your Certificate is Generating")}</span></li>
% elif cert_status['show_download_url']: % elif cert_status['show_download_url']:
<li class="action"> <li class="action">
<a class="btn" href="${cert_status['download_url']}" <a class="btn" href="${cert_status['download_url']}"
title="This link will open/download a PDF document"> title="${_('This link will open/download a PDF document')}">
Download Your PDF Certificate</a></li> Download Your PDF Certificate</a></li>
% endif % endif
% if cert_status['show_survey_button']: % if cert_status['show_survey_button']:
<li class="action"><a class="cta" href="${cert_status['survey_url']}"> <li class="action"><a class="cta" href="${cert_status['survey_url']}">
Complete our course feedback survey</a></li> ${_('Complete our course feedback survey')}</a></li>
% endif % endif
</ul> </ul>
% endif % endif
...@@ -332,12 +345,12 @@ ...@@ -332,12 +345,12 @@
% if course.id in show_courseware_links_for: % if course.id in show_courseware_links_for:
% if course.has_ended(): % if course.has_ended():
<a href="${course_target}" class="enter-course archived">View Archived Course</a> <a href="${course_target}" class="enter-course archived">${_('View Archived Course')}</a>
% else: % else:
<a href="${course_target}" class="enter-course">View Course</a> <a href="${course_target}" class="enter-course">${_('View Course')}</a>
% endif % endif
% endif % endif
<a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}">Unregister</a> <a href="#unenroll-modal" class="unenroll" rel="leanModal" data-course-id="${course.id}" data-course-number="${course.number}">${_('Unregister')}</a>
</section> </section>
</article> </article>
...@@ -346,16 +359,16 @@ ...@@ -346,16 +359,16 @@
% endfor % endfor
% else: % else:
<section class="empty-dashboard-message"> <section class="empty-dashboard-message">
<p>Looks like you haven't registered for any courses yet.</p> <p>${_("Looks like you haven't registered for any courses yet.")}</p>
<a href="${marketing_link('COURSES')}"> <a href="${marketing_link('COURSES')}">
Find courses now! ${_("Find courses now!")}
</a> </a>
</section> </section>
% endif % endif
% if staff_access and len(errored_courses) > 0: % if staff_access and len(errored_courses) > 0:
<div id="course-errors"> <div id="course-errors">
<h2>Course-loading errors</h2> <h2>${_("Course-loading errors")}</h2>
% for course_dir, errors in errored_courses.items(): % for course_dir, errors in errored_courses.items():
<h3>${course_dir | h}</h3> <h3>${course_dir | h}</h3>
...@@ -374,7 +387,7 @@ ...@@ -374,7 +387,7 @@
<section id="unenroll-modal" class="modal unenroll-modal"> <section id="unenroll-modal" class="modal unenroll-modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>Are you sure you want to unregister from <span id="unenroll_course_number"></span>?</h2> <h2>${_('Are you sure you want to unregister from {course_number}?').format(course_number='<span id="unenroll_course_number"></span>')}</h2>
<hr/> <hr/>
</header> </header>
...@@ -399,13 +412,13 @@ ...@@ -399,13 +412,13 @@
<section id="password_reset_complete" class="modal"> <section id="password_reset_complete" class="modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>Password Reset Email Sent</h2> <h2>${_('Password Reset Email Sent')}</h2>
<hr/> <hr/>
</header> </header>
<div> <div>
<form> <!-- Here for styling reasons --> <form> <!-- Here for styling reasons -->
<section> <section>
<p>An email has been sent to ${user.email}. Follow the link in the email to change your password.</p> <p>${_('An email has been sent to {email}. Follow the link in the email to change your password.').format(email=user.email)}</p>
</section> </section>
</form> </form>
</div> </div>
...@@ -420,7 +433,7 @@ ...@@ -420,7 +433,7 @@
<section id="change_email" class="modal"> <section id="change_email" class="modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2><span id="change_email_title">Change Email</span></h2> <h2><span id="change_email_title">${_("Change Email")}</span></h2>
<hr/> <hr/>
</header> </header>
<div id="change_email_body"> <div id="change_email_body">
...@@ -428,16 +441,16 @@ ...@@ -428,16 +441,16 @@
<div id="change_email_error" class="modal-form-error"> </div> <div id="change_email_error" class="modal-form-error"> </div>
<fieldset> <fieldset>
<div class="input-group"> <div class="input-group">
<label>Please enter your new email address:</label> <label>${_('Please enter your new email address:')}</label>
<input id="new_email_field" type="email" value="" /> <input id="new_email_field" type="email" value="" />
<label>Please confirm your password:</label> <label>${_('Please confirm your password:')}</label>
<input id="new_email_password" value="" type="password" /> <input id="new_email_password" value="" type="password" />
</div> </div>
<section> <section>
<p>We will send a confirmation to both ${user.email} and your new email as part of the process.</p> <p>${_('We will send a confirmation to both {email} and your new email as part of the process.').format(email=user.email)}</p>
</section> </section>
<div class="submit"> <div class="submit">
<input type="submit" id="submit_email_change" value="Change Email"/> <input type="submit" id="submit_email_change" value="${_('Change Email')}"/>
</div> </div>
</fieldset> </fieldset>
</form> </form>
...@@ -453,23 +466,23 @@ ...@@ -453,23 +466,23 @@
<section id="apply_name_change" class="modal"> <section id="apply_name_change" class="modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>Change your name</h2> <h2>${_("Change your name")}</h2>
<hr/> <hr/>
</header> </header>
<div id="change_name_body"> <div id="change_name_body">
<form id="change_name_form"> <form id="change_name_form">
<div id="change_name_error" class="modal-form-error"> </div> <div id="change_name_error" class="modal-form-error"> </div>
<p>To uphold the credibility of ${settings.PLATFORM_NAME} certificates, all name changes will be logged and recorded.</p> <p>${_("To uphold the credibility of {platform} certificates, all name changes will be logged and recorded.".format(platform=settings.PLATFORM_NAME)}</p>
<br/> <br/>
<fieldset> <fieldset>
<div class="input-group"> <div class="input-group">
<label>Enter your desired full name, as it will appear on the ${settings.PLATFORM_NAME} certificates: </label> <label>${_("Enter your desired full name, as it will appear on the {platform} certificates:").format(platform=settings.PLATFORM_NAME)}</label>
<input id="new_name_field" value="" type="text" /> <input id="new_name_field" value="" type="text" />
<label>Reason for name change:</label> <label>${_("Reason for name change:")}</label>
<textarea id="name_rationale_field" value=""></textarea> <textarea id="name_rationale_field" value=""></textarea>
</div> </div>
<div class="submit"> <div class="submit">
<input type="submit" id="submit" value="Change My Name"> <input type="submit" id="submit" value="${_('Change My Name')}">
</div> </div>
</fieldset> </fieldset>
</form> </form>
......
<%! from django.utils.translation import ugettext as _ %>
<html><body> <html><body>
<div> <div>
<p>Python:</p> <p>Python:</p>
...@@ -11,7 +12,7 @@ ...@@ -11,7 +12,7 @@
</div> </div>
%if results: %if results:
<div> <div>
<p>Results:</p> <p>${_("Results:")}</p>
<pre> <pre>
${results|h} ${results|h}
</pre> </pre>
......
<%! from django.utils.translation import ugettext as _ %>
<div class="blank-state"> <div class="blank-state">
% if performed_search: % if performed_search:
Sorry! We can't find anything matching your search. Please try another search. ${_("Sorry! We can't find anything matching your search. Please try another search.")}
% else: % else:
There are no posts here yet. Be the first one to post! ${_("There are no posts here yet. Be the first one to post!")}
% endif % endif
</div> </div>
<%! from django.utils.translation import ugettext as _ %>
<%! from django_comment_client.permissions import has_permission %> <%! from django_comment_client.permissions import has_permission %>
<%inherit file="../courseware/course_navigation.html" /> <%inherit file="../courseware/course_navigation.html" />
<%block name="extratabs"> <%block name="extratabs">
% if has_permission(user, 'create_thread', course.id): % if has_permission(user, 'create_thread', course.id):
<li class="right"><a href="#" class="new-post-btn"><span class="icon icon-edit new-post-icon"></span>New Post</a></li> <li class="right"><a href="#" class="new-post-btn"><span class="icon icon-edit new-post-icon"></span>${_("New Post")}</a></li>
% endif % endif
</%block> </%block>
<%! from django.utils.translation import ugettext as _ %>
<%include file="_underscore_templates.html" /> <%include file="_underscore_templates.html" />
<div class="discussion-module" data-discussion-id="${discussion_id | h}"> <div class="discussion-module" data-discussion-id="${discussion_id | h}">
<a class="discussion-show control-button" href="javascript:void(0)" data-discussion-id="${discussion_id | h}"><span class="show-hide-discussion-icon"></span><span class="button-text">Show Discussion</span></a> <a class="discussion-show control-button" href="javascript:void(0)" data-discussion-id="${discussion_id | h}"><span class="show-hide-discussion-icon"></span><span class="button-text">Show Discussion</span></a>
<a href="#" class="new-post-btn"><span class="icon icon-edit new-post-icon"></span>New Post</a> <a href="#" class="new-post-btn"><span class="icon icon-edit new-post-icon"></span>${_("New Post")}</a>
</div> </div>
<%! from django.utils.translation import ugettext as _ %>
<%! import json %> <%! import json %>
<%def name="render_dropdown(map)"> <%def name="render_dropdown(map)">
...@@ -30,20 +31,20 @@ ...@@ -30,20 +31,20 @@
<ul class="browse-topic-drop-menu"> <ul class="browse-topic-drop-menu">
<li> <li>
<a href="#" class="drop-menu-meta-category"> <a href="#" class="drop-menu-meta-category">
<span class="board-name" data-discussion_id='#all'>Show All Discussions</span> <span class="board-name" data-discussion_id='#all'>${_("Show All Discussions")}</span>
</a> </a>
</li> </li>
%if flag_moderator: %if flag_moderator:
<li> <li>
<a href="#"> <a href="#">
<span class="board-name" data-discussion_id='#flagged'><i class="icon-flag" style="padding-right:5px;"></i>Show Flagged Discussions</span> <span class="board-name" data-discussion_id='#flagged'><i class="icon-flag" style="padding-right:5px;"></i>${_("Show Flagged Discussions")}</span>
</a> </a>
</li> </li>
%endif %endif
<li> <li>
<a href="#" class="drop-menu-meta-category"> <a href="#" class="drop-menu-meta-category">
<span class="board-name" data-discussion_id='#following'><i class="icon-star" style="padding-right:5px;"></i>Posts I&#39;m Following</span> <span class="board-name" data-discussion_id='#following'><i class="icon-star" style="padding-right:5px;"></i>${_("Posts I'm Following")}</span>
</a> </a>
</li> </li>
${render_dropdown(category_map)} ${render_dropdown(category_map)}
......
<%! from django.utils.translation import ugettext as _ %>
<article class="new-post-article"> <article class="new-post-article">
<div class="inner-wrapper"> <div class="inner-wrapper">
<div class="new-post-form-errors"> <div class="new-post-form-errors">
...@@ -5,25 +6,25 @@ ...@@ -5,25 +6,25 @@
<form class="new-post-form"> <form class="new-post-form">
<div class="left-column"> <div class="left-column">
<div class="options"> <div class="options">
<input type="checkbox" name="follow" class="discussion-follow" class="discussion-follow" id="new-post-follow" checked><label for="new-post-follow">follow this post</label> <input type="checkbox" name="follow" class="discussion-follow" class="discussion-follow" id="new-post-follow" checked><label for="new-post-follow">${_("follow this post")}</label>
<br> <br>
% if course.allow_anonymous: % if course.allow_anonymous:
<input type="checkbox" name="anonymous" class="discussion-anonymous" id="new-post-anonymous"><label for="new-post-anonymous">post anonymously</label> <input type="checkbox" name="anonymous" class="discussion-anonymous" id="new-post-anonymous"><label for="new-post-anonymous">${_("post anonymously")}</label>
%elif course.allow_anonymous_to_peers: %elif course.allow_anonymous_to_peers:
<input type="checkbox" name="anonymous_to_peers" class="discussion-anonymous-to-peers" id="new-post-anonymous-to-peers"><label for="new-post-anonymous-to-peers">post anonymously to classmates</label> <input type="checkbox" name="anonymous_to_peers" class="discussion-anonymous-to-peers" id="new-post-anonymous-to-peers"><label for="new-post-anonymous-to-peers">${_("post anonymously to classmates")}</label>
%endif %endif
%if is_course_cohorted: %if is_course_cohorted:
<div class="form-group-label choose-cohort"> <div class="form-group-label choose-cohort">
Make visible to: ${_("Make visible to:")}
<select class="group-filter-select new-post-group" name = "group_id"> <select class="group-filter-select new-post-group" name = "group_id">
<option value="">All Groups</option> <option value="">${_("All Groups")}</option>
%if is_moderator: %if is_moderator:
%for c in cohorts: %for c in cohorts:
<option value="${c.id}">${c.name}</option> <option value="${c.id}">${c.name}</option>
%endfor %endfor
%else: %else:
%if user_cohort: %if user_cohort:
<option value="${user_cohort}">My Cohort</option> <option value="${user_cohort}">${_("My Cohort")}</option>
%endif %endif
%endif %endif
...@@ -44,8 +45,8 @@ ...@@ -44,8 +45,8 @@
##<div class="form-row"> ##<div class="form-row">
## <input type="text" class="new-post-tags" name="tags" placeholder="Tags"> ## <input type="text" class="new-post-tags" name="tags" placeholder="Tags">
##</div> ##</div>
<input type="submit" class="submit" value="Add post"> <input type="submit" class="submit" value="${_("Add post")}">
<a href="#" class="new-post-cancel">Cancel</a> <a href="#" class="new-post-cancel">${_("Cancel")}</a>
</div> </div>
</form> </form>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%def name="render_form_filter_dropdown(map)"> <%def name="render_form_filter_dropdown(map)">
% for child in map["children"]: % for child in map["children"]:
% if child in map["entries"]: % if child in map["entries"]:
...@@ -26,9 +27,9 @@ ...@@ -26,9 +27,9 @@
<div class="inner-wrapper"> <div class="inner-wrapper">
<form class="new-post-form"> <form class="new-post-form">
<div class="left-column"> <div class="left-column">
<label>Create new post about:</label> <label>${_("Create new post about:")}</label>
<div class="form-topic-drop"> <div class="form-topic-drop">
<a href="#" class="topic_dropdown_button">Show All Discussions<span class="drop-arrow"></span></a> <a href="#" class="topic_dropdown_button">${_("Show All Discussions")}<span class="drop-arrow"></span></a>
<div class="topic_menu_wrapper"> <div class="topic_menu_wrapper">
<div class="topic_menu_search"> <div class="topic_menu_search">
<input type="text" class="form-topic-drop-search-input" placeholder="filter topics"> <input type="text" class="form-topic-drop-search-input" placeholder="filter topics">
...@@ -39,18 +40,18 @@ ...@@ -39,18 +40,18 @@
</div> </div>
</div> </div>
<div class="options"> <div class="options">
<input type="checkbox" name="follow" class="discussion-follow" class="discussion-follow" id="new-post-follow" checked><label for="new-post-follow">follow this post</label> <input type="checkbox" name="follow" class="discussion-follow" class="discussion-follow" id="new-post-follow" checked><label for="new-post-follow">${_("follow this post")}</label>
<br> <br>
% if course.allow_anonymous: % if course.allow_anonymous:
<input type="checkbox" name="anonymous" class="discussion-anonymous" id="new-post-anonymous"><label for="new-post-anonymous">post anonymously</label> <input type="checkbox" name="anonymous" class="discussion-anonymous" id="new-post-anonymous"><label for="new-post-anonymous">${_("post anonymously")}</label>
%elif course.allow_anonymous_to_peers: %elif course.allow_anonymous_to_peers:
<input type="checkbox" name="anonymous_to_peers" class="discussion-anonymous-to-peers" id="new-post-anonymous-to-peers"><label for="new-post-anonymous-to-peers">post anonymously to classmates</label> <input type="checkbox" name="anonymous_to_peers" class="discussion-anonymous-to-peers" id="new-post-anonymous-to-peers"><label for="new-post-anonymous-to-peers">${_("post anonymously to classmates")}</label>
%endif %endif
%if is_course_cohorted and is_moderator: %if is_course_cohorted and is_moderator:
<div class="form-group-label choose-cohort"> <div class="form-group-label choose-cohort">
Make visible to: ${_("Make visible to:")}
<select class="group-filter-select new-post-group" name = "group_id"> <select class="group-filter-select new-post-group" name = "group_id">
<option value="">All Groups</option> <option value="">${_("All Groups")}</option>
%for c in cohorts: %for c in cohorts:
<option value="${c.id}" <option value="${c.id}"
%if user_cohort and str(user_cohort) == str(c.id): %if user_cohort and str(user_cohort) == str(c.id):
...@@ -76,8 +77,8 @@ ...@@ -76,8 +77,8 @@
##<div class="form-row"> ##<div class="form-row">
## <input type="text" class="new-post-tags" name="tags" placeholder="Tags"> ## <input type="text" class="new-post-tags" name="tags" placeholder="Tags">
##</div> ##</div>
<input type="submit" class="submit" value="Add post"> <input type="submit" class="submit" value="${_("Add post")}">
<a href="#" class="new-post-cancel">Cancel</a> <a href="#" class="new-post-cancel">${_("Cancel")}</a>
</div> </div>
</form> </form>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%! import django_comment_client.helpers as helpers %> <%! import django_comment_client.helpers as helpers %>
% if recent_active_threads: % if recent_active_threads:
<article class="discussion-sidebar-following sidebar-module"> <article class="discussion-sidebar-following sidebar-module">
<header> <header>
<h4>Following</h4> <h4>${_("Following")}</h4>
<!--<a href="#" class="sidebar-view-all">view all &rsaquo;</a>--> <!--<a href="#" class="sidebar-view-all">view all &rsaquo;</a>-->
</header> </header>
<ol class="discussion-sidebar-following-list"> <ol class="discussion-sidebar-following-list">
......
<%! from django.utils.translation import ugettext as _ %>
<%! from urllib import urlencode %> <%! from urllib import urlencode %>
<% <%
...@@ -14,5 +15,5 @@ def base_url_for_search(): ...@@ -14,5 +15,5 @@ def base_url_for_search():
% else: % else:
<input class="search-input" type="text" value="${text | h}" id="keywords" autocomplete="off"/> <input class="search-input" type="text" value="${text | h}" id="keywords" autocomplete="off"/>
% endif % endif
<div class="discussion-link discussion-search-link" href="javascript:void(0)">Search posts</div> <div class="discussion-link discussion-search-link" href="javascript:void(0)">${_("Search posts")}</div>
</form> </form>
<%! from django.utils.translation import ugettext as _ %>
% if len(threads) > 0: % if len(threads) > 0:
Similar Posts: Similar Posts:
<a class="hide-similar-posts" href="javascript:void(0)">Hide</a> <a class="hide-similar-posts" href="javascript:void(0)">${_("Hide")}</a>
<div class="new-post-similar-posts"> <div class="new-post-similar-posts">
% for thread in threads: % for thread in threads:
<a class="similar-post" href="${thread['permalink'] | h}">${thread['title'] | h}</a> <a class="similar-post" href="${thread['permalink'] | h}">${thread['title'] | h}</a>
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name="renderer" file="_content_renderer.html"/> <%namespace name="renderer" file="_content_renderer.html"/>
<%! from django_comment_client.mustache_helpers import url_for_user %> <%! from django_comment_client.mustache_helpers import url_for_user %>
...@@ -7,7 +8,7 @@ ...@@ -7,7 +8,7 @@
<header> <header>
%if thread['group_id']: %if thread['group_id']:
<div class="group-visibility-label">This post visible only to group ${cohort_dictionary[thread['group_id']]}. </div> <div class="group-visibility-label">${_("This post visible only to group %s.") % cohort_dictionary[thread['group_id']]} </div>
%endif %endif
<a href="#" class="vote-btn discussion-vote discussion-vote-up"><span class="plus-icon">+</span> <span class='votes-count-number'>${thread['votes']['up_count']}</span></a> <a href="#" class="vote-btn discussion-vote discussion-vote-up"><span class="plus-icon">+</span> <span class='votes-count-number'>${thread['votes']['up_count']}</span></a>
......
<%! from django.utils.translation import ugettext as _ %>
<script type="text/template" id="thread-list-template"> <script type="text/template" id="thread-list-template">
<div class="browse-search"> <div class="browse-search">
<div class="home"> <div class="home">
...@@ -9,7 +10,7 @@ ...@@ -9,7 +10,7 @@
<a href="#" class="browse-topic-drop-icon"> <a href="#" class="browse-topic-drop-icon">
<i class="icon icon-reorder"></i> <i class="icon icon-reorder"></i>
</a> </a>
<a href="#" class="browse-topic-drop-btn"><span class="current-board">Show All Discussions</span> <span class="drop-arrow">▾</span></a> <a href="#" class="browse-topic-drop-btn"><span class="current-board">${_("Show All Discussions")}</span> <span class="drop-arrow">▾</span></a>
</div> </div>
<%include file="_filter_dropdown.html" /> <%include file="_filter_dropdown.html" />
<div class="search"> <div class="search">
...@@ -19,20 +20,20 @@ ...@@ -19,20 +20,20 @@
</div> </div>
</div> </div>
<div class="sort-bar"> <div class="sort-bar">
<span class="sort-label">Sort by:</span> <span class="sort-label">${_("Sort by:")}</span>
<ul> <ul>
<li><a href="#" class="active" data-sort="date">date</a></li> <li><a href="#" class="active" data-sort="date">${_("date")}</a></li>
<li><a href="#" data-sort="votes">votes</a></li> <li><a href="#" data-sort="votes">${_("votes")}</a></li>
<li><a href="#" data-sort="comments">comments</a></li> <li><a href="#" data-sort="comments">${_("comments")}</a></li>
</ul> </ul>
%if is_course_cohorted and is_moderator: %if is_course_cohorted and is_moderator:
<span class="group-filter-label cohort">Show:</span> <span class="group-filter-label cohort">${_("Show:")}</span>
<select class="group-filter-select cohort-options cohort"> <select class="group-filter-select cohort-options cohort">
<option value="all">View All</option> <option value="all">${_("View All")}</option>
%for c in cohorts: %for c in cohorts:
<option value="${c.id}">View as ${c.name}</option> <option value="${c.id}">${_("View as {name}").format(name=c.name)}</option>
%endfor %endfor
</select> </select>
%endif %endif
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django_comment_client.permissions import has_permission %> <%! from django_comment_client.permissions import has_permission %>
<script type="text/template" id="thread-template"> <script type="text/template" id="thread-template">
...@@ -8,15 +9,15 @@ ...@@ -8,15 +9,15 @@
<li class="loading"><div class="loading-animation"></div></li> <li class="loading"><div class="loading-animation"></div></li>
</ol> </ol>
<div class="post-status-closed bottom-post-status" style="display: none"> <div class="post-status-closed bottom-post-status" style="display: none">
This thread is closed. ${_("This thread is closed.")}
</div> </div>
% if course is UNDEFINED or has_permission(user, 'create_comment', course.id): % if course is UNDEFINED or has_permission(user, 'create_comment', course.id):
<form class="discussion-reply-new" data-id="${'<%- id %>'}"> <form class="discussion-reply-new" data-id="${'<%- id %>'}">
<h4>Post a response:</h4> <h4>${_("Post a response:")}</h4>
<ul class="discussion-errors"></ul> <ul class="discussion-errors"></ul>
<div class="reply-body" data-id="${'<%- id %>'}"></div> <div class="reply-body" data-id="${'<%- id %>'}"></div>
<div class="reply-post-control"> <div class="reply-post-control">
<a class="discussion-submit-post control-button" href="#">Submit</a> <a class="discussion-submit-post control-button" href="#">${_("Submit")}</a>
</div> </div>
</form> </form>
% endif % endif
...@@ -41,24 +42,24 @@ ...@@ -41,24 +42,24 @@
<span class="timeago" title="${'<%- created_at %>'}">${'<%- created_at %>'}</span> <span class="timeago" title="${'<%- created_at %>'}">${'<%- created_at %>'}</span>
<span class="post-status-closed top-post-status" style="display: none"> <span class="post-status-closed top-post-status" style="display: none">
&bull; This thread is closed. ${_("&bull; This thread is closed.")}
</span> </span>
</p> </p>
</header> </header>
<div class="post-body">${'<%- body %>'}</div> <div class="post-body">${'<%- body %>'}</div>
<div class="discussion-flag-abuse notflagged" data-role="thread-flag" data-tooltip="Report Misuse"> <div class="discussion-flag-abuse notflagged" data-role="thread-flag" data-tooltip="Report Misuse">
<i class="icon icon-flag"></i><span class="flag-label">Report Misuse</span></div> <i class="icon icon-flag"></i><span class="flag-label">${_("Report Misuse")}</span></div>
% if course and has_permission(user, 'openclose_thread', course.id): % if course and has_permission(user, 'openclose_thread', course.id):
<div class="admin-pin discussion-pin notpinned" data-role="thread-pin" data-tooltip="pin this thread"> <div class="admin-pin discussion-pin notpinned" data-role="thread-pin" data-tooltip="pin this thread">
<i class="icon icon-pushpin"></i><span class="pin-label">Pin Thread</span></div> <i class="icon icon-pushpin"></i><span class="pin-label">${_("Pin Thread")}</span></div>
%else: %else:
${"<% if (pinned) { %>"} ${"<% if (pinned) { %>"}
<div class="discussion-pin notpinned" data-role="thread-pin" data-tooltip="pin this thread"> <div class="discussion-pin notpinned" data-role="thread-pin" data-tooltip="pin this thread">
<i class="icon icon-pushpin"></i><span class="pin-label">Pin Thread</span></div> <i class="icon icon-pushpin"></i><span class="pin-label">${_("Pin Thread")}</span></div>
${"<% } %>"} ${"<% } %>"}
% endif % endif
...@@ -70,16 +71,16 @@ ...@@ -70,16 +71,16 @@
${'<% } %>'} ${'<% } %>'}
<ul class="moderator-actions"> <ul class="moderator-actions">
<li style="display: none"><a class="action-edit" href="javascript:void(0)"><span class="edit-icon"></span> Edit</a></li> <li style="display: none"><a class="action-edit" href="javascript:void(0)"><span class="edit-icon"></span> ${_("Edit")}</a></li>
<li style="display: none"><a class="action-delete" href="javascript:void(0)"><span class="delete-icon"></span> Delete</a></li> <li style="display: none"><a class="action-delete" href="javascript:void(0)"><span class="delete-icon"></span> ${_("Delete")}</a></li>
<li style="display: none"><a class="action-openclose" href="javascript:void(0)"><span class="edit-icon"></span> Close</a></li> <li style="display: none"><a class="action-openclose" href="javascript:void(0)"><span class="edit-icon"></span> ${_("Close")}</a></li>
</ul> </ul>
</div> </div>
</script> </script>
<script type="text/template" id="thread-edit-template"> <script type="text/template" id="thread-edit-template">
<div class="discussion-post edit-post-form"> <div class="discussion-post edit-post-form">
<h1>Editing post</h1> <h1>${_("Editing post")}</h1>
<ul class="edit-post-form-errors"></ul> <ul class="edit-post-form-errors"></ul>
<div class="form-row"> <div class="form-row">
<input type="text" class="edit-post-title" name="title" value="${"<%-title %>"}" placeholder="Title"> <input type="text" class="edit-post-title" name="title" value="${"<%-title %>"}" placeholder="Title">
...@@ -92,8 +93,8 @@ ...@@ -92,8 +93,8 @@
##<div class="form-row"> ##<div class="form-row">
## <input type="text" class="edit-post-tags" name="tags" placeholder="Tags" value="${"<%- tags %>"}"> ## <input type="text" class="edit-post-tags" name="tags" placeholder="Tags" value="${"<%- tags %>"}">
##</div> ##</div>
<input type="submit" class="post-update" value="Update post"> <input type="submit" class="post-update" value="${_("Update post")}">
<a href="#" class="post-cancel">Cancel</a> <a href="#" class="post-cancel">${_("Cancel")}</a>
</div> </div>
</script> </script>
...@@ -107,7 +108,7 @@ ...@@ -107,7 +108,7 @@
<div class="comment-body" data-id="${'<%- wmdId %>'}" <div class="comment-body" data-id="${'<%- wmdId %>'}"
data-placeholder="Add a comment..."></div> data-placeholder="Add a comment..."></div>
<div class="comment-post-control"> <div class="comment-post-control">
<a class="discussion-submit-comment control-button" href="#">Submit</a> <a class="discussion-submit-comment control-button" href="#">${_("Submit")}</a>
</div> </div>
</form> </form>
% endif % endif
...@@ -129,21 +130,21 @@ ...@@ -129,21 +130,21 @@
<i class="icon icon-flag"></i><span class="flag-label">Report Misuse</span></div> <i class="icon icon-flag"></i><span class="flag-label">Report Misuse</span></div>
</div> </div>
<ul class="moderator-actions response-local"> <ul class="moderator-actions response-local">
<li style="display: none"><a class="action-edit" href="javascript:void(0)"><span class="edit-icon"></span> Edit</a></li> <li style="display: none"><a class="action-edit" href="javascript:void(0)"><span class="edit-icon"></span> ${_("Edit")}</a></li>
<li style="display: none"><a class="action-delete" href="javascript:void(0)"><span class="delete-icon"></span> Delete</a></li> <li style="display: none"><a class="action-delete" href="javascript:void(0)"><span class="delete-icon"></span> ${_("Delete")}</a></li>
<li style="display: none"><a class="action-openclose" href="javascript:void(0)"><span class="edit-icon"></span> Close</a></li> <li style="display: none"><a class="action-openclose" href="javascript:void(0)"><span class="edit-icon"></span> ${_("Close")}</a></li>
</ul> </ul>
</script> </script>
<script type="text/template" id="thread-response-edit-template"> <script type="text/template" id="thread-response-edit-template">
<div class="edit-post-form"> <div class="edit-post-form">
<h1>Editing response</h1> <h1>${_("Editing response")}</h1>
<ul class="edit-post-form-errors"></ul> <ul class="edit-post-form-errors"></ul>
<div class="form-row"> <div class="form-row">
<div class="edit-post-body" name="body">${"<%- body %>"}</div> <div class="edit-post-body" name="body">${"<%- body %>"}</div>
</div> </div>
<input type="submit" class="post-update" value="Update response"> <input type="submit" class="post-update" value="${_("Update response")}">
<a href="#" class="post-cancel">Cancel</a> <a href="#" class="post-cancel">${_("Cancel")}</a>
</div> </div>
</script> </script>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django_comment_client.helpers import pluralize %> <%! from django_comment_client.helpers import pluralize %>
<%! from django_comment_client.permissions import has_permission, check_permissions_by_view %> <%! from django_comment_client.permissions import has_permission, check_permissions_by_view %>
<%! from operator import attrgetter %> <%! from operator import attrgetter %>
...@@ -15,9 +16,9 @@ ...@@ -15,9 +16,9 @@
<div class="sidebar-comments-count"><span>${profiled_user['comments_count'] | h}</span> ${pluralize('comment', profiled_user['comments_count']) | h}</div> <div class="sidebar-comments-count"><span>${profiled_user['comments_count'] | h}</span> ${pluralize('comment', profiled_user['comments_count']) | h}</div>
% if check_permissions_by_view(user, course.id, content=None, name='update_moderator_status'): % if check_permissions_by_view(user, course.id, content=None, name='update_moderator_status'):
% if "Moderator" in role_names: % if "Moderator" in role_names:
<a href="javascript:void(0)" class="sidebar-toggle-moderator-button sidebar-revoke-moderator-button">Revoke Moderator rights</a> <a href="javascript:void(0)" class="sidebar-toggle-moderator-button sidebar-revoke-moderator-button">${_("Revoke Moderator rights")}</a>
% else: % else:
<a href="javascript:void(0)" class="sidebar-toggle-moderator-button sidebar-promote-moderator-button">Promote to Moderator</a> <a href="javascript:void(0)" class="sidebar-toggle-moderator-button sidebar-promote-moderator-button">${_("Promote to Moderator")}</a>
% endif % endif
% endif % endif
</div> </div>
<%! from django.utils.translation import ugettext as _ %>
<%! import django_comment_client.helpers as helpers %> <%! import django_comment_client.helpers as helpers %>
<%! from django.template.defaultfilters import escapejs %> <%! from django.template.defaultfilters import escapejs %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
...@@ -5,7 +6,7 @@ ...@@ -5,7 +6,7 @@
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="bodyclass">discussion</%block> <%block name="bodyclass">discussion</%block>
<%block name="title"><title>Discussion – ${course.number | h}</title></%block> <%block name="title"><title>${_("Discussion - {course_number}").format(course_number=course.number) | h}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<h1>We're sorry</h1> <h1>${_("We're sorry")}</h1>
<p>The forums are currently undergoing maintenance. We'll have them back up shortly!</p> <p>${_("The forums are currently undergoing maintenance. We'll have them back up shortly!")}</p>
<%! from django.utils.translation import ugettext as _ %>
<%! import django_comment_client.helpers as helpers %> <%! import django_comment_client.helpers as helpers %>
<%! from django.template.defaultfilters import escapejs %> <%! from django.template.defaultfilters import escapejs %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="bodyclass">discussion</%block> <%block name="bodyclass">discussion</%block>
<%block name="title"><title>Discussion – ${course.number}</title></%block> <%block name="title"><title>${_("Discussion - {course_number}").format(course_number=course.number) | h}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.template.defaultfilters import escapejs %> <%! from django.template.defaultfilters import escapejs %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="bodyclass">discussion</%block> <%block name="bodyclass">discussion</%block>
<%block name="title"><title>Discussion – ${course.number | h}</title></%block> <%block name="title"><title>${_("Discussion - {course_number}").format(course_number=course.number) | h}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
...@@ -19,7 +20,7 @@ ...@@ -19,7 +20,7 @@
<section class="container"> <section class="container">
<div class="course-wrapper"> <div class="course-wrapper">
<section aria-label="User Profile" class="user-profile"> <section aria-label="${_('User Profile')}" class="user-profile">
<nav> <nav>
<article class="sidebar-module discussion-sidebar"> <article class="sidebar-module discussion-sidebar">
...@@ -30,7 +31,7 @@ ...@@ -30,7 +31,7 @@
</section> </section>
<section class="course-content container discussion-user-threads" data-user-id="${django_user.id | escapejs}" data-course-id="${course.id | escapejs}" data-threads="${threads}" data-user-info="${user_info}"> <section class="course-content container discussion-user-threads" data-user-id="${django_user.id | escapejs}" data-course-id="${course.id | escapejs}" data-threads="${threads}" data-user-info="${user_info}">
<h2>Active Threads</h2> <h2>${_("Active Threads")}</h2>
</section> </section>
</div> </div>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="invalid">E-mail change failed</h1> <h1 class="invalid">${_("E-mail change failed")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p>We were unable to send a confirmation email to ${email}</p> <p>${_("We were unable to send a confirmation email to {email}").format(email=email)}</p>
<p>Go back to the <a href="/">home page</a>.</p> <p>${_('Go back to the {link_start}home page{link_end}.').format(link_start='<a href="/">', link_end='</a>')}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="valid">E-mail change successful!</h1> <h1 class="valid">${_("E-mail change successful!")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p>You should see your new email in your <a href="${reverse('dashboard')}">dashboard</a>.</p> <p>${_('You should see your new email in your {link_start}dashboard{link_end}.').format(
link_start='<a href="{url}">'.format(url=reverse('dashboard')),
link_end='</a>',
)}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="invalid">E-mail change failed</h1> <h1 class="invalid">${_("E-mail change failed")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p>An account with the new e-mail address already exists.</p> <p>${_("An account with the new e-mail address already exists.")}</p>
<p>Go back to the <a href="/">home page</a>.</p> <p>${_("Go back to the {link_start}home page{link_end}.").format(link_start='<a href="/">', link_end='</a>')}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="invalid">E-mail change successful!</h1> <h1 class="invalid">${_("E-mail change successful!")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p>You should see your new email in your <a href="${reverse('dashboard')}">dashboard</a>.</p> <p>${_('You should see your new email in your {link_start}dashboard{link_end}.').format(
link_start='<a href="{url}">'.format(url=reverse('dashboard')),
link_end='</a>',
)}</p>
</section> </section>
</section> </section>
<h1>Student Enrollment Form </h1> <%! from django.utils.translation import ugettext as _ %>
<p> Course: ${ course } <h1>${_("Student Enrollment Form")} </h1>
<p> ${_("Course: ") % course}
<form method="POST"> <form method="POST">
<input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }"> <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">
<h2> Add new students </h2> <h2> ${_("Add new students")} </h2>
<textarea name="new_students"> <textarea name="new_students">
</textarea> </textarea>
<input type="submit"> <input type="submit">
</form> </form>
<p> Existing students: <p> ${_("Existing students:")}
<p> ${ existing_students } <p> ${ existing_students }
<p> New students added: <p> ${_("New students added: ")}
${ added_students } ${ added_students }
<p> Students rejected: <p> ${_("Students rejected: ")}
${ rejected_students } ${ rejected_students }
<p> Debug: <p> ${_("Debug: ")}
<p> ${ debug } <p> ${ debug }
<p> foo <p> ${_("foo")}
<p> bar <p> ${_("bar")}
<p> biff <p> ${_("biff")}
<%! from django.utils.translation import ugettext as _ %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"> "http://www.w3.org/TR/html4/strict.dtd">
<html> <html>
<head> <head>
<title>External Authentication failed</title> <title>${_("External Authentication failed")}</title>
</head> </head>
<body> <body>
<h1>External Authentication failed</h1> <h1>${_("External Authentication failed")}</h1>
<p>${message}</p> <p>${message}</p>
</body> </body>
</html> </html>
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from xmodule.util.date_utils import get_default_time_display from xmodule.util.date_utils import get_default_time_display
%> %>
<div class="folditbasic"> <div class="folditbasic">
<p><strong>Due:</strong> ${get_default_time_display(due)} <p><strong>${_("Due:")}</strong> ${get_default_time_display(due)}
<p> <p>
<strong>Status:</strong> <strong>${_("Status:")}</strong>
% if success: % if success:
You have successfully gotten to level ${goal_level}. ${_('You have successfully gotten to level {goal_level}.').format(goal_level=goal_level)}'
% else: % else:
You have not yet gotten to level ${goal_level}. ${_('You have not yet gotten to level {goal_level}.').format(goal_level=goal_level)}
% endif % endif
</p> </p>
<h3>Completed puzzles</h3> <h3>${_("Completed puzzles")}</h3>
<table> <table>
<tr> <tr>
<th>Level</th> <th>${_("Level")}</th>
<th>Submitted</th> <th>${_("Submitted")}</th>
</tr> </tr>
% for puzzle in completed: % for puzzle in completed:
<tr> <tr>
......
<%! from django.utils.translation import ugettext as _ %>
<div class="folditchallenge"> <div class="folditchallenge">
<h3>Puzzle Leaderboard</h3> <h3>${_("Puzzle Leaderboard")}</h3>
<table> <table>
<tr> <tr>
<th>User</th> <th>${_("User")}</th>
<th>Score</th> <th>${_("Score")}</th>
</tr> </tr>
% for pair in top_scores: % for pair in top_scores:
<tr> <tr>
......
## mako ## mako
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<div class="wrapper wrapper-footer"> <div class="wrapper wrapper-footer">
...@@ -9,27 +10,27 @@ ...@@ -9,27 +10,27 @@
<ol> <ol>
<li class="nav-colophon-01"> <li class="nav-colophon-01">
<a id="about" href="${marketing_link('ABOUT')}"> <a id="about" href="${marketing_link('ABOUT')}">
About ${_("About")}
</a> </a>
</li> </li>
<li class="nav-colophon-02"> <li class="nav-colophon-02">
<a id="jobs" href="${marketing_link('JOBS')}"> <a id="jobs" href="${marketing_link('JOBS')}">
Jobs ${_("Jobs")}
</a> </a>
</li> </li>
<li class="nav-colophon-03"> <li class="nav-colophon-03">
<a id="press" href="${marketing_link('PRESS')}"> <a id="press" href="${marketing_link('PRESS')}">
Press ${_("Press")}
</a> </a>
</li> </li>
<li class="nav-colophon-04"> <li class="nav-colophon-04">
<a id="faq" href="${marketing_link('FAQ')}"> <a id="faq" href="${marketing_link('FAQ')}">
FAQ ${_("FAQ")}
</a> </a>
</li> </li>
<li class="nav-colophon-05"> <li class="nav-colophon-05">
<a id="contact" href="${marketing_link('CONTACT')}"> <a id="contact" href="${marketing_link('CONTACT')}">
Contact ${_("Contact")}
</a> </a>
</li> </li>
</ol> </ol>
...@@ -38,7 +39,7 @@ ...@@ -38,7 +39,7 @@
<div class="colophon-about"> <div class="colophon-about">
<img src="${MITX_ROOT_URL}/static/images/header-logo.png" /> <img src="${MITX_ROOT_URL}/static/images/header-logo.png" />
<p>EdX is a non-profit created by founding partners Harvard and MIT whose mission is to bring the best of higher education to students of all ages anywhere in the world, wherever there is Internet access. EdX’s free online MOOCs are interactive and subjects include computer science, public health, and artificial intelligence.</p> <p>${_("EdX is a non-profit created by founding partners Harvard and MIT whose mission is to bring the best of higher education to students of all ages anywhere in the world, wherever there is Internet access. EdX's free online MOOCs are interactive and subjects include computer science, public health, and artificial intelligence.")}</p>
</div> </div>
</div> </div>
...@@ -73,15 +74,15 @@ ...@@ -73,15 +74,15 @@
</ul> </ul>
</nav> </nav>
<p class="copyright">&copy; 2013 edX, some rights reserved.</p> <p class="copyright">${_("&copy; 2013 edX, some rights reserved.")}</p>
<nav class="nav-legal"> <nav class="nav-legal">
<ul> <ul>
<li class="nav-legal-01"> <li class="nav-legal-01">
<a href="${marketing_link('TOS')}">Terms of Service and Honor Code</a> <a href="${marketing_link('TOS')}">${_("Terms of Service and Honor Code")}</a>
</li> </li>
<li class="nav-legal-02"> <li class="nav-legal-02">
<a href="${marketing_link('PRIVACY')}">Privacy Policy</a> <a href="${marketing_link('PRIVACY')}">${_("Privacy Policy")}</a>
</li> </li>
</ul> </ul>
</nav> </nav>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<section id="forgot-password-modal" class="modal forgot-password-modal"> <section id="forgot-password-modal" class="modal forgot-password-modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<div id="password-reset"> <div id="password-reset">
<header> <header>
<h2>Password Reset</h2> <h2>${_("Password Reset")}</h2>
</header> </header>
<div class="instructions"> <div class="instructions">
<p>Please enter your e-mail address below, and we will e-mail instructions for setting a new password.</p> <p>${_("Please enter your e-mail address below, and we will e-mail instructions for setting a new password.")}</p>
</div> </div>
<form id="pwd_reset_form" action="${reverse('password_reset')}" method="post" data-remote="true"> <form id="pwd_reset_form" action="${reverse('password_reset')}" method="post" data-remote="true">
<fieldset class="group group-form group-form-requiredinformation"> <fieldset class="group group-form group-form-requiredinformation">
<legend class="is-hidden">Required Information</legend> <legend class="is-hidden">${_("Required Information")}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field required text" id="field-email"> <li class="field required text" id="field-email">
<label for="pwd_reset_email">Your E-mail Address</label> <label for="pwd_reset_email">${_("Your E-mail Address")}</label>
<input class="" id="pwd_reset_email" type="email" name="email" value="" placeholder="example: username@domain.com" /> <input class="" id="pwd_reset_email" type="email" name="email" value="" placeholder="example: username@domain.com" />
<span class="tip tip-input">This is the email address you used to register with ${settings.PLATFORM_NAME}</span> <span class="tip tip-input">${_("This is the email address you used to register with {platform}").format(platform=settings.PLATFORM_NAME)}</span>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<div class="form-actions"> <div class="form-actions">
<button name="submit" type="submit" id="pwd_reset_button" class="action action-primary action-update">Reset My Password</button> <button name="submit" type="submit" id="pwd_reset_button" class="action action-primary action-update">${_("Reset My Password")}</button>
</div> </div>
</form> </form>
</div> </div>
...@@ -44,7 +46,7 @@ ...@@ -44,7 +46,7 @@
$("#password-reset").html(json.value); $("#password-reset").html(json.value);
} else { } else {
if($('#pwd_error').length == 0) { if($('#pwd_error').length == 0) {
$('#pwd_reset_form').prepend('<div id="pwd_error" class="modal-form-error">Email is incorrect.</div>'); $('#pwd_reset_form').prepend('<div id="pwd_error" class="modal-form-error">${_("Email is incorrect.")}</div>');
} }
$('#pwd_error').stop().css("display", "block"); $('#pwd_error').stop().css("display", "block");
} }
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%! from datetime import datetime %> <%! from datetime import datetime %>
<%! import pytz %> <%! import pytz %>
...@@ -7,13 +9,13 @@ ...@@ -7,13 +9,13 @@
% if settings.MITX_FEATURES.get('ENABLE_FEEDBACK_SUBMISSION', False): % if settings.MITX_FEATURES.get('ENABLE_FEEDBACK_SUBMISSION', False):
<div class="help-tab"> <div class="help-tab">
<a href="#help-modal" rel="leanModal">Help</a> <a href="#help-modal" rel="leanModal">${_("Help")}</a>
</div> </div>
<section id="help-modal" class="modal"> <section id="help-modal" class="modal">
<div class="inner-wrapper" id="help_wrapper"> <div class="inner-wrapper" id="help_wrapper">
<header> <header>
<h2><span class="edx">edX</span> Help</h2> <h2>${_('{span_start}edX{span_end} Help').format(span_start='<span class="edx">', span_end='</span>')}</h2>
<hr> <hr>
</header> </header>
...@@ -22,22 +24,22 @@ discussion_link = get_discussion_link(course) if course else None ...@@ -22,22 +24,22 @@ discussion_link = get_discussion_link(course) if course else None
%> %>
% if discussion_link: % if discussion_link:
<p>For <strong>questions on course lectures, homework, tools, or materials for this course</strong>, post in the <p>${_('For <strong>questions on course lectures, homework, tools, or materials for this course</strong>, post in the {link_start}course discussion forum{link_end}.').format(
<a href="${discussion_link}" target="_blank"/>course discussion forum</a>. link_start='<a href="{url}" target="_blank">'.format(url=discussion_link),
link_end='</a>',
)}
</p> </p>
% endif % endif
<p>Have <strong>general questions about edX</strong>? You can find lots of helpful information in the edX <p>${_('Have <strong>general questions about edX</strong>? You can find lots of helpful information in the edX {link_start}FAQ{link_end}.').format(link_start='<a href="/help" target="_blank">', link_end='</a>')}</p>
<a href="/help" target="_blank">FAQ</a>.</p>
<p>Have a <strong>question about something specific</strong>? You can contact the edX general <p>${_('Have a <strong>question about something specific</strong>? You can contact the edX general support team directly:')}</p>
support team directly:</p>
<hr> <hr>
<div class="help-buttons"> <div class="help-buttons">
<a href="#" id="feedback_link_problem">Report a problem</a> <a href="#" id="feedback_link_problem">${_('Report a problem')}</a>
<a href="#" id="feedback_link_suggestion">Make a suggestion</a> <a href="#" id="feedback_link_suggestion">${_('Make a suggestion')}</a>
<a href="#" id="feedback_link_question">Ask a question</a> <a href="#" id="feedback_link_question">${_('Ask a question')}</a>
</div> </div>
## TODO: find a way to refactor this ## TODO: find a way to refactor this
...@@ -54,15 +56,15 @@ discussion_link = get_discussion_link(course) if course else None ...@@ -54,15 +56,15 @@ discussion_link = get_discussion_link(course) if course else None
<form id="feedback_form" class="feedback_form" method="post" data-remote="true" action="/submit_feedback"> <form id="feedback_form" class="feedback_form" method="post" data-remote="true" action="/submit_feedback">
<div id="feedback_error" class="modal-form-error"></div> <div id="feedback_error" class="modal-form-error"></div>
% if not user.is_authenticated(): % if not user.is_authenticated():
<label data-field="name">Name*</label> <label data-field="name">${_('Name*')}</label>
<input name="name" type="text"> <input name="name" type="text">
<label data-field="email">E-mail*</label> <label data-field="email">${_('E-mail*')}</label>
<input name="email" type="text"> <input name="email" type="text">
% endif % endif
<label data-field="subject">Briefly describe your issue*</label> <label data-field="subject">${_('Briefly describe your issue*')}</label>
<input name="subject" type="text"> <input name="subject" type="text">
<label data-field="details">Tell us the details* <label data-field="details">${_('Tell us the details*')}
<span class="tip">Include error messages, steps which lead to the issue, etc</span></label> <span class="tip">${_('Include error messages, steps which lead to the issue, etc')}</span></label>
<textarea name="details"></textarea> <textarea name="details"></textarea>
<input name="issue_type" type="hidden"> <input name="issue_type" type="hidden">
% if course: % if course:
...@@ -82,20 +84,31 @@ discussion_link = get_discussion_link(course) if course else None ...@@ -82,20 +84,31 @@ discussion_link = get_discussion_link(course) if course else None
<div class="inner-wrapper" id="feedback_success_wrapper"> <div class="inner-wrapper" id="feedback_success_wrapper">
<header> <header>
<h2>Thank You!</h2> <h2>${_('Thank You!')}</h2>
<hr> <hr>
</header> </header>
<% <%
dst = datetime.now(pytz.utc).astimezone(pytz.timezone("America/New_York")).dst() dst = datetime.now(pytz.utc).astimezone(pytz.timezone("America/New_York")).dst()
business_hours = "13:00 UTC to 21:00 UTC" if dst else "14:00 UTC to 22:00 UTC" if dst:
open_time = "13:00"
close_time = "21:00"
else:
open_time = "14:00"
close_time = "22:00"
%> %>
<p> <p>
Thank you for your inquiry or feedback. We typically respond to a ${_(
request within one business day (Monday to Friday, 'Thank you for your inquiry or feedback. We typically respond to a request '
${business_hours}.) In the meantime, please review our 'within one business day (Monday to Friday, {open_time} UTC to {close_time} UTC.) In the meantime, please '
<a href="/help" target="_blank">detailed FAQs</a> 'review our {link_start}detailed FAQs{link_end} where most questions have '
where most questions have already been answered. 'already been answered.'
).format(
open_time=open_time,
close_time=close_time,
link_start='<a href="/help" target="_blank">',
link_end='</a>'
)}
</p> </p>
<div class="close-modal"> <div class="close-modal">
...@@ -129,28 +142,29 @@ discussion_link = get_discussion_link(course) if course else None ...@@ -129,28 +142,29 @@ discussion_link = get_discussion_link(course) if course else None
$("#feedback_link_problem").click(function(event) { $("#feedback_link_problem").click(function(event) {
showFeedback( showFeedback(
event, event,
"problem", gettext("problem"),
"Report a Problem", gettext("Report a Problem"),
"Brief description of the problem*", gettext("Brief description of the problem*"),
"Details of the problem you are encountering* <span class='tip'>Include error messages, steps which lead to the issue, etc.</span>" gettext("Details of the problem you are encountering*") + "<span class='tip'>" +
gettext("Include error messages, steps which lead to the issue, etc.") + "</span>"
); );
}); });
$("#feedback_link_suggestion").click(function(event) { $("#feedback_link_suggestion").click(function(event) {
showFeedback( showFeedback(
event, event,
"suggestion", gettext("suggestion"),
"Make a Suggestion", gettext("Make a Suggestion"),
"Brief description of your suggestion*", gettext("Brief description of your suggestion*"),
"Details*" gettext("Details*")
); );
}); });
$("#feedback_link_question").click(function(event) { $("#feedback_link_question").click(function(event) {
showFeedback( showFeedback(
event, event,
"question", gettext("question"),
"Ask a Question", gettext("Ask a Question"),
"Brief summary of your question*", gettext("Brief summary of your question*"),
"Details*" gettext("Details*")
); );
}); });
$("#feedback_form").submit(function() { $("#feedback_form").submit(function() {
...@@ -175,13 +189,16 @@ discussion_link = get_discussion_link(course) if course else None ...@@ -175,13 +189,16 @@ discussion_link = get_discussion_link(course) if course else None
$("#feedback_error").html(responseData.error).stop().css("display", "block"); $("#feedback_error").html(responseData.error).stop().css("display", "block");
} else { } else {
// If no data (or malformed data) is returned, a server error occurred // If no data (or malformed data) is returned, a server error occurred
htmlStr = "An error has occurred."; htmlStr = gettext("An error has occurred.");
% if settings.FEEDBACK_SUBMISSION_EMAIL: % if settings.FEEDBACK_SUBMISSION_EMAIL:
htmlStr += " Please <a href='#' id='feedback_email'>send us e-mail</a>."; htmlStr += " " + _.template(
gettext("Please {link_start}send us e-mail{link_end}."),
{link_start: '<a href="#" id="feedback_email">', link_end='</a>'},
{interpolate: /\{(.+?)\}/g})
% else: % else:
// If no email is configured, we can't do much other than // If no email is configured, we can't do much other than
// ask the user to try again later // ask the user to try again later
htmlStr += " Please try again later."; htmlStr += gettext(" Please try again later.");
% endif % endif
$("#feedback_error").html(htmlStr).stop().css("display", "block"); $("#feedback_error").html(htmlStr).stop().css("display", "block");
% if settings.FEEDBACK_SUBMISSION_EMAIL: % if settings.FEEDBACK_SUBMISSION_EMAIL:
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%! from time import strftime %> <%! from time import strftime %>
<%inherit file="main.html" /> <%inherit file="main.html" />
...@@ -9,23 +11,23 @@ ...@@ -9,23 +11,23 @@
<div class="title"> <div class="title">
<hgroup> <hgroup>
% if self.stanford_theme_enabled(): % if self.stanford_theme_enabled():
<h1>Free courses from <strong>Stanford</strong></h1> <h1>${_("Free courses from <strong>Stanford</strong>")}</h1>
% else: % else:
<h1>The Future of Online Education</h1> <h1>${_("The Future of Online Education")}</h1>
% endif % endif
<h2>For anyone, anywhere, anytime</h2> <h2>${_("For anyone, anywhere, anytime")}</h2>
</hgroup> </hgroup>
## Disable social buttons for non-edX sites ## Disable social buttons for non-edX sites
% if not self.theme_enabled(): % if not self.theme_enabled():
<section class="actions"> <section class="actions">
<div class="main-cta"> <div class="main-cta">
<a href="#signup-modal" id="signup_action" class="find-courses" rel="leanModal">Sign Up</a> <a href="#signup-modal" id="signup_action" class="find-courses" rel="leanModal">${_("Sign Up")}</a>
</div> </div>
<div class="secondary-actions"> <div class="secondary-actions">
<div class="social-sharing"> <div class="social-sharing">
<div class="sharing-message">Stay up to date with all edX has to offer!</div> <div class="sharing-message">${_("Stay up to date with all edX has to offer!")}</div>
<a href="https://twitter.com/edXOnline" class="share"> <a href="https://twitter.com/edXOnline" class="share">
<img src="${static.url('images/social/twitter-sharing.png')}"> <img src="${static.url('images/social/twitter-sharing.png')}">
</a> </a>
...@@ -54,7 +56,7 @@ ...@@ -54,7 +56,7 @@
<section class="highlighted-courses"> <section class="highlighted-courses">
## Disable university partner logos and sites for non-edX sites ## Disable university partner logos and sites for non-edX sites
% if not self.theme_enabled(): % if not self.theme_enabled():
<h2>Explore free courses from <span class="edx">edX</span> universities</h2> <h2>${_('Explore free courses from {span_start}edX{span_end} universities').format(span_start='<span class="edx">', span_end='</span>')}</h2>
<section class="university-partners university-partners2x6"> <section class="university-partners university-partners2x6">
<ol class="partners"> <ol class="partners">
...@@ -180,8 +182,8 @@ ...@@ -180,8 +182,8 @@
<section class="container"> <section class="container">
<section class="more-info"> <section class="more-info">
<header> <header>
<h2><span class="edx">edX</span> News &amp; Announcements</h2> <h2>${_('{span_start}edX{span_end} News &amp; Announcements').format(span_start='<span class="edx">', span_end='</span>')}</h2>
<a class="action action-mediakit" href="${reverse('media-kit')}"> <span class="org-name">edX</span> MEDIA KIT</a> <a class="action action-mediakit" href="${reverse('media-kit')}"> ${_('{span_start}edX{span_end} MEDIA KIT').format(span_start='<span class="org-name">', span_end='</span>')}</a>
</header> </header>
<section class="news"> <section class="news">
<section class="blog-posts"> <section class="blog-posts">
...@@ -201,13 +203,13 @@ ...@@ -201,13 +203,13 @@
%endfor %endfor
</section> </section>
<section class="press-links"> <section class="press-links">
<h3>edX in the News:</h3> <h3>${_("edX in the News:")}</h3>
<a target="_blank" href="http://www.nytimes.com/2013/04/30/education/adapting-to-blended-courses-and-finding-early-benefits.html?ref=education">The New York Times</a>, <a target="_blank" href="http://www.nytimes.com/2013/04/30/education/adapting-to-blended-courses-and-finding-early-benefits.html?ref=education">${_("The New York Times")}</a>,
<a target="_blank" href="http://online.wsj.com/article/SB10001424127887323741004578414861572832182.html?mod=googlenews_wsj">The Wall Street Journal</a>, <a target="_blank" href="http://online.wsj.com/article/SB10001424127887323741004578414861572832182.html?mod=googlenews_wsj">${_("The Wall Street Journal")}</a>,
<a target="_blank" href="http://www.washingtonpost.com/local/education/stanford-to-help-build-edx-mooc-platform/2013/04/02/5b53bb3e-9bbe-11e2-9a79-eb5280c81c63_story.html">The Washington Post</a>, <a target="_blank" href="http://www.washingtonpost.com/local/education/stanford-to-help-build-edx-mooc-platform/2013/04/02/5b53bb3e-9bbe-11e2-9a79-eb5280c81c63_story.html">${_("The Washington Post")}</a>,
<a target="_blank" href="http://www.cbsnews.com/video/watch/?id=50143164n">CBS Television</a>, <a target="_blank" href="http://www.cbsnews.com/video/watch/?id=50143164n">${_("CBS Television")}</a>,
<a target="_blank" href="http://bostonglobe.com/2012/12/04/edx/AqnQ808q4IEcaUa8KuZuBO/story.html">The Boston Globe</a> <a target="_blank" href="http://bostonglobe.com/2012/12/04/edx/AqnQ808q4IEcaUa8KuZuBO/story.html">${_("The Boston Globe")}</a>
<a href="${reverse('press')}" class="read-more">Read More &rarr;</a> <a href="${reverse('press')}" class="read-more">${_("Read More")} &rarr;</a>
</section> </section>
</section> </section>
</section> </section>
...@@ -228,7 +230,6 @@ ...@@ -228,7 +230,6 @@
</div> </div>
</section> </section>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript""> <script type="text/javascript"">
$(window).load(function() { $(window).load(function() {
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%block name="bodyclass">${course.css_class}</%block> <%block name="bodyclass">${course.css_class}</%block>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Staff Grading</title></%block> <%block name="title"><title>${_("{course_number} Staff Grading").format(course_number=course.number)}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='staff_grading'" /> <%include file="/courseware/course_navigation.html" args="active_page='staff_grading'" />
...@@ -17,7 +18,7 @@ ...@@ -17,7 +18,7 @@
<section class="container"> <section class="container">
<div class="staff-grading" data-ajax_url="${ajax_url}"> <div class="staff-grading" data-ajax_url="${ajax_url}">
<h1>Staff grading</h1> <h1>${_("Staff grading")}</h1>
<div class="breadcrumbs"> <div class="breadcrumbs">
</div> </div>
<div class="error-container"> <div class="error-container">
...@@ -27,12 +28,12 @@ ...@@ -27,12 +28,12 @@
<! -- Problem List View --> <! -- Problem List View -->
<section class="problem-list-container"> <section class="problem-list-container">
<h2>Instructions</h2> <h2>${_("Instructions")}</h2>
<div class="instructions"> <div class="instructions">
<p>This is the list of problems that currently need to be graded in order to train the machine learning models. Each problem needs to be trained separately, and we have indicated the number of student submissions that need to be graded in order for a model to be generated. You can grade more than the minimum required number of submissions--this will improve the accuracy of machine learning, though with diminishing returns. You can see the current accuracy of machine learning while grading.</p> <p>${_("This is the list of problems that currently need to be graded in order to train the machine learning models. Each problem needs to be trained separately, and we have indicated the number of student submissions that need to be graded in order for a model to be generated. You can grade more than the minimum required number of submissions--this will improve the accuracy of machine learning, though with diminishing returns. You can see the current accuracy of machine learning while grading.")}</p>
</div> </div>
<h2>Problem List</h2> <h2>${_("Problem List")}</h2>
<table class="problem-list"> <table class="problem-list">
</table> </table>
</section> </section>
...@@ -48,7 +49,7 @@ ...@@ -48,7 +49,7 @@
</div> </div>
</div> </div>
<div class="prompt-information-container"> <div class="prompt-information-container">
<h3>Prompt <a href="#" class="question-header">(Hide)</a> </h3> <h3>${_('Prompt')} <a href="#" class="question-header">${_("(Hide)")}</a></h3>
<div class="prompt-container"> <div class="prompt-container">
</div> </div>
</div> </div>
...@@ -56,14 +57,14 @@ ...@@ -56,14 +57,14 @@
</section> </section>
<div class="action-button"> <div class="action-button">
<input type=button value="Submit" class="action-button" name="show" /> <input type=button value="${_("Submit")}" class="action-button" name="show" />
</div> </div>
<section class="grading-wrapper"> <section class="grading-wrapper">
<div class="grading-container"> <div class="grading-container">
<div class="submission-wrapper"> <div class="submission-wrapper">
<h3>Student Response</h3> <h3>${_("Student Response")}</h3>
<div class="submission-container"> <div class="submission-container">
</div> </div>
</div> </div>
...@@ -72,18 +73,18 @@ ...@@ -72,18 +73,18 @@
</p> </p>
<p class="grade-selection-container"> <p class="grade-selection-container">
</p> </p>
<h3>Written Feedback</h3> <h3>${_("Written Feedback")}</h3>
<textarea name="feedback" placeholder="Feedback for student (optional)" <textarea name="feedback" placeholder="${_("Feedback for student (optional)")}"
class="feedback-area" cols="70" ></textarea> class="feedback-area" cols="70" ></textarea>
<p> <p>
Flag as inappropriate content for later review <input class="flag-checkbox" type="checkbox" /> ${_("Flag as inappropriate content for later review")} <input class="flag-checkbox" type="checkbox" />
</p> </p>
</div> </div>
<div class="submission"> <div class="submission">
<input type="button" value="Submit" class="submit-button" name="show"/> <input type="button" value="${_("Submit")}" class="submit-button" name="show"/>
<input type="button" value="Skip" class="skip-button" name="skip"/> <input type="button" value="${_("Skip")}" class="skip-button" name="skip"/>
</div> </div>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="invalid">Invalid email change key</h1> <h1 class="invalid">${_("Invalid email change key")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p> This e-mail key is not valid. Please check:</p> <p> ${_("This e-mail key is not valid. Please check:")}</p>
<ul> <ul>
<li>Was this key already used? Check whether the e-mail change has already happened. <li>${_("Was this key already used? Check whether the e-mail change has already happened.")}
<li>Did your e-mail client break the URL into two lines? <li>${_("Did your e-mail client break the URL into two lines?")}
<li>The keys are valid for a limited amount of time. Has the key expired? <li>${_("The keys are valid for a limited amount of time. Has the key expired?")}
</ul> </ul>
<p>Go back to the <a href="/">home page</a>.</p> <p>${_('Go back to the {link_start}home page{link_end}.').format(link_start='<a href="/">', link_end='</a>')}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<dl> <dl>
% for license in licenses: % for license in licenses:
<dt> ${license.software.name}: </dt> <dt> ${license.software.name}: </dt>
% if license.serial: % if license.serial:
<dd> ${license.serial} </dd> <dd> ${license.serial} </dd>
% else: % else:
<dd> None Available </dd> <dd> ${_("None Available")} </dd>
% endif % endif
% endfor % endfor
</dl> </dl>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
...@@ -5,7 +7,7 @@ ...@@ -5,7 +7,7 @@
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%! from django.utils.translation import ugettext as _ %> <%! from django.utils.translation import ugettext as _ %>
<%block name="title"><title>Log into your ${settings.PLATFORM_NAME} Account</title></%block> <%block name="title"><title>${_("Log into your {platform_name} Account").format(platform_name=settings.PLATFORM_NAME)}</title></%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript"> <script type="text/javascript">
...@@ -66,13 +68,13 @@ ...@@ -66,13 +68,13 @@
$submitButton. $submitButton.
removeClass('is-disabled'). removeClass('is-disabled').
removeProp('disabled'). removeProp('disabled').
html('Log into My ${settings.PLATFORM_NAME} Account <span class="orn-plus">+</span> Access My Courses'); html("${_('Log into My {platform_name} Account').format(platform_name=settings.PLATFORM_NAME)} <span class='orn-plus'>+</span> ${_('Access My Courses')}");
} }
else { else {
$submitButton. $submitButton.
addClass('is-disabled'). addClass('is-disabled').
prop('disabled', true). prop('disabled', true).
html('Processing your account information &hellip;'); html(gettext('Processing your account information &hellip;'));
} }
} }
</script> </script>
...@@ -90,46 +92,46 @@ ...@@ -90,46 +92,46 @@
<!-- status messages --> <!-- status messages -->
<div role="alert" class="status message"> <div role="alert" class="status message">
<h3 class="message-title">We're Sorry, ${settings.PLATFORM_NAME} accounts are unavailable currently</h3> <h3 class="message-title">${_("We're Sorry, {platform_name} accounts are unavailable currently").format(platform_name=settings.PLATFORM_NAME)}</h3>
<p class="message-copy">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p> <p class="message-copy">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
</div> </div>
<div role="alert" class="status message submission-error" tabindex="-1"> <div role="alert" class="status message submission-error" tabindex="-1">
<h3 class="message-title">The following errors occurred while logging you in: </h3> <h3 class="message-title">${_("The following errors occured while logging you in:")} </h3>
<ul class="message-copy"> <ul class="message-copy">
<li>Your email or password is incorrect</li> <li>${_("Your email or password is incorrect")}</li>
</ul> </ul>
</div> </div>
<p class="instructions sr"> <p class="instructions sr">
Please provide the following information to log into your ${settings.PLATFORM_NAME} account. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>. ${_('Please provide the following information to log into your {platform_name} account. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>.').format(platform_name=settings.PLATFORM_NAME)}
</p> </p>
<fieldset class="group group-form group-form-requiredinformation"> <fieldset class="group group-form group-form-requiredinformation">
<legend class="sr">Required Information</legend> <legend class="sr">${_('Required Information')}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field required text" id="field-email"> <li class="field required text" id="field-email">
<label for="email">E-mail</label> <label for="email">${_('E-mail')}</label>
<input class="" id="email" type="email" name="email" value="" placeholder="example: username@domain.com" required aria-required="true" /> <input class="" id="email" type="email" name="email" value="" placeholder="example: username@domain.com" required aria-required="true" />
</li> </li>
<li class="field required password" id="field-password"> <li class="field required password" id="field-password">
<label for="password">Password</label> <label for="password">${_('Password')}</label>
<input id="password" type="password" name="password" value="" required aria-required="true" /> <input id="password" type="password" name="password" value="" required aria-required="true" />
<span class="tip tip-input"> <span class="tip tip-input">
<a href="#forgot-password-modal" rel="leanModal" class="pwd-reset action action-forgotpw">Forgot password?</a> <a href="#forgot-password-modal" rel="leanModal" class="pwd-reset action action-forgotpw">${_('Forgot password?')}</a>
</span> </span>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<fieldset class="group group-form group-form-secondary group-form-accountpreferences"> <fieldset class="group group-form group-form-secondary group-form-accountpreferences">
<legend class="sr">Account Preferences</legend> <legend class="sr">${_('Account Preferences')}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field required checkbox" id="field-remember"> <li class="field required checkbox" id="field-remember">
<input id="remember-yes" type="checkbox" name="remember" value="true" /> <input id="remember-yes" type="checkbox" name="remember" value="true" />
<label for="remember-yes">Remember me</label> <label for="remember-yes">${_('Remember me')}</label>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
...@@ -147,27 +149,27 @@ ...@@ -147,27 +149,27 @@
<aside role="complementary"> <aside role="complementary">
<header> <header>
<h2 class="sr">Helpful Information</h2> <h2 class="sr">${_("Helpful Information")}</h2>
</header> </header>
% if settings.MITX_FEATURES.get('AUTH_USE_OPENID'): % if settings.MITX_FEATURES.get('AUTH_USE_OPENID'):
<!-- <div class="cta cta-login-options-openid"> <!-- <div class="cta cta-login-options-openid">
<h3>Login via OpenID</h3> <h3>${_("Login via OpenID")}</h3>
<p>You can now start learning with edX by logging in with your <a rel="external" href="http://openid.net/">OpenID account</a>.</p> <p>${_('You can now start learning with edX by logging in with your <a rel="external" href="http://openid.net/">OpenID account</a>.')}</p>
<a class="action action-login-openid" href="#">Login via OpenID</a> <a class="action action-login-openid" href="#">${_("Login via OpenID")}</a>
</div> --> </div> -->
% endif % endif
<div class="cta cta-help"> <div class="cta cta-help">
<h3>Not Enrolled?</h3> <h3>${_("Not Enrolled?")}</h3>
<p><a href="${reverse('register_user')}">Sign up for ${settings.PLATFORM_NAME} today!</a></p> <p><a href="${reverse('register_user')}">${_("Sign up for {platform_name} today!").format(platform_name=settings.PLATFORM_NAME)}</a></p>
## Disable help unless the FAQ marketing link is enabled ## Disable help unless the FAQ marketing link is enabled
% if settings.MKTG_URL_LINK_MAP.get('FAQ'): % if settings.MKTG_URL_LINK_MAP.get('FAQ'):
<h3>Need Help?</h3> <h3>${_("Need Help?")}</h3>
<p>Looking for help in logging in or with your ${settings.PLATFORM_NAME} account? <p>${_("Looking for help in logging in or with your {platform_name} account?").format(platform_name=settings.PLATFORM_NAME)}
<a href="${marketing_link('FAQ')}"> <a href="${marketing_link('FAQ')}">
View our help section for answers to commonly asked questions. ${_("View our help section for answers to commonly asked questions.")}
</a></p> </a></p>
% endif % endif
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<section id="login-modal" class="modal login-modal"> <section id="login-modal" class="modal login-modal">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>Log In</h2> <h2>${_("Log In")}</h2>
<hr> <hr>
</header> </header>
<form id="login_form" class="login_form" method="post" data-remote="true" action="/login"> <form id="login_form" class="login_form" method="post" data-remote="true" action="/login">
<label for="login_email">E-mail</label> <label for="login_email">${_("E-mail")}</label>
<input id="login_email" type="email" name="email" placeholder="e.g. yourname@domain.com" /> <input id="login_email" type="email" name="email" placeholder="e.g. yourname@domain.com" />
<label for="login_password">Password</label> <label for="login_password">${_("Password")}</label>
<input id="login_password" type="password" name="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;" /> <input id="login_password" type="password" name="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;" />
<label for="login_remember_me" class="remember-me"> <label for="login_remember_me" class="remember-me">
<input id="login_remember_me" type="checkbox" name="remember" value="true" /> <input id="login_remember_me" type="checkbox" name="remember" value="true" />
Remember me ${_("Remember me")}
</label> </label>
<div class="submit"> <div class="submit">
<input name="submit" type="submit" value="Access My Courses"> <input name="submit" type="submit" value="${_('Access My Courses')}">
</div> </div>
</form> </form>
<section class="login-extra"> <section class="login-extra">
<p> <p>
<span>Not enrolled? <a href="#signup-modal" class="close-login" rel="leanModal">Sign up.</a></span> <span>${_('Not enrolled?')} <a href="#signup-modal" class="close-login" rel="leanModal">${_('Sign up.')}</a></span>
<a href="#forgot-password-modal" rel="leanModal" class="pwd-reset">Forgot password?</a> <a href="#forgot-password-modal" rel="leanModal" class="pwd-reset">${_('Forgot password?')}</a>
</p> </p>
% if settings.MITX_FEATURES.get('AUTH_USE_OPENID'): % if settings.MITX_FEATURES.get('AUTH_USE_OPENID'):
<p> <p>
<a href="${MITX_ROOT_URL}/openid/login/">login via openid</a> <a href="${MITX_ROOT_URL}/openid/login/">${_('login via openid')}</a>
</p> </p>
% endif % endif
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%! from django.utils import html %> <%! from django.utils import html %>
...@@ -18,8 +20,9 @@ ...@@ -18,8 +20,9 @@
<head> <head>
<%block name="title"> <%block name="title">
% if stanford_theme_enabled(): % if stanford_theme_enabled():
<title>Home | class.stanford.edu</title> <title>${_("Home")} | class.stanford.edu</title>
% else: % else:
## "edX" should not be translated
<title>edX</title> <title>edX</title>
<script type="text/javascript"> <script type="text/javascript">
...@@ -33,6 +36,8 @@ ...@@ -33,6 +36,8 @@
% endif % endif
</%block> </%block>
<script type="text/javascript" src="/jsi18n/"></script>
<link rel="icon" type="image/x-icon" href="${static.url(settings.FAVICON_PATH)}" /> <link rel="icon" type="image/x-icon" href="${static.url(settings.FAVICON_PATH)}" />
<%static:css group='application'/> <%static:css group='application'/>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
{% load compressed %}{% load sekizai_tags i18n %}{% load url from future %}{% load staticfiles %} {% load compressed %}{% load sekizai_tags i18n %}{% load url from future %}{% load staticfiles %}
<html> <html>
<head> <head>
{# "edX" should *not* be translated #}
{% block title %}<title>edX</title>{% endblock %} {% block title %}<title>edX</title>{% endblock %}
<link rel="icon" type="image/x-icon" href="{% static "images/favicon.ico" %}" /> <link rel="icon" type="image/x-icon" href="{% static "images/favicon.ico" %}" />
......
<%! from django.utils.translation import ugettext as _ %>
<section class="outside-app"> <section class="outside-app">
<h1>There has been an error on the <em>edX</em> servers</h1> <h1>${_("There has been an error on the <em>edX</em> servers")}</h1>
<p>We're sorry, this module is temporarily unavailable. Our staff is working to fix it as soon as possible. Please email us at <a href="mailto:technical@edx.org">technical@edx.org</a> to report any problems or downtime.</p> <p>${_("We're sorry, this module is temporarily unavailable. Our staff is working to fix it as soon as possible. Please email us at {email} to report any problems or downtime.").format(email='<a href="mailto:technical@edx.org">technical@edx.org</a>')}</p>
% if staff_access: % if staff_access:
<h1>Details</h1> <h1>${_("Details")}</h1>
<p>Error: <p>${_("Error:")}
<pre> <pre>
${error | h} ${error | h}
</pre> </pre>
</p> </p>
<p>Raw data: <p>${_("Raw data:")}
<pre>${data | h}</pre> <pre>${data | h}</pre>
</p> </p>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<script> <script>
function name_confirm(id) { function name_confirm(id) {
postJSON('/accept_name_change',{"id":id}, postJSON('/accept_name_change',{"id":id},
function(data){ function(data){
if(data.success){ if(data.success){
$("#div"+id).html("Accepted"); $("#div"+id).html(gettext("Accepted"));
} else { } else {
alert('Error'); alert(gettext('Error'));
} }
}); });
} }
...@@ -15,9 +17,9 @@ function name_deny(id) { ...@@ -15,9 +17,9 @@ function name_deny(id) {
postJSON('/reject_name_change',{"id":id}, postJSON('/reject_name_change',{"id":id},
function(data){ function(data){
if(data.success){ if(data.success){
$("#div"+id).html("Rejected"); $("#div"+id).html(gettext("Rejected"));
} else { } else {
alert('Error'); alert(gettext('Error'));
} }
}); });
} }
...@@ -26,7 +28,7 @@ function name_deny(id) { ...@@ -26,7 +28,7 @@ function name_deny(id) {
<section class="container"> <section class="container">
<div class="gradebook-wrapper"> <div class="gradebook-wrapper">
<section class="gradebook-content"> <section class="gradebook-content">
<h1>Pending name changes</h1> <h1>${_("Pending name changes")}</h1>
<table> <table>
% for s in students: % for s in students:
<tr> <tr>
...@@ -34,8 +36,8 @@ function name_deny(id) { ...@@ -34,8 +36,8 @@ function name_deny(id) {
<td>${s['new_name']|h}</td> <td>${s['new_name']|h}</td>
<td>${s['email']|h}</td> <td>${s['email']|h}</td>
<td>${s['rationale']|h}</td> <td>${s['rationale']|h}</td>
<td><span id="div${s['cid']}"><span onclick="name_confirm(${s['cid']});">[Confirm]</span> <td><span id="div${s['cid']}"><span onclick="name_confirm(${s['cid']});">${_("[Confirm]")}</span>
<span onclick="name_deny(${s['cid']});">[Reject]</span></span></td></tr> <span onclick="name_deny(${s['cid']});">${_("[Reject]")}</span></span></td></tr>
% endfor % endfor
</table> </table>
</section> </section>
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<%namespace file='main.html' import="login_query, stanford_theme_enabled"/> <%namespace file='main.html' import="login_query, stanford_theme_enabled"/>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
# App that handles subdomain specific branding # App that handles subdomain specific branding
import branding import branding
...@@ -34,16 +35,16 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -34,16 +35,16 @@ site_status_msg = get_site_status_msg(course_id)
% if course: % if course:
<header class="global slim" aria-label="Global Navigation"> <header class="global slim" aria-label="${_('Global Navigation')}">
% else: % else:
<header class="global" aria-label="Global Navigation"> <header class="global" aria-label="${_('Global Navigation')}">
% endif % endif
<nav> <nav>
<h1 class="logo"> <h1 class="logo">
<a href="${marketing_link('ROOT')}"> <a href="${marketing_link('ROOT')}">
<%block name="navigation_logo"> <%block name="navigation_logo">
<img src="${static.url(branding.get_logo_url(request.META.get('HTTP_HOST')))}" alt="edX home" /> <img src="${static.url(branding.get_logo_url(request.META.get('HTTP_HOST')))}" alt="${_('edX home')}" />
</%block> </%block>
</a> </a>
</h1> </h1>
...@@ -57,7 +58,7 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -57,7 +58,7 @@ site_status_msg = get_site_status_msg(course_id)
<ol class="left nav-global authenticated"> <ol class="left nav-global authenticated">
<%block name="navigation_global_links_authenticated"> <%block name="navigation_global_links_authenticated">
<li class="nav-global-01"> <li class="nav-global-01">
<a href="${marketing_link('COURSES')}">Find Courses</a> <a href="${marketing_link('COURSES')}">${_('Find Courses')}</a>
</li> </li>
</%block> </%block>
</ol> </ol>
...@@ -65,16 +66,16 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -65,16 +66,16 @@ site_status_msg = get_site_status_msg(course_id)
<li class="primary"> <li class="primary">
<a href="${reverse('dashboard')}" class="user-link"> <a href="${reverse('dashboard')}" class="user-link">
<span class="avatar"></span> <span class="avatar"></span>
<span class="sr">Dashboard for: </span> ${user.username} <span class="sr">${_("Dashboard for:")} </span> ${user.username}
</a> </a>
</li> </li>
<li class="primary"> <li class="primary">
<a href="#" class="dropdown"><span class="sr">More options dropdown</span> &#9662</a> <a href="#" class="dropdown"><span class="sr">${_("More options dropdown")}</span> &#9662</a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<%block name="navigation_dropdown_menu_links" > <%block name="navigation_dropdown_menu_links" >
<li><a href="${marketing_link('FAQ')}">Help</a></li> <li><a href="${marketing_link('FAQ')}">${_("Help")}</a></li>
</%block> </%block>
<li><a href="${reverse('logout')}">Log Out</a></li> <li><a href="${reverse('logout')}">${_("Log Out")}</a></li>
</ul> </ul>
</li> </li>
</ol> </ol>
...@@ -84,24 +85,24 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -84,24 +85,24 @@ site_status_msg = get_site_status_msg(course_id)
<%block name="navigation_global_links"> <%block name="navigation_global_links">
% if settings.MITX_FEATURES.get('ENABLE_MKTG_SITE'): % if settings.MITX_FEATURES.get('ENABLE_MKTG_SITE'):
<li class="nav-global-01"> <li class="nav-global-01">
<a href="${marketing_link('HOW_IT_WORKS')}">How it Works</a> <a href="${marketing_link('HOW_IT_WORKS')}">${_("How it Works")}</a>
</li> </li>
<li class="nav-global-02"> <li class="nav-global-02">
<a href="${marketing_link('COURSES')}">Courses</a> <a href="${marketing_link('COURSES')}">${_("Courses")}</a>
</li> </li>
<li class="nav-global-03"> <li class="nav-global-03">
<a href="${marketing_link('SCHOOLS')}">Schools</a> <a href="${marketing_link('SCHOOLS')}">${_("Schools")}</a>
</li> </li>
% endif % endif
</%block> </%block>
% if not settings.MITX_FEATURES['DISABLE_LOGIN_BUTTON']: % if not settings.MITX_FEATURES['DISABLE_LOGIN_BUTTON']:
% if course and settings.MITX_FEATURES.get('RESTRICT_ENROLL_BY_REG_METHOD') and course.enrollment_domain: % if course and settings.MITX_FEATURES.get('RESTRICT_ENROLL_BY_REG_METHOD') and course.enrollment_domain:
<li class="nav-global-04"> <li class="nav-global-04">
<a class="cta cta-register" href="${reverse('course-specific-register', args=[course.id])}">Register Now</a> <a class="cta cta-register" href="${reverse('course-specific-register', args=[course.id])}">${_("Register Now")}</a>
</li> </li>
% else: % else:
<li class="nav-global-04"> <li class="nav-global-04">
<a class="cta cta-register" href="/register">Register Now</a> <a class="cta cta-register" href="/register">${_("Register Now")}</a>
</li> </li>
% endif % endif
% endif % endif
...@@ -111,9 +112,9 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -111,9 +112,9 @@ site_status_msg = get_site_status_msg(course_id)
<li class="nav-courseware-01"> <li class="nav-courseware-01">
% if not settings.MITX_FEATURES['DISABLE_LOGIN_BUTTON']: % if not settings.MITX_FEATURES['DISABLE_LOGIN_BUTTON']:
% if course and settings.MITX_FEATURES.get('RESTRICT_ENROLL_BY_REG_METHOD') and course.enrollment_domain: % if course and settings.MITX_FEATURES.get('RESTRICT_ENROLL_BY_REG_METHOD') and course.enrollment_domain:
<a class="cta cta-login" href="${reverse('course-specific-login', args=[course.id])}${login_query()}">Log in</a> <a class="cta cta-login" href="${reverse('course-specific-login', args=[course.id])}${login_query()}">${_("Log in")}</a>
% else: % else:
<a class="cta cta-login" href="/login${login_query()}">Log in</a> <a class="cta cta-login" href="/login${login_query()}">${_("Log in")}</a>
% endif % endif
% endif % endif
</li> </li>
...@@ -122,7 +123,7 @@ site_status_msg = get_site_status_msg(course_id) ...@@ -122,7 +123,7 @@ site_status_msg = get_site_status_msg(course_id)
</nav> </nav>
</header> </header>
% if course: % if course:
<div class="ie-banner"><strong>Warning:</strong> Your browser is not fully supported. We strongly recommend using <a href="https://www.google.com/intl/en/chrome/browser/" target="_blank">Chrome</a> or <a href="http://www.mozilla.org/en-US/firefox/new/" target="_blank">Firefox</a>.</div> <div class="ie-banner">${_('<strong>Warning:</strong> Your browser is not fully supported. We strongly recommend using {chrome_link_start}Chrome{chrome_link_end} or {ff_link_start}Firefox{ff_link_end}.').format(chrome_link_start='<a href="https://www.google.com/intl/en/chrome/browser/" target="_blank">', chrome_link_end='</a>', ff_link_start='<a href="http://www.mozilla.org/en-US/firefox/new/" target="_blank">', ff_link_end='</a>')}</div>
% endif % endif
%if not user.is_authenticated(): %if not user.is_authenticated():
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%! <%!
...@@ -55,27 +57,24 @@ ...@@ -55,27 +57,24 @@
<section class="container"> <section class="container">
<div class="notes-wrapper"> <div class="notes-wrapper">
<h1>My Notes</h1> <h1>${_("My Notes")}</h1>
% for note in notes: % for note in notes:
<div class="note"> <div class="note">
<blockquote>${note.quote|h}</blockquote> <blockquote>${note.quote|h}</blockquote>
<div class="text">${note.text.replace("\n", "<br />") | n,h}</div> <div class="text">${note.text.replace("\n", "<br />") | n,h}</div>
<ul class="meta"> <ul class="meta">
% if note.tags: % if note.tags:
<li class="tags">Tags: ${note.tags|h}</li> <li class="tags">${_("Tags: {tags}").format(tags=note.tags) | h}</li>
% endif % endif
<li class="user">Author: ${note.user.username}</li> <li class="user">${_('Author: {username}').format(username=note.user.username)}</li>
<li class="time">Created: ${note.created.strftime('%m/%d/%Y %H:%m')}</li> <li class="time">${_('Created: {datetime}').format(datetime=note.created.strftime('%m/%d/%Y %H:%m'))}</li>
<li class="uri">Source: <a href="${note.uri}">${note.uri|h}</a></li> <li class="uri">${_('Source: {link}').format(link='<a href="{url}">{url}</a>'.format(url=note.uri))}</li>
</ul> </ul>
</div> </div>
% endfor % endfor
% if notes is UNDEFINED or len(notes) == 0: % if notes is UNDEFINED or len(notes) == 0:
<p>You do not have any notes.</p> <p>${_('You do not have any notes.')}</p>
% endif % endif
</div> </div>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%block name="bodyclass">${course.css_class}</%block> <%block name="bodyclass">${course.css_class}</%block>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Combined Notifications</title></%block> <%block name="title"><title>${_("{course_number} Combined Notifications").format(course_number=course.number)}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='open_ended'" /> <%include file="/courseware/course_navigation.html" args="active_page='open_ended'" />
...@@ -14,13 +15,13 @@ ...@@ -14,13 +15,13 @@
<section class="container"> <section class="container">
<div class="combined-notifications" data-ajax_url="${ajax_url}"> <div class="combined-notifications" data-ajax_url="${ajax_url}">
<div class="error-container">${error_text}</div> <div class="error-container">${error_text}</div>
<h1>Open Ended Console</h1> <h1>${_("Open Ended Console")}</h1>
<h2>Instructions</h2> <h2>${_("Instructions")}</h2>
<p>Here are items that could potentially need your attention.</p> <p>${_("Here are items that could potentially need your attention.")}</p>
% if success: % if success:
% if len(notification_list) == 0: % if len(notification_list) == 0:
<div class="message-container"> <div class="message-container">
No items require attention at the moment. ${_("No items require attention at the moment.")}
</div> </div>
%else: %else:
<div class="notification-container"> <div class="notification-container">
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%block name="bodyclass">${course.css_class}</%block> <%block name="bodyclass">${course.css_class}</%block>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Flagged Open Ended Problems</title></%block> <%block name="title"><title>${_("{course_number} Flagged Open Ended Problems").format(course_number=course.number)}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='open_ended_flagged_problems'" /> <%include file="/courseware/course_navigation.html" args="active_page='open_ended_flagged_problems'" />
...@@ -17,19 +18,19 @@ ...@@ -17,19 +18,19 @@
<section class="container"> <section class="container">
<div class="open-ended-problems" data-ajax_url="${ajax_url}"> <div class="open-ended-problems" data-ajax_url="${ajax_url}">
<div class="error-container">${error_text}</div> <div class="error-container">${error_text}</div>
<h1>Flagged Open Ended Problems</h1> <h1>${_("Flagged Open Ended Problems")}</h1>
<h2>Instructions</h2> <h2>${_("Instructions")}</h2>
<p>Here are a list of open ended problems for this course that have been flagged by students as potentially inappropriate.</p> <p>${_("Here are a list of open ended problems for this course that have been flagged by students as potentially inappropriate.")}</p>
% if success: % if success:
% if len(problem_list) == 0: % if len(problem_list) == 0:
<div class="message-container"> <div class="message-container">
No flagged problems exist. ${_("No flagged problems exist.")}
</div> </div>
%else: %else:
<table class="problem-list"> <table class="problem-list">
<tr> <tr>
<th>Name</th> <th>${_("Name")}</th>
<th>Response</th> <th>${_("Response")}</th>
<th></th> <th></th>
<th></th> <th></th>
</tr> </tr>
...@@ -42,10 +43,10 @@ ...@@ -42,10 +43,10 @@
${problem['student_response']} ${problem['student_response']}
</td> </td>
<td> <td>
<a href="#unflag" class="unflag-button action-button" data-action-type="unflag">Unflag</a> <a href="#unflag" class="unflag-button action-button" data-action-type="unflag">${_("Unflag")}</a>
</td> </td>
<td> <td>
<a href="#ban" class="ban-button action-button" data-action-type="ban">Ban</a> <a href="#ban" class="ban-button action-button" data-action-type="ban">${_("Ban")}</a>
</td> </td>
<td> <td>
<div class="action-taken"></div> <div class="action-taken"></div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="/main.html" /> <%inherit file="/main.html" />
<%block name="bodyclass">${course.css_class}</%block> <%block name="bodyclass">${course.css_class}</%block>
<%namespace name='static' file='/static_content.html'/> <%namespace name='static' file='/static_content.html'/>
...@@ -6,7 +7,7 @@ ...@@ -6,7 +7,7 @@
<%static:css group='course'/> <%static:css group='course'/>
</%block> </%block>
<%block name="title"><title>${course.number} Open Ended Problems</title></%block> <%block name="title"><title>${_("{course_number} Open Ended Problems").format(course_number=course.number)}</title></%block>
<%include file="/courseware/course_navigation.html" args="active_page='open_ended_problems'" /> <%include file="/courseware/course_navigation.html" args="active_page='open_ended_problems'" />
...@@ -14,21 +15,21 @@ ...@@ -14,21 +15,21 @@
<section class="container"> <section class="container">
<div class="open-ended-problems" data-ajax_url="${ajax_url}"> <div class="open-ended-problems" data-ajax_url="${ajax_url}">
<div class="error-container">${error_text}</div> <div class="error-container">${error_text}</div>
<h1>Open Ended Problems</h1> <h1>${_("Open Ended Problems")}</h1>
<h2>Instructions</h2> <h2>${_("Instructions")}</h2>
<p>Here are a list of open ended problems for this course.</p> <p>${_("Here are a list of open ended problems for this course.")}</p>
% if success: % if success:
% if len(problem_list) == 0: % if len(problem_list) == 0:
<div class="message-container"> <div class="message-container">
You have not attempted any open ended problems yet. ${_("You have not attempted any open ended problems yet.")}
</div> </div>
%else: %else:
<table class="problem-list"> <table class="problem-list">
<tr> <tr>
<th>Problem Name</th> <th>${_("Problem Name")}</th>
<th>Status</th> <th>${_("Status")}</th>
<th>Grader Type</th> <th>${_("Grader Type")}</th>
<th>ETA</th> <th>${_("ETA")}</th>
</tr> </tr>
%for problem in problem_list: %for problem in problem_list:
<tr> <tr>
......
<%! from django.utils.translation import ugettext as _ %>
<section class="container peer-grading-container"> <section class="container peer-grading-container">
<div class="peer-grading" data-ajax-url="${ajax_url}" data-use-single-location="${use_single_location}"> <div class="peer-grading" data-ajax-url="${ajax_url}" data-use-single-location="${use_single_location}">
<div class="error-container">${error_text}</div> <div class="error-container">${error_text}</div>
<h1>Peer Grading</h1> <h1>${_("Peer Grading")}</h1>
<h2>Instructions</h2> <h2>${_("Instructions")}</h2>
<p>Here are a list of problems that need to be peer graded for this course.</p> <p>${_("Here are a list of problems that need to be peer graded for this course.")}</p>
% if success: % if success:
% if len(problem_list) == 0: % if len(problem_list) == 0:
<div class="message-container"> <div class="message-container">
Nothing to grade! ${_("Nothing to grade!")}
</div> </div>
%else: %else:
<div class="problem-list-container"> <div class="problem-list-container">
<table class="problem-list"> <table class="problem-list">
<tr> <tr>
<th>Problem Name</th> <th>${_("Problem Name")}</th>
<th>Due date</th> <th>${_("Due date")}</th>
<th>Graded</th> <th>${_("Graded")}</th>
<th>Available</th> <th>${_("Available")}</th>
<th>Required</th> <th>${_("Required")}</th>
<th>Progress</th> <th>${_("Progress")}</th>
</tr> </tr>
%for problem in problem_list: %for problem in problem_list:
<tr data-graded="${problem['num_graded']}" data-required="${problem['num_required']}"> <tr data-graded="${problem['num_graded']}" data-required="${problem['num_required']}">
...@@ -33,7 +34,7 @@ ...@@ -33,7 +34,7 @@
% if problem['due']: % if problem['due']:
${problem['due']} ${problem['due']}
% else: % else:
No due date ${_("No due date")}
% endif % endif
</td> </td>
<td> <td>
......
<%! from django.utils.translation import ugettext as _ %>
<section class="container peer-grading-container"> <section class="container peer-grading-container">
<h2>Peer Grading</h2> <h2>${_("Peer Grading")}</h2>
<p>The due date has passed, and
% if use_for_single_location: % if use_for_single_location:
peer grading for this problem is closed at this time. <p>${_("The due date has passed, and peer grading for this problem is closed at this time.")} </p>
%else: %else:
peer grading is closed at this time. <p>${_("The due date has passed, and peer grading is closed at this time.")} </p>
%endif %endif
</p>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<section class="container peer-grading-container"> <section class="container peer-grading-container">
<div class="peer-grading" data-ajax-url="${ajax_url}" data-location="${problem_location}" data-use-single-location="${use_single_location}"> <div class="peer-grading" data-ajax-url="${ajax_url}" data-location="${problem_location}" data-use-single-location="${use_single_location}">
<div class="error-container"></div> <div class="error-container"></div>
...@@ -5,15 +6,15 @@ ...@@ -5,15 +6,15 @@
<section class="content-panel"> <section class="content-panel">
<div class="instructions-panel"> <div class="instructions-panel">
<div class="calibration-panel"> <div class="calibration-panel">
<h3>Learning to Grade</h3> <h3>${_("Learning to Grade")}</h3>
</div> </div>
<div class="grading-panel"> <div class="grading-panel">
<h3>Peer Grading</h3> <h3>${_("Peer Grading")}</h3>
</div> </div>
</div> </div>
<div class="prompt-wrapper"> <div class="prompt-wrapper">
<h2>Prompt <a href="#" class="question-header">(Hide)</a> </h2> <h2>${_('Prompt')} <a href="#" class="question-header">${_('(Hide)')}</a></h2>
<div class="prompt-information-container"> <div class="prompt-information-container">
<section> <section>
<div class="prompt-container"> <div class="prompt-container">
...@@ -25,7 +26,7 @@ ...@@ -25,7 +26,7 @@
<section class="grading-wrapper"> <section class="grading-wrapper">
<h2>Student Response</h2> <h2>${_("Student Response")}</h2>
<div class="grading-container"> <div class="grading-container">
<div class="submission-wrapper"> <div class="submission-wrapper">
...@@ -39,17 +40,17 @@ ...@@ -39,17 +40,17 @@
<p class="rubric-selection-container"></p> <p class="rubric-selection-container"></p>
<p class="score-selection-container"> <p class="score-selection-container">
</p> </p>
<h3>Written Feedback</h3> <h3>${_("Written Feedback")}</h3>
<p>Please include some written feedback as well.</p> <p>${_("Please include some written feedback as well.")}</p>
<textarea name="feedback" placeholder="Feedback for student" <textarea name="feedback" placeholder="Feedback for student"
class="feedback-area" cols="70" ></textarea> class="feedback-area" cols="70" ></textarea>
<div class="flag-student-container"> This submission has explicit or pornographic content : <input type="checkbox" class="flag-checkbox" value="student_is_flagged"> </div> <div class="flag-student-container"> ${_("This submission has explicit or pornographic content : ")}<input type="checkbox" class="flag-checkbox" value="student_is_flagged"> </div>
<div class="answer-unknown-container"> I do not know how to grade this question : <input type="checkbox" class="answer-unknown-checkbox" value="answer_is_unknown"></div> <div class="answer-unknown-container"> ${_("I do not know how to grade this question : ")}<input type="checkbox" class="answer-unknown-checkbox" value="answer_is_unknown"></div>
</div> </div>
<div class="submission"> <div class="submission">
<input type="button" value="Submit" class="submit-button" name="show"/> <input type="button" value="${_("Submit")}" class="submit-button" name="show"/>
</div> </div>
</div> </div>
...@@ -60,41 +61,41 @@ ...@@ -60,41 +61,41 @@
</section> </section>
<!-- Calibration feedback: Shown after a calibration is sent --> <!-- Calibration feedback: Shown after a calibration is sent -->
<section class="calibration-feedback"> <section class="calibration-feedback">
<h2>How did I do?</h2> <h2>${_("How did I do?")}</h2>
<div class="calibration-feedback-wrapper"> <div class="calibration-feedback-wrapper">
</div> </div>
<input type="button" class="calibration-feedback-button" value="Continue" name="calibration-feedback-button" /> <input type="button" class="calibration-feedback-button" value="${_("Continue")}" name="calibration-feedback-button" />
</section> </section>
<!-- Interstitial Page: Shown between calibration and grading steps --> <!-- Interstitial Page: Shown between calibration and grading steps -->
<section class="interstitial-page"> <section class="interstitial-page">
<h1>Ready to grade!</h1> <h1>${_("Ready to grade!")}</h1>
<p> You have finished learning to grade, which means that you are now ready to start grading.</p> <p>${_(" You have finished learning to grade, which means that you are now ready to start grading.")}</p>
<input type="button" class="interstitial-page-button" value="Start Grading!" name="interstitial-page-button" /> <input type="button" class="interstitial-page-button" value="${_("Start Grading!")}" name="interstitial-page-button" />
</section> </section>
<!-- Calibration Interstitial Page: Shown before calibration --> <!-- Calibration Interstitial Page: Shown before calibration -->
<section class="calibration-interstitial-page"> <section class="calibration-interstitial-page">
<h1>Learning to grade</h1> <h1>${_("Learning to grade")}</h1>
<p> You have not yet finished learning to grade this problem.</p> <p>${_(" You have not yet finished learning to grade this problem.")}</p>
<p> You will now be shown a series of instructor-scored essays, and will be asked to score them yourself.</p> <p>${_(" You will now be shown a series of instructor-scored essays, and will be asked to score them yourself.")}</p>
<p> Once you can score the essays similarly to an instructor, you will be ready to grade your peers.</p> <p>${_(" Once you can score the essays similarly to an instructor, you will be ready to grade your peers.")}</p>
<input type="button" class="calibration-interstitial-page-button" value="Start learning to grade" name="calibration-interstitial-page-button" /> <input type="button" class="calibration-interstitial-page-button" value="${_("Start learning to grade")}" name="calibration-interstitial-page-button" />
</section> </section>
<!-- Flag submission confirmation dialog --> <!-- Flag submission confirmation dialog -->
<section class="flag-submission-confirmation"> <section class="flag-submission-confirmation">
<h4> Are you sure that you want to flag this submission?</h4> <h4>${_(" Are you sure that you want to flag this submission?")}</h4>
<p> <p>
You are about to flag a submission. You should only flag a submission that contains explicit or offensive content. If the submission is not addressed to the question or is incorrect, you should give it a score of zero and accompanying feedback instead of flagging it. ${_("You are about to flag a submission. You should only flag a submission that contains explicit or offensive content. If the submission is not addressed to the question or is incorrect, you should give it a score of zero and accompanying feedback instead of flagging it.")}
</p> </p>
<div> <div>
<input type="button" class="flag-submission-removal-button" value="Remove Flag" name="calibration-interstitial-page-button" /> <input type="button" class="flag-submission-removal-button" value="${_("Remove Flag")}" name="calibration-interstitial-page-button" />
<input type="button" class="flag-submission-confirmation-button" value="Keep Flag" name="calibration-interstitial-page-button" /> <input type="button" class="flag-submission-confirmation-button" value="${_("Keep Flag")}" name="calibration-interstitial-page-button" />
</div> </div>
</section> </section>
<input type="button" value="Go Back" class="action-button" name="back" /> <input type="button" value="${_("Go Back")}" class="action-button" name="back" />
</div> </div>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<h2 class="problem-header"> <h2 class="problem-header">
${ problem['name'] } ${ problem['name'] }
...@@ -16,17 +18,17 @@ ...@@ -16,17 +18,17 @@
<input class="check ${ check_button }" type="button" value="${ check_button }" /> <input class="check ${ check_button }" type="button" value="${ check_button }" />
% endif % endif
% if reset_button: % if reset_button:
<input class="reset" type="button" value="Reset" /> <input class="reset" type="button" value="${_('Reset')}" />
% endif % endif
% if save_button: % if save_button:
<input class="save" type="button" value="Save" /> <input class="save" type="button" value="${_('Save')}" />
% endif % endif
% if answer_available: % if answer_available:
<button class="show"><span class="show-label">Show Answer(s)</span> <span class="sr">(for question(s) above - adjacent to each field)</span></button> <button class="show"><span class="show-label">${_('Show Answer(s)')}</span> <span class="sr">${_("(for question(s) above - adjacent to each field)")}</span></button>
% endif % endif
% if attempts_allowed : % if attempts_allowed :
<section class="submission_feedback"> <section class="submission_feedback">
You have used ${ attempts_used } of ${ attempts_allowed } submissions ${_("You have used {num_used} of {num_total} submissions").format(num_used=attempts_used, num_total=attempts_allowed)}
</section> </section>
% endif % endif
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
...@@ -32,19 +34,19 @@ ...@@ -32,19 +34,19 @@
<section id="login-modal" class="modal login-modal openid-login"> <section id="login-modal" class="modal login-modal openid-login">
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>Log In</h2> <h2>${_("Log In")}</h2>
<hr> <hr>
</header> </header>
<form id="login_form" class="login_form" method="post" action="/openid/provider/login/"> <form id="login_form" class="login_form" method="post" action="/openid/provider/login/">
%if error: %if error:
<div id="login_error" class="modal-form-error" style="display: block;">Email or password is incorrect.</div> <div id="login_error" class="modal-form-error" style="display: block;">${_("Email or password is incorrect.")}</div>
%endif %endif
<label>E-mail</label> <label>${_("E-mail")}</label>
<input type="text" name="email" placeholder="E-mail" tabindex="1" autofocus="autofocus" /> <input type="text" name="email" placeholder="${_('E-mail')}" tabindex="1" autofocus="autofocus" />
<label>Password</label> <label>${_("Password")}</label>
<input type="password" name="password" placeholder="Password" tabindex="2" /> <input type="password" name="password" placeholder="${_('Password')}" tabindex="2" />
<div class="submit"> <div class="submit">
<input name="submit" type="submit" value="Return To ${return_to}" tabindex="3" /> <input name="submit" type="submit" value="${_('Return To %s') % return_to}" tabindex="3" />
</div> </div>
</form> </form>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
...@@ -11,7 +13,7 @@ ...@@ -11,7 +13,7 @@
<%! from datetime import date %> <%! from datetime import date %>
<%! import calendar %> <%! import calendar %>
<%block name="title"><title>Register for ${settings.PLATFORM_NAME}</title></%block> <%block name="title"><title>${_("Register for {platform_name}").format(platform_name=settings.PLATFORM_NAME)}</title></%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript"> <script type="text/javascript">
...@@ -69,13 +71,13 @@ ...@@ -69,13 +71,13 @@
$submitButton. $submitButton.
removeClass('is-disabled'). removeClass('is-disabled').
removeProp('disabled'). removeProp('disabled').
html('Create My ${settings.PLATFORM_NAME} Account'); html("${_('Create my {platform_name} Account').format(platform_name=settings.PLATFORM_NAME)}");
} }
else { else {
$submitButton. $submitButton.
addClass('is-disabled'). addClass('is-disabled').
prop('disabled', true). prop('disabled', true).
html('Processing your account information &hellip;'); html(gettext('Processing your account information &hellip;'));
} }
} }
</script> </script>
...@@ -83,7 +85,7 @@ ...@@ -83,7 +85,7 @@
<section class="introduction"> <section class="introduction">
<header> <header>
<h1 class="sr">${_("Welcome! Register below to create your %(platform_name)s account") % {'platform_name': settings.PLATFORM_NAME}}</h1> <h1 class="sr">${_("Welcome! Register below to create your {platform_name} account").format(platform_name=settings.PLATFORM_NAME)}</h1>
</header> </header>
</section> </section>
...@@ -93,51 +95,51 @@ ...@@ -93,51 +95,51 @@
<!-- status messages --> <!-- status messages -->
<div role="alert" class="status message"> <div role="alert" class="status message">
<h3 class="message-title">We're sorry, ${settings.PLATFORM_NAME} enrollment is not available in your region</h3> <h3 class="message-title">${_("We're sorry, {platform_name} enrollment is not available in your region").format(platform_name=settings.PLATFORM_NAME)}</h3>
<p class="message-copy">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p> <p class="message-copy">${_("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")}</p>
</div> </div>
<div role="alert" class="status message submission-error" tabindex="-1"> <div role="alert" class="status message submission-error" tabindex="-1">
<h3 class="message-title">The following errors occured while processing your registration: </h3> <h3 class="message-title">${_("The following errors occured while processing your registration:")} </h3>
<ul class="message-copy"> </ul> <ul class="message-copy"> </ul>
</div> </div>
<p class="instructions"> <p class="instructions">
Please complete the following fields to register for an account. <br /> ${_("Please complete the following fields to register for an account. ")}<br />
Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>. ${_('Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>.')}
</p> </p>
<fieldset class="group group-form group-form-requiredinformation"> <fieldset class="group group-form group-form-requiredinformation">
<legend class="sr">Required Information</legend> <legend class="sr">${_('Required Information')}</legend>
% if has_extauth_info is UNDEFINED: % if has_extauth_info is UNDEFINED:
<ol class="list-input"> <ol class="list-input">
<li class="field required text" id="field-email"> <li class="field required text" id="field-email">
<label for="email">E-mail</label> <label for="email">${_('E-mail')}</label>
<input class="" id="email" type="email" name="email" value="" placeholder="example: username@domain.com" required aria-required="true" /> <input class="" id="email" type="email" name="email" value="" placeholder="${_('example: username@domain.com')}" required aria-required="true" />
</li> </li>
<li class="field required password" id="field-password"> <li class="field required password" id="field-password">
<label for="password">Password</label> <label for="password">${_('Password')}</label>
<input id="password" type="password" name="password" value="" required aria-required="true" /> <input id="password" type="password" name="password" value="" required aria-required="true" />
</li> </li>
<li class="field required text" id="field-username"> <li class="field required text" id="field-username">
<label for="username">Public Username</label> <label for="username">${_('Public Username')}</label>
<input id="username" type="text" name="username" value="" placeholder="example: JaneDoe" required aria-required="true" /> <input id="username" type="text" name="username" value="" placeholder="${_('example: JaneDoe')}" required aria-required="true" />
<span class="tip tip-input">Will be shown in any discussions or forums you participate in</span> <span class="tip tip-input">${_('Will be shown in any discussions or forums you participate in')}</span>
</li> </li>
<li class="field required text" id="field-name"> <li class="field required text" id="field-name">
<label for="name">Full Name</label> <label for="name">${_('Full Name')}</label>
<input id="name" type="text" name="name" value="" placeholder="example: Jane Doe" required aria-required="true" /> <input id="name" type="text" name="name" value="" placeholder="${_('example: Jane Doe')}" required aria-required="true" />
<span class="tip tip-input">Needed for any certificates you may earn <strong>(cannot be changed later)</strong></span> <span class="tip tip-input">${_("Needed for any certificates you may earn <strong>(cannot be changed later)</strong>")}</span>
</li> </li>
</ol> </ol>
% else: % else:
<div class="message"> <div class="message">
<h3 class="message-title">Welcome ${extauth_id}</h3> <h3 class="message-title">${_("Welcome {username}").format(username=extauth_id)}</h3>
<p class="message-copy">Enter a public username:</p> <p class="message-copy">${_("Enter a public username:")}</p>
</div> </div>
<ol class="list-input"> <ol class="list-input">
...@@ -145,24 +147,24 @@ ...@@ -145,24 +147,24 @@
% if ask_for_email: % if ask_for_email:
<li class="field required text" id="field-email"> <li class="field required text" id="field-email">
<label for="email">E-mail</label> <label for="email">${_("E-mail")}</label>
<input class="" id="email" type="email" name="email" value="" placeholder="example: username@domain.com" /> <input class="" id="email" type="email" name="email" value="" placeholder="${_('example: username@domain.com')}" />
</li> </li>
% endif % endif
<li class="field required text" id="field-username"> <li class="field required text" id="field-username">
<label for="username">Public Username</label> <label for="username">${_('Public Username')}</label>
<input id="username" type="text" name="username" value="${extauth_username}" placeholder="example: JaneDoe" required aria-required="true" /> <input id="username" type="text" name="username" value="${extauth_username}" placeholder="${_('example: JaneDoe')}" required aria-required="true" />
<span class="tip tip-input">Will be shown in any discussions or forums you participate in</span> <span class="tip tip-input">${_('Will be shown in any discussions or forums you participate in')}</span>
</li> </li>
% if ask_for_fullname: % if ask_for_fullname:
<li class="field required text" id="field-name"> <li class="field required text" id="field-name">
<label for="name">Full Name</label> <label for="name">${_('Full Name')}</label>
<input id="name" type="text" name="name" value="" placeholder="example: Jane Doe" /> <input id="name" type="text" name="name" value="" placeholder="$_('example: Jane Doe')}" />
<span class="tip tip-input">Needed for any certificates you may earn <strong>(cannot be changed later)</strong></span> <span class="tip tip-input">${_("Needed for any certificates you may earn <strong>(cannot be changed later)</strong>")}</span>
</li> </li>
% endif % endif
...@@ -173,12 +175,12 @@ ...@@ -173,12 +175,12 @@
</fieldset> </fieldset>
<fieldset class="group group-form group-form-secondary group-form-personalinformation"> <fieldset class="group group-form group-form-secondary group-form-personalinformation">
<legend class="sr">Optional Personal Information</legend> <legend class="sr">${_("Optional Personal Information")}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field-group"> <li class="field-group">
<div class="field select" id="field-education-level"> <div class="field select" id="field-education-level">
<label for="education-level">Highest Level of Education Completed</label> <label for="education-level">${_("Highest Level of Education Completed")}</label>
<select id="education-level" name="level_of_education"> <select id="education-level" name="level_of_education">
<option value="">--</option> <option value="">--</option>
%for code, ed_level in UserProfile.LEVEL_OF_EDUCATION_CHOICES: %for code, ed_level in UserProfile.LEVEL_OF_EDUCATION_CHOICES:
...@@ -188,7 +190,7 @@ ...@@ -188,7 +190,7 @@
</div> </div>
<div class="field select" id="field-gender"> <div class="field select" id="field-gender">
<label for="gender">Gender</label> <label for="gender">${_("Gender")}</label>
<select id="gender" name="gender"> <select id="gender" name="gender">
<option value="">--</option> <option value="">--</option>
%for code, gender in UserProfile.GENDER_CHOICES: %for code, gender in UserProfile.GENDER_CHOICES:
...@@ -198,7 +200,7 @@ ...@@ -198,7 +200,7 @@
</div> </div>
<div class="field select" id="field-yob"> <div class="field select" id="field-yob">
<label for="yob">Year of Birth</label> <label for="yob">${_("Year of Birth")}</label>
<select id="yob" name="year_of_birth"> <select id="yob" name="year_of_birth">
<option value="">--</option> <option value="">--</option>
%for year in UserProfile.VALID_YEARS: %for year in UserProfile.VALID_YEARS:
...@@ -211,23 +213,23 @@ ...@@ -211,23 +213,23 @@
</fieldset> </fieldset>
<fieldset class="group group-form group-form-personalinformation2"> <fieldset class="group group-form group-form-personalinformation2">
<legend class="sr">Optional Personal Information</legend> <legend class="sr">${_("Optional Personal Information")}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field text" id="field-address-mailing"> <li class="field text" id="field-address-mailing">
<label for="address-mailing">Mailing Address</label> <label for="address-mailing">${_("Mailing Address")}</label>
<textarea id="address-mailing" name="mailing_address" value=""></textarea> <textarea id="address-mailing" name="mailing_address" value=""></textarea>
</li> </li>
<li class="field text" id="field-goals"> <li class="field text" id="field-goals">
<label for="goals">Please share with us your reasons for registering with ${settings.PLATFORM_NAME}</label> <label for="goals">${_("Please share with us your reasons for registering with {platform_name}").format(platform_name=settings.PLATFORM_NAME)}</label>
<textarea id="goals" name="goals" value=""></textarea> <textarea id="goals" name="goals" value=""></textarea>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<fieldset class="group group-form group-form-accountacknowledgements"> <fieldset class="group group-form group-form-accountacknowledgements">
<legend class="sr">Account Acknowledgements</legend> <legend class="sr">${_("Account Acknowledgements")}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field-group"> <li class="field-group">
...@@ -236,7 +238,9 @@ ...@@ -236,7 +238,9 @@
<div class="field required checkbox" id="field-tos"> <div class="field required checkbox" id="field-tos">
<input id="tos-yes" type="checkbox" name="terms_of_service" value="true" required aria-required="true" /> <input id="tos-yes" type="checkbox" name="terms_of_service" value="true" required aria-required="true" />
<label for="tos-yes">I agree to the <a href="${marketing_link('TOS')}" class="new-vp">Terms of Service</a></label> <label for="tos-yes">${_('I agree to the {link_start}Terms of Service{link_end}').format(
link_start='<a href="{url}" class="new-vp">'.format(url=marketing_link('TOS')),
link_end='</a>')}</label>
</div> </div>
% endif % endif
...@@ -250,7 +254,9 @@ ...@@ -250,7 +254,9 @@
else: else:
honor_code_path = marketing_link('HONOR') honor_code_path = marketing_link('HONOR')
%> %>
<label for="honorcode-yes">I agree to the <a href="${honor_code_path}" class="new-vp">Honor Code</a></label> <label for="honorcode-yes">${_('I agree to the {link_start}Honor Code{link_end}').format(
link_start='<a href="{url}" class="new-vp">'.format(url=honor_code_path),
link_end='</a>')}</label>
</div> </div>
</li> </li>
</ol> </ol>
...@@ -262,23 +268,23 @@ ...@@ -262,23 +268,23 @@
% endif % endif
<div class="form-actions"> <div class="form-actions">
<button name="submit" type="submit" id="submit" class="action action-primary action-update">Register <span class="orn-plus">+</span> Create My Account</button> <button name="submit" type="submit" id="submit" class="action action-primary action-update">${_('Register')} <span class="orn-plus">+</span> ${_('Create My Account')}</button>
</div> </div>
</form> </form>
</section> </section>
<aside role="complementary"> <aside role="complementary">
<header> <header>
<h3 class="sr">Registration Help</h3> <h3 class="sr">${_("Registration Help")}</h3>
</header> </header>
% if has_extauth_info is UNDEFINED: % if has_extauth_info is UNDEFINED:
<div class="cta"> <div class="cta">
<h3>Already registered?</h3> <h3>${_("Already registered?")}</h3>
<p class="instructions"> <p class="instructions">
<a href="${reverse('signin_user')}${login_query()}"> <a href="${reverse('signin_user')}${login_query()}">
Click here to log in. ${_("Click here to log in.")}
</a> </a>
</p> </p>
</div> </div>
...@@ -289,28 +295,28 @@ ...@@ -289,28 +295,28 @@
## override in a more generalizable fashion. ## override in a more generalizable fashion.
% if not self.stanford_theme_enabled(): % if not self.stanford_theme_enabled():
<div class="cta cta-welcome"> <div class="cta cta-welcome">
<h3>Welcome to ${settings.PLATFORM_NAME}</h3> <h3>${_("Welcome to {platform_name}").format(platform_name=settings.PLATFORM_NAME)}</h3>
<p>Registering with ${settings.PLATFORM_NAME} gives you access to all of our current and future free courses. Not ready to take a course just yet? Registering puts you on our mailing list – we will update you as courses are added.</p> <p>${_("Registering with {platform_name} gives you access to all of our current and future free courses. Not ready to take a course just yet? Registering puts you on our mailing list - we will update you as courses are added.").format(platform_name=settings.PLATFORM_NAME)}</p>
</div> </div>
% endif % endif
<div class="cta cta-nextsteps"> <div class="cta cta-nextsteps">
<h3>Next Steps</h3> <h3>${_("Next Steps")}</h3>
% if self.stanford_theme_enabled(): % if self.stanford_theme_enabled():
<p>You will receive an activation email. You must click on the activation link to complete the process. Don’t see the email? Check your spam folder and mark emails from class.stanford.edu as ‘not spam’, since you'll want to be able to receive email from your courses.</p> <p>${_("You will receive an activation email. You must click on the activation link to complete the process. Don't see the email? Check your spam folder and mark emails from class.stanford.edu as 'not spam', since you'll want to be able to receive email from your courses.")}</p>
% else: % else:
<p>As part of joining ${settings.PLATFORM_NAME}, you will receive an activation email. You must click on the activation link to complete the process. Don’t see the email? Check your spam folder and mark ${settings.PLATFORM_NAME} emails as ‘not spam’. At ${settings.PLATFORM_NAME}, we communicate mostly through email.</p> <p>${_("As part of joining {platform_name}, you will receive an activation email. You must click on the activation link to complete the process. Don't see the email? Check your spam folder and mark {platform_name} emails as 'not spam'. At {platform_name}, we communicate mostly through email.").format(platform_name=settings.PLATFORM_NAME)}</p>
% endif % endif
</div> </div>
% if settings.MKTG_URL_LINK_MAP.get('FAQ'): % if settings.MKTG_URL_LINK_MAP.get('FAQ'):
<div class="cta cta-help"> <div class="cta cta-help">
<h3>Need Help?</h3> <h3>${_("Need Help?")}</h3>
<p>Need help in registering with ${settings.PLATFORM_NAME}? <p>${_("Need help in registering with {platform_name}?").format(platform_name=settings.PLATFORM_NAME)}
<a href="${marketing_link('FAQ')}"> <a href="${marketing_link('FAQ')}">
View our FAQs for answers to commonly asked questions. ${_("View our FAQs for answers to commonly asked questions.")}
</a> </a>
Once registered, most questions can be answered in the course specific discussion forums or through the FAQs.</p> ${_("Once registered, most questions can be answered in the course specific discussion forums or through the FAQs.")}</p>
</div> </div>
% endif % endif
</aside> </aside>
......
<h2>Thanks For Registering!</h2> <%! from django.utils.translation import ugettext as _ %>
<p class='activation-message'>Your account is not active yet. An activation link has been sent to <strong>${ email }</strong>, along with <h2>${_("Thanks For Registering!")}</h2>
instructions for activating your account.</p> <p class='activation-message'>${_("Your account is not active yet. An activation link has been sent to {email}, along with instructions for activating your account.").format(email="<strong>{}</strong>".format(email))}</p>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
...@@ -7,23 +8,23 @@ ...@@ -7,23 +8,23 @@
<section class="message"> <section class="message">
%if not already_active: %if not already_active:
<h1 class="valid">Activation Complete!</h1> <h1 class="valid">${_("Activation Complete!")}</h1>
%else: %else:
<h1>Account already active!</h1> <h1>${_("Account already active!")}</h1>
%endif %endif
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p> <p>
%if not already_active: %if not already_active:
Thanks for activating your account. ${_("Thanks for activating your account.")}
%else: %else:
This account has already been activated. ${_("This account has already been activated.")}
%endif %endif
%if user_logged_in: %if user_logged_in:
Visit your <a href="${reverse('dashboard')}">dashboard</a> to see your courses. ${_("Visit your {link_start}dashboard{link_end} to see your courses.").format(link_start='<a href="{url}">'.format(url=reverse('dashboard')), link_end='</a>')}
%else: %else:
You can now <a href="${reverse('signin_user')}">log in</a>. ${_("You can now {link_start}log in{link_end}.").format(link_start='<a href="{url}">'.format(url=reverse('signin_user')), link_end='</a>')}
%endif %endif
</p> </p>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
...@@ -6,14 +7,14 @@ ...@@ -6,14 +7,14 @@
<section class="container activation"> <section class="container activation">
<section class="message"> <section class="message">
<h1 class="invalid">Activation Invalid</h1> <h1 class="invalid">${_("Activation Invalid")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<p>Something went wrong. Check to make sure the URL you went to was <p>${_('Something went wrong. Check to make sure the URL you went to was '
correct -- e-mail programs will sometimes split it into two 'correct -- e-mail programs will sometimes split it into two '
lines. If you still have issues, e-mail us to let us know what happened 'lines. If you still have issues, e-mail us to let us know what happened '
at <a href="mailto:${settings.BUGS_EMAIL}">${settings.BUGS_EMAIL}</a>.</p> 'at {email}.').format(email='<a href="mailto:{email}">{email}</a>'.format(email=settings.BUGS_EMAIL))}</p>
<p>Or you can go back to the <a href="/">home page</a>.</p> <p>${_('Or you can go back to the {link_start}home page{link_end}.').format(link_start='<a href="/">', link_end='</a>')}</p>
</section> </section>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% block title %}Log in{% endblock %} {% block title %}${_("Log in")}{% endblock %}
{% block content %} {% block content %}
<h1>Log in</h1> <h1>${_("Log in")}</h1>
{% if form.errors %} {% if form.errors %}
<p class="error">Please correct the errors below:</p> <p class="error">${_("Please correct the errors below:")}</p>
{% endif %} {% endif %}
<form method="post" action="?next={{ next|default:"/" }}"> <form method="post" action="?next={{ next|default:"/" }}">
{% csrf_token %} {% csrf_token %}
<dl> <dl>
<dt><label for="id_username">Username:</label>{% if form.username.errors %} <span class="error">{{ form.username.errors|join:", " }}</span>{% endif %}</dt> <dt><label for="id_username">${_("Username:")}</label>{% if form.username.errors %} <span class="error">{{ form.username.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.username }}</dd> <dd>{{ form.username }}</dd>
<dt><label for="id_password">Password:</label>{% if form.password.errors %} <span class="error">{{ form.password.errors|join:", " }}</span>{% endif %}</dt> <dt><label for="id_password">${_("Password:")}</label>{% if form.password.errors %} <span class="error">{{ form.password.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.password }}</dd> <dd>{{ form.password }}</dd>
<dt><input type="submit" value="Log in" /></dt> <dt><input type="submit" value="${_("Log in")}" /></dt>
</dl> </dl>
</form> </form>
{% endblock %} {% endblock %}
{% block content-related %} {% block content-related %}
<p>If you don't have an account, you can <a href="/accounts/register/">sign <p>${_("If you don't have an account, you can {link_start}sign up{link_end} for one.").format(link_start='<a href="/accounts/register/">', link_end='</a>')}
up</a> for one.
{% endblock %} {% endblock %}
<%! from django.utils.translation import ugettext as _ %>
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% block title %}Logged out{% endblock %} {% block title %}${_("Logged out")}{% endblock %/}
{% block content %} {% block content %}
<h1>You've been logged out.</h1> <h1>${_("You've been logged out.")}</h1>
<p>Thanks for stopping by; when you come back, don't forget to <a href="/accounts/login/">log in</a> again.</p> <p>${_("Thanks for stopping by; when you come back, don't forget to {link_start}log in{link_end} again.").format(link_start='<a href="/accounts/login">', link_end='</a>')}</p>
{% endblock %} {% endblock %}
<%! from django.utils.translation import ugettext as _ %>
{% load i18n %} {% load i18n %}
{% load compressed %} {% load compressed %}
{% load staticfiles %} {% load staticfiles %}
...@@ -5,7 +6,7 @@ ...@@ -5,7 +6,7 @@
<html> <html>
<head> <head>
<title>Your Password Reset is Complete</title> <title>${_("Your Password Reset is Complete")}</title>
{% compressed_css 'application' %} {% compressed_css 'application' %}
...@@ -53,13 +54,13 @@ ...@@ -53,13 +54,13 @@
<section class="passwordreset container"> <section class="passwordreset container">
<section class="introduction"> <section class="introduction">
<header> <header>
<h1>Your Password Reset is Complete</h1> <h1>${_("Your Password Reset is Complete")}</h1>
</header> </header>
</section> </section>
{% block content %} {% block content %}
<section role="main" class="content"> <section role="main" class="content">
<p>Your password has been set. You may go ahead and <a href="/login">log in</a> now.</a>.</p> <p>${_('Your password has been set. You may go ahead and {link_start}log in{link_end} now.').format(link_start='<a href="/login">', link_end='</a>')}</p>
</section> </section>
{% endblock %} {% endblock %}
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
{% load compressed %} {% load compressed %}
{% load staticfiles %} {% load staticfiles %}
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Reset Your edX Password</title> <title>${_("Reset Your edX Password")}</title>
{% compressed_css 'application' %} {% compressed_css 'application' %}
...@@ -52,79 +53,79 @@ ...@@ -52,79 +53,79 @@
<section class="passwordreset container"> <section class="passwordreset container">
<section class="introduction"> <section class="introduction">
<header> <header>
<h1>Reset Your edX Password</h1> <h1>${_("Reset Your edX Password")}</h1>
</header> </header>
</section> </section>
<section role="main" class="content"> <section role="main" class="content">
{% if validlink %} {% if validlink %}
<header> <header>
<h2 class="sr">Password Reset Form</h2> <h2 class="sr">${_("Password Reset Form")}</h2>
</header> </header>
<form role="form" id="passwordreset-form" method="post" data-remote="true" action="">{% csrf_token %} <form role="form" id="passwordreset-form" method="post" data-remote="true" action="">{% csrf_token %}
<!-- status messages --> <!-- status messages -->
<div role="alert" class="status message"> <div role="alert" class="status message">
<h3 class="message-title">We're sorry, edX enrollment is not available in your region</h3> <h3 class="message-title">${_("We're sorry, edX enrollment is not available in your region")}</h3>
<p class="message-copy">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p> <p class="message-copy">${_("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")}</p>
</div> </div>
<div role="alert" class="status message submission-error"> <div role="alert" class="status message submission-error">
<h3 class="message-title">The following errors occured while processing your registration: </h3> <h3 class="message-title">${_("The following errors occured while processing your registration: ")}</h3>
<ul class="message-copy"> <ul class="message-copy">
<li>You must complete all fields.</li> <li>${_("You must complete all fields.")}</li>
<li>The two password fields didn't match.</li> <li>${_("The two password fields didn't match.")}</li>
</ul> </ul>
</div> </div>
<div role="alert" class="status message system-error"> <div role="alert" class="status message system-error">
<h3 class="message-title">We're sorry, our systems seem to be having trouble processing your password reset</h3> <h3 class="message-title">${_("We're sorry, our systems seem to be having trouble processing your password reset")}</h3>
<p class="message-copy">Someone has been made aware of this issue. Please try again shortly. Please <a href="{{MKTG_URL_CONTACT}}">contact us</a> about any concerns you have.</p> <p class="message-copy">${_('Someone has been made aware of this issue. Please try again shortly. Please <a href="{{MKTG_URL_CONTACT}}">contact us</a> about any concerns you have.')}</p>
</div> </div>
<p class="instructions"> <p class="instructions">
Please enter your new password twice so we can verify you typed it in correctly. <br /> ${_('Please enter your new password twice so we can verify you typed it in correctly. <br /> '
Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>. 'Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>.')}
</p> </p>
<fieldset class="group group-form group-form-requiredinformation"> <fieldset class="group group-form group-form-requiredinformation">
<legend class="sr">Required Information</legend> <legend class="sr">${_("Required Information")}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field required password" id="field-new_password1"> <li class="field required password" id="field-new_password1">
<label for="new_password1">Your New Password</label> <label for="new_password1">${_("Your New Password")}</label>
<input id="new_password1" type="password" name="new_password1" placeholder="*****" /> <input id="new_password1" type="password" name="new_password1" placeholder="*****" />
</li> </li>
<li class="field required password" id="field-new_password2"> <li class="field required password" id="field-new_password2">
<label for="new_password2">Your New Password Again</label> <label for="new_password2">${_("Your New Password Again")}</label>
<input id="new_password2" type="password" name="new_password2" placeholder="*****" /> <input id="new_password2" type="password" name="new_password2" placeholder="*****" />
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<div class="form-actions"> <div class="form-actions">
<button name="submit" type="submit" id="submit" class="action action-primary action-update">Change My Password</button> <button name="submit" type="submit" id="submit" class="action action-primary action-update">${_("Change My Password")}</button>
</div> </div>
</form> </form>
{% else %} {% else %}
<header> <header>
<h2 class="sr">Your Password Reset Was Unsuccessful</h2> <h2 class="sr">${_("Your Password Reset Was Unsuccessful")}</h2>
</header> </header>
<p>The password reset link was invalid, possibly because the link has already been used. Please return to the <a href="/login">login page</a> and start the password reset process again.</p> <p>${_('The password reset link was invalid, possibly because the link has already been used. Please return to the <a href="/login">login page</a> and start the password reset process again.')}</p>
{% endif %} {% endif %}
</section> </section>
<aside role="complementary"> <aside role="complementary">
<header> <header>
<h3 class="sr">Password Reset Help</h3> <h3 class="sr">${_("Password Reset Help")}</h3>
</header> </header>
<div class="cta cta-help"> <div class="cta cta-help">
<h3>Need Help?</h3> <h3>${_("Need Help?")}</h3>
<p>View our <a href="{{MKTG_URL_FAQ}}">help section for contact information and answers to commonly asked questions</a></p> <p>${_('View our <a href="{{MKTG_URL_FAQ}}">help section for contact information and answers to commonly asked questions</a>')}</p>
</div> </div>
</aside> </aside>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<header> <header>
<h2>Password reset successful</h2> <h2>${_("Password reset successful")}</h2>
<hr> <hr>
</header> </header>
<div class="message"> <div class="message">
<p>We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly.</p> <p>${_("We've e-mailed you instructions for setting your password to the e-mail address you submitted. You should be receiving it shortly.")}</p>
</div> </div>
<%! from django.utils.translation import ugettext as _ %>
{% extends "registration/base.html" %} {% extends "registration/base.html" %}
{% block title %}Sign up{% endblock %} {% block title %}${_("Sign up")}{% endblock %}
{% block content %} {% block content %}
{% if form.errors %} {% if form.errors %}
<p class="errors">Please correct the errors below: {{ form.non_field_errors }}</p> <p class="errors">${_("Please correct the errors below: {{ form.non_field_errors }}")}</p>
{% endif %} {% endif %}
<h1>Create an account</h1> <h1>${_("Create an account")}</h1>
<form method="post" action="" class="wide"> <form method="post" action="" class="wide">
{% csrf_token %} {% csrf_token %}
<p> <p>
<label for="id_username">Username:</label> <label for="id_username">${_("Username:")}</label>
{% if form.username.errors %} {% if form.username.errors %}
<p class="errors">{{ form.username.errors.as_text }}</p> <p class="errors">{{ form.username.errors.as_text }}</p>
{% endif %} {% endif %}
{{ form.username }} {{ form.username }}
</p> </p>
<p> <p>
<label for="id_email">Email address:</label> <label for="id_email">${_("Email address:")}</label>
{% if form.email.errors %} {% if form.email.errors %}
<p class="errors">{{ form.email.errors.as_text }}</p> <p class="errors">{{ form.email.errors.as_text }}</p>
{% endif %} {% endif %}
{{ form.email }} {{ form.email }}
</p> </p>
<p> <p>
<label for="id_password1">Password:</label> <label for="id_password1">${_("Password:")}</label>
{% if form.password1.errors %} {% if form.password1.errors %}
<p class="errors">{{ form.password1.errors.as_text }}</p> <p class="errors">{{ form.password1.errors.as_text }}</p>
{% endif %} {% endif %}
{{ form.password1 }} {{ form.password1 }}
</p> </p>
<p> <p>
<label for="id_password2">Password (type again to catch typos):</label> <label for="id_password2">${_("Password (type again to catch typos):")}</label>
{% if form.password2.errors %} {% if form.password2.errors %}
<p class="errors">{{ form.password2.errors.as_text }}</p> <p class="errors">{{ form.password2.errors.as_text }}</p>
{% endif %} {% endif %}
{{ form.password2 }} {{ form.password2 }}
</p> </p>
<p class="submit"><input type="submit" value="Register &rarr;"></p> <p class="submit"><input type="submit" value="${_("Register")} &rarr;"></p>
</form> </form>
{% endblock %} {% endblock %}
{% block content-related %} {% block content-related %}
<p>Fill out the form to the left (all fields are required), and your <p>${_("Fill out the form to the left (all fields are required), and your "
account will be created; you'll be sent an email with instructions on how "account will be created; you'll be sent an email with instructions on how "
to finish your registration.</p> "to finish your registration.")}</p>
<p>We'll only use your email to send you signup instructions. We hate spam <p>${_("We'll only use your email to send you signup instructions. We hate spam "
as much as you do.</p> "as much as you do.")}</p>
<p>This account will let you log into the ticket tracker, claim tickets, <p>${_("This account will let you log into the ticket tracker, claim tickets, "
and be exempt from spam filtering.</p> "and be exempt from spam filtering")}.</p>
{% endblock %} {% endblock %}
<%! from django.utils.translation import ugettext as _ %>
<div id="sequence_${element_id}" class="sequence" data-id="${item_id}" data-position="${position}" data-course_modx_root="/course/modx" > <div id="sequence_${element_id}" class="sequence" data-id="${item_id}" data-position="${position}" data-course_modx_root="/course/modx" >
<nav aria-label="Section Navigation" class="sequence-nav"> <nav aria-label="${_('Section Navigation')}" class="sequence-nav">
<ul class="sequence-nav-buttons"> <ul class="sequence-nav-buttons">
<li class="prev"><a href="#">Previous</a></li> <li class="prev"><a href="#">${_('Previous')}</a></li>
</ul> </ul>
<div class="sequence-list-wrapper"> <div class="sequence-list-wrapper">
...@@ -24,7 +26,7 @@ ...@@ -24,7 +26,7 @@
</div> </div>
<ul class="sequence-nav-buttons"> <ul class="sequence-nav-buttons">
<li class="next"><a href="#">Next</a></li> <li class="next"><a href="#">${_("Next")}</a></li>
</ul> </ul>
</nav> </nav>
...@@ -34,9 +36,9 @@ ...@@ -34,9 +36,9 @@
<div id="seq_content"></div> <div id="seq_content"></div>
<nav class="sequence-bottom"> <nav class="sequence-bottom">
<ul aria-label="Section Navigation" class="sequence-nav-buttons"> <ul aria-label="${_('Section Navigation')}" class="sequence-nav-buttons">
<li class="prev"><a href="#">Previous</a></li> <li class="prev"><a href="#">${_("Previous")}</a></li>
<li class="next"><a href="#">Next</a></li> <li class="next"><a href="#">${_("Next")}</a></li>
</ul> </ul>
</nav> </nav>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%! from django_countries.countries import COUNTRIES %> <%! from django_countries.countries import COUNTRIES %>
...@@ -9,7 +11,7 @@ ...@@ -9,7 +11,7 @@
<div class="inner-wrapper"> <div class="inner-wrapper">
<div id="register"> <div id="register">
<header> <header>
<h2>Sign Up for <span class="edx">edX</span></h2> <h2>${_('Sign Up for {span_start}edX{span_end}').format(span_start='<span class="edx">', span_end='</span>')}</h2>
<hr> <hr>
</header> </header>
...@@ -20,33 +22,33 @@ ...@@ -20,33 +22,33 @@
<div class="input-group"> <div class="input-group">
% if has_extauth_info is UNDEFINED: % if has_extauth_info is UNDEFINED:
<label data-field="email" for="signup_email">E-mail *</label> <label data-field="email" for="signup_email">${_('E-mail *')}</label>
<input id="signup_email" type="email" name="email" placeholder="e.g. yourname@domain.com" required /> <input id="signup_email" type="email" name="email" placeholder="${_('e.g. yourname@domain.com')}" required />
<label data-field="password" for="signup_password">Password *</label> <label data-field="password" for="signup_password">${_('Password *')}</label>
<input id="signup_password" type="password" name="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;" required /> <input id="signup_password" type="password" name="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;" required />
<label data-field="username" for="signup_username">Public Username *</label> <label data-field="username" for="signup_username">${_('Public Username *')}</label>
<input id="signup_username" type="text" name="username" placeholder="e.g. yourname (shown on forums)" required /> <input id="signup_username" type="text" name="username" placeholder="${_('e.g. yourname (shown on forums)')}" required />
<label data-field="name" for="signup_fullname">Full Name *</label> <label data-field="name" for="signup_fullname">${_('Full Name *')}</label>
<input id="signup_fullname" type="text" name="name" placeholder="e.g. Your Name (for certificates)" required /> <input id="signup_fullname" type="text" name="name" placeholder="${_('e.g. Your Name (for certificates)')}" required />
% else: % else:
<p><i>Welcome</i> ${extauth_id}</p><br/> <p>${_('<i>Welcome</i> {name}').format(name=extauth_id)}</p><br/>
<p><i>Enter a public username:</i></p> <p><i>${_('Enter a public username:')}</i></p>
<label data-field="username" for="signup_username">Public Username *</label> <label data-field="username" for="signup_username">${_('Public Username *')}</label>
<input id="signup_username" type="text" name="username" value="${extauth_username}" placeholder="e.g. yourname (shown on forums)" required /> <input id="signup_username" type="text" name="username" value="${extauth_username}" placeholder="${_('e.g. yourname (shown on forums)')}" required />
% if ask_for_email: % if ask_for_email:
<label data-field="email" for="signup_email">E-mail *</label> <label data-field="email" for="signup_email">${_('E-mail *')}</label>
<input id="signup_email" type="email" name="email" placeholder="e.g. yourname@domain.com" required /> <input id="signup_email" type="email" name="email" placeholder="${_('e.g. yourname@domain.com')}" required />
% endif % endif
% if ask_for_fullname: % if ask_for_fullname:
<label data-field="name" for="signup_fullname">Full Name *</label> <label data-field="name" for="signup_fullname">${_("Full Name *")}</label>
<input id="signup_fullname" type="text" name="name" placeholder="e.g. Your Name (for certificates)" required /> <input id="signup_fullname" type="text" name="name" placeholder="${_('e.g. Your Name (for certificates)')}" required />
% endif % endif
% endif % endif
...@@ -54,7 +56,7 @@ ...@@ -54,7 +56,7 @@
<div class="input-group"> <div class="input-group">
<section class="citizenship"> <section class="citizenship">
<label data-field="level_of_education" for="signup_ed_level">Ed. Completed</label> <label data-field="level_of_education" for="signup_ed_level">${_("Ed. Completed")}</label>
<div class="input-wrapper"> <div class="input-wrapper">
<select id="signup_ed_level" name="level_of_education"> <select id="signup_ed_level" name="level_of_education">
<option value="">--</option> <option value="">--</option>
...@@ -66,7 +68,7 @@ ...@@ -66,7 +68,7 @@
</section> </section>
<section class="gender"> <section class="gender">
<label data-field="gender" for="signup_gender">Gender</label> <label data-field="gender" for="signup_gender">${_("Gender")}</label>
<div class="input-wrapper"> <div class="input-wrapper">
<select id="signup_gender" name="gender"> <select id="signup_gender" name="gender">
<option value="">--</option> <option value="">--</option>
...@@ -78,7 +80,7 @@ ...@@ -78,7 +80,7 @@
</section> </section>
<section class="date-of-birth"> <section class="date-of-birth">
<label data-field="date-of-birth" for="signup_birth_year">Year of birth</label> <label data-field="date-of-birth" for="signup_birth_year">${_("Year of birth")}</label>
<div class="input-wrapper"> <div class="input-wrapper">
<select id="signup_birth_year" name="year_of_birth"> <select id="signup_birth_year" name="year_of_birth">
<option value="">--</option> <option value="">--</option>
...@@ -90,10 +92,10 @@ ...@@ -90,10 +92,10 @@
</div> </div>
</section> </section>
<label data-field="mailing_address" for="signup_mailing_address">Mailing address</label> <label data-field="mailing_address" for="signup_mailing_address">${_("Mailing address")}</label>
<textarea id="signup_mailing_address" name="mailing_address"></textarea> <textarea id="signup_mailing_address" name="mailing_address"></textarea>
<label data-field="goals" for="signup_goals">Goals in signing up for edX</label> <label data-field="goals" for="signup_goals">${_("Goals in signing up for edX")}</label>
<textarea name="goals" id="signup_goals"></textarea> <textarea name="goals" id="signup_goals"></textarea>
</div> </div>
...@@ -101,33 +103,35 @@ ...@@ -101,33 +103,35 @@
<div class="input-group"> <div class="input-group">
<label data-field="terms_of_service" class="terms-of-service" for="signup_tos"> <label data-field="terms_of_service" class="terms-of-service" for="signup_tos">
<input id="signup_tos" name="terms_of_service" type="checkbox" value="true"> <input id="signup_tos" name="terms_of_service" type="checkbox" value="true">
I agree to the ${_('I agree to the {link_start}Terms of Service{link_end}*').format(
<a href="${reverse('tos')}" target="_blank">Terms of Service</a>* link_start='<a href="{url}" target="_blank">'.format(url=reverse('tos')),
link_end='</a>')}
</label> </label>
<label data-field="honor_code" class="honor-code" for="signup_honor"> <label data-field="honor_code" class="honor-code" for="signup_honor">
<input id="signup_honor" name="honor_code" type="checkbox" value="true"> <input id="signup_honor" name="honor_code" type="checkbox" value="true">
I agree to the ${_('I agree to the {link_start}Honor Code{link_end}*').format(
<a href="${reverse('honor')}" target="_blank">Honor Code</a>* link_start='<a href="{url}" target="_blank">'.format(url=reverse('honor')),
link_end='</a>')}
</label> </label>
</div> </div>
<div class="submit"> <div class="submit">
<input name="submit" type="submit" value="Create My Account"> <input name="submit" type="submit" value="${_('Create My Account')}">
</div> </div>
</form> </form>
% if has_extauth_info is UNDEFINED: % if has_extauth_info is UNDEFINED:
<section class="login-extra"> <section class="login-extra">
<p> <p>
<span>Already have an account? <a href="#login-modal" class="close-signup" rel="leanModal">Login.</a></span> <span>${_("Already have an account?")} <a href="#login-modal" class="close-signup" rel="leanModal">${_("Login.")}</a></span>
</p> </p>
</section> </section>
% endif % endif
</div> </div>
<a href="#" class="close-modal" title="Close Modal"> <a href="#" class="close-modal" title="${_('Close Modal')}">
<div class="inner"> <div class="inner">
<p>&#10005;</p> <p>&#10005;</p>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
## The JS for this is defined in xqa_interface.html ## The JS for this is defined in xqa_interface.html
${module_content} ${module_content}
%if location.category in ['problem','video','html','combinedopenended','graphical_slider_tool']: %if location.category in ['problem','video','html','combinedopenended','graphical_slider_tool']:
...@@ -14,27 +16,27 @@ ${module_content} ...@@ -14,27 +16,27 @@ ${module_content}
% endif % endif
</div> </div>
% endif % endif
<div><a href="#${element_id}_debug" id="${element_id}_trig">Staff Debug Info</a></div> <div><a href="#${element_id}_debug" id="${element_id}_trig">${_("Staff Debug Info")}</a></div>
% if settings.MITX_FEATURES.get('ENABLE_STUDENT_HISTORY_VIEW') and \ % if settings.MITX_FEATURES.get('ENABLE_STUDENT_HISTORY_VIEW') and \
location.category == 'problem': location.category == 'problem':
<div><a href="#${element_id}_history" id="${element_id}_history_trig">Submission history</a></div> <div><a href="#${element_id}_history" id="${element_id}_history_trig">${_("Submission history")}</a></div>
% endif % endif
<section id="${element_id}_xqa-modal" class="modal xqa-modal" style="width:80%; left:20%; height:80%; overflow:auto" > <section id="${element_id}_xqa-modal" class="modal xqa-modal" style="width:80%; left:20%; height:80%; overflow:auto" >
<div class="inner-wrapper"> <div class="inner-wrapper">
<header> <header>
<h2>edX Content Quality Assessment</h2> <h2>${_("edX Content Quality Assessment")}</h2>
</header> </header>
<form id="${element_id}_xqa_form" class="xqa_form"> <form id="${element_id}_xqa_form" class="xqa_form">
<label>Comment</label> <label>${_("Comment")}</label>
<input id="${element_id}_xqa_entry" type="text" placeholder="comment"> <input id="${element_id}_xqa_entry" type="text" placeholder="${_('comment')}">
<label>Tag</label> <label>${_("Tag")}</label>
<span style="color:black;vertical-align: -10pt">Optional tag (eg "done" or "broken"):&nbsp; </span> <span style="color:black;vertical-align: -10pt">${_('Optional tag (eg "done" or "broken"):&nbsp; ')} </span>
<input id="${element_id}_xqa_tag" type="text" placeholder="tag" style="width:80px;display:inline"> <input id="${element_id}_xqa_tag" type="text" placeholder="${_('tag')}" style="width:80px;display:inline">
<div class="submit"> <div class="submit">
<button name="submit" type="submit">Add comment</button> <button name="submit" type="submit">${_('Add comment')}</button>
</div> </div>
<hr> <hr>
<div id="${element_id}_xqa_log_data"></div> <div id="${element_id}_xqa_log_data"></div>
...@@ -46,25 +48,25 @@ ${module_content} ...@@ -46,25 +48,25 @@ ${module_content}
<section class="modal staff-modal" id="${element_id}_debug" style="width:80%; left:20%; height:80%; overflow:auto;" > <section class="modal staff-modal" id="${element_id}_debug" style="width:80%; left:20%; height:80%; overflow:auto;" >
<div class="inner-wrapper" style="color:black"> <div class="inner-wrapper" style="color:black">
<header> <header>
<h2>Staff Debug</h2> <h2>${_('Staff Debug')}</h2>
</header> </header>
<div class="staff_info" style="display:block"> <div class="staff_info" style="display:block">
is_released = ${is_released} is_released = ${is_released}
location = ${location | h} location = ${location | h}
<table> <table>
<tr><th>Module Fields</th></tr> <tr><th>${_('Module Fields')}</th></tr>
%for name, field in fields: %for name, field in fields:
<tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr> <tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr>
%endfor %endfor
</table> </table>
<table> <table>
<tr><th>edX Fields</th></tr> <tr><th>${_('edX Fields')}</th></tr>
%for name, field in lms_fields: %for name, field in lms_fields:
<tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr> <tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr>
%endfor %endfor
</table> </table>
<table> <table>
<tr><th>XML attributes</th></tr> <tr><th>${_('XML attributes')}</th></tr>
%for name, field in xml_attributes.items(): %for name, field in xml_attributes.items():
<tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr> <tr><td>${name}</td><td><pre style="display:inline-block; margin: 0;">${field | h}</pre></td></tr>
%endfor %endfor
...@@ -80,14 +82,14 @@ category = ${category | h} ...@@ -80,14 +82,14 @@ category = ${category | h}
<section class="modal history-modal" id="${element_id}_history" style="width:80%; left:20%; height:80%; overflow:auto;" > <section class="modal history-modal" id="${element_id}_history" style="width:80%; left:20%; height:80%; overflow:auto;" >
<div class="inner-wrapper" style="color:black"> <div class="inner-wrapper" style="color:black">
<header> <header>
<h2>Submission History Viewer</h2> <h2>${_("Submission History Viewer")}</h2>
</header> </header>
<form id="${element_id}_history_form"> <form id="${element_id}_history_form">
<label for="${element_id}_history_student_username">User:</label> <label for="${element_id}_history_student_username">${_("User:")}</label>
<input id="${element_id}_history_student_username" type="text" placeholder=""/> <input id="${element_id}_history_student_username" type="text" placeholder=""/>
<input type="hidden" id="${element_id}_history_location" value="${location}"/> <input type="hidden" id="${element_id}_history_location" value="${location}"/>
<div class="submit"> <div class="submit">
<button name="submit" type="submit">View History</button> <button name="submit" type="submit">${_("View History")}</button>
</div> </div>
</form> </form>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%block name="title"><title>${course.number} Textbook</title> <%block name="title"><title>${_('{course_number} Textbook').format(course_number=course.number)}</title>
</%block> </%block>
<%block name="headextra"> <%block name="headextra">
...@@ -121,7 +123,7 @@ ...@@ -121,7 +123,7 @@
<div id="mainContainer" class="book-wrapper"> <div id="mainContainer" class="book-wrapper">
%if 'chapters' in textbook: %if 'chapters' in textbook:
<section aria-label="Textbook Navigation" class="book-sidebar"> <section aria-label="${_('Textbook Navigation')}" class="book-sidebar">
<ul id="booknav" class="treeview-booknav"> <ul id="booknav" class="treeview-booknav">
<%def name="print_entry(entry, index_value)"> <%def name="print_entry(entry, index_value)">
<li id="htmlchapter-${index_value}"> <li id="htmlchapter-${index_value}">
......
<%! from django.utils.translation import ugettext as _ %> <%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%block name="title"> <%block name="title">
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>${course.number} Textbook</title> <title>${_('{course_number} Textbook').format(course_number=course.number)}</title>
</%block> </%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
<%static:js group='courseware'/> <%static:js group='courseware'/>
<link rel="stylesheet" href="/static/css/pdfviewer.css"/> <link rel="stylesheet" href="/static/css/pdfviewer.css"/>
<script type="text/javascript" src="/static/js/vendor/pdfjs/pdf.js"></script> <script type="text/javascript" src="/static/js/vendor/pdfjs/pdf.js"></script>
<script type="text/javascript" src="/static/js/pdfviewer.js"></script> <script type="text/javascript" src="/static/js/pdfviewer.js"></script>
</%block> </%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
var options = {}; var options = {};
%if 'url' in textbook: %if 'url' in textbook:
options.url = "${textbook['url']}"; options.url = "${textbook['url']}";
...@@ -38,20 +39,20 @@ ...@@ -38,20 +39,20 @@
%endif %endif
$('#outerContainer').PDFViewer(options); $('#outerContainer').PDFViewer(options);
}); });
</script> </script>
</%block> </%block>
<%include file="/courseware/course_navigation.html" args="active_page='pdftextbook/{0}'.format(book_index)" /> <%include file="/courseware/course_navigation.html" args="active_page='pdftextbook/{0}'.format(book_index)" />
<div id="outerContainer"> <div id="outerContainer">
<div id="mainContainer" class="book-wrapper"> <div id="mainContainer" class="book-wrapper">
<div class="toolbar"> <div class="toolbar">
<div id="toolbarContainer"> <div id="toolbarContainer">
<div id="toolbarViewer"> <div id="toolbarViewer">
<div id="toolbarViewerLeft"> <div id="toolbarViewerLeft">
<label id="pageNumberLabel" class="toolbarLabel" for="pageNumber">Page: </label> <label id="pageNumberLabel" class="toolbarLabel" for="pageNumber">${_('Page:')} </label>
<input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="7"> <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="7">
</input> </input>
<span id="numPages" class="toolbarLabel"></span> <span id="numPages" class="toolbarLabel"></span>
...@@ -60,22 +61,22 @@ ...@@ -60,22 +61,22 @@
<div class="outerCenter"> <div class="outerCenter">
<div class="innerCenter" id="toolbarViewerMiddle"> <div class="innerCenter" id="toolbarViewerMiddle">
<div class="splitToolbarButton"> <div class="splitToolbarButton">
<button class="toolbarButton zoomOut" id="zoom_out" title="Zoom Out" tabindex="8"> <button class="toolbarButton zoomOut" id="zoom_out" title="${_('Zoom Out')}" tabindex="8">
<span>Zoom Out</span> <span>${_('Zoom Out')}</span>
</button> </button>
<div class="splitToolbarButtonSeparator"></div> <div class="splitToolbarButtonSeparator"></div>
<button class="toolbarButton zoomIn" id="zoom_in" title="Zoom In" tabindex="9"> <button class="toolbarButton zoomIn" id="zoom_in" title="${_('Zoom In')}" tabindex="9">
<span>Zoom In</span> <span>${_('Zoom In')}</span>
</button> </button>
</div> </div>
<span id="scaleSelectContainer" class="dropdownToolbarButton"> <span id="scaleSelectContainer" class="dropdownToolbarButton">
<select id="scaleSelect" title="Zoom" oncontextmenu="return false;" tabindex="10"> <select id="scaleSelect" title="${_('Zoom')}" oncontextmenu="return false;" tabindex="10">
<!-- <!--
<option id="pageAutoOption" value="auto" selected="selected">Automatic Zoom</option> <option id="pageAutoOption" value="auto" selected="selected">${_('Automatic Zoom')}</option>
<option id="pageActualOption" value="page-actual">Actual Size</option> <option id="pageActualOption" value="page-actual">${_('Actual Size')}</option>
<option id="pageFitOption" value="page-fit">Fit Page</option> <option id="pageFitOption" value="page-fit">${_('Fit Page')}</option>
<option id="pageWidthOption" value="page-width">Full Width</option> <option id="pageWidthOption" value="page-width">${_('Full Width')}</option>
--> -->
<option id="customScaleOption" value="custom"></option> <option id="customScaleOption" value="custom"></option>
<option value="0.5">50%</option> <option value="0.5">50%</option>
<option value="0.75">75%</option> <option value="0.75">75%</option>
...@@ -94,7 +95,7 @@ ...@@ -94,7 +95,7 @@
%if 'chapters' in textbook: %if 'chapters' in textbook:
<div class="pdfbook-wrap"> <div class="pdfbook-wrap">
<div class="pdfbook-wrap-inner"> <div class="pdfbook-wrap-inner">
<section aria-label="Textbook Navigation" class="book-sidebar"> <section aria-label="${_('Textbook Navigation')}" class="book-sidebar">
<ul id="booknav" class="treeview-booknav"> <ul id="booknav" class="treeview-booknav">
<%def name="print_entry(entry, index_value)"> <%def name="print_entry(entry, index_value)">
<li id="pdfchapter-${index_value}"> <li id="pdfchapter-${index_value}">
...@@ -109,7 +110,6 @@ ...@@ -109,7 +110,6 @@
% endfor % endfor
</ul> </ul>
</section> </section>
%endif
<section id="viewerContainer" class="book"> <section id="viewerContainer" class="book">
<section class="page"> <section class="page">
...@@ -117,10 +117,10 @@ ...@@ -117,10 +117,10 @@
<nav> <nav>
<ul> <ul>
<li class="last"> <li class="last">
<a id="previous">${_("Previous page")}</a> <a id="previous">${_('Previous page')}</a>
</li> </li>
<li class="next"> <li class="next">
<a id="next">${_("Next page")}</a> <a id="next">${_('Next page')}</a>
</li> </li>
</ul> </ul>
</nav> </nav>
...@@ -129,6 +129,7 @@ ...@@ -129,6 +129,7 @@
</section> </section>
</div> <!-- pdfbook-wrap-inner --> </div> <!-- pdfbook-wrap-inner -->
</div> <!-- pdfbook-wrap --> </div> <!-- pdfbook-wrap -->
%endif
</div> <!-- mainContainer --> </div> <!-- mainContainer -->
</div> <!-- outerContainer --> </div> <!-- outerContainer -->
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>404</title></%block> <%block name="title"><title>404</title></%block>
<section class="outside-app"> <section class="outside-app">
<h1>Page not found</h1> <h1>${_("Page not found")}</h1>
<p>The page that you were looking for was not found. Go back to the <a href="/">homepage</a> or let us know about any pages that may have been moved at <a href="mailto:${settings.TECH_SUPPORT_EMAIL}">${settings.TECH_SUPPORT_EMAIL}</a>.</p> <p>${_('The page that you were looking for was not found. Go back to the {link_start}homepage{link_end} or let us know about any pages that may have been moved at {email}.').format(
link_start='<a href="/">', link_end='</a>', email='<a href="mailto:{email}">{email}</a>'.format(email=settings.TECH_SUPPORT_EMAIL))}</p>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>About edX</title></%block> <%block name="title"><title>${_("About edX")}</title></%block>
<section class="container about"> <section class="container about">
<nav> <nav>
<a href="${reverse('about_edx')}" class="active">Vision</a> <a href="${reverse('about_edx')}" class="active">${_("Vision")}</a>
<a href="${reverse('faq_edx')}">Faq</a> <a href="${reverse('faq_edx')}">${_("Faq")}</a>
<a href="${reverse('press')}">Press</a> <a href="${reverse('press')}">${_("Press")}</a>
<a href="${reverse('contact')}">Contact</a> <a href="${reverse('contact')}">${_("Contact")}</a>
</nav> </nav>
<section class="vision"> <section class="vision">
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
## <div class="logo"> ## <div class="logo">
## <img src="${static.url('images/edx-logo-large-bw.png')}"> ## <img src="${static.url('images/edx-logo-large-bw.png')}">
## </div> ## </div>
## <h2 class="mission-quote">&ldquo;The mission of <span class="edx">edX</span> is to enhance human fulfillment worldwide through online ## learning, transforming education in quality, efficiency and scale through technology and research, for the benefit of campus-based ## students and the worldwide community of online learners.&rdquo;</h2> ## <h2 class="mission-quote">&ldquo;${_('The mission of <span class="edx">edX</span> is to enhance human fulfillment worldwide through online ## learning, transforming education in quality, efficiency and scale through technology and research, for the benefit of campus-based ## students and the worldwide community of online learners.')}&rdquo;</h2>
## </div> ## </div>
<section class="message left"> <section class="message left">
...@@ -26,8 +27,8 @@ ...@@ -26,8 +27,8 @@
<img src="${static.url('images/about_1.jpg')}"> <img src="${static.url('images/about_1.jpg')}">
</div> </div>
<article> <article>
<h2>About <span class="edx">edX</span></h2> <h2>${_('About {span_start}edX{span_end}').format(span_start='<span class="edx">', span_end='</span>')}</h2>
<p>EdX is a not-for-profit enterprise of its founding partners Harvard University and the Massachusetts Institute of Technology that features learning designed specifically for interactive study via the web. Based on a long history of collaboration and their shared educational missions, the founders are creating a new online-learning experience with online courses that reflect their disciplinary breadth. Along with offering online courses, the institutions will use edX to research how students learn and how technology can transform learning&ndash;both on-campus and worldwide. Anant Agarwal, former Director of MIT's Computer Science and Artificial Intelligence Laboratory, serves as the first president of edX. EdX's goals combine the desire to reach out to students of all ages, means, and nations, and to deliver these teachings from a faculty who reflect the diversity of its audience. EdX is based in Cambridge, Massachusetts and is governed by MIT and Harvard.</p> <p>${_("EdX is a not-for-profit enterprise of its founding partners Harvard University and the Massachusetts Institute of Technology that features learning designed specifically for interactive study via the web. Based on a long history of collaboration and their shared educational missions, the founders are creating a new online-learning experience with online courses that reflect their disciplinary breadth. Along with offering online courses, the institutions will use edX to research how students learn and how technology can transform learning&ndash;both on-campus and worldwide. Anant Agarwal, former Director of MIT's Computer Science and Artificial Intelligence Laboratory, serves as the first president of edX. EdX's goals combine the desire to reach out to students of all ages, means, and nations, and to deliver these teachings from a faculty who reflect the diversity of its audience. EdX is based in Cambridge, Massachusetts and is governed by MIT and Harvard.")}</p>
</article> </article>
<hr class="fade-right-hr-divider"> <hr class="fade-right-hr-divider">
</section> </section>
...@@ -37,9 +38,9 @@ ...@@ -37,9 +38,9 @@
<img src="${static.url('images/university/harvard/about-harvard.jpg')}"> <img src="${static.url('images/university/harvard/about-harvard.jpg')}">
</div> </div>
<article> <article>
<h2>Harvard University</h2> <h2>${_("Harvard University")}</h2>
<p>Harvard University is devoted to excellence in teaching, learning, and research, and to developing leaders in many disciplines who make a difference globally. Harvard faculty are engaged with teaching and research to push the boundaries of human knowledge. The University has twelve degree-granting Schools in addition to the Radcliffe Institute for Advanced Study.</p> <p>${_("Harvard University is devoted to excellence in teaching, learning, and research, and to developing leaders in many disciplines who make a difference globally. Harvard faculty are engaged with teaching and research to push the boundaries of human knowledge. The University has twelve degree-granting Schools in addition to the Radcliffe Institute for Advanced Study.")}</p>
<p>Established in 1636, Harvard is the oldest institution of higher education in the United States. The University, which is based in Cambridge and Boston, Massachusetts, has an enrollment of over 20,000 degree candidates, including undergraduate, graduate, and professional students. Harvard has more than 360,000 alumni around the world.</p> <p>${_("Established in 1636, Harvard is the oldest institution of higher education in the United States. The University, which is based in Cambridge and Boston, Massachusetts, has an enrollment of over 20,000 degree candidates, including undergraduate, graduate, and professional students. Harvard has more than 360,000 alumni around the world.")}</p>
</article> </article>
<hr class="fade-left-hr-divider"> <hr class="fade-left-hr-divider">
</section> </section>
...@@ -49,10 +50,10 @@ ...@@ -49,10 +50,10 @@
<img src="${static.url('images/university/mit/about-mit.jpg')}"> <img src="${static.url('images/university/mit/about-mit.jpg')}">
</div> </div>
<article> <article>
<h2>Massachusetts Institute of Technology</h2> <h2>${_("Massachusetts Institute of Technology")}</h2>
<p>The Massachusetts Institute of Technology &mdash; a coeducational, privately endowed research university founded in 1861 &mdash; is dedicated to advancing knowledge and educating students in science, technology, and other areas of scholarship that will best serve the nation and the world in the 21st century. The Institute has close to 1,000 faculty and 10,000 undergraduate and graduate students. It is organized into five Schools: Architecture and Urban Planning; Engineering; Humanities, Arts, and Social Sciences; Sloan School of Management; and Science.</p> <p>${_("The Massachusetts Institute of Technology &mdash; a coeducational, privately endowed research university founded in 1861 &mdash; is dedicated to advancing knowledge and educating students in science, technology, and other areas of scholarship that will best serve the nation and the world in the 21st century. The Institute has close to 1,000 faculty and 10,000 undergraduate and graduate students. It is organized into five Schools: Architecture and Urban Planning; Engineering; Humanities, Arts, and Social Sciences; Sloan School of Management; and Science.")}</p>
<p>MIT's commitment to innovation has led to a host of scientific breakthroughs and technological advances. Achievements of the Institute's faculty and graduates have included the first chemical synthesis of penicillin and vitamin A, the development of inertial guidance systems, modern technologies for artificial limbs, and the magnetic core memory that made possible the development of digital computers. 78 alumni, faculty, researchers and staff have won Nobel Prizes.</p> <p>${_("MIT's commitment to innovation has led to a host of scientific breakthroughs and technological advances. Achievements of the Institute's faculty and graduates have included the first chemical synthesis of penicillin and vitamin A, the development of inertial guidance systems, modern technologies for artificial limbs, and the magnetic core memory that made possible the development of digital computers. 78 alumni, faculty, researchers and staff have won Nobel Prizes.")}</p>
<p>Current areas of research and education include neuroscience and the study of the brain and mind, bioengineering, cancer, energy, the environment and sustainable development, information sciences and technology, new media, financial technology, and entrepreneurship.</p> <p>${_("Current areas of research and education include neuroscience and the study of the brain and mind, bioengineering, cancer, energy, the environment and sustainable development, information sciences and technology, new media, financial technology, and entrepreneurship.")}</p>
</article> </article>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>Contact edX</title></%block> <%block name="title"><title>${_("Contact edX")}</title></%block>
<section class="container about"> <section class="container about">
<nav> <nav>
<a href="${reverse('about_edx')}">Vision</a> <a href="${reverse('about_edx')}">${_("Vision")}</a>
<a href="${reverse('faq_edx')}">Faq</a> <a href="${reverse('faq_edx')}">${_("Faq")}</a>
<a href="${reverse('press')}">Press</a> <a href="${reverse('press')}">${_("Press")}</a>
<a href="${reverse('contact')}" class="active">Contact</a> <a href="${reverse('contact')}" class="active">${_("Contact")}</a>
</nav> </nav>
<section class="contact"> <section class="contact">
...@@ -18,23 +19,36 @@ ...@@ -18,23 +19,36 @@
<img src="${static.url('images/contact-page.jpg')}"> <img src="${static.url('images/contact-page.jpg')}">
</div> </div>
<div class="contacts"> <div class="contacts">
<h2>Class Feedback</h2> <h2>${_("Class Feedback")}</h2>
<p>We are always seeking feedback to improve our courses. If you are an enrolled student and have any questions, feedback, suggestions, or any other issues specific to a particular class, please post on the discussion forums of that&nbsp;class.</p> <p>${_("We are always seeking feedback to improve our courses. If you are an enrolled student and have any questions, feedback, suggestions, or any other issues specific to a particular class, please post on the discussion forums of that&nbsp;class.")}</p>
<h2>General Inquiries and Feedback</h2> <h2>${_("General Inquiries and Feedback")}</h2>
<p>If you have a general question about edX please email <a href="mailto:info@edx.org">info@edx.org</a>. To see if your question has already been answered, visit our <a href="${reverse('faq_edx')}">FAQ page</a>. You can also join the discussion on our <a href="http://www.facebook.com/EdxOnline">Facebook page</a>. Though we may not have a chance to respond to every email, we take all feedback into consideration.</p> <p>${_('If you have a general question about edX please email {email}. To see if your question has already been answered, visit our {faq_link_start}FAQ page{faq_link_end}. You can also join the discussion on our {fb_link_start}facebook page{fb_link_end}. Though we may not have a chance to respond to every email, we take all feedback into consideration.').format(
email='<a href="mailto:info@edx.org">info@edx.org</a>',
<h2>Technical Inquiries and Feedback</h2> faq_link_start='<a href="{url}">'.format(url=reverse('faq_edx')),
<p>If you have suggestions/feedback about the overall edX platform, or are facing general technical issues with the platform (e.g., issues with email addresses and passwords), you can reach us at <a href="mailto:technical@edx.org">technical@edx.org</a>. For technical questions, please make sure you are using a current version of Firefox or Chrome, and include browser and version in your e-mail, as well as screenshots or other pertinent details. If you find a bug or other issues, you can reach us at the following: <a href="mailto:bugs@edx.org">bugs@edx.org</a>.</p> faq_link_end='</a>',
fb_link_start='<a href="http://www.facebook.com/EdxOnline">'.
<h2>Media</h2> fb_link_end='</a>'
<p>Please visit our <a href="${reverse('press')}">media/press page</a> for more information. For any media or press enquiries, please email <a href="mailto:press@edx.org">press@edx.org</a>.</p> )}</p>
<h2>Universities</h2> <h2>${_("Technical Inquiries and Feedback")}</h2>
<p>If you are a university wishing to collaborate or with questions about edX, please email <a href="mailto:university@edx.org">university@edx.org</a>.</p> <p>${_('If you have suggestions/feedback about the overall edX platform, or are facing general technical issues with the platform (e.g., issues with email addresses and passwords), you can reach us at {tech_email}. For technical questions, please make sure you are using a current version of Firefox or Chrome, and include browser and version in your e-mail, as well as screenshots or other pertinent details. If you find a bug or other issues, you can reach us at the following: {bug_email}.').format(
tech_email='<a href="mailto:technical@edx.org">technical@edx.org</a>',
<h2>Accessibility</h2> bug_email='<a href="mailto:bugs@edx.org">bugs@edx.org</a>'
<p>EdX strives to create an innovative online-learning platform that promotes accessibility for everyone, including students with disabilities. We are dedicated to improving the accessibility of the platform and welcome your comments or questions at <a href="mailto:accessibility@edx.org">accessibility@edx.org.</a></p> )}</p>
<h2>${_("Media")}</h2>
<p>${_('Please visit our {link_start}media/press page{link_end} for more information. For any media or press inquiries, please email {email}.').format(
link_start='<a href="{url}">'.format(url=reverse('faq_edx')),
link_end='</a>',
email='<a href="mailto:{email}">{email}</a>'.format(email="press@edx.org"),
)}</p>
<h2>${_("Universities")}</h2>
<p>${_('If you are a university wishing to Collaborate or with questions about edX, please email {email}.'.format(email='<a href="mailto:{email}">{email}</a>'.format(email="university@edx.org"))}</p>
<h2>${_("Accessibility")}</h2>
<p>${_('EdX strives to create an innovative online-learning platform that promotes accessibility for everyone, including students with disabilities. We are dedicated to improving the accessibility of the platform and welcome your comments or questions at {email}.'.format(email='<a href="mailto:{email}">{email}</a>'.format(email="accessibility@edx.org"))}</p>
</div> </div>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>Copyright</title></%block> <%block name="title"><title>${_("Copyright")}</title></%block>
<section class="static-container copyright"> <section class="static-container copyright">
<h1> Licensing Information </h1> <h1>${_(" Licensing Information ")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<div class="inner-wrapper"> <div class="inner-wrapper">
<h2>Videos and Exercises</h2> <h2>${_("Videos and Exercises")}</h2>
<p> Copyright &copy; 2012 MIT. All rights reserved. In order to further MIT's goal of making education accessible and affordable to the world, MIT is planning to make <i>MITx</i> course content available under open source licenses.</p> <p>${_(" Copyright &copy; 2012 MIT. All rights reserved. In order to further MIT's goal of making education accessible and affordable to the world, MIT is planning to make <i>MITx</i> course content available under open source licenses.")}</p>
<h2>Textbook</h2> <h2>${_("Textbook")}</h2>
<p> Copyright &copy; 2005 Elsevier Inc. All Rights Reserved. Used with permission. While our goal is to build courses with as much free and open content as possible, we apologize that we do not have the ability to do so entirely. </p> <p>${_(" Copyright &copy; 2005 Elsevier Inc. All Rights Reserved. Used with permission. While our goal is to build courses with as much free and open content as possible, we apologize that we do not have the ability to do so entirely. ")}</p>
<h2>Student-generated content</h2> <h2>${_("Student-generated content")}</h2>
<p>Copyright &copy; 2012. All Rights Reserved. Due to privacy concerns, we do not know what portion of these will be released under open licenses.</p> <p>${_("Copyright &copy; 2012. All Rights Reserved. Due to privacy concerns, we do not know what portion of these will be released under open licenses.")}</p>
<p>MIT and <i>MITx</i> are trademarks of the Massachusetts Institute of Technology, and may not be used without permission.</p> <p>${_("MIT and <i>MITx</i> are trademarks of the Massachusetts Institute of Technology, and may not be used without permission.")}</p>
</div> </div>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>FAQ</title></%block> <%block name="title"><title>${_("FAQ")}</title></%block>
<section class="container about"> <section class="container about">
<nav> <nav>
<a href="${reverse('about_edx')}">Vision</a> <a href="${reverse('about_edx')}">${_("Vision")}</a>
<a href="${reverse('faq_edx')}" class="active">Faq</a> <a href="${reverse('faq_edx')}" class="active">${_("Faq")}</a>
<a href="${reverse('press')}">Press</a> <a href="${reverse('press')}">${_("Press")}</a>
<a href="${reverse('contact')}">Contact</a> <a href="${reverse('contact')}">${_("Contact")}</a>
</nav> </nav>
<section class="faq"> <section class="faq">
<section class="responses"> <section class="responses">
<section id="the-organization" class="category"> <section id="the-organization" class="category">
<h2>Organization</h2> <h2>${_("Organization")}</h2>
<article class="response"> <article class="response">
<h3>What is edX?</h3> <h3>${_("What is edX?")}</h3>
<p>edX is a not-for-profit enterprise of its founding partners, the Massachusetts Institute of Technology (MIT) and Harvard University that offers online learning to on-campus students and to millions of people around the world. To do so, edX is building an open-source online learning platform and hosts an online web portal at <a href="http://www.edx.org">www.edx.org</a> for online education.</p> <p>${_('edX is a not-for-profit enterprise of its founding partners, the Massachusetts Institute of Technology (MIT) and Harvard University that offers online learning to on-campus students and to millions of people around the world. To do so, edX is building an open-source online learning platform and hosts an online web portal at <a href=\"http://www.edx.org\">www.edx.org</a> for online education.')}</p>
<p>EdX currently offers HarvardX, MITx and BerkeleyX classes online for free. Beginning in fall 2013, edX will offer WellesleyX , GeorgetownX and the University of Texas System classes online for free. The UT System includes nine universities and six health institutions. In 2014, edX will further expand its consortium, including several international schools, when it begins offering courses from École Polytechnique Fédérale de Lausanne, McGill University, University of Toronto, Australian National University, Delft University of Technology, and Rice University. The edX institutions aim to extend their collective reach to build a global community of online students. Along with offering online courses, the three universities undertake research on how students learn and how technology can transform learning both on-campus and online throughout the world.</p> <p>${_("EdX currently offers HarvardX, MITx and BerkeleyX classes online for free. Beginning in fall 2013, edX will offer WellesleyX , GeorgetownX and the University of Texas System classes online for free. The UT System includes nine universities and six health institutions. In 2014, edX will further expand its consortium, including several international schools, when it begins offering courses from École Polytechnique Fédérale de Lausanne, McGill University, University of Toronto, Australian National University, Delft University of Technology, and Rice University. The edX institutions aim to extend their collective reach to build a global community of online students. Along with offering online courses, the three universities undertake research on how students learn and how technology can transform learning both on-campus and online throughout the world.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>Will edX be adding additional X Universities?</h3> <h3>${_("Will edX be adding additional X Universities?")}</h3>
<p>More than 200 institutions from around the world have expressed interest in collaborating with edX since Harvard and MIT announced its creation in May. EdX is focused above all on quality and developing the best not-for-profit model for online education. In addition to providing online courses on the edX platform, the "X University" Consortium will be a forum in which members can share experiences around online learning. Harvard, MIT, UC Berkeley, the University of Texas system and the other consortium members will work collaboratively to establish the "X University" Consortium, whose membership will expand to include additional "X Universities." As noted above, edX’s newest consortium members include Wellesley, Georgetown, École Polytechnique Fédérale de Lausanne, McGill University, University of Toronto, Australian National University, Delft University of Technology, and Rice University. Each member of the consortium will offer courses on the edX platform as an "X University." The gathering of many universities' educational content together on one site will enable learners worldwide to access the offered course content of any participating university from a single website, and to use a set of online educational tools shared by all participating universities.</p> <p>${_("More than 200 institutions from around the world have expressed interest in collaborating with edX since Harvard and MIT announced its creation in May. EdX is focused above all on quality and developing the best not-for-profit model for online education. In addition to providing online courses on the edX platform, the \"X University\" Consortium will be a forum in which members can share experiences around online learning. Harvard, MIT, UC Berkeley, the University of Texas system and the other consortium members will work collaboratively to establish the \"X University\" Consortium, whose membership will expand to include additional \"X Universities.\" As noted above, edX's newest consortium members include Wellesley, Georgetown, École Polytechnique Fédérale de Lausanne, McGill University, University of Toronto, Australian National University, Delft University of Technology, and Rice University. Each member of the consortium will offer courses on the edX platform as an \"X University\". The gathering of many universities' educational content together on one site will enable learners worldwide to access the offered course content of any participating university from a single website, and to use a set of online educational tools shared by all participating universities.")}</p>
<p>edX will actively explore the addition of other institutions from around the world to the edX platform, and looks forward to adding more "X Universities."</p> <p>${_("edX will actively explore the addition of other institutions from around the world to the edX platform, and looks forward to adding more \"X Universities\".")}</p>
</article> </article>
</section> </section>
<section id="students" class="category"> <section id="students" class="category">
<h2>Students</h2> <h2>${_("Students")}</h2>
<article class="response"> <article class="response">
<h3>Who can take edX courses? Will there be an admissions process?</h3> <h3>${_("Who can take edX courses? Will there be an admissions process?")}</h3>
<p>EdX will be available to anyone in the world with an internet connection, and in general, there will not be an admissions process.</p> <p>${_("EdX will be available to anyone in the world with an internet connection, and in general, there will not be an admissions process.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>Will certificates be awarded?</h3> <h3>${_("Will certificates be awarded?")}</h3>
<p>Yes. Online learners who demonstrate mastery of subjects can earn a certificate <p>${_("Yes. Online learners who demonstrate mastery of subjects can earn a certificate "
of mastery. Certificates will be issued at the discretion of edX and the underlying "of mastery. Certificates will be issued at the discretion of edX and the underlying "
X University that offered the course under the name of the underlying "X "X University that offered the course under the name of the underlying \"X "
University" from where the course originated, i.e. HarvardX, MITx or BerkeleyX. "University\" from where the course originated, i.e. HarvardX, MITx or BerkeleyX. "
For the courses in Fall 2012, those certificates will be free. There is a plan to "For the courses in Fall 2012, those certificates will be free. There is a plan to "
charge a modest fee for certificates in the future. Note: At this time, edX is "charge a modest fee for certificates in the future. Note: At this time, edX is "
holding certificates for learners connected with Cuba, Iran, Syria and Sudan "holding certificates for learners connected with Cuba, Iran, Syria and Sudan "
pending confirmation that the issuance is in compliance with U.S. embargoes.</p> "pending confirmation that the issuance is in compliance with U.S. embargoes.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>What will the scope of the online courses be? How many? Which faculty?</h3> <h3>${_("What will the scope of the online courses be? How many? Which faculty?")}</h3>
<p>Our goal is to offer a wide variety of courses across disciplines. There are currently <a href="/courses">fifteen</a> offered on the edX platform.</p> <p>${_('Our goal is to offer a wide variety of courses across disciplines. There are currently {link_start}fifteen{link_end} offered on the edX platform.').format(link_start='<a href="/courses">', link_end='</a>')}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>Who is the learner? Domestic or international? Age range?</h3> <h3>${_("Who is the learner? Domestic or international? Age range?")}</h3>
<p>Improving teaching and learning for students on our campuses is one of our primary goals. Beyond that, we don't have a target group of potential learners, as the goal is to make these courses available to anyone in the world - from any demographic - who has interest in advancing their own knowledge. The only requirement is to have a computer with an internet connection. More than 150,000 students from over 160 countries registered for MITx's first course, 6.002x: Circuits and Electronics. The age range of students certified in this course was from 14 to 74 years-old.</p> <p>${_("Improving teaching and learning for students on our campuses is one of our primary goals. Beyond that, we don't have a target group of potential learners, as the goal is to make these courses available to anyone in the world - from any demographic - who has interest in advancing their own knowledge. The only requirement is to have a computer with an internet connection. More than 150,000 students from over 160 countries registered for MITx's first course, 6.002x: Circuits and Electronics. The age range of students certified in this course was from 14 to 74 years-old.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>Will participating universities' standards apply to all courses offered on the edX platform?</h3> <h3>${_("Will participating universities' standards apply to all courses offered on the edX platform?")}</h3>
<p>Yes: the reach changes exponentially, but the rigor remains the same.</p> <p>${_("Yes: the reach changes exponentially, but the rigor remains the same.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>How do you intend to test whether this approach is improving learning?</h3> <h3>${_("How do you intend to test whether this approach is improving learning?")}</h3>
<p>Edx institutions have assembled faculty members who will collect and analyze data to assess results and the impact edX is having on learning.</p> <p>${_("Edx institutions have assembled faculty members who will collect and analyze data to assess results and the impact edX is having on learning.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>How may I apply to study with edX?</h3> <h3>${_("How may I apply to study with edX?")}</h3>
<p>Simply complete the online <a href="#signup-modal" rel="leanModal">signup form</a>. Enrolling will create your unique student record in the edX database, allow you to register for classes, and to receive a certificate on successful completion.</p> <p>${_('Simply complete the online {link_start}signup form{link_end}. Enrolling will create your unique student record in the edX database, allow you to register for classes, and to receive a certificate on successful completion.').format(link_start='<a href="#signup-modal" rel="leanModal">', link_end='</a>')}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>How may another university participate in edX? </h3> <h3>${_("How may another university participate in edX? ")}</h3>
<p>If you are from a university interested in discussing edX, please email <a href="mailto:university@edx.org">university@edx.org</a></p> <p>${_('If you are from a university interested in discussing edX, please email {email}').format(email='<a href="mailto:university@edx.org">university@edx.org</a>')}</p>
</article> </article>
</section> </section>
<section id="technology-platform" class="category"> <section id="technology-platform" class="category">
<h2>Technology Platform</h2> <h2>${_("Technology Platform")}</h2>
<article class="response"> <article class="response">
<h3>What technology will edX use?</h3> <h3>${_("What technology will edX use?")}</h3>
<p>The edX open-source online learning platform will feature interactive learning designed specifically for the web. Features will include: self-paced learning, online discussion groups, wiki-based collaborative learning, assessment of learning as a student progresses through a course, and online laboratories and other interactive learning tools. The platform will also serve as a laboratory from which data will be gathered to better understand how students learn. Because it is open source, the platform will be continuously improved by a worldwide community of collaborators, with new features added as needs arise.</p> <p>${_("The edX open-source online learning platform will feature interactive learning designed specifically for the web. Features will include: self-paced learning, online discussion groups, wiki-based collaborative learning, assessment of learning as a student progresses through a course, and online laboratories and other interactive learning tools. The platform will also serve as a laboratory from which data will be gathered to better understand how students learn. Because it is open source, the platform will be continuously improved by a worldwide community of collaborators, with new features added as needs arise.")}</p>
<p>The first version of the technology was used in the first <em>MITx</em> course, 6.002x Circuits and Electronics, which launched in Spring, 2012.</p> <p>${_("The first version of the technology was used in the first <em>MITx</em> course, 6.002x Circuits and Electronics, which launched in Spring, 2012.")}</p>
</article> </article>
<article class="response"> <article class="response">
<h3>How is this different from what other universities are doing online?</h3> <h3>${_("How is this different from what other universities are doing online?")}</h3>
<p>EdX is a not-for-profit enterprise built upon the shared educational missions of its founding partners, Harvard University and MIT. The edX platform will be available as open source. Also, a primary goal of edX is to improve teaching and learning on campus by experimenting with blended models of learning and by supporting faculty in conducting significant research on how students learn.</p> <p>${_("EdX is a not-for-profit enterprise built upon the shared educational missions of its founding partners, Harvard University and MIT. The edX platform will be available as open source. Also, a primary goal of edX is to improve teaching and learning on campus by experimenting with blended models of learning and by supporting faculty in conducting significant research on how students learn.")}</p>
</article> </article>
</section> </section>
</section> </section>
<nav class="categories"> <nav class="categories">
<a href="#organization">Organization</a> <a href="#organization">${_("Organization")}</a>
<a href="${reverse('help_edx')}">Students</a> <a href="${reverse('help_edx')}">${_("Students")}</a>
<a href="#technology-platform">Technology Platform</a> <a href="#technology-platform">${_("Technology Platform")}</a>
</nav> </nav>
</section> </section>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>edX Help</title></%block> <%block name="title"><title>${_("edX Help")}</title></%block>
<%block name="js_extra"> <%block name="js_extra">
<script src="${static.url('js/help.js')}"></script> <script src="${static.url('js/help.js')}"></script>
</%block> </%block>
<section class="static-container help"> <section class="static-container help">
<h1>Help</h1> <h1>${_("Help")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<section class="questions"> <section class="questions">
<section class="responses"> <section class="responses">
<section id="edx_basics_faq" class="category"> <section id="edx_basics_faq" class="category">
<h2>edX Basics</h2> <h2>${_("edX Basics")}</h2>
<article class="response"> <article class="response">
<h3 class="question">How do I sign up to take a class?</h3> <h3 class="question">${_("How do I sign up to take a class?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_0"> <div class ="answer" id="edx_basics_faq_answer_0">
<p>Simply create an edX account (it's free) and then register for the course of your choice (also free). Follow the prompts on the edX website.</p> <p>${_("Simply create an edX account (it's free) and then register for the course of your choice (also free). Follow the prompts on the edX website.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What does it cost to take a class? Is this really free?</h3> <h3 class="question">${_("What does it cost to take a class? Is this really free?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_1"> <div class ="answer" id="edx_basics_faq_answer_1">
<p>EdX courses are free for everyone. All you need is an Internet connection.</p> <p>${_("EdX courses are free for everyone. All you need is an Internet connection.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What happens after I sign up for a course?</h3> <h3 class="question">${_("What happens after I sign up for a course?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_2"> <div class ="answer" id="edx_basics_faq_answer_2">
<p>You will receive an activation email. Follow the prompts in that email to activate your account. You will need to log in each time you access your course(s). Once the course begins, it’s time to hit the virtual books. You can access the lectures, homework, tutorials, etc., for each week, one week at a time.</p> <p>${_("You will receive an activation email. Follow the prompts in that email to activate your account. You will need to log in each time you access your course(s). Once the course begins, it\'s time to hit the virtual books. You can access the lectures, homework, tutorials, etc., for each week, one week at a time.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Who can take an edX course?</h3> <h3 class="question">${_("Who can take an edX course?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_3"> <div class ="answer" id="edx_basics_faq_answer_3">
<p>You, your mom, your little brother, your grandfather -- anyone with Internet access can take an edX course. Free.</p> <p>${_("You, your mom, your little brother, your grandfather -- anyone with Internet access can take an edX course. Free.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Are the courses only offered in English?</h3> <h3 class="question">${_("Are the courses only offered in English?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_4"> <div class ="answer" id="edx_basics_faq_answer_4">
<p>Some edX courses include a translation of the lecture in the text bar to the right of the video. Some have the specific option of requesting a course in other languages. Please check your course to determine foreign language options.</p> <p>${_("Some edX courses include a translation of the lecture in the text bar to the right of the video. Some have the specific option of requesting a course in other languages. Please check your course to determine foreign language options.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">When will there be more courses on other subjects?</h3> <h3 class="question">${_("When will there be more courses on other subjects?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_5"> <div class ="answer" id="edx_basics_faq_answer_5">
<p>We are continually reviewing and creating courses to add to the edX platform. Please check the website for future course announcements. You can also "friend" edX on Facebook – you’ll receive updates and announcements.</p> <p>${_("We are continually reviewing and creating courses to add to the edX platform. Please check the website for future course announcements. You can also \"friend\" edX on Facebook - you\'ll receive updates and announcements.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">When does my course start and/or finish?</h3> <h3 class="question">${_("When does my course start and/or finish?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_7"> <div class ="answer" id="edx_basics_faq_answer_7">
<p>You can find the start and stop dates for each course on each course description page.</p> <p>${_("You can find the start and stop dates for each course on each course description page.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Is there a walk-through of a sample course session?</h3> <h3 class="question">${_("Is there a walk-through of a sample course session?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_8"> <div class ="answer" id="edx_basics_faq_answer_8">
<p> There are video introductions for every course that will give you a good sense of how the course works and what to expect.</p> <p>${_(" There are video introductions for every course that will give you a good sense of how the course works and what to expect.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I don't have the prerequisites for a course that I am interested in. Can I still take the course?</h3> <h3 class="question">${_("I don't have the prerequisites for a course that I am interested in. Can I still take the course?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_9"> <div class ="answer" id="edx_basics_faq_answer_9">
<p>We do not check students for prerequisites, so you are allowed to attempt the course. However, if you do not know prerequisite subjects before taking a class, you will have to learn the prerequisite material on your own over the semester, which can be an extremely difficult task.</p> <p>${_("We do not check students for prerequisites, so you are allowed to attempt the course. However, if you do not know prerequisite subjects before taking a class, you will have to learn the prerequisite material on your own over the semester, which can be an extremely difficult task.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What happens if I have to quit a course? Are there any penalties? Will I be able to take another course in the future?</h3> <h3 class="question">${_("What happens if I have to quit a course? Are there any penalties? Will I be able to take another course in the future?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_10"> <div class ="answer" id="edx_basics_faq_answer_10">
<p>You may unregister from an edX course at anytime, there are absolutely no penalties associated with incomplete edX studies, and you may register for the same course (provided we are still offering it) at a later time.</p> <p>${_("You may unregister from an edX course at anytime, there are absolutely no penalties associated with incomplete edX studies, and you may register for the same course (provided we are still offering it) at a later time.")}</p>
</div> </div>
</article> </article>
</section> </section>
<section id="classes_faq" class="category"> <section id="classes_faq" class="category">
<h2>The Classes</h2> <h2>${_("The Classes")}</h2>
<article class="response"> <article class="response">
<h3 class="question">How much work will I have to do to pass my course?</h3> <h3 class="question">${_("How much work will I have to do to pass my course?")}</h3>
<div class ="answer" id="classes_faq_answer_0"> <div class ="answer" id="classes_faq_answer_0">
<p>The projected hours of study required for each course are described on the specific course description page.</p> <p>${_("The projected hours of study required for each course are described on the specific course description page.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What should I do before I take a course (prerequisites)?</h3> <h3 class="question">${_("What should I do before I take a course (prerequisites)?")}</h3>
<div class ="answer" id="classes_faq_answer_1"> <div class ="answer" id="classes_faq_answer_1">
<p>Each course is different – some have prerequisites, and some don’t. Take a look at your specific course’s recommended prerequisites. If you do not have a particular prerequisite, you may still take the course.</p> <p>${_("Each course is different - some have prerequisites, and some don\'t. Take a look at your specific course/'s recommended prerequisites. If you do not have a particular prerequisite, you may still take the course.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What books should I read? (I am interested in reading materials before the class starts).</h3> <h3 class="question">${_("What books should I read? (I am interested in reading materials before the class starts).")}</h3>
<div class ="answer" id="classes_faq_answer_2"> <div class ="answer" id="classes_faq_answer_2">
<p>Take a look at the specific course prerequisites. All required academic materials will be provided during the course, within the browser. Some of the course descriptions may list additional resources. For supplemental reading material before or during the course, you can post a question on the course’s Discussion Forum to ask your online coursemates for suggestions.</p> <p>${_("Take a look at the specific course prerequisites. All required academic materials will be provided during the course, within the browser. Some of the course descriptions may list additional resources. For supplemental reading material before or during the course, you can post a question on the course\'s Discussion Forum to ask your online coursemates for suggestions.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question"> Can I download the book for my course?</h3> <h3 class="question">${_(" Can I download the book for my course?")}</h3>
<div class ="answer" id="classes_faq_answer_3"> <div class ="answer" id="classes_faq_answer_3">
<p>EdX book content may only be viewed within the browser, and downloading it violates copyright laws. If you need or want a hard copy of the book, we recommend that you purchase a copy.</p> <p>${_("EdX book content may only be viewed within the browser, and downloading it violates copyright laws. If you need or want a hard copy of the book, we recommend that you purchase a copy.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Can I take more than one course at a time?</h3> <h3 class="question">${_("Can I take more than one course at a time?")}</h3>
<div class ="answer" id="classes_faq_answer_4"> <div class ="answer" id="classes_faq_answer_4">
<p>You may take multiple edX courses, however we recommend checking the requirements on each course description page to determine your available study hours and the demands of the intended courses.</p> <p>${_("You may take multiple edX courses, however we recommend checking the requirements on each course description page to determine your available study hours and the demands of the intended courses.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How do I log in to take an edX class?</h3> <h3 class="question">${_("How do I log in to take an edX class?")}</h3>
<div class ="answer" id="classes_faq_answer_5"> <div class ="answer" id="classes_faq_answer_5">
<p>Once you sign up for a course and activate your account, click on the "Log In" button on the edx.org home page. You will need to type in your email address and edX password each time you log in.</p> <p>${_("Once you sign up for a course and activate your account, click on the \"Log In\" button on the edx.org home page. You will need to type in your email address and edX password each time you log in.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What time is the class?</h3> <h3 class="question">${_("What time is the class?")}</h3>
<div class ="answer" id="classes_faq_answer_6"> <div class ="answer" id="classes_faq_answer_6">
<p>EdX classes take place at your convenience. Prefer to sleep in and study late? No worries. Videos and problem sets are available 24 hours a day, which means you can watch video and complete work whenever you have spare time. You simply log in to your course via the Internet and work through the course material, one week at a time.</p> <p>${_("EdX classes take place at your convenience. Prefer to sleep in and study late? No worries. Videos and problem sets are available 24 hours a day, which means you can watch video and complete work whenever you have spare time. You simply log in to your course via the Internet and work through the course material, one week at a time.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">If I miss a week, how does this affect my grade?</h3> <h3 class="question">${_("If I miss a week, how does this affect my grade?")}</h3>
<div class ="answer" id="classes_faq_answer_7"> <div class ="answer" id="classes_faq_answer_7">
<p>It is certainly possible to pass an edX course if you miss a week; however, coursework is progressive, so you should review and study what you may have missed. You can check your progress dashboard in the course to see your course average along the way if you have any concerns.</p> <p>${_("It is certainly possible to pass an edX course if you miss a week; however, coursework is progressive, so you should review and study what you may have missed. You can check your progress dashboard in the course to see your course average along the way if you have any concerns.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How can I meet/find other students?</h3> <h3 class="question">${_("How can I meet/find other students?")}</h3>
<div class ="answer" id="classes_faq_answer_8"> <div class ="answer" id="classes_faq_answer_8">
<p>All edX courses have Discussion Forums where you can chat with and help each other within the framework of the Honor Code.</p> <p>${_("All edX courses have Discussion Forums where you can chat with and help each other within the framework of the Honor Code.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How can I talk to professors, fellows and teaching assistants?</h3> <h3 class="question">${_("How can I talk to professors, fellows and teaching assistants?")}</h3>
<div class ="answer" id="classes_faq_answer_9"> <div class ="answer" id="classes_faq_answer_9">
<p>The Discussion Forums are the best place to reach out to the edX teaching team for your class, and you don’t have to wait in line or rearrange your schedule to fit your professor’s – just post your questions. The response isn’t always immediate, but it’s usually pretty darned quick.</p> <p>${_("The Discussion Forums are the best place to reach out to the edX teaching team for your class, and you don\'t have to wait in line or rearrange your schedule to fit your professor'\s - just post your questions. The response isn\'t always immediate, but it\'s usually pretty darned quick.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Getting help.</h3> <h3 class="question">${_("Getting help.")}</h3>
<div class="answer" id="classes_faq_answer_10"> <div class="answer" id="classes_faq_answer_10">
<p>You have a vibrant, global community of fellow online learners available 24-7 to help with the course within the framework of the Honor Code, as well as support from the TAs who monitor the course. Take a look at the course’s Discussion Forum where you can review questions, answers and comments from fellow online learners, as well as post a question.</p> <p>${_("You have a vibrant, global community of fellow online learners available 24-7 to help with the course within the framework of the Honor Code, as well as support from the TAs who monitor the course. Take a look at the course\'s Discussion Forum where you can review questions, answers and comments from fellow online learners, as well as post a question.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Can I re-take a course?</h3> <h3 class="question">${_("Can I re-take a course?")}</h3>
<div class ="answer" id="classes_faq_answer_11"> <div class ="answer" id="classes_faq_answer_11">
<p>Good news: there are unlimited "mulligans" in edX. You may re-take edX courses as often as you wish. Your performance in any particular offering of a course will not effect your standing in future offerings of any edX course, including future offerings of the same course.</p> <p>${_("Good news: there are unlimited \"mulligans\" in edX. You may re-take edX courses as often as you wish. Your performance in any particular offering of a course will not effect your standing in future offerings of any edX course, including future offerings of the same course.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Enrollment for a course that I am interested in is open, but the course has already started. Can I still enroll?</h3> <h3 class="question">${_("Enrollment for a course that I am interested in is open, but the course has already started. Can I still enroll?")}</h3>
<div class ="answer" id="classes_faq_answer_12"> <div class ="answer" id="classes_faq_answer_12">
<p>Yes, but you will not be able to turn in any assignments or exams that have already been due. If it is early in the course, you might still be able to earn enough points for a certificate, but you will have to check with the course in question in order to find out more.</p> <p>${_("Yes, but you will not be able to turn in any assignments or exams that have already been due. If it is early in the course, you might still be able to earn enough points for a certificate, but you will have to check with the course in question in order to find out more.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Is there an exam at the end?</h3> <h3 class="question">${_("Is there an exam at the end?")}</h3>
<div class ="answer" id="classes_faq_answer_13"> <div class ="answer" id="classes_faq_answer_13">
<p>Different courses have slightly different structures. Please check the course material description to see if there is a final exam or final project.</p> <p>${_("Different courses have slightly different structures. Please check the course material description to see if there is a final exam or final project.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Will the same courses be offered again in the future?</h3> <h3 class="question">${_("Will the same courses be offered again in the future?")}</h3>
<div class ="answer" id="classes_faq_answer_14"> <div class ="answer" id="classes_faq_answer_14">
<p>Existing edX courses will be re-offered, and more courses added.</p> <p>${_("Existing edX courses will be re-offered, and more courses added.")}</p>
</div> </div>
</article> </article>
</section> </section>
<section id="certificates_and_credits_faq" class="category"> <section id="certificates_and_credits_faq" class="category">
<h2>Certificates & Credits</h2> <h2>${_("Certificates & Credits")}</h2>
<article class="response"> <article class="response">
<h3 class="question">Will I get a certificate for taking an edX course?</h3> <h3 class="question">${_("Will I get a certificate for taking an edX course?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_0"> <div class ="answer" id="certificates_and_credits_faq_answer_0">
<p>Online learners who receive a passing grade for a course will receive a certificate <p>${_("Online learners who receive a passing grade for a course will receive a certificate "
of mastery at the discretion of edX and the underlying X University that offered "of mastery at the discretion of edX and the underlying X University that offered "
the course. For example, a certificate of mastery for MITx’s 6.002x Circuits &amp; "the course. For example, a certificate of mastery for MITx\'s 6.002x Circuits &amp; "
Electronics will come from edX and MITx.</p> "Electronics will come from edX and MITx.")}</p>
<p>If you passed the course, your certificate of mastery will be delivered online <p>${_("If you passed the course, your certificate of mastery will be delivered online "
through edx.org. So be sure to check your email in the weeks following the final "through edx.org. So be sure to check your email in the weeks following the final "
grading – you will be able to download and print your certificate. Note: At this "grading - you will be able to download and print your certificate. Note: At this "
time, edX is holding certificates for learners connected with Cuba, Iran, Syria "time, edX is holding certificates for learners connected with Cuba, Iran, Syria "
and Sudan pending confirmation that the issuance is in compliance with U.S. "and Sudan pending confirmation that the issuance is in compliance with U.S. "
embargoes.</p> "embargoes.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How are edX certificates delivered?</h3> <h3 class="question">${_("How are edX certificates delivered?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_1"> <div class ="answer" id="certificates_and_credits_faq_answer_1">
<p>EdX certificates are delivered online through edx.org. So be sure to check your email in the weeks following the final grading – you will be able to download and print your certificate.</p> <p>${_("EdX certificates are delivered online through edx.org. So be sure to check your email in the weeks following the final grading - you will be able to download and print your certificate.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">What is the difference between a proctored certificate and an honor code certificate?</h3> <h3 class="question">${_("What is the difference between a proctored certificate and an honor code certificate?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_2"> <div class ="answer" id="certificates_and_credits_faq_answer_2">
<p>A proctored certificate is given to students who take and pass an exam under proctored conditions. An honor-code certificate is given to students who have completed all of the necessary online coursework associated with a course and have signed <link> the edX honor code </link>.</p> <p>${_("A proctored certificate is given to students who take and pass an exam under proctored conditions. An honor-code certificate is given to students who have completed all of the necessary online coursework associated with a course and have signed <link> the edX honor code </link>.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Can I get both a proctored certificate and an honor code certificate?</h3> <h3 class="question">${_("Can I get both a proctored certificate and an honor code certificate?")}</h3>
<div class="answer" id="certificates_and_credits_faq_answer_3"> <div class="answer" id="certificates_and_credits_faq_answer_3">
<p>Yes. The requirements for both certificates can be independently satisfied.</p> <p>${_("Yes. The requirements for both certificates can be independently satisfied.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Will my grade be shown on my certificate?</h3> <h3 class="question">${_("Will my grade be shown on my certificate?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_4"> <div class ="answer" id="certificates_and_credits_faq_answer_4">
<p>No. Grades are not displayed on either honor code or proctored certificates.</p> <p>${_("No. Grades are not displayed on either honor code or proctored certificates.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How can I talk to professors, fellows and teaching assistants?</h3> <h3 class="question">${_("How can I talk to professors, fellows and teaching assistants?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_5"> <div class ="answer" id="certificates_and_credits_faq_answer_5">
<p>The Discussion Forums are the best place to reach out to the edX teaching team for your class, and you don’t have to wait in line or rearrange your schedule to fit your professor’s – just post your questions. The response isn’t always immediate, but it’s usually pretty darned quick.</p> <p>${_("The Discussion Forums are the best place to reach out to the edX teaching team for your class, and you don\'t have to wait in line or rearrange your schedule to fit your professor\'s - just post your questions. The response isn/'t always immediate, but it/'s usually pretty darned quick.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">The only certificates distributed with grades by edX were for the initial prototype course.</h3> <h3 class="question">${_("The only certificates distributed with grades by edX were for the initial prototype course.")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_6"> <div class ="answer" id="certificates_and_credits_faq_answer_6">
<p>You may unregister from an edX course at anytime, there are absolutely no penalties associated with incomplete edX studies, and you may register for the same course (provided we are still offering it) at a later time.</p> <p>${_("You may unregister from an edX course at anytime, there are absolutely no penalties associated with incomplete edX studies, and you may register for the same course (provided we are still offering it) at a later time.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Will my university accept my edX coursework for credit?</h3> <h3 class="question">${_("Will my university accept my edX coursework for credit?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_7"> <div class ="answer" id="certificates_and_credits_faq_answer_7">
<p>Each educational institution makes its own decision regarding whether to accept edX coursework for credit. Check with your university for its policy.</p> <p>${_("Each educational institution makes its own decision regarding whether to accept edX coursework for credit. Check with your university for its policy.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I lost my edX certificate – can you resend it to me?</h3> <h3 class="question">${_("I lost my edX certificate - can you resend it to me?")}</h3>
<div class ="answer" id="certificates_and_credits_faq_answer_8"> <div class ="answer" id="certificates_and_credits_faq_answer_8">
<p>Please log back in to your account to find certificates from the same profile page where they were originally posted. You will be able to re-print your certificate from there.</p> <p>${_("Please log back in to your account to find certificates from the same profile page where they were originally posted. You will be able to re-print your certificate from there.")}</p>
</div> </div>
</article> </article>
</section> </section>
<section id="open_source_faq" class="category"> <section id="open_source_faq" class="category">
<h2>edX & Open Source</h2> <h2>${_("edX & Open Source")}</h2>
<article class="response"> <article class="response">
<h3 class="question">What’s open source?</h3> <h3 class="question">${_("What\'s open source?")}</h3>
<div class ="answer" id="open_source_faq_answer_0"> <div class ="answer" id="open_source_faq_answer_0">
<p>Open source is a philosophy that generally refers to making software freely available for use or modification as users see fit. In exchange for use of the software, users generally add their contributions to the software, making it a public collaboration. The edX platform will be made available as open source code in order to allow world talent to improve and share it on an ongoing basis.</p> <p>${_("Open source is a philosophy that generally refers to making software freely available for use or modification as users see fit. In exchange for use of the software, users generally add their contributions to the software, making it a public collaboration. The edX platform will be made available as open source code in order to allow world talent to improve and share it on an ongoing basis.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">When/how can I get the open-source platform technology?</h3> <h3 class="question">${_("When/how can I get the open-source platform technology?")}</h3>
<div class ="answer" id="open_source_faq_answer_1"> <div class ="answer" id="open_source_faq_answer_1">
<p>We are still building the edX technology platform and will be making announcements in the future about its availability.</p> <p>${_("We are still building the edX technology platform and will be making announcements in the future about its availability.")}</p>
</div> </div>
</article> </article>
</section> </section>
<section id="other_help_faq" class="category"> <section id="other_help_faq" class="category">
<h2>Other Help Questions - Account Questions</h2> <h2>${_("Other Help Questions - Account Questions")}</h2>
<article class="response"> <article class="response">
<h3 class="question">My username is taken.</h3> <h3 class="question">${_("My username is taken.")}</h3>
<div class ="answer" id="other_help_faq_answer_0"> <div class ="answer" id="other_help_faq_answer_0">
<p>Now’s your chance to be creative: please try a different, more unique username – for example, try adding a random number to the end.</p> <p>${_("Now/'s your chance to be creative: please try a different, more unique username - for example, try adding a random number to the end.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Why does my password show on my course login page?</h3> <h3 class="question">${_("Why does my password show on my course login page?")}</h3>
<div class ="answer" id="other_help_faq_answer_1"> <div class ="answer" id="other_help_faq_answer_1">
<p>Oops! This may be because of the way you created your account. For example, you may have mistakenly typed your password into the login box.</p> <p>${_("Oops! This may be because of the way you created your account. For example, you may have mistakenly typed your password into the login box.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I am having login problems (password/email unrecognized).</h3> <h3 class="question">${_("I am having login problems (password/email unrecognized).")}</h3>
<div class ="answer" id="other_help_faq_answer_2"> <div class ="answer" id="other_help_faq_answer_2">
<p>Please check your browser’s settings to make sure that you have the current version of Firefox or Chrome, and then try logging in again. If you find access impossible, you may simply create a new account using an alternate email address – the old, unused account will disappear later.</p> <p>${_("Please check your browser/'s settings to make sure that you have the current version of Firefox or Chrome, and then try logging in again. If you find access impossible, you may simply create a new account using an alternate email address - the old, unused account will disappear later.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I did not receive an activation email.</h3> <h3 class="question">${_("I did not receive an activation email.")}</h3>
<div class ="answer" id="other_help_faq_answer_3"> <div class ="answer" id="other_help_faq_answer_3">
<p>If you did not receive an activation email it may be because:</p> <p>${_("If you did not receive an activation email it may be because:")}</p>
<ul> <ul>
<li>There was a typo in your email address.</li> <li>${_("There was a typo in your email address.")}</li>
<li>Your spam filter may have caught the activation email. Please check your spam folder. </li> <li>${_("Your spam filter may have caught the activation email. Please check your spam folder. ")}</li>
<li>You may be using an older browser. We recommend downloading the current version of Firefox or Chrome. </li> <li>${_("You may be using an older browser. We recommend downloading the current version of Firefox or Chrome. ")}</li>
<li>JavaScript is disabled in your browser. Please check your browser settings and confirm that JavaScript is enabled. </li> <li>${_("JavaScript is disabled in your browser. Please check your browser settings and confirm that JavaScript is enabled. ")}</li>
</ul> </ul>
<p>If you continue to have problems activating your account, we recommend that you try creating a new account. There is no need to do anything about the old account. If it is not activated through the link in the email, it will disappear later.</p> <p>${_("If you continue to have problems activating your account, we recommend that you try creating a new account. There is no need to do anything about the old account. If it is not activated through the link in the email, it will disappear later.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">Can I delete my account?</h3> <h3 class="question">${_("Can I delete my account?")}</h3>
<div class ="answer" id="other_help_faq_answer_4"> <div class ="answer" id="other_help_faq_answer_4">
<p>There’s no need to delete you account. An old, unused edX account with no course completions associated with it will disappear.</p> <p>${_("There/'s no need to delete you account. An old, unused edX account with no course completions associated with it will disappear.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I made a mistake creating my username – how do I fix it?</h3> <h3 class="question">${_("I made a mistake creating my username - how do I fix it?")}</h3>
<div class ="answer" id="other_help_faq_answer_4.5"> <div class ="answer" id="other_help_faq_answer_4.5">
<p>In most cases it would simplest and fastest to create a new account. Your old unused account will vanish naturally. If you were not aware of your mistake until much later, you should send us a detailed change request and we will do our best to edit your username. Please bear in mind that usernames are unique, and the one you want may be taken.</p> <p>${_("In most cases it would simplest and fastest to create a new account. Your old unused account will vanish naturally. If you were not aware of your mistake until much later, you should send us a detailed change request and we will do our best to edit your username. Please bear in mind that usernames are unique, and the one you want may be taken.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">I am experiencing problems with the display. E.g., There are tools missing from the course display, or I am unable to view video.</h3> <h3 class="question">${_("I am experiencing problems with the display. E.g., There are tools missing from the course display, or I am unable to view video.")}</h3>
<div class ="answer" id="other_help_faq_answer_5"> <div class ="answer" id="other_help_faq_answer_5">
<p>Please check your browser and settings. We recommend downloading the current version of Firefox or Chrome. Alternatively, you may re-register with a different email account. There is no need to delete the old account, as it will disappear if unused.</p> <p>${_("Please check your browser and settings. We recommend downloading the current version of Firefox or Chrome. Alternatively, you may re-register with a different email account. There is no need to delete the old account, as it will disappear if unused.")}</p>
</div> </div>
</article> </article>
<article class="response"> <article class="response">
<h3 class="question">How can I help edX?</h3> <h3 class="question">${_("How can I help edX?")}</h3>
<div class ="answer" id="edx_basics_faq_answer_6"> <div class ="answer" id="edx_basics_faq_answer_6">
<p>You may not realize it, but just by taking a course you are helping edX. That’s because the edX platform has been specifically designed to not only teach, but also gather data about learning. EdX will utilize this data to find out how to improve education online and on-campus.</p> <p>${_("You may not realize it, but just by taking a course you are helping edX. That/'s because the edX platform has been specifically designed to not only teach, but also gather data about learning. EdX will utilize this data to find out how to improve education online and on-campus.")}</p>
</div> </div>
</article> </article>
...@@ -322,11 +323,11 @@ ...@@ -322,11 +323,11 @@
</section> </section>
<nav class="categories"> <nav class="categories">
<a href="#edx_basics_faq">edX Basics</a> <a href="#edx_basics_faq">${_("edX Basics")}</a>
<a href="#classes_faq">The Classes</a> <a href="#classes_faq">${_("The Classes")}</a>
<a href="#certificates_and_credits_faq">Certificates and Credits</a> <a href="#certificates_and_credits_faq">${_("Certificates and Credits")}</a>
<a href="#open_source_faq">edX & Open source</a> <a href="#open_source_faq">${_("edX & Open source")}</a>
<a href="#other_help_faq">Other Help Questions - Account Questions</a> <a href="#other_help_faq">$${_("Other Help Questions - Account Questions")}</a>
</nav> </nav>
</section> </section>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>Honor Code</title></%block> <%block name="title"><title>${_("Honor Code")}</title></%block>
<section class="static-container honor-code"> <section class="static-container honor-code">
<h1>Honor Code</h1> <h1>${_("Honor Code")}</h1>
<hr class="horizontal-divider"> <hr class="horizontal-divider">
<div class="inner-wrapper"> <div class="inner-wrapper">
<h2>Collaboration Policy</h2> <h2>${_("Collaboration Policy")}</h2>
<p>By enrolling in a course on edX, you are joining a special worldwide community of learners. The aspiration of edX is to provide anyone in the world who has the motivation and ability to engage coursework from the Massachusetts Institute of Technology, Harvard University and the University of California, Berkeley the opportunity to attain the best MIT, Harvard and UC Berkeley-based educational experience that internet technology enables. You are part of the community who will help edX achieve this goal.</p> <p>${_("By enrolling in a course on edX, you are joining a special worldwide community of learners. The aspiration of edX is to provide anyone in the world who has the motivation and ability to engage coursework from the Massachusetts Institute of Technology, Harvard University and the University of California, Berkeley the opportunity to attain the best MIT, Harvard and UC Berkeley-based educational experience that internet technology enables. You are part of the community who will help edX achieve this goal.")}</p>
<p>EdX depends upon your motivation to learn the material and to do so with honesty. In order to participate in edX, you must agree to the Honor Code below and any additional terms specific to a class. This Honor Code, and any additional terms, will be posted on each class website.</p> <p>${_("EdX depends upon your motivation to learn the material and to do so with honesty. In order to participate in edX, you must agree to the Honor Code below and any additional terms specific to a class. This Honor Code, and any additional terms, will be posted on each class website.")}</p>
<h2>edX Honor Code Pledge</h2> <h2>${_("edX Honor Code Pledge")}</h2>
<p>By enrolling in an edX course, I agree that I will:</p> <p>${_("By enrolling in an edX course, I agree that I will:")}</p>
<ul> <ul>
<li>Complete all mid-terms and final exams with my own work and only my own work. I will not submit the work of any other person.</li> <li>${_("Complete all mid-terms and final exams with my own work and only my own work. I will not submit the work of any other person.")}</li>
<li>Maintain only one user account and not let anyone else use my username and/or password.</li> <li>${_("Maintain only one user account and not let anyone else use my username and/or password.")}</li>
<li>Not engage in any activity that would dishonestly improve my results, or improve or hurt the results of others.</li> <li>${_("Not engage in any activity that would dishonestly improve my results, or improve or hurt the results of others.")}</li>
<li>Not post answers to problems that are being used to assess student performance.</li> <li>${_("Not post answers to problems that are being used to assess student performance.")}</li>
</ul> </ul>
<p>Unless otherwise indicated by the instructor of an edX course, learners on edX are encouraged to:</p> <p>${_("Unless otherwise indicated by the instructor of an edX course, learners on edX are encouraged to:")}</p>
<ul> <ul>
<li>Collaborate with others on the lecture videos, exercises, homework and labs.</li> <li>${_("Collaborate with others on the lecture videos, exercises, homework and labs.")}</li>
<li>Discuss with others general concepts and materials in each course.</li> <li>${_("Discuss with others general concepts and materials in each course.")}</li>
<li>Present ideas and written work to fellow edX learners or others for comment or criticism.</li> <li>${_("Present ideas and written work to fellow edX learners or others for comment or criticism.")}</li>
</ul> </ul>
</div> </div>
</section> </section>
This source diff could not be displayed because it is too large. You can view the blob instead.
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>edX Media Kit</title></%block> <%block name="title"><title>${_("edX Media Kit")}</title></%block>
<section class="mediakit"> <section class="mediakit">
<h1>edX Media Kit</h1> <h1>${_("edX Media Kit")}</h1>
<hr /> <hr />
<div class="wrapper wrapper-mediakit"> <div class="wrapper wrapper-mediakit">
<section class="introduction"> <section class="introduction">
<header> <header>
<h2>Welcome to the <span class="org-name">edX</span> Media Kit</h2> <h2>${_("Welcome to the <span class=\"org-name\">edX</span> Media Kit")}</h2>
</header> </header>
<article> <article>
<p>Need images for a news story? Feel free to download high-resolution versions of the photos below by clicking on the thumbnail. Please credit edX in your use.</p> <p>${_("Need images for a news story? Feel free to download high-resolution versions of the photos below by clicking on the thumbnail. Please credit edX in your use.")}</p>
<p>We’ve included visual guidelines on how to use the edX logo within the download zip which also includes Adobe Illustrator and eps versions of the logo. </p> <p>${_("We\'ve included visual guidelines on how to use the edX logo within the download zip which also includes Adobe Illustrator and eps versions of the logo. ")}</p>
<p>For more information about edX, please contact <strong>Dan O&apos;Connell Associate Director of Communications</strong> via <a href="mailto:oconnell@edx.org?subject=edX Information Request (from Media Kit)">oconnell@edx.org</a>.</p> <p>${_("For more information about edX, please contact <strong>Dan O&apos;Connell Associate Director of Communications</strong> via <a href=\"mailto:oconnell@edx.org?subject=edX Information Request (from Media Kit)\">oconnell@edx.org</a>.")}</p>
</article> </article>
<aside> <aside>
<h3>The <span class="org-name">edX</span> Logo</h3> <h3>${_("The <span class=\"org-name\">edX</span> Logo")}</h3>
<figure class="logo"> <figure class="logo">
<a rel="asset" class="action action-download" href="${static.url('files/edx-identity.zip')}"> <a rel="asset" class="action action-download" href="${static.url('files/edx-identity.zip')}">
<img src="${static.url('images/edx.png')}" /> <img src="${static.url('images/edx.png')}" />
<figcaption>.zip file containing Adobe Illustrator and .eps formats of logo alongside visual guidelines for use</figcaption> <figcaption>${_(".zip file containing Adobe Illustrator and .eps formats of logo alongside visual guidelines for use")}</figcaption>
<span class="note">Download (.zip file)</span> <span class="note">${_("Download (.zip file)")}</span>
</a> </a>
</figure> </figure>
</aside> </aside>
...@@ -35,7 +36,7 @@ ...@@ -35,7 +36,7 @@
<section class="library"> <section class="library">
<header> <header>
<h2>The <span class="org-name">edX</span> Media Library</h2> <h2>${_("The <span class=\"org-name\">edX</span> Media Library")}</h2>
</header> </header>
<article> <article>
...@@ -44,8 +45,8 @@ ...@@ -44,8 +45,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/anant-agarwal_high-res.jpg')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/anant-agarwal_high-res.jpg')}">
<img src="${static.url('images/press-kit/anant-agarwal_x200.jpg')}"/> <img src="${static.url('images/press-kit/anant-agarwal_x200.jpg')}"/>
<figcaption>Ananat Agarwal, President of edX, in his office in Cambridge, MA. The computer screen behind him shows a portion of a video lecture from 6.002x, Circuits &amp; Electronics, the MITx course taught by Agarwal.</figcaption> <figcaption>${_("Ananat Agarwal, President of edX, in his office in Cambridge, MA. The computer screen behind him shows a portion of a video lecture from 6.002x, Circuits &amp; Electronics, the MITx course taught by Agarwal.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
...@@ -53,8 +54,8 @@ ...@@ -53,8 +54,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/anant-tablet_high-res.jpg')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/anant-tablet_high-res.jpg')}">
<img src="${static.url('images/press-kit/anant-tablet_x200.jpg')}"/> <img src="${static.url('images/press-kit/anant-tablet_x200.jpg')}"/>
<figcaption>Anant Agarwal creating a tablet-based lecture for 6.002x, Circuits & Electronics.</figcaption> <figcaption>${_("Anant Agarwal creating a tablet-based lecture for 6.002x, Circuits & Electronics.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
...@@ -62,8 +63,8 @@ ...@@ -62,8 +63,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/piotr-mitros_high-res.jpg')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/piotr-mitros_high-res.jpg')}">
<img src="${static.url('images/press-kit/piotr-mitros_x200.jpg')}"/> <img src="${static.url('images/press-kit/piotr-mitros_x200.jpg')}"/>
<figcaption>Piotr Mitros, Chief Scientist at edX, uses a Rostrum camera to create an overhead camera-based lecture. During this process, voice and video are recorded for an interactive tutorial.</figcaption> <figcaption>${_("Piotr Mitros, Chief Scientist at edX, uses a Rostrum camera to create an overhead camera-based lecture. During this process, voice and video are recorded for an interactive tutorial.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
...@@ -71,8 +72,8 @@ ...@@ -71,8 +72,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/edx-video-editing_high-res.jpg')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/edx-video-editing_high-res.jpg')}">
<img src="${static.url('images/press-kit/edx-video-editing_x200.jpg')}"/> <img src="${static.url('images/press-kit/edx-video-editing_x200.jpg')}"/>
<figcaption>One of edX’s video editors edits a lecture in a video suite.</figcaption> <figcaption>${_("One of edX\'s video editors edits a lecture in a video suite.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
...@@ -80,8 +81,8 @@ ...@@ -80,8 +81,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/6.002x_high-res.png')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/6.002x_high-res.png')}">
<img src="${static.url('images/press-kit/6.002x_x200.jpg')}"/> <img src="${static.url('images/press-kit/6.002x_x200.jpg')}"/>
<figcaption>Screenshot of 6.002x Circuits and Elecronics course.</figcaption> <figcaption>${_("Screenshot of 6.002x Circuits and Elecronics course.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
...@@ -89,8 +90,8 @@ ...@@ -89,8 +90,8 @@
<figure> <figure>
<a rel="asset" class="action action-download" href="${static.url('images/press-kit/3.091x_high-res.png')}"> <a rel="asset" class="action action-download" href="${static.url('images/press-kit/3.091x_high-res.png')}">
<img src="${static.url('images/press-kit/3.091x_x200.jpg')}"/> <img src="${static.url('images/press-kit/3.091x_x200.jpg')}"/>
<figcaption>Screenshot of 3.091x: Introduction to Solid State Chemistry.</figcaption> <figcaption>${_("Screenshot of 3.091x: Introduction to Solid State Chemistry.")}</figcaption>
<span class="note">Download (High Resolution Photo)</span> <span class="note">${_("Download (High Resolution Photo)")}</span>
</a> </a>
</figure> </figure>
</li> </li>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%block name="title"><title>edX in the Press</title></%block> <%block name="title"><title>${_("edX in the Press")}</title></%block>
<section class="container about"> <section class="container about">
<nav> <nav>
<a href="${reverse('about_edx')}">Vision</a> <a href="${reverse('about_edx')}">${_("Vision")}</a>
<a href="${reverse('faq_edx')}">Faq</a> <a href="${reverse('faq_edx')}">${_("Faq")}</a>
<a href="${reverse('press')}" class="active">Press</a> <a href="${reverse('press')}" class="active">${_("Press")}</a>
<a href="${reverse('contact')}">Contact</a> <a href="${reverse('contact')}">${_("Contact")}</a>
</nav> </nav>
<section class="press"> <section class="press">
% for article in articles: % for article in articles:
<article class="press-story"> <article class="press-story">
<div class="article-cover"> <div class="article-cover">
<a href="${article.url}" target="_blank"/><img src="${static.url('images/press/' + article.image)}" /></a> <a href="${article.url}" target="_blank"/>${"<img src='%s' />" % static.url('images/press/' + article.image)}</a>
</div> </div>
<div class="press-info"> <div class="press-info">
<header> <header>
......
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>Privacy Policy</title></%block> <%block name="title"><title>${_("Privacy Policy")}</title></%block>
<section class="static-container privacy-policy"> <section class="static-container privacy-policy">
<h1>Privacy Policy</h1> <h1>${_("Privacy Policy")}</h1>
<hr class="horizontal-divider"/> <hr class="horizontal-divider"/>
<div class="inner-wrapper"> <div class="inner-wrapper">
<p><strong>NOTICE: on September 26, 2012 edX adopted an amended Privacy Policy, providing as follows:</strong></p> <p><strong>${_("NOTICE: on September 26, 2012 edX adopted an amended Privacy Policy, providing as follows:")}</strong></p>
<h2>Confidentiality &amp; Security of Personal Information</h2> <h2>${_("Confidentiality &amp; Security of Personal Information")}</h2>
<p>We care about the confidentiality and security of your personal information. We will use commercially reasonable efforts to keep your Personal Information secure. (&ldquo;Personal Information&rdquo; is defined below.) However, no method of transmitting or storing electronic data is ever completely secure, and we therefore cannot guarantee the security of information transmitted to or stored by the edX Website. (As used in this Privacy Policy, &ldquo;we,&rdquo; &ldquo;us&rdquo; and &ldquo;our&rdquo; refer to edX.)</p> <p>${_("We care about the confidentiality and security of your personal information. We will use commercially reasonable efforts to keep your Personal Information secure. (&ldquo;Personal Information&rdquo; is defined below.) However, no method of transmitting or storing electronic data is ever completely secure, and we therefore cannot guarantee the security of information transmitted to or stored by the edX Website. (As used in this Privacy Policy, &ldquo;we,&rdquo; &ldquo;us&rdquo; and &ldquo;our&rdquo; refer to edX.)")}</p>
<p>This Privacy Policy only applies to information that we collect through the edX Website (the &ldquo;Site,&rdquo; which consists of all content and pages located within the edX.org web domain) and does not apply to information that we may collect from you in other ways (for example, this policy does not apply to information that you may provide to us over the phone, by fax or through conventional mail). In addition, please note that your education records are protected by the Family Educational Rights and Privacy Act (&ldquo;FERPA&rdquo;) to the extent FERPA applies. </p> <p>${_("This Privacy Policy only applies to information that we collect through the edX Website (the &ldquo;Site,&rdquo; which consists of all content and pages located within the edX.org web domain) and does not apply to information that we may collect from you in other ways (for example, this policy does not apply to information that you may provide to us over the phone, by fax or through conventional mail). In addition, please note that your education records are protected by the Family Educational Rights and Privacy Act (&ldquo;FERPA&rdquo;) to the extent FERPA applies. ")}</p>
<h2>Usernames and Postings</h2> <h2>${_("Usernames and Postings")}</h2>
<p>Comments or other information posted by you to our forums, wikis or other areas of the Site designed for public communications or communications among registered class members may be viewed and downloaded by others who visit the Site. For this reason, we encourage you to use discretion when deciding whether to post any information that can be used to identify you to those forums (or other public or classwide areas).</p> <p>${_("Comments or other information posted by you to our forums, wikis or other areas of the Site designed for public communications or communications among registered class members may be viewed and downloaded by others who visit the Site. For this reason, we encourage you to use discretion when deciding whether to post any information that can be used to identify you to those forums (or other public or classwide areas).")}</p>
<h2>What You Consent to by Using Our Site</h2> <h2>${_("What You Consent to by Using Our Site")}</h2>
<p>By accessing, browsing, or registering for the Site, you consent and agree that information about you collected through the Site may be used and disclosed in accordance with the Privacy Policy and our Terms of Service and as permitted or required by law, and that such information may be transferred to, processed in and stored in the United States and elsewhere. If you do not agree with these terms, then please do not access, browse, or register for the Site. If you choose not to provide us with certain information required to provide you with various services offered on our Site, you may not be able to establish a user account and we may not be able to provide you with those services.</p> <p>${_("By accessing, browsing, or registering for the Site, you consent and agree that information about you collected through the Site may be used and disclosed in accordance with the Privacy Policy and our Terms of Service and as permitted or required by law, and that such information may be transferred to, processed in and stored in the United States and elsewhere. If you do not agree with these terms, then please do not access, browse, or register for the Site. If you choose not to provide us with certain information required to provide you with various services offered on our Site, you may not be able to establish a user account and we may not be able to provide you with those services.")}</p>
<p>As used in this Privacy Policy, &ldquo;Personal Information&rdquo; means any information about yourself that you may provide to us when using the Site, such as when you sign up for a user account or enter into a transaction through the Site, which may include (but is not limited to) your name, contact information, gender, date of birth, and occupation.</p> <p>${_("As used in this Privacy Policy, &ldquo;Personal Information&rdquo; means any information about yourself that you may provide to us when using the Site, such as when you sign up for a user account or enter into a transaction through the Site, which may include (but is not limited to) your name, contact information, gender, date of birth, and occupation.")}</p>
<h2>Information We Collect and How We Use It</h2> <h2>${_("Information We Collect and How We Use It")}</h2>
<p>We collect information, including Personal Information, when you sign up for a user account, participate in online courses, send us email messages and/or participate in our public forums. We collect information about student performance and patterns of learning. We track information indicating, among other things, which pages of our Site were visited, the order in which they were visited, when they were visited and which hyperlinks and other user interface controls were used.</p> <p>${_("We collect information, including Personal Information, when you sign up for a user account, participate in online courses, send us email messages and/or participate in our public forums. We collect information about student performance and patterns of learning. We track information indicating, among other things, which pages of our Site were visited, the order in which they were visited, when they were visited and which hyperlinks and other user interface controls were used.")}</p>
<p>We may log the IP address, operating system and browser software used by each user of the Site, and we may be able to determine from an IP address a user's Internet Service Provider and the geographic location of his or her point of connectivity. Various web analytics tools are used to collect this information. Some of the information is collected through cookies (small text files placed on your computer that store information about you, which can be accessed by the Site). You should be able to control how and whether cookies will be accepted by your web browser. Most browsers offer instructions on how to reset the browser to reject cookies in the &ldquo;Help&rdquo; section of the toolbar. If you reject our cookies, many functions and conveniences of this Site may not work properly. </p> <p>${_("We may log the IP address, operating system and browser software used by each user of the Site, and we may be able to determine from an IP address a user's Internet Service Provider and the geographic location of his or her point of connectivity. Various web analytics tools are used to collect this information. Some of the information is collected through cookies (small text files placed on your computer that store information about you, which can be accessed by the Site). You should be able to control how and whether cookies will be accepted by your web browser. Most browsers offer instructions on how to reset the browser to reject cookies in the &ldquo;Help&rdquo; section of the toolbar. If you reject our cookies, many functions and conveniences of this Site may not work properly. ")}</p>
<p>Among other things, we and the educational institutions that provide courses through edX (the &ldquo;Universities&rdquo;) may use the information about you collected through the Site (including your Personal Information) in connection with the following:</p> <p>${_("Among other things, we and the educational institutions that provide courses through edX (the &ldquo;Universities&rdquo;) may use the information about you collected through the Site (including your Personal Information) in connection with the following:")}</p>
<ul> <ul>
<li>To enable the Universities to provide, administer and improve the courses.</li> <li>${_("To enable the Universities to provide, administer and improve the courses.")}</li>
<li>To help us and the Universities improve edX offerings, both individually (e.g., by course staff when working with a student) and in aggregate, and to individualize the experience and to evaluate the access and use of the Site and the impact of edX on the worldwide educational community. </li> <li>${_("To help us and the Universities improve edX offerings, both individually (e.g., by course staff when working with a student) and in aggregate, and to individualize the experience and to evaluate the access and use of the Site and the impact of edX on the worldwide educational community. ")}</li>
<li>For purposes of scientific research, particularly, for example, in the areas of cognitive science and education. </li> <li>${_("For purposes of scientific research, particularly, for example, in the areas of cognitive science and education. ")}</li>
<li>For the purpose for which you specifically provided the information, for example, to respond to a specific inquiry or provide you with access to the specific course content and/or services you select.</li> <li>${_("For the purpose for which you specifically provided the information, for example, to respond to a specific inquiry or provide you with access to the specific course content and/or services you select.")}</li>
<li>To track both individual and aggregate attendance, progress and completion of an online course, and to analyze statistics on student performance and how students learn.</li> <li>${_("To track both individual and aggregate attendance, progress and completion of an online course, and to analyze statistics on student performance and how students learn.")}</li>
<li>To monitor and detect violations of the Honor Code, the Terms of Service, as well as other misuses and potential misuses of the Site. </li> <li>${_("To monitor and detect violations of the Honor Code, the Terms of Service, as well as other misuses and potential misuses of the Site. ")}</li>
<li>To publish information, but not Personal Information, gathered about edX access, use, impact and student performance.</li> <li>${_("To publish information, but not Personal Information, gathered about edX access, use, impact and student performance.")}</li>
<li>To send you updates about online courses offered by edX or other events, to send you communications about products or services of edX, edX affiliates, or selected business partners that may be of interest to you, or to send you email messages about Site maintenance or updates.</li> <li>${_("To send you updates about online courses offered by edX or other events, to send you communications about products or services of edX, edX affiliates, or selected business partners that may be of interest to you, or to send you email messages about Site maintenance or updates.")}</li>
<li>To archive this information and/or use it for future communications with you.</li> <li>${_("To archive this information and/or use it for future communications with you.")}</li>
<li>To maintain and improve the functioning and security of the Site and our software, systems and network.</li> <li>${_("To maintain and improve the functioning and security of the Site and our software, systems and network.")}</li>
<li>For purposes described elsewhere in this Privacy Policy (including, e.g., Sharing with Third Parties).</li> <li>${_("For purposes described elsewhere in this Privacy Policy (including, e.g., Sharing with Third Parties).")}</li>
<li>As otherwise described to you at the point of collection, pursuant to your consent, or as otherwise permitted by law.</li> <li>${_("As otherwise described to you at the point of collection, pursuant to your consent, or as otherwise permitted by law.")}</li>
</ul> </ul>
<h2>Sharing with Third Parties</h2> <h2>${_("Sharing with Third Parties")}</h2>
<p>We will share information we collect with the Universities, and we and the Universities may share this information (including Personal Information) with third parties as follows:</p> <p>${_("We will share information we collect with the Universities, and we and the Universities may share this information (including Personal Information) with third parties as follows:")}</p>
<ul> <ul>
<li>With service providers or contractors that perform certain functions on our or the Universities' behalf, including processing information that you provide to us on the Site, processing purchases and other transactions through the Site, operating the Site or portions of it, providing or administering courses, or in connection with other aspects of edX or University services.</li> <li>${_("With service providers or contractors that perform certain functions on our or the Universities' behalf, including processing information that you provide to us on the Site, processing purchases and other transactions through the Site, operating the Site or portions of it, providing or administering courses, or in connection with other aspects of edX or University services.")}</li>
<li>With other visitors to the Site, to the extent that you submit comments, course work or other information or content (collectively, &ldquo;Postings&rdquo;) to a portion of the Site designed for public communications; and with other members of an edX class of which you are a member, to the extent you submit Postings to a portion of the Site designed for viewing by those class members. We may provide your Postings to students who later enroll in the same classes as you, within the context of the forums, the courseware or otherwise. If we do re-post your Postings originally made to non-public portions of the Site, we will post them without your real name and e-mail (except with explicit permission), but we may use your username. </li> <li>${_("With other visitors to the Site, to the extent that you submit comments, course work or other information or content (collectively, &ldquo;Postings&rdquo;) to a portion of the Site designed for public communications; and with other members of an edX class of which you are a member, to the extent you submit Postings to a portion of the Site designed for viewing by those class members. We may provide your Postings to students who later enroll in the same classes as you, within the context of the forums, the courseware or otherwise. If we do re-post your Postings originally made to non-public portions of the Site, we will post them without your real name and e-mail (except with explicit permission), but we may use your username. ")}</li>
<li>For purposes of scientific research, particularly, for example, in the areas of cognitive science and education. However, we will only share Personal Information about you for this purpose to the extent doing so complies with applicable law.</li> <li>${_("For purposes of scientific research, particularly, for example, in the areas of cognitive science and education. However, we will only share Personal Information about you for this purpose to the extent doing so complies with applicable law.")}</li>
<li>To provide opportunities for you to communicate with other users who may have similar interests or educational goals. For instance, we may recommend specific study partners or connect potential student mentees and mentors. In such cases, we may use all information collected about you to determine who might be interested in communicating with you, but we will only provide other users your username, and not disclose your real name or e-mail address to your contact. </li> <li>${_("To provide opportunities for you to communicate with other users who may have similar interests or educational goals. For instance, we may recommend specific study partners or connect potential student mentees and mentors. In such cases, we may use all information collected about you to determine who might be interested in communicating with you, but we will only provide other users your username, and not disclose your real name or e-mail address to your contact. ")}</li>
<li>To respond to subpoenas, court orders, or other legal process; in response to a request for cooperation from law enforcement or another government agency; to investigate, prevent or take action regarding illegal activities, suspected fraud, security or technical issues, or to enforce our Terms of Service, Honor Code or this Privacy Policy; as otherwise may be required by applicable law; or to protect our rights, property or safety or those of others.</li> <li>${_("To respond to subpoenas, court orders, or other legal process; in response to a request for cooperation from law enforcement or another government agency; to investigate, prevent or take action regarding illegal activities, suspected fraud, security or technical issues, or to enforce our Terms of Service, Honor Code or this Privacy Policy; as otherwise may be required by applicable law; or to protect our rights, property or safety or those of others.")}</li>
<li>With affiliates of edX or the Universities, or with successors in the event of a merger, acquisition or reorganization, for their use consistent with this Privacy Policy. </li> <li>${_("With affiliates of edX or the Universities, or with successors in the event of a merger, acquisition or reorganization, for their use consistent with this Privacy Policy. ")}</li>
<li>As otherwise described to you at the point of collection, pursuant to your consent, or otherwise as permitted by law (e.g., disclosures permitted under FERPA, to the extent FERPA applies to the information).</li> <li>${_("As otherwise described to you at the point of collection, pursuant to your consent, or otherwise as permitted by law (e.g., disclosures permitted under FERPA, to the extent FERPA applies to the information).")}</li>
<li>For integration with third party services. For example, videos and other content may be hosted on YouTube and other websites not controlled by edX.</li> <li>${_("For integration with third party services. For example, videos and other content may be hosted on YouTube and other websites not controlled by edX.")}</li>
</ul> </ul>
<p>In addition, we may share aggregated information that does not personally identify you with the public and with third parties, including, e.g., researchers and business partners.</p> <p>${_("In addition, we may share aggregated information that does not personally identify you with the public and with third parties, including, e.g., researchers and business partners.")}</p>
<h2>Links to Other Websites</h2> <h2>${_("Links to Other Websites")}</h2>
<p>The Sites may contain links to websites published by other content providers. These other websites are not under our control, and you acknowledge and agree that we are not responsible for the collection and use of your information by such websites. We encourage you to review the privacy policies of each website you visit and use.</p> <p>${_("The Sites may contain links to websites published by other content providers. These other websites are not under our control, and you acknowledge and agree that we are not responsible for the collection and use of your information by such websites. We encourage you to review the privacy policies of each website you visit and use.")}</p>
<h2>Personalization and Pedagogical Improvements</h2> <h2>${_("Personalization and Pedagogical Improvements")}</h2>
<p>Our goal is to provide current and future visitors with the best possible educational experience. To further this goal, we sometimes present different users with different versions of course materials and software. We do this to personalize the experience to the individual learner (assess the learner's level of ability and learning style, and present materials best suited to the learner), to evaluate the effectiveness of our course materials, to improve our understanding of the learning process and to otherwise improve the effectiveness of our offerings. We may publish or otherwise publicize results from this process, but, unless otherwise permitted under this Privacy Policy, those publications or public disclosures will not include Personal Information.</p> <p>${_("Our goal is to provide current and future visitors with the best possible educational experience. To further this goal, we sometimes present different users with different versions of course materials and software. We do this to personalize the experience to the individual learner (assess the learner's level of ability and learning style, and present materials best suited to the learner), to evaluate the effectiveness of our course materials, to improve our understanding of the learning process and to otherwise improve the effectiveness of our offerings. We may publish or otherwise publicize results from this process, but, unless otherwise permitted under this Privacy Policy, those publications or public disclosures will not include Personal Information.")}</p>
<h2>Changing Our Privacy Policy</h2> <h2>${_("Changing Our Privacy Policy")}</h2>
<p>Please note that we review and may make changes to this Privacy Policy from time to time. Any changes to this Privacy Policy will be effective immediately upon posting on this page, with an updated effective date. By accessing the Site after any changes have been made, you signify your agreement on a prospective basis to the modified Privacy Policy and any changes contained therein. Be sure to return to this page periodically to ensure familiarity with the most current version of this Privacy Policy.</p> <p>${_("Please note that we review and may make changes to this Privacy Policy from time to time. Any changes to this Privacy Policy will be effective immediately upon posting on this page, with an updated effective date. By accessing the Site after any changes have been made, you signify your agreement on a prospective basis to the modified Privacy Policy and any changes contained therein. Be sure to return to this page periodically to ensure familiarity with the most current version of this Privacy Policy.")}</p>
<h2>Privacy Concerns</h2> <h2>${_("Privacy Concerns")}</h2>
<p>If you have privacy concerns, have disclosed data you would prefer to keep private, or would like to access the information we maintain about you, please contact us at <a href="mailto:privacy@edx.org">privacy@edx.org</a>.</p> <p>${_('If you have privacy concerns, have disclosed data you would prefer to keep private, or would like to access the information we maintain about you, please contact us at <a href="mailto:privacy@edx.org">privacy@edx.org</a>.')}</p>
<p><strong>Effective Date:</strong> September 26, 2012</p> <p>${_("<strong>Effective Date:</strong> September 26, 2012")}</p>
</div> </div>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <section class="outside-app">
<h1>Currently the <em>${settings.PLATFORM_NAME}</em> servers are down</h1> <h1>${_("Currently the <em>%s</em> servers are down") % settings.PLATFORM_NAME}</h1>
<p>Our staff is currently working to get the site back up as soon as possible. Please email us at <a href="mailto:${settings.TECH_SUPPORT_EMAIL}">${settings.TECH_SUPPORT_EMAIL}</a> to report any problems or downtime.</p> <p>${_("Our staff is currently working to get the site back up as soon as possible. Please email us at <a href=\"mailto:%s\">$s</a> to report any problems or downtime.") % {settings.TECH_SUPPORT_EMAIL, settings.TECH_SUPPORT_EMAIL}}</p>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <section class="outside-app">
<h1>There has been a 500 error on the <em>${settings.PLATFORM_NAME}</em> servers</h1> <h1>${_("There has been a 500 error on the <em>%s</em> servers") % settings.PLATFORM_NAME}</h1>
<p>Please wait a few seconds and then reload the page. If the problem persists, please email us at <a href="mailto:${settings.TECH_SUPPORT_EMAIL}">${settings.TECH_SUPPORT_EMAIL}</a>.</p> <p>${_('Please wait a few seconds and then reload the page. If the problem persists, please email us at <a href="{email}">{email}</a>.').format(email=settings.TECH_SUPPORT_EMAIL)}</p>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<section class="outside-app"> <section class="outside-app">
<h1>Currently the <em>${settings.PLATFORM_NAME}</em> servers are overloaded</h1> <h1>${_("Currently the <em>%s</em> servers are overloaded") % settings.PLATFORM_NAME}</h1>
<p>Our staff is currently working to get the site back up as soon as possible. Please email us at <a href="mailto:${settings.TECH_SUPPORT_EMAIL}">${settings.TECH_SUPPORT_EMAIL}</a> to report any problems or downtime.</p> <p>${_("Our staff is currently working to get the site back up as soon as possible. Please email us at <a href=\"mailto:\%s\">%s</a> to report any problems or downtime.") % {settings.TECH_SUPPORT_EMAIL, settings.TECH_SUPPORT_EMAIL}}</p>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%inherit file="../main.html" /> <%inherit file="../main.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>Terms of Service</title></%block> <%block name="title"><title>${_("Terms of Service")}</title></%block>
<section class="static-container tos"> <section class="static-container tos">
<h1>edX Terms of Service</h1> <h1>${_("edX Terms of Service")}</h1>
<hr class="horizontal-divider"/> <hr class="horizontal-divider"/>
<div class="inner-wrapper"> <div class="inner-wrapper">
<p><strong>NOTICE: on September 26, 2012 edX adopted amended Terms of Service, providing as follows:</strong></p> <p><strong>${_("NOTICE: on September 26, 2012 edX adopted amended Terms of Service, providing as follows:")}</strong></p>
<p>Welcome to edX. Please read these Terms of Service ("TOS") and edX's <a href="${reverse('privacy_edx')}">Privacy Policy</a> and <a href="${reverse('honor')}">Honor Code</a> prior to registering for edX.org or using any portion of the edX website (the "Site," which consists of all content and pages located within the edX.org web domain), including accessing any course material, chat rooms, or other electronic services. These TOS, the Privacy Policy and the Honor Code are agreements (the "Agreements") between you and edX. By using the Site, you accept and agree to be legally bound by the Agreements, whether or not you are a registered user. If you do not understand or do not wish to be bound by the terms of the Agreements, you should not use the Site.</p> <p>${_("Welcome to edX. Please read these Terms of Service (\"TOS\") and edX's <a href=\"%s\">Privacy Policy</a> and <a href=\"%s\">Honor Code</a> prior to registering for edX.org or using any portion of the edX website (the \"Site,\" which consists of all content and pages located within the edX.org web domain), including accessing any course material, chat rooms, or other electronic services. These TOS, the Privacy Policy and the Honor Code are agreements (the \"Agreements\") between you and edX. By using the Site, you accept and agree to be legally bound by the Agreements, whether or not you are a registered user. If you do not understand or do not wish to be bound by the terms of the Agreements, you should not use the Site.") % (reverse('privacy_edx'), reverse('honor'))}</p>
<p>EdX reserves the right to modify these TOS at any time without advance notice. Any changes to these TOS will be effective immediately upon posting on this page, with an updated effective date. By accessing the Site after any changes have been made, you signify your agreement on a prospective basis to the modified TOS and all of the changes. Be sure to return to this page periodically to ensure familiarity with the most current version of these TOS.</p> <p>${_("EdX reserves the right to modify these TOS at any time without advance notice. Any changes to these TOS will be effective immediately upon posting on this page, with an updated effective date. By accessing the Site after any changes have been made, you signify your agreement on a prospective basis to the modified TOS and all of the changes. Be sure to return to this page periodically to ensure familiarity with the most current version of these TOS.")}</p>
<h2>Description of edX</h2> <h2>${_("Description of edX")}</h2>
<p>EdX offers online courses that include opportunities for professor-to-student and student-to-student interactivity, individual assessment of a student's work and for students who demonstrate their mastery of subjects, a certificate of mastery.</p> <p>${_("EdX offers online courses that include opportunities for professor-to-student and student-to-student interactivity, individual assessment of a student's work and for students who demonstrate their mastery of subjects, a certificate of mastery.")}</p>
<h2>Rules for Online Conduct</h2> <h2>${_("Rules for Online Conduct")}</h2>
<p>You agree that you are responsible for your own use of the Site and for your User Postings. "User Postings" include all content submitted, posted, published or distributed on the Site by you or other users of the Site, including but not limited to all forum posts, wiki edits, notes, questions, comments, videos and file uploads. You agree that you will use the Site in compliance with these TOS, the Honor Code and all applicable local, state, national and international laws, rules and regulations, including copyright laws, any laws regarding the transmission of technical data exported from your country of residence, and all United States export control laws.</p> <p>${_("You agree that you are responsible for your own use of the Site and for your User Postings. \"User Postings\" include all content submitted, posted, published or distributed on the Site by you or other users of the Site, including but not limited to all forum posts, wiki edits, notes, questions, comments, videos and file uploads. You agree that you will use the Site in compliance with these TOS, the Honor Code and all applicable local, state, national and international laws, rules and regulations, including copyright laws, any laws regarding the transmission of technical data exported from your country of residence, and all United States export control laws.")}</p>
<p>As a condition of your use of the edX services, you will not use the Site in any manner intended to damage, disable, overburden or impair any edX server or the network(s) connected to any edX server or to interfere with any other party's use and enjoyment of the Site. You may not attempt to gain unauthorized access to the Site, other accounts, computer systems or networks connected to any edX server through hacking, password mining or any other means. You may not obtain or attempt to obtain any materials or information stored on the Site, its servers or associated computers through any means not intentionally made available through the Site.</p> <p>${_("As a condition of your use of the edX services, you will not use the Site in any manner intended to damage, disable, overburden or impair any edX server or the network(s) connected to any edX server or to interfere with any other party's use and enjoyment of the Site. You may not attempt to gain unauthorized access to the Site, other accounts, computer systems or networks connected to any edX server through hacking, password mining or any other means. You may not obtain or attempt to obtain any materials or information stored on the Site, its servers or associated computers through any means not intentionally made available through the Site.")}</p>
<h2>The following list of items is strictly prohibited on the Site:</h2> <h2>${_("The following list of items is strictly prohibited on the Site:")}</h2>
<ol> <ol>
<li>Content that defames, harasses or threatens others;</li> <li>${_("Content that defames, harasses or threatens others;")}</li>
<li>Content that discusses illegal activities with the intent to commit them;</li> <li>${_("Content that discusses illegal activities with the intent to commit them;")}</li>
<li>Content that infringes another's intellectual property, including, but not limited to, copyrights or trademarks;</li> <li>${_("Content that infringes another's intellectual property, including, but not limited to, copyrights or trademarks;")}</li>
<li>Profane, pornographic, obscene, indecent or unlawful content;</li> <li>${_("Profane, pornographic, obscene, indecent or unlawful content;")}</li>
<li>Advertising or any form of commercial solicitation;</li> <li>${_("Advertising or any form of commercial solicitation;")}</li>
<li>Content related to partisan political activities;</li> <li>${_("Content related to partisan political activities;")}</li>
<li>Viruses, trojan horses, worms, time bombs, corrupted files, malware, spyware or any other similar software that may damage the operation of another's computer or property; and</li> <li>${_("Viruses, trojan horses, worms, time bombs, corrupted files, malware, spyware or any other similar software that may damage the operation of another's computer or property; and")}</li>
<li>Content that contains intentionally inaccurate information or that is posted with the intent of misleading others.</li> <li>${_("Content that contains intentionally inaccurate information or that is posted with the intent of misleading others.")}</li>
</ol> </ol>
<p>Furthermore, you agree not to scrape, or otherwise download in bulk, any Site content, including but not limited to a list or directory of users on the system, on-line textbooks, User Postings or user information. You agree not to misrepresent or attempt to misrepresent your identity while using the Sites (although you are welcome and encouraged to use an anonymous username in the forums and to act in a manner that keeps your identity concealed).</p> <p>${_("Furthermore, you agree not to scrape, or otherwise download in bulk, any Site content, including but not limited to a list or directory of users on the system, on-line textbooks, User Postings or user information. You agree not to misrepresent or attempt to misrepresent your identity while using the Sites (although you are welcome and encouraged to use an anonymous username in the forums and to act in a manner that keeps your identity concealed).")}</p>
<h2>User Accounts and Authority</h2> <h2>${_("User Accounts and Authority")}</h2>
<p>In order to participate fully in Site activities, you must provide your name, an email address and a user password in order to create a user account ("User Account"). You agree that you will never divulge or share access or access information to your User Account with any third party for any reason. In setting up your User Account, you may be prompted to enter additional optional information (e.g., your address). You represent that all information provided by you is accurate and current. You agree to maintain and update your information to keep it accurate and current.</p> <p>${_("In order to participate fully in Site activities, you must provide your name, an email address and a user password in order to create a user account (\"User Account\"). You agree that you will never divulge or share access or access information to your User Account with any third party for any reason. In setting up your User Account, you may be prompted to enter additional optional information (e.g., your address). You represent that all information provided by you is accurate and current. You agree to maintain and update your information to keep it accurate and current.")}</p>
<p>We care about the confidentiality and security of your personal information. Please see our <a href="${reverse('privacy_edx')}">Privacy Policy</a> for more information about what information about you edX collects and how edX uses that information.</p> <p>${_("We care about the confidentiality and security of your personal information. Please see our <a href=\"%s\">Privacy Policy</a> for more information about what information about you edX collects and how edX uses that information.") % reverse('privacy_edx')}</p>
<h2>Your Right to Use Content on the Site</h2> <h2>${_("Your Right to Use Content on the Site")}</h2>
<p>Unless indicated as being in the public domain, the content on the Site is protected by United States and foreign copyright laws. Unless otherwise expressly stated on the Site, the texts, exams, video, images and other instructional materials provided with the courses offered on this Site are for your personal use in connection with those courses only. MIT and Harvard aim to make much of the edX course content available under more open license terms that will help create a vibrant ecosystem of contributors and further edX's goal of making education accessible and affordable to the world.</p> <p>${_("Unless indicated as being in the public domain, the content on the Site is protected by United States and foreign copyright laws. Unless otherwise expressly stated on the Site, the texts, exams, video, images and other instructional materials provided with the courses offered on this Site are for your personal use in connection with those courses only. MIT and Harvard aim to make much of the edX course content available under more open license terms that will help create a vibrant ecosystem of contributors and further edX's goal of making education accessible and affordable to the world.")}</p>
<p>Certain reference documents, digital textbooks, articles and other information on the Site are used with the permission of third parties, and use of that information is subject to certain rules and conditions, which will be posted along with the information. By using this Site you agree to abide by all such rules and conditions.</p> <p>${_("Certain reference documents, digital textbooks, articles and other information on the Site are used with the permission of third parties, and use of that information is subject to certain rules and conditions, which will be posted along with the information. By using this Site you agree to abide by all such rules and conditions.")}</p>
<p>You agree to retain all copyright and other notices on any content you obtain from the Site. All rights in the Site and its content, if not expressly granted, are reserved.</p> <p>${_("You agree to retain all copyright and other notices on any content you obtain from the Site. All rights in the Site and its content, if not expressly granted, are reserved.")}</p>
<h2>User Postings</h2> <h2>${_("User Postings")}</h2>
<p><strong>User Postings Representations and Warranties.</strong> By submitting or distributing your User Postings, you affirm, represent and warrant (1) that you have the necessary rights, licenses, consents and/or permissions to reproduce and publish the User Postings and to authorize edX and its users to reproduce, modify, publish and otherwise use and distribute your User Postings in a manner consistent with the licenses granted by you below, and (2) that neither your submission of your User Postings nor the exercise of the licenses granted below will infringe or violate the rights of any third party. You, and not edX, are solely responsible for your User Postings and the consequences of posting or publishing them.</p> <p>${_("<strong>User Postings Representations and Warranties.</strong> By submitting or distributing your User Postings, you affirm, represent and warrant (1) that you have the necessary rights, licenses, consents and/or permissions to reproduce and publish the User Postings and to authorize edX and its users to reproduce, modify, publish and otherwise use and distribute your User Postings in a manner consistent with the licenses granted by you below, and (2) that neither your submission of your User Postings nor the exercise of the licenses granted below will infringe or violate the rights of any third party. You, and not edX, are solely responsible for your User Postings and the consequences of posting or publishing them.")}</p>
<p><strong>License Grant to edX.</strong> By submitting or distributing User Postings to the Site, you hereby grant to edX a worldwide, non-exclusive, transferable, assignable, sublicensable, fully paid-up, royalty-free, perpetual, irrevocable right and license to host, transfer, display, perform, reproduce, modify, distribute, re-distribute, relicense and otherwise use, make available and exploit your User Postings, in whole or in part, in any form and in any media formats and through any media channels (now known or hereafter developed).</p> <p>${_("<strong>License Grant to edX.</strong> By submitting or distributing User Postings to the Site, you hereby grant to edX a worldwide, non-exclusive, transferable, assignable, sublicensable, fully paid-up, royalty-free, perpetual, irrevocable right and license to host, transfer, display, perform, reproduce, modify, distribute, re-distribute, relicense and otherwise use, make available and exploit your User Postings, in whole or in part, in any form and in any media formats and through any media channels (now known or hereafter developed).")}</p>
<p><strong>License Grant to edX Users.</strong> By submitting or distributing User Postings to the Site, you hereby grant to each user of the Site a non-exclusive license to access and use your User Postings in connection with their use of the Site for their own personal purposes.</p> <p>${_("<strong>License Grant to edX Users.</strong> By submitting or distributing User Postings to the Site, you hereby grant to each user of the Site a non-exclusive license to access and use your User Postings in connection with their use of the Site for their own personal purposes.")}</p>
<h2>Certificates, etc.</h2> <h2>${_("Certificates, etc.")}</h2>
<p>EdX and/or the colleges and universities providing courses on the Site may offer a certificate of mastery or other acknowledgment (a "Certificate") for students who, in their judgment, have satisfactorily demonstrated mastery of the course material. Certificates will be issued by edX under the name of the underlying "X University" from where the course originated, i.e. HarvardX, MITx. etc. The decision whether a Certificate will be awarded to a given student will be solely within the discretion of the awarding entity, as will the name and form of any such Certificate. EdX and/or the institutions providing courses on the Site may choose not to offer a Certificate for some courses.</p> <p>${_("EdX and/or the colleges and universities providing courses on the Site may offer a certificate of mastery or other acknowledgment (a \"Certificate\") for students who, in their judgment, have satisfactorily demonstrated mastery of the course material. Certificates will be issued by edX under the name of the underlying \"X University\" from where the course originated, i.e. HarvardX, MITx. etc. The decision whether a Certificate will be awarded to a given student will be solely within the discretion of the awarding entity, as will the name and form of any such Certificate. EdX and/or the institutions providing courses on the Site may choose not to offer a Certificate for some courses.")}</p>
<p>When you take a course through edX, you will not be an applicant for admission to, or enrolled in, any degree program of the institution as a result of registering for or completing a course through edX. You will not be entitled to use any of the resources of the institution beyond the online courses provided on the Site, nor will you be eligible to receive student privileges or benefits provided to students enrolled in degree programs of the institution.</p> <p>${_("When you take a course through edX, you will not be an applicant for admission to, or enrolled in, any degree program of the institution as a result of registering for or completing a course through edX. You will not be entitled to use any of the resources of the institution beyond the online courses provided on the Site, nor will you be eligible to receive student privileges or benefits provided to students enrolled in degree programs of the institution.")}</p>
<h2>Trademarks</h2> <h2>${_("Trademarks")}</h2>
<p><strong>Use of edX, MIT, Harvard University and X University Names, Trademarks and Service Marks.</strong> The "edX," "MIT," and "Harvard University" names, logos and seals are trademarks ("Trademarks") of the respective entities. Likewise, the names, logos, and seals of the other colleges and universities providing courses on the Site (the "X Universities") are Trademarks owned by the X Universities. You may not use any of these Trademarks, or any variations thereof, without the owner's prior written consent. You may not use any of these Trademarks, or any variations thereof, for promotional purposes, or in any way that deliberately or inadvertently claims, suggests or, in these institutions' sole judgment, gives the appearance or impression of a relationship with or endorsement by these institutions.</p> <p>${_("<strong>Use of edX, MIT, Harvard University and X University Names, Trademarks and Service Marks.</strong> The \"edX\", \"MIT\", and \"Harvard University\" names, logos and seals are trademarks (\"Trademarks\") of the respective entities. Likewise, the names, logos, and seals of the other colleges and universities providing courses on the Site (the \"X Universities\") are Trademarks owned by the X Universities. You may not use any of these Trademarks, or any variations thereof, without the owner's prior written consent. You may not use any of these Trademarks, or any variations thereof, for promotional purposes, or in any way that deliberately or inadvertently claims, suggests or, in these institutions' sole judgment, gives the appearance or impression of a relationship with or endorsement by these institutions.")}</p>
<p>All Trademarks not owned by these institutions that appear on the Site or on or through the services made available on or through the Site, if any, are the property of their respective owners.</p> <p>${_("All Trademarks not owned by these institutions that appear on the Site or on or through the services made available on or through the Site, if any, are the property of their respective owners.")}</p>
<p>Nothing contained on the Site should be construed as granting, by implication, estoppel or otherwise, any license or right to use any Trademark displayed on the Site without the written permission of the owner of the applicable Trademark.</p> <p>${_("Nothing contained on the Site should be construed as granting, by implication, estoppel or otherwise, any license or right to use any Trademark displayed on the Site without the written permission of the owner of the applicable Trademark.")}</p>
<h2>Digital Millennium Copyright Act</h2> <h2>${_("Digital Millennium Copyright Act")}</h2>
<p>Copyright owners who believe their material has been infringed on the Site should contact edX's designated copyright agent at <a href="mailto:dcma-agent@mit.edu">dcma-agent@mit.edu</a> or at 77 Massachusetts Avenue, Cambridge, MA 02138-4307 Attention: MIT DCMA Agent, W92-263A.</p> <p>${_("Copyright owners who believe their material has been infringed on the Site should contact edX's designated copyright agent at <a href=\"mailto:dcma-agent@mit.edu\">dcma-agent@mit.edu</a> or at 77 Massachusetts Avenue, Cambridge, MA 02138-4307 Attention: MIT DCMA Agent, W92-263A.")}</p>
<p>Notification must include:</p> <p>${_("Notification must include:")}</p>
<ul> <ul>
<li>Identification of the copyrighted work, or, in the case of multiple works at the same location, a representative list of such works at that site.</li> <li>${_("Identification of the copyrighted work, or, in the case of multiple works at the same location, a representative list of such works at that site.")}</li>
<li>Identification of the material that is claimed to be infringing or to be the subject of infringing activity. You must include sufficient information for us to locate the material (e.g., URL, IP address, computer name).</li> <li>${_("Identification of the material that is claimed to be infringing or to be the subject of infringing activity. You must include sufficient information for us to locate the material (e.g., URL, IP address, computer name).")}</li>
<li>Information for us to be able to contact the complaining party (e.g., email address, phone number).</li> <li>${_("Information for us to be able to contact the complaining party (e.g., email address, phone number).")}</li>
<li>A statement that the complaining party believes that the use of the material has not been authorized by the copyright owner or an authorized agent.</li> <li>${_("A statement that the complaining party believes that the use of the material has not been authorized by the copyright owner or an authorized agent.")}</li>
<li>A statement that the information in the notification is accurate and that the complaining party is authorized to act on behalf of the copyright owner.</li> <li>${_("A statement that the information in the notification is accurate and that the complaining party is authorized to act on behalf of the copyright owner.")}</li>
</ul> </ul>
<h2>Disclaimers of Warranty / Limitations of Liabilities</h2> <h2>${_("Disclaimers of Warranty / Limitations of Liabilities")}</h2>
<p><strong>THE SITE AND ANY INFORMATION, CONTENT OR SERVICES MADE AVAILABLE ON OR THROUGH THE SITE ARE PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR OTHERWISE), INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, EXCEPT INSOFAR AS ANY SUCH IMPLIED WARRANTIES MAY NOT BE DISCLAIMED UNDER APPLICABLE LAW.</strong></p> <p>${_("<strong>THE SITE AND ANY INFORMATION, CONTENT OR SERVICES MADE AVAILABLE ON OR THROUGH THE SITE ARE PROVIDED \"AS IS\" AND \"AS AVAILABLE\" WITHOUT WARRANTY OF ANY KIND (EXPRESS, IMPLIED OR OTHERWISE), INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, EXCEPT INSOFAR AS ANY SUCH IMPLIED WARRANTIES MAY NOT BE DISCLAIMED UNDER APPLICABLE LAW.</strong>")}</p>
<p><strong>EDX AND THE EDX PARTICIPANTS (AS HERINAFTER DEFINED) DO NOT WARRANT THAT THE SITE WILL OPERATE IN AN UNINTERRUPTED OR ERROR-FREE MANNER, THAT THE SITE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS, OR THAT THE COURSES OR CONTENT PROVIDED WILL MEET YOUR NEEDS OR EXPECTATIONS. EDX AND THE EDX PARTICIPANTS ALSO MAKE NO WARRANTY ABOUT THE ACCURACY, COMPLETENESS, TIMELINESS, OR QUALITY OF THE SITE OR ANY COURSES OR CONTENT, OR THAT ANY PARTICULAR COURSES OR CONTENT WILL CONTINUE TO BE MADE AVAILABLE. &ldquo;EDX PARTICIPANTS&rdquo; MEANS MIT, HARVARD, X UNIVERSITIES, THE ENTITIES PROVIDING INFORMATION, CONTENT OR SERVICES FOR THE SITE, THE COURSE INSTRUCTORS AND THEIR STAFFS.</strong></p> <p>${_("<strong>EDX AND THE EDX PARTICIPANTS (AS HERINAFTER DEFINED) DO NOT WARRANT THAT THE SITE WILL OPERATE IN AN UNINTERRUPTED OR ERROR-FREE MANNER, THAT THE SITE IS FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS, OR THAT THE COURSES OR CONTENT PROVIDED WILL MEET YOUR NEEDS OR EXPECTATIONS. EDX AND THE EDX PARTICIPANTS ALSO MAKE NO WARRANTY ABOUT THE ACCURACY, COMPLETENESS, TIMELINESS, OR QUALITY OF THE SITE OR ANY COURSES OR CONTENT, OR THAT ANY PARTICULAR COURSES OR CONTENT WILL CONTINUE TO BE MADE AVAILABLE. &ldquo;EDX PARTICIPANTS&rdquo; MEANS MIT, HARVARD, X UNIVERSITIES, THE ENTITIES PROVIDING INFORMATION, CONTENT OR SERVICES FOR THE SITE, THE COURSE INSTRUCTORS AND THEIR STAFFS.</strong>")}</p>
<p><strong>USE OF THE SITE, AND THE CONTENT AND SERVICES OBTAINED FROM OR THROUGH THE SITE, IS AT YOUR OWN RISK. YOUR ACCESS TO OR DOWNLOAD OF INFORMATION, MATERIALS OR DATA THROUGH THE SITE OR ANY REFERENCE SITES IS AT YOUR OWN DISCRETION AND RISK, AND YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR PROPERTY (INCLUDING YOUR COMPUTER SYSTEM) OR LOSS OF DATA THAT RESULTS FROM THE DOWNLOAD OR USE OF SUCH MATERIAL OR DATA.</strong></p> <p>${_("<strong>USE OF THE SITE, AND THE CONTENT AND SERVICES OBTAINED FROM OR THROUGH THE SITE, IS AT YOUR OWN RISK. YOUR ACCESS TO OR DOWNLOAD OF INFORMATION, MATERIALS OR DATA THROUGH THE SITE OR ANY REFERENCE SITES IS AT YOUR OWN DISCRETION AND RISK, AND YOU WILL BE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR PROPERTY (INCLUDING YOUR COMPUTER SYSTEM) OR LOSS OF DATA THAT RESULTS FROM THE DOWNLOAD OR USE OF SUCH MATERIAL OR DATA.</strong>")}</p>
<p><strong>User Postings Disclaimer.</strong> You understand that when using the Site you will be exposed to User Postings from a variety of sources and that neither edX nor the edX Participants are responsible for the accuracy, usefulness, reliability or intellectual property rights of or relating to such User Postings. You further understand and acknowledge that you may be exposed to User Postings that are inaccurate, offensive, defamatory, indecent or objectionable and you agree to waive, and hereby do waive, any legal or equitable rights or remedies you have or may have against edX or any of the edX Participants with respect thereto. Neither edX nor the edX Participants endorse any User Postings or any opinion, recommendation or advice expressed therein. Neither edX nor the edX Participants have any obligation to monitor any User Postings or any other user communications through the Site.</p> <p>${_("<strong>User Postings Disclaimer.</strong> You understand that when using the Site you will be exposed to User Postings from a variety of sources and that neither edX nor the edX Participants are responsible for the accuracy, usefulness, reliability or intellectual property rights of or relating to such User Postings. You further understand and acknowledge that you may be exposed to User Postings that are inaccurate, offensive, defamatory, indecent or objectionable and you agree to waive, and hereby do waive, any legal or equitable rights or remedies you have or may have against edX or any of the edX Participants with respect thereto. Neither edX nor the edX Participants endorse any User Postings or any opinion, recommendation or advice expressed therein. Neither edX nor the edX Participants have any obligation to monitor any User Postings or any other user communications through the Site.")}</p>
<p>However, edX reserves the right to review User Postings and to exercise its sole discretion to edit or remove, in whole or in part, any User Posting at any time or for any reason, or to allow the edX Participants to do so. Without limiting the foregoing, upon receiving notice from a user or a content owner that a User Posting allegedly does not conform to these TOS, edX may investigate the allegation and determine in its sole discretion whether to remove the User Posting, which it reserves the right to do at any time and without notice.</p> <p>${_("However, edX reserves the right to review User Postings and to exercise its sole discretion to edit or remove, in whole or in part, any User Posting at any time or for any reason, or to allow the edX Participants to do so. Without limiting the foregoing, upon receiving notice from a user or a content owner that a User Posting allegedly does not conform to these TOS, edX may investigate the allegation and determine in its sole discretion whether to remove the User Posting, which it reserves the right to do at any time and without notice.")}</p>
<p><strong>Links to Other Sites.</strong> The Site may include hyperlinks to sites maintained or controlled by others. EdX and the edX Participants are not responsible for and do not routinely screen, approve, review or endorse the contents of or use of any of the products or services that may be offered at these sites. If you decide to access linked third party web sites, you do so at your own risk.</p> <p>${_("<strong>Links to Other Sites.</strong> The Site may include hyperlinks to sites maintained or controlled by others. EdX and the edX Participants are not responsible for and do not routinely screen, approve, review or endorse the contents of or use of any of the products or services that may be offered at these sites. If you decide to access linked third party web sites, you do so at your own risk.")}</p>
<p><strong>TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, YOU AGREE THAT NEITHER EDX NOR ANY OF THE EDX PARTICIPANTS WILL BE LIABLE TO YOU FOR ANY LOSS OR DAMAGES, EITHER ACTUAL OR CONSEQUENTIAL, ARISING OUT OF OR RELATING TO THESE TERMS OF SERVICE, OR YOUR (OR ANY THIRD PARTY'S) USE OF OR INABILITY TO USE THE SITE, OR YOUR PLACEMENT OF CONTENT ON THE SITE, OR YOUR RELIANCE UPON INFORMATION OBTAINED FROM OR THROUGH THE SITE, WHETHER YOUR CLAIM IS BASED IN CONTRACT, TORT, STATUTORY OR OTHER LAW.</strong></p> <p>${_("<strong>TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, YOU AGREE THAT NEITHER EDX NOR ANY OF THE EDX PARTICIPANTS WILL BE LIABLE TO YOU FOR ANY LOSS OR DAMAGES, EITHER ACTUAL OR CONSEQUENTIAL, ARISING OUT OF OR RELATING TO THESE TERMS OF SERVICE, OR YOUR (OR ANY THIRD PARTY'S) USE OF OR INABILITY TO USE THE SITE, OR YOUR PLACEMENT OF CONTENT ON THE SITE, OR YOUR RELIANCE UPON INFORMATION OBTAINED FROM OR THROUGH THE SITE, WHETHER YOUR CLAIM IS BASED IN CONTRACT, TORT, STATUTORY OR OTHER LAW.</strong>")}</p>
<p><strong>IN PARTICULAR, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER EDX NOR ANY OF THE EDX PARTICIPANTS WILL HAVE ANY LIABILITY FOR ANY CONSEQUENTIAL, INDIRECT, PUNITIVE, SPECIAL, EXEMPLARY OR INCIDENTAL DAMAGES, WHETHER FORESEEABLE OR UNFORESEEABLE AND WHETHER OR NOT EDX OR ANY OF THE EDX PARTICIPANTS HAS BEEN NEGLIGENT OR OTHERWISE AT FAULT (INCLUDING, BUT NOT LIMITED TO, CLAIMS FOR DEFAMATION, ERRORS, LOSS OF PROFITS, LOSS OF DATA OR INTERRUPTION IN AVAILABILITY OF DATA).</strong></p> <p>${_("<strong>IN PARTICULAR, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, NEITHER EDX NOR ANY OF THE EDX PARTICIPANTS WILL HAVE ANY LIABILITY FOR ANY CONSEQUENTIAL, INDIRECT, PUNITIVE, SPECIAL, EXEMPLARY OR INCIDENTAL DAMAGES, WHETHER FORESEEABLE OR UNFORESEEABLE AND WHETHER OR NOT EDX OR ANY OF THE EDX PARTICIPANTS HAS BEEN NEGLIGENT OR OTHERWISE AT FAULT (INCLUDING, BUT NOT LIMITED TO, CLAIMS FOR DEFAMATION, ERRORS, LOSS OF PROFITS, LOSS OF DATA OR INTERRUPTION IN AVAILABILITY OF DATA).</strong>")}</p>
<h2>Indemnification</h2> <h2>${_("Indemnification")}</h2>
<p>You agree to defend, hold harmless and indemnify edX and the edX Participants, and their respective subsidiaries, affiliates, officers, faculty, students, fellows, governing board members, agents and employees from and against any third-party claims, actions or demands arising out of, resulting from or in any way related to your use of the Site, including any liability or expense arising from any and all claims, losses, damages (actual and consequential), suits, judgments, litigation costs and attorneys' fees, of every kind and nature. In such a case, edX or one of the edX Participants will provide you with written notice of such claim, suit or action.</p> <p>${_("You agree to defend, hold harmless and indemnify edX and the edX Participants, and their respective subsidiaries, affiliates, officers, faculty, students, fellows, governing board members, agents and employees from and against any third-party claims, actions or demands arising out of, resulting from or in any way related to your use of the Site, including any liability or expense arising from any and all claims, losses, damages (actual and consequential), suits, judgments, litigation costs and attorneys' fees, of every kind and nature. In such a case, edX or one of the edX Participants will provide you with written notice of such claim, suit or action.")}</p>
<h2>Miscellaneous</h2> <h2>${_("Miscellaneous")}</h2>
<p><strong>Termination Rights; Discontinuation of Courses and Content.</strong> You agree that edX, in its sole discretion, may terminate your use of the Site or your participation in it, for any reason or no reason, upon notice to you. It is edX's policy to terminate in appropriate circumstances users of the Site who are repeat copyright infringers. EdX and the edX Participants reserve the right at any time in their sole discretion to cancel, delay, reschedule or alter the format of any course offered through edX, or to cease providing any part or all of the Site content or related services, and you agree that neither edX nor any of the edX Participants will have any liability to you for such an action. If you no longer desire to participate in the Site, you may terminate your participation at any time. The rights granted to you hereunder will terminate upon any termination of your right to use the Site, but the other provisions of these TOS will survive any such termination. </p> <p>${_("<strong>Termination Rights; Discontinuation of Courses and Content.</strong> You agree that edX, in its sole discretion, may terminate your use of the Site or your participation in it, for any reason or no reason, upon notice to you. It is edX's policy to terminate in appropriate circumstances users of the Site who are repeat copyright infringers. EdX and the edX Participants reserve the right at any time in their sole discretion to cancel, delay, reschedule or alter the format of any course offered through edX, or to cease providing any part or all of the Site content or related services, and you agree that neither edX nor any of the edX Participants will have any liability to you for such an action. If you no longer desire to participate in the Site, you may terminate your participation at any time. The rights granted to you hereunder will terminate upon any termination of your right to use the Site, but the other provisions of these TOS will survive any such termination. ")}</p>
<p><strong>Entire Agreement.</strong> These TOS, the Honor Code, and the Privacy Policy together constitute the entire agreement between you and edX with respect to your use of the Site, superseding any prior agreements between you and edX regarding your use of the Site.</p> <p>${_("<strong>Entire Agreement.</strong> These TOS, the Honor Code, and the Privacy Policy together constitute the entire agreement between you and edX with respect to your use of the Site, superseding any prior agreements between you and edX regarding your use of the Site.")}</p>
<p><strong>Waiver and Severability of TOS.</strong> The failure of edX to exercise or enforce any right or provision of these TOS shall not constitute a waiver of such right or provision. If any provision of these TOS is found by a court of competent jurisdiction to be invalid, the parties nevertheless agree that the court should endeavor to give effect to the parties' intentions as reflected in the provision and the other provisions of these TOS shall remain in full force and effect.</p> <p>${_("<strong>Waiver and Severability of TOS.</strong> The failure of edX to exercise or enforce any right or provision of these TOS shall not constitute a waiver of such right or provision. If any provision of these TOS is found by a court of competent jurisdiction to be invalid, the parties nevertheless agree that the court should endeavor to give effect to the parties' intentions as reflected in the provision and the other provisions of these TOS shall remain in full force and effect.")}</p>
<p><strong>Choice of Law/Forum Selection.</strong> You agree that these TOS and any claim or dispute arising out of or relating to these TOS or any content or service obtained from or through the Site will be governed by the laws of the Commonwealth of Massachusetts, excluding its conflicts of law provisions. You agree that all such claims and disputes will be heard and resolved exclusively in the federal or state courts located in and serving Cambridge, Massachusetts, U.S.A. You consent to the personal jurisdiction of those courts over you for this purpose, and you waive and agree not to assert any objection to such proceedings in those courts (including any defense or objection of lack of proper jurisdiction or venue or inconvenience of forum).</p> <p>${_("<strong>Choice of Law/Forum Selection.</strong> You agree that these TOS and any claim or dispute arising out of or relating to these TOS or any content or service obtained from or through the Site will be governed by the laws of the Commonwealth of Massachusetts, excluding its conflicts of law provisions. You agree that all such claims and disputes will be heard and resolved exclusively in the federal or state courts located in and serving Cambridge, Massachusetts, U.S.A. You consent to the personal jurisdiction of those courts over you for this purpose, and you waive and agree not to assert any objection to such proceedings in those courts (including any defense or objection of lack of proper jurisdiction or venue or inconvenience of forum).")}</p>
<p><strong>Effective Date:</strong> September 26, 2012</p> <p>${_("<strong>Effective Date:</strong> September 26, 2012")}</p>
</div> </div>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="main.html" /> <%inherit file="main.html" />
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%block name="title"><title>${course.number} Textbook</title></%block> <%block name="title"><title>${_("{course_number} Textbook").format(course_number=course.number)}</title></%block>
<%block name="headextra"> <%block name="headextra">
<%static:css group='course'/> <%static:css group='course'/>
...@@ -66,7 +68,7 @@ $("#open_close_accordion a").click(function(){ ...@@ -66,7 +68,7 @@ $("#open_close_accordion a").click(function(){
<section class="container"> <section class="container">
<div class="book-wrapper"> <div class="book-wrapper">
<section aria-label="Textbook Navigation" class="book-sidebar"> <section aria-label="${_('Textbook Navigation')}" class="book-sidebar">
<header id="open_close_accordion"> <header id="open_close_accordion">
<a href="#">close</a> <a href="#">close</a>
</header> </header>
...@@ -109,10 +111,10 @@ $("#open_close_accordion a").click(function(){ ...@@ -109,10 +111,10 @@ $("#open_close_accordion a").click(function(){
<nav> <nav>
<ul> <ul>
<li class="last"> <li class="last">
<a href="javascript:prev_page()">Previous page</a> <a href="javascript:prev_page()">${_('Previous page')}</a>
</li> </li>
<li class="next"> <li class="next">
<a href="javascript:next_page()">Next page</a> <a href="javascript:next_page()">${_('Next page')}</a>
</li> </li>
</ul> </ul>
</nav> </nav>
......
<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
## "edX" should not be translated
<%block name="title"><title>edX</title></%block> <%block name="title"><title>edX</title></%block>
<link rel="icon" type="image/x-icon" href="${static.url('images/favicon.ico')}" /> <link rel="icon" type="image/x-icon" href="${static.url('images/favicon.ico')}" />
......
<%! from django.utils.translation import ugettext as _ %>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from courseware.courses import course_image_url, get_course_about_section from courseware.courses import course_image_url, get_course_about_section
...@@ -8,7 +10,7 @@ ...@@ -8,7 +10,7 @@
<%namespace name='static' file='static_content.html'/> <%namespace name='static' file='static_content.html'/>
<%block name="title"><title>Pearson VUE Test Center Proctoring - Registration</title></%block> <%block name="title"><title>${_('Pearson VUE Test Center Proctoring - Registration')}</title></%block>
<%block name="js_extra"> <%block name="js_extra">
<script type="text/javascript"> <script type="text/javascript">
...@@ -96,9 +98,9 @@ ...@@ -96,9 +98,9 @@
<h2><a href="${reverse('dashboard')}">${get_course_about_section(course, 'university')} ${course.number} ${course.display_name_with_default}</a></h2> <h2><a href="${reverse('dashboard')}">${get_course_about_section(course, 'university')} ${course.number} ${course.display_name_with_default}</a></h2>
% if registration: % if registration:
<h1>Your Pearson VUE Proctored Exam Registration</h1> <h1>${_('Your Pearson VUE Proctored Exam Registration')}</h1>
% else: % else:
<h1>Register for a Pearson VUE Proctored Exam</h1> <h1>${_('Register for a Pearson VUE Proctored Exam')}</h1>
% endif % endif
</hgroup> </hgroup>
</header> </header>
...@@ -112,30 +114,31 @@ ...@@ -112,30 +114,31 @@
<!-- select one of four registration status banners to display --> <!-- select one of four registration status banners to display -->
% if registration.is_accepted: % if registration.is_accepted:
<section class="status message message-flash registration-processed message-action is-shown"> <section class="status message message-flash registration-processed message-action is-shown">
<h3 class="message-title">Your registration for the Pearson exam has been processed</h3> <h3 class="message-title">${_('Your registration for the Pearson exam has been processed')}</h3>
<p class="message-copy">Your registration number is <strong>${registration.client_candidate_id}</strong>. (Write this down! You’ll need it to schedule your exam.)</p> <p class="message-copy">${_("Your registration number is <strong>{reg_number}</strong>. "
<a href="${registration.registration_signup_url}" class="button exam-button">Schedule Pearson exam</a> "(Write this down! You\'ll need it to schedule your exam.)").format(reg_number=registration.client_candidate_id)}</p>
<a href="${registration.registration_signup_url}" class="button exam-button">${_('Schedule Pearson exam')}</a>
</section> </section>
% endif % endif
% if registration.demographics_is_rejected: % if registration.demographics_is_rejected:
<section class="status message message-flash demographics-rejected message-action is-shown"> <section class="status message message-flash demographics-rejected message-action is-shown">
<h3 class="message-title">Your demographic information contained an error and was rejected</h3> <h3 class="message-title">${_('Your demographic information contained an error and was rejected')}</h3>
<p class="message-copy">Please check the information you provided, and correct the errors noted below. <p class="message-copy">${_('Please check the information you provided, and correct the errors noted below.')}
</section> </section>
% endif % endif
% if registration.registration_is_rejected: % if registration.registration_is_rejected:
<section class="status message message-flash registration-rejected message-action is-shown"> <section class="status message message-flash registration-rejected message-action is-shown">
<h3 class="message-title">Your registration for the Pearson exam has been rejected</h3> <h3 class="message-title">${_('Your registration for the Pearson exam has been rejected')}</h3>
<p class="message-copy">Please see your <strong>registration status</strong> details for more information.</p> <p class="message-copy">${_('Please see your <strong>registration status</strong> details for more information.')}</p>
</section> </section>
% endif % endif
% if registration.is_pending: % if registration.is_pending:
<section class="status message message-flash registration-pending is-shown"> <section class="status message message-flash registration-pending is-shown">
<h3 class="message-title">Your registration for the Pearson exam is pending</h3> <h3 class="message-title">${_('Your registration for the Pearson exam is pending')}</h3>
<p class="message-copy">Once your information is processed, it will be forwarded to Pearson and you will be able to schedule an exam.</p> <p class="message-copy">${_('Once your information is processed, it will be forwarded to Pearson and you will be able to schedule an exam.')}</p>
</section> </section>
% endif % endif
...@@ -143,7 +146,7 @@ ...@@ -143,7 +146,7 @@
<section class="content"> <section class="content">
<header> <header>
<h3 class="is-hidden">Registration Form</h3> <h3 class="is-hidden">${_('Registration Form')}</h3>
</header> </header>
% if exam_info.is_registering(): % if exam_info.is_registering():
<form id="testcenter_register_form" method="post" data-remote="true" action="/create_exam_registration"> <form id="testcenter_register_form" method="post" data-remote="true" action="/create_exam_registration">
...@@ -151,18 +154,18 @@ ...@@ -151,18 +154,18 @@
<form id="testcenter_register_form" method="post" data-remote="true" action="/create_exam_registration" class="disabled"> <form id="testcenter_register_form" method="post" data-remote="true" action="/create_exam_registration" class="disabled">
<!-- registration closed, so tell them they can't do anything: --> <!-- registration closed, so tell them they can't do anything: -->
<div class="status message registration-closed is-shown"> <div class="status message registration-closed is-shown">
<h3 class="message-title">Registration for this Pearson exam is closed</h3> <h3 class="message-title">${_('Registration for this Pearson exam is closed')}</h3>
<p class="message-copy">Your previous information is available below, however you may not edit any of the information. <p class="message-copy">${_('Your previous information is available below, however you may not edit any of the information.')}
</div> </div>
% endif % endif
% if registration: % if registration:
<p class="instructions"> <p class="instructions">
Please use the following form if you need to update your demographic information used in your Pearson VUE Proctored Exam. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>. ${_('Please use the following form if you need to update your demographic information used in your Pearson VUE Proctored Exam. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)')}</strong>.
</p> </p>
% else: % else:
<p class="instructions"> <p class="instructions">
Please provide the following demographic information to register for a Pearson VUE Proctored Exam. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)</strong>. ${_('Please provide the following demographic information to register for a Pearson VUE Proctored Exam. Required fields are noted by <strong class="indicator">bold text and an asterisk (*)')}</strong>.
</p> </p>
% endif % endif
...@@ -174,102 +177,102 @@ ...@@ -174,102 +177,102 @@
<div class="form-fields-primary"> <div class="form-fields-primary">
<fieldset class="group group-form group-form-personalinformation"> <fieldset class="group group-form group-form-personalinformation">
<legend class="is-hidden">Personal Information</legend> <legend class="is-hidden">${_('Personal Information')}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field" id="field-salutation"> <li class="field" id="field-salutation">
<label for="salutation">Salutation</label> <label for="salutation">${_('Salutation')}</label>
<input class="short" id="salutation" type="text" name="salutation" value="${testcenteruser.salutation}" placeholder="e.g. Mr., Ms., Mrs., Dr." /> <input class="short" id="salutation" type="text" name="salutation" value="${testcenteruser.salutation}" placeholder="${_('e.g. Mr., Ms., Mrs., Dr.')}" />
</li> </li>
<li class="field required" id="field-first_name"> <li class="field required" id="field-first_name">
<label for="first_name">First Name </label> <label for="first_name">${_('First Name')} </label>
<input id="first_name" type="text" name="first_name" value="${testcenteruser.first_name}" placeholder="e.g. Albert" /> <input id="first_name" type="text" name="first_name" value="${testcenteruser.first_name}" placeholder="${_('e.g. Albert')}" />
</li> </li>
<li class="field" id="field-middle_name"> <li class="field" id="field-middle_name">
<label for="middle_name">Middle Name</label> <label for="middle_name">${_("Middle Name")}</label>
<input id="middle_name" type="text" name="middle_name" value="${testcenteruser.middle_name}" placeholder="" /> <input id="middle_name" type="text" name="middle_name" value="${testcenteruser.middle_name}" placeholder="" />
</li> </li>
<li class="field required" id="field-last_name"> <li class="field required" id="field-last_name">
<label for="last_name">Last Name</label> <label for="last_name">${_('Last Name')}</label>
<input id="last_name" type="text" name="last_name" value="${testcenteruser.last_name}" placeholder="e.g. Einstein" /> <input id="last_name" type="text" name="last_name" value="${testcenteruser.last_name}" placeholder="${_('e.g. Einstein')}" />
</li> </li>
<li class="field" id="field-suffix"> <li class="field" id="field-suffix">
<label for="suffix">Suffix</label> <label for="suffix">${_('Suffix')}</label>
<input class="short" id="suffix" type="text" name="suffix" value="${testcenteruser.suffix}" placeholder="e.g. Jr., Sr. " /> <input class="short" id="suffix" type="text" name="suffix" value="${testcenteruser.suffix}" placeholder="${_('e.g. Jr., Sr. ')}" />
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<fieldset class="group group-form group-form-mailingaddress"> <fieldset class="group group-form group-form-mailingaddress">
<legend class="is-hidden">Mailing Address</legend> <legend class="is-hidden">${_('Mailing Address')}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field required" id="field-address_1"> <li class="field required" id="field-address_1">
<label class="long" for="address_1">Address Line #1</label> <label class="long" for="address_1">${_('Address Line #1')}</label>
<input id="address_1" type="text" name="address_1" value="${testcenteruser.address_1}" placeholder="e.g. 112 Mercer Street" /> <input id="address_1" type="text" name="address_1" value="${testcenteruser.address_1}" placeholder="${_('e.g. 112 Mercer Street')}" />
</li> </li>
<li class="field-group addresses"> <li class="field-group addresses">
<div class="field" id="field-address_2"> <div class="field" id="field-address_2">
<label for="address_2">Address Line #2</label> <label for="address_2">${_('Address Line #2')}</label>
<input id="address_2" class="long" type="text" name="address_2" value="${testcenteruser.address_2}" placeholder="e.g. Apartment 123" /> <input id="address_2" class="long" type="text" name="address_2" value="${testcenteruser.address_2}" placeholder="${_('e.g. Apartment 123')}" />
</div> </div>
<div class="field" id="field-address_3"> <div class="field" id="field-address_3">
<label for="address_3">Address Line #3</label> <label for="address_3">${_('Address Line #3')}</label>
<input id="address_3" class="long" type="text" name="address_3" value="${testcenteruser.address_3}" placeholder="e.g. Attention: Albert Einstein" /> <input id="address_3" class="long" type="text" name="address_3" value="${testcenteruser.address_3}" placeholder="${_('e.g. Attention: Albert Einstein')}" />
</div> </div>
</li> </li>
<li class="field required postal-1" id="field-city"> <li class="field required postal-1" id="field-city">
<label for="city">City</label> <label for="city">${_('City')}</label>
<input id="city" class="long" type="text" name="city" value="${testcenteruser.city}" placeholder="e.g. Newark" /> <input id="city" class="long" type="text" name="city" value="${testcenteruser.city}" placeholder="${_('e.g. Newark')}" />
</li> </li>
<li class="field-group postal-2"> <li class="field-group postal-2">
<div class="field" id="field-state"> <div class="field" id="field-state">
<label for="state">State/Province</label> <label for="state">${_('State/Province')}</label>
<input id="state" class="short" type="text" name="state" value="${testcenteruser.state}" placeholder="e.g. NJ" /> <input id="state" class="short" type="text" name="state" value="${testcenteruser.state}" placeholder="${_('e.g. NJ')}" />
</div> </div>
<div class="field" id="field-postal_code"> <div class="field" id="field-postal_code">
<label for="postal_code">Postal Code</label> <label for="postal_code">${_('Postal Code')}</label>
<input id="postal_code" class="short" type="text" name="postal_code" value="${testcenteruser.postal_code}" placeholder="e.g. 08540" /> <input id="postal_code" class="short" type="text" name="postal_code" value="${testcenteruser.postal_code}" placeholder="${_('e.g. 08540')}" />
</div> </div>
<div class="field required" id="field-country"> <div class="field required" id="field-country">
<label class="short" for="country">Country Code</label> <label class="short" for="country">${_('Country Code')}</label>
<input id="country" class="short" type="text" name="country" value="${testcenteruser.country}" placeholder="e.g. USA" /> <input id="country" class="short" type="text" name="country" value="${testcenteruser.country}" placeholder="${_('e.g. USA')}" />
</div> </div>
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
<fieldset class="group group-form group-form-contactinformation"> <fieldset class="group group-form group-form-contactinformation">
<legend class="is-hidden">Contact &amp; Other Information</legend> <legend class="is-hidden">${_('Contact &amp; Other Information')}</legend>
<ol class="list-input"> <ol class="list-input">
<li class="field-group phoneinfo"> <li class="field-group phoneinfo">
<div class="field required" id="field-phone"> <div class="field required" id="field-phone">
<label for="phone">Phone Number</label> <label for="phone">${_('Phone Number')}</label>
<input id="phone" type="tel" name="phone" value="${testcenteruser.phone}" /> <input id="phone" type="tel" name="phone" value="${testcenteruser.phone}" />
</div> </div>
<div class="field" id="field-extension"> <div class="field" id="field-extension">
<label for="extension">Extension</label> <label for="extension">${_('Extension')}</label>
<input id="extension" class="short" type="tel" name="extension" value="${testcenteruser.extension}" /> <input id="extension" class="short" type="tel" name="extension" value="${testcenteruser.extension}" />
</div> </div>
<div class="field required" id="field-phone_country_code"> <div class="field required" id="field-phone_country_code">
<label for="phone_country_code">Phone Country Code</label> <label for="phone_country_code">${_('Phone Country Code')}</label>
<input id="phone_country_code" class="short" type="text" name="phone_country_code" value="${testcenteruser.phone_country_code}" /> <input id="phone_country_code" class="short" type="text" name="phone_country_code" value="${testcenteruser.phone_country_code}" />
</div> </div>
</li> </li>
<li class="field-group faxinfo"> <li class="field-group faxinfo">
<div class="field" id="field-fax"> <div class="field" id="field-fax">
<label for="fax">Fax Number</label> <label for="fax">${_('Fax Number')}</label>
<input id="fax" type="tel" class="short" name="fax" value="${testcenteruser.fax}" /> <input id="fax" type="tel" class="short" name="fax" value="${testcenteruser.fax}" />
</div> </div>
<div class="field" id="field-fax_country_code"> <div class="field" id="field-fax_country_code">
<label for="fax_country_code">Fax Country Code</label> <label for="fax_country_code">${_('Fax Country Code')}</label>
<input id="fax_country_code" class="short" type="text" name="fax_country_code" value="${testcenteruser.fax_country_code}" /> <input id="fax_country_code" class="short" type="text" name="fax_country_code" value="${testcenteruser.fax_country_code}" />
</div> </div>
</li> </li>
<li class="field" id="field-company_name"> <li class="field" id="field-company_name">
<label for="company_name">Company</label> <label for="company_name">${_('Company')}</label>
<input id="company_name" type="text" name="company_name" value="${testcenteruser.company_name}" placeholder="e.g. American Association of University Professors" /> <input id="company_name" type="text" name="company_name" value="${testcenteruser.company_name}" placeholder="${_('e.g. American Association of University Professors')}" />
</li> </li>
</ol> </ol>
</fieldset> </fieldset>
...@@ -285,26 +288,26 @@ ...@@ -285,26 +288,26 @@
% if registration: % if registration:
% if registration.accommodation_request and len(registration.accommodation_request) > 0: % if registration.accommodation_request and len(registration.accommodation_request) > 0:
<p class="note"><span class="title">Note</span>: Your previous accommodation request below needs to be reviewed in detail <strong>and will add a significant delay to your registration process</strong>.</p> <p class="note">${_('<span class="title">Note</span>: Your previous accommodation request below needs to be reviewed in detail <strong>and will add a significant delay to your registration process</strong>.')}</p>
% endif % endif
% else: % else:
<p class="note"><span class="title">Note</span>: Accommodation requests are not part of your demographic information, <strong>and cannot be changed once submitted</strong>. Accommodation requests, which are reviewed on a case-by-case basis, <strong>will add significant delay to the registration process</strong>.</p> <p class="note">${_('<span class="title">Note</span>: Accommodation requests are not part of your demographic information, <strong>and cannot be changed once submitted</strong>. Accommodation requests, which are reviewed on a case-by-case basis, <strong>will add significant delay to the registration process</strong>.')}</p>
% endif % endif
<fieldset class="group group-form group-form-optional"> <fieldset class="group group-form group-form-optional">
<legend class="is-hidden">Optional Information</legend> <legend class="is-hidden">${_('Optional Information')}</legend>
<ol class="list-input"> <ol class="list-input">
% if registration: % if registration:
% if registration.accommodation_request and len(registration.accommodation_request) > 0: % if registration.accommodation_request and len(registration.accommodation_request) > 0:
<li class="field submitted" id="field-accommodation_request"> <li class="field submitted" id="field-accommodation_request">
<label for="accommodation_request">Accommodations Requested</label> <label for="accommodation_request">${_('Accommodations Requested')}</label>
<p class="value" id="accommodations">${registration.accommodation_request}</p> <p class="value" id="accommodations">${registration.accommodation_request}</p>
</li> </li>
% endif % endif
% else: % else:
<li class="field" id="field-accommodation_request"> <li class="field" id="field-accommodation_request">
<label for="accommodation_request">Accommodations Requested</label> <label for="accommodation_request">${_('Accommodations Requested')}</label>
<textarea class="long" id="accommodation_request" name="accommodation_request" value="" placeholder=""></textarea> <textarea class="long" id="accommodation_request" name="accommodation_request" value="" placeholder=""></textarea>
</li> </li>
% endif % endif
...@@ -314,11 +317,11 @@ ...@@ -314,11 +317,11 @@
<div class="form-actions"> <div class="form-actions">
% if registration: % if registration:
<button type="submit" id="submit" class="action action-primary action-update">Update Demographics</button> <button type="submit" id="submit" class="action action-primary action-update">${_('Update Demographics')}</button>
<a href="${reverse('dashboard')}" class="action action-secondary action-cancel">Cancel Update</a> <a href="${reverse('dashboard')}" class="action action-secondary action-cancel">${_('Cancel Update')}</a>
% else: % else:
<button type="submit" id="submit" class="action action-primary action-register">Register for Pearson VUE Test</button> <button type="submit" id="submit" class="action action-primary action-register">${_('Register for Pearson VUE Test')}</button>
<a href="${reverse('dashboard')}" class="action action-secondary action-cancel">Cancel Registration</a> <a href="${reverse('dashboard')}" class="action action-secondary action-cancel">${_('Cancel Registration')}</a>
% endif % endif
<div class="message message-status submission-error"> <div class="message message-status submission-error">
...@@ -330,10 +333,10 @@ ...@@ -330,10 +333,10 @@
% if registration: % if registration:
% if registration.accommodation_request and len(registration.accommodation_request) > 0: % if registration.accommodation_request and len(registration.accommodation_request) > 0:
<a class="actions form-fields-secondary-visibility is-hidden" href="#form-fields-secondary">Special (<abbr title="Americans with Disabilities Act">ADA</abbr>) Accommodations</a> <a class="actions form-fields-secondary-visibility is-hidden" href="#form-fields-secondary">${_('Special (<abbr title="Americans with Disabilities Act">ADA</abbr>) Accommodations')}</a>
% endif % endif
% else: % else:
<a class="actions form-fields-secondary-visibility" href="#form-fields-secondary">Special (<abbr title="Americans with Disabilities Act">ADA</abbr>) Accommodations</a> <a class="actions form-fields-secondary-visibility" href="#form-fields-secondary">${_('Special (<abbr title="Americans with Disabilities Act">ADA</abbr>) Accommodations')}</a>
% endif % endif
</section> </section>
...@@ -349,47 +352,46 @@ ...@@ -349,47 +352,46 @@
% if registration.is_pending: % if registration.is_pending:
<div class="message message-status registration-pending is-shown"> <div class="message message-status registration-pending is-shown">
% endif % endif
<h3>Pearson Exam Registration Status</h3> <h3>${_('Pearson Exam Registration Status')}</h3>
<ol class="status-list"> <ol class="status-list">
<!-- first provide status of demographics --> <!-- first provide status of demographics -->
% if registration.demographics_is_pending: % if registration.demographics_is_pending:
<li class="item status status-pending status-demographics"> <li class="item status status-pending status-demographics">
<h4 class="title">Demographic Information</h4> <h4 class="title">${_('Demographic Information')}</h4>
<p class="details">The demographic information you most recently provided is pending. You may edit this information at any point before exam registration closes on <strong>${exam_info.registration_end_date_text}</strong></p> <p class="details">${_('The demographic information you most recently provided is pending. You may edit this information at any point before exam registration closes on <strong>{end_date}</strong>').format(end_date=exam_info.registration_end_date_text)}</p>
</li> </li>
% endif % endif
% if registration.demographics_is_accepted: % if registration.demographics_is_accepted:
<li class="item status status-processed status-demographics"> <li class="item status status-processed status-demographics">
<h4 class="title">Demographic Information</h4> <h4 class="title">${_('Demographic Information')}</h4>
<p class="details">The demographic information you most recently provided has been processed. You may edit this information at any point before exam registration closes on <strong>${exam_info.registration_end_date_text}</strong></p> <p class="details">${_('The demographic information you most recently provided has been processed. You may edit this information at any point before exam registration closes on <strong>{end_date}</strong>').format(end_date=exam_info.registration_end_date_text)}</p>
</li> </li>
% endif % endif
% if registration.demographics_is_rejected: % if registration.demographics_is_rejected:
<li class="item status status-rejected status-demographics"> <li class="item status status-rejected status-demographics">
<h4 class="title">Demographic Information</h4> <h4 class="title">${_('Demographic Information')}</h4>
<p class="details">The demographic information you most recently provided has been rejected by Pearson. You can correct and submit it again before the exam registration closes on <strong>${exam_info.registration_end_date_text}</strong>. <p class="details">${_('The demographic information you most recently provided has been rejected by Pearson. You can correct and submit it again before the exam registration closes on <strong>{end_date}</strong>. The error message is:').format(end_date=exam_info.registration_end_date_text)}</p>
The error message is:</p>
<ul class="error-list"> <ul class="error-list">
<li class="item">${registration.testcenter_user.upload_error_message}.</li> <li class="item">${registration.testcenter_user.upload_error_message}.</li>
</ul> </ul>
<p class="action">If the error is not correctable by revising your demographic information, please <a class="contact-link" href="${exam_help_href}">contact edX at exam-help@edx.org</a>.</p> <p class="action">${_('If the error is not correctable by revising your demographic information, please {contact_link_start}contact edX at exam-help@edx.org{contact_link_end}.').format(contact_link_start='<a class="contact-link" href="{}"'.format(exam_help_href), contact_link_end='</a>')}</p>
</li> </li>
% endif % endif
<!-- then provide status of accommodations, if any --> <!-- then provide status of accommodations, if any -->
% if registration.accommodation_is_pending: % if registration.accommodation_is_pending:
<li class="item status status-pending status-accommodations"> <li class="item status status-pending status-accommodations">
<h4 class="title">Accommodations Request</h4> <h4 class="title">${_('Accommodations Request')}</h4>
<p class="details">Your requested accommodations are pending. Within a few days, you should see confirmation here of granted accommodations.</p> <p class="details">${_('Your requested accommodations are pending. Within a few days, you should see confirmation here of granted accommodations.')}</p>
</li> </li>
% endif % endif
% if registration.accommodation_is_accepted: % if registration.accommodation_is_accepted:
<li class="item status status-processed status-accommodations"> <li class="item status status-processed status-accommodations">
<h4 class="title">Accommodations Request</h4> <h4 class="title">${_('Accommodations Request')}</h4>
<p class="details">Your requested accommodations have been reviewed and processed. You are allowed:</p> <p class="details">${_('Your requested accommodations have been reviewed and processed. You are allowed:')}</p>
<ul class="accommodations-list"> <ul class="accommodations-list">
% for accommodation_name in registration.get_accommodation_names(): % for accommodation_name in registration.get_accommodation_names():
...@@ -400,36 +402,36 @@ ...@@ -400,36 +402,36 @@
% endif % endif
% if registration.accommodation_is_rejected: % if registration.accommodation_is_rejected:
<li class="item status status-processed status-accommodations"> <li class="item status status-processed status-accommodations">
<h4 class="title">Accommodations Request</h4> <h4 class="title">${_('Accommodations Request')}</h4>
<p class="details">Your requested accommodations have been reviewed and processed. You are allowed no accommodations.</p> <p class="details">${_('Your requested accommodations have been reviewed and processed. You are allowed no accommodations.')}</p>
<p class="action">Please <a class="contact-link" href="${exam_help_href}">contact edX at exam-help@edx.org</a> if you have any questions.</p> <p class="action">${_('Please {contact_link_start}contact edX at exam-help@edx.org{contact_link_end}.').format(contact_link_start='<a class="contact-link" href="{}"'.format(exam_help_href), contact_link_end='</a>')}</p>
</li> </li>
% endif % endif
<!-- finally provide status of registration --> <!-- finally provide status of registration -->
% if registration.registration_is_pending: % if registration.registration_is_pending:
<li class="item status status-pending status-registration"> <li class="item status status-pending status-registration">
<h4 class="title">Registration Request</h4> <h4 class="title">${_('Registration Request')}</h4>
<p class="details">Your exam registration is pending. Once your information is processed, it will be forwarded to Pearson and you will be able to schedule an exam.</p> <p class="details">${_('Your exam registration is pending. Once your information is processed, it will be forwarded to Pearson and you will be able to schedule an exam.')}</p>
</li> </li>
% endif % endif
% if registration.registration_is_accepted: % if registration.registration_is_accepted:
<li class="item status status-processed status-registration"> <li class="item status status-processed status-registration">
<h4 class="title">Registration Request</h4> <h4 class="title">${_('Registration Request')}</h4>
<p class="details">Your exam registration has been processed and has been forwarded to Pearson. <strong>You are now able to <a href="${registration.registration_signup_url}" class="exam-link">schedule a Pearson exam</a></strong>.</p> <p class="details">${_('Your exam registration has been processed and has been forwarded to Pearson. <strong>You are now able to {exam_link_start}schedule a Pearson exam{exam_link_end}</strong>.').format(exam_link_start='<a href="{}" class="exam-link">'.format(registration.registration_signup_url), exam_link_end='</a>')}</p>
</li> </li>
% endif % endif
% if registration.registration_is_rejected: % if registration.registration_is_rejected:
<li class="item status status-rejected status-registration"> <li class="item status status-rejected status-registration">
<h4 class="title">Registration Request</h4> <h4 class="title">${_('Registration Request')}</h4>
<p class="details">Your exam registration has been rejected by Pearson. <strong>You currently cannot schedule an exam</strong>. The errors found include:</p> <p class="details">${_('Your exam registration has been rejected by Pearson. <strong>You currently cannot schedule an exam</strong>. The errors found include:')}</p>
<ul class="error-list"> <ul class="error-list">
<li class="item">${registration.upload_error_message}</li> <li class="item">${registration.upload_error_message}</li>
</ul> </ul>
<p class="action">Please <a class="contact-link" href="${exam_help_href}">contact edX at exam-help@edx.org</a>.</p> <p class="action">${_('Please {contact_link_start}contact edX at exam-help@edx.org{contact_link_end}.').format(contact_link_start='<a class="contact-link" href="{}"'.format(exam_help_href), contact_link_end='</a>')}</p>
</li> </li>
% endif % endif
</ol> </ol>
...@@ -440,41 +442,41 @@ ...@@ -440,41 +442,41 @@
% endif % endif
<div class="details details-course"> <div class="details details-course">
<h4>About ${get_course_about_section(course, 'university')} ${course.number}</h4> <h4>${_("About {university} {course_number}").format(university=get_course_about_section(course, 'university'), course_number=course.number)}</h4>
<p> <p>
% if course.has_ended(): % if course.has_ended():
<span class="label">Course Completed:</span> <span class="value">${course.end_date_text}</span> <span class="label">${_('Course Completed:')}</span> <span class="value">${course.end_date_text}</span>
% elif course.has_started(): % elif course.has_started():
<span class="label">Course Started:</span> <span class="value">${course.start_date_text}</span> <span class="label">${_('Course Started:')}</span> <span class="value">${course.start_date_text}</span>
% else: # hasn't started yet % else: # hasn't started yet
<span class="label">Course Starts:</span> <span class="value">${course.start_date_text}</span> <span class="label">${_('Course Starts:')}</span> <span class="value">${course.start_date_text}</span>
% endif % endif
</p> </p>
</div> </div>
<div class="details details-registration"> <div class="details details-registration">
<h4>Pearson VUE Test Details</h4> <h4>${_('Pearson VUE Test Details')}</h4>
% if exam_info is not None: % if exam_info is not None:
<ul> <ul>
<li> <li>
<span class="label">Exam Name:</span> <span class="value">${exam_info.display_name_with_default}</span> <span class="label">${_('Exam Name:')}</span> <span class="value">${exam_info.display_name_with_default}</span>
</li> </li>
<li> <li>
<span class="label">First Eligible Appointment Date:</span> <span class="value">${exam_info.first_eligible_appointment_date_text}</span> <span class="label">${_('First Eligible Appointment Date:')}</span> <span class="value">${exam_info.first_eligible_appointment_date_text}</span>
</li> </li>
<li> <li>
<span class="label">Last Eligible Appointment Date:</span> <span class="value">${exam_info.last_eligible_appointment_date_text}</span> <span class="label">${_('Last Eligible Appointment Date:')}</span> <span class="value">${exam_info.last_eligible_appointment_date_text}</span>
</li> </li>
<li> <li>
<span class="label">Registration Ends:</span> <span class="value">${exam_info.registration_end_date_text}</span> <span class="label">${_('Registration Ends:')}</span> <span class="value">${exam_info.registration_end_date_text}</span>
</li> </li>
</ul> </ul>
% endif % endif
</div> </div>
<div class="details details-contact"> <div class="details details-contact">
<h4>Questions</h4> <h4>${_('Questions')}</h4>
<p>If you have a specific question pertaining to your registration, you may <a class="contact-link" href="${exam_help_href}">contact edX at exam-help@edx.org</a>.</p> <p>${_('If you have a specific question pertaining to your registration, you may {contact_link_start}contact edX at exam-help@edx.org{contact_link_end}.').format(contact_link_start='<a class="contact-link" href="{}"'.format(exam_help_href), contact_link_end='</a>')</p>
</div> </div>
</aside> </aside>
</section> </section>
<%! from django.utils.translation import ugettext as _ %>
<html> <html>
<h1>Tracking Log</h1> <h1>${_('Tracking Log')}</h1>
<table border="1"><tr><th>datetime</th><th>username</th><th>ipaddr</th><th>source</th><th>type</th></tr> <table border="1"><tr><th>${_('datetime')}</th><th>${_('username')}</th><th>${_('ipaddr')}</th><th>${_('source')}</th><th>${_('type')}</th></tr>
% for rec in records: % for rec in records:
<tr> <tr>
<td>${rec.dtstr}</td> <td>${rec.dtstr}</td>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>ANUx</title></%block> <%block name="title"><title>${_("ANUx")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/anu/anu-cover.jpg')"> <header class="search" style="background: url('/static/images/university/anu/anu-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/anu/anu.png')}" /> <img src="${static.url('images/university/anu/anu.png')}" />
</div> </div>
<h1>ANUx</h1> <h1>${_("ANUx")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>The Australian National University (ANU) is a celebrated place of intensive research, education and policy engagement. Our research has always been central to everything we do, shaping a holistic learning experience that goes beyond the classroom, giving students access to researchers who are among the best in their fields and to opportunities for development around Australia and the world.</p> <p>${_("The Australian National University (ANU) is a celebrated place of intensive research, education and policy engagement. Our research has always been central to everything we do, shaping a holistic learning experience that goes beyond the classroom, giving students access to researchers who are among the best in their fields and to opportunities for development around Australia and the world.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>BerkeleyX</title></%block> <%block name="title"><title>${_("BerkeleyX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/berkeley/berkeley_fountain_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/berkeley/berkeley_fountain_2025x550.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/berkeley/berkeley.png')}" /> <img src="${static.url('images/university/berkeley/berkeley.png')}" />
</div> </div>
<h1>BerkeleyX</h1> <h1>${_("BerkeleyX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>The University of California, Berkeley was chartered in 1868 and its flagship campus — envisioned as a "City of Learning" — was established at Berkeley, on San Francisco Bay. Berkeley Faculty consists of 1,582 fulltime and 500 part-time faculty members dispersed among more than 130 academic departments and more than 80 interdisciplinary research units. 28 Nobel prizes have been awarded to Berkeley Alumni. There are eight Nobel Laureates, 32 MacArthur Fellows, and four Pulitzer Prize winners among the current faculty.</p> <p>${_("The University of California, Berkeley was chartered in 1868 and its flagship campus - envisioned as a \"City of Learning\" - was established at Berkeley, on San Francisco Bay. Berkeley Faculty consists of 1,582 fulltime and 500 part-time faculty members dispersed among more than 130 academic departments and more than 80 interdisciplinary research units. 28 Nobel prizes have been awarded to Berkeley Alumni. There are eight Nobel Laureates, 32 MacArthur Fellows, and four Pulitzer Prize winners among the current faculty.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>DelftX</title></%block> <%block name="title"><title>${_("DelftX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/delft/delft-cover.jpg')"> <header class="search" style="background: url('/static/images/university/delft/delft-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/delft/delft.png')}" /> <img src="${static.url('images/university/delft/delft.png')}" />
</div> </div>
<h1>DelftX</h1> <h1>${_("DelftX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Delft University of Technology is the largest and oldest technological university in the Netherlands. Our research is inspired by the desire to increase fundamental understanding, as well as by societal challenges. We encourage our students to be independent thinkers so they will become engineers capable of solving complex problems. Our students have chosen Delft University of Technology because of our reputation for quality education and research.</p> <p>${_("Delft University of Technology is the largest and oldest technological university in the Netherlands. Our research is inspired by the desire to increase fundamental understanding, as well as by societal challenges. We encourage our students to be independent thinkers so they will become engineers capable of solving complex problems. Our students have chosen Delft University of Technology because of our reputation for quality education and research.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="../stripped-main.html" /> <%inherit file="../stripped-main.html" />
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<%block name="title"><title>edX edge</title></%block> <%block name="title"><title>${_("edX edge")}</title></%block>
<%block name="bodyclass">no-header edge-landing</%block> <%block name="bodyclass">no-header edge-landing</%block>
<%block name="content"> <%block name="content">
<div class="main-wrapper"> <div class="main-wrapper">
<div class="edx-edge-logo-large">edX edge</div> <div class="edx-edge-logo-large">${_("edX edge")}</div>
<div class="content"> <div class="content">
<div class="log-in-form"> <div class="log-in-form">
<h2>Log in to your courses</h2> <h2>${_("Log in to your courses")}</h2>
<form id="login_form" data-remote="true" method="post" action="/login_ajax"> <form id="login_form" data-remote="true" method="post" action="/login_ajax">
<div class="row"> <div class="row">
<label>Email</label> <label>${_("Email")}</label>
<input name="email" type="email" class="email-field" tabindex="1"> <input name="email" type="email" class="email-field" tabindex="1">
</div> </div>
<div class="row"> <div class="row">
<label>Password</label> <label>${_("Password")}</label>
<input name="password" type="password" class="password-field" tabindex="2"> <input name="password" type="password" class="password-field" tabindex="2">
</div> </div>
<div class="row submit"> <div class="row submit">
<input name="submit" type="submit" value="Log In" class="log-in-submit-button" tabindex="3"> <input name="submit" type="submit" value="${_("Log In")}" class="log-in-submit-button" tabindex="3">
<a href="#forgot-password-modal" rel="leanModal" class="pwd-reset forgot-button">Forgot password?</a> <a href="#forgot-password-modal" rel="leanModal" class="pwd-reset forgot-button">${_("Forgot password?")}</a>
</div> </div>
</form> </form>
</div> </div>
<div class="sign-up"> <div class="sign-up">
<h3>Register for classes</h3> <h3>${_("Register for classes")}</h3>
<p>Take free online courses from today's leading universities.</p> <p>${_("Take free online courses from today's leading universities.")}</p>
<p><a href="#signup-modal" id="signup" rel="leanModal" class="register-button">Register</a></p> <p><a href="#signup-modal" id="signup" rel="leanModal" class="register-button">${_("Register")}</a></p>
</div> </div>
</div> </div>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>EPFLx</title></%block> <%block name="title"><title>${_("EPFLx")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/epfl/epfl-cover.jpg')"> <header class="search" style="background: url('/static/images/university/epfl/epfl-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/epfl/epfl.png')}" /> <img src="${static.url('images/university/epfl/epfl.png')}" />
</div> </div>
<h1>EPFLx</h1> <h1>${_("EPFLx")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -19,11 +20,11 @@ ...@@ -19,11 +20,11 @@
<%block name="university_description"> <%block name="university_description">
<p>EPFL is the Swiss Federal Institute of Technology in Lausanne. The past decade has seen EPFL ascend to the very top of European institutions of science and technology: it is ranked #1 in Europe in the field of engineering by the Times Higher Education (based on publications and citations), Leiden Rankings, and the Academic Ranking of World Universities.</p> <p>${_("EPFL is the Swiss Federal Institute of Technology in Lausanne. The past decade has seen EPFL ascend to the very top of European institutions of science and technology: it is ranked #1 in Europe in the field of engineering by the Times Higher Education (based on publications and citations), Leiden Rankings, and the Academic Ranking of World Universities.")}</p>
<p>EPFL's main campus brings together 12,600 students, faculty, researchers, and staff in a high-energy, dynamic learning and research environment. It directs the Human Brain Project, an undertaking to simulate the entire human brain using supercomputers, in order to gain new insights into how it operates and to better diagnose brain disorders. The university is building Solar Impulse, a long-range solar-powered plane that aims to be the first piloted fixed-wing aircraft to circumnavigate the Earth using only solar power. EPFL was part of the Alinghi project, developing advanced racing boats that won the America's Cup multiple times. The university operates, for education and research purposes, a Tokamak nuclear fusion reactor. EPFL also houses the Musée Bolo museum and hosts several music festivals, including Balelec, that draws over 15,000 guests every year.</p> <p>${_("EPFL's main campus brings together 12,600 students, faculty, researchers, and staff in a high-energy, dynamic learning and research environment. It directs the Human Brain Project, an undertaking to simulate the entire human brain using supercomputers, in order to gain new insights into how it operates and to better diagnose brain disorders. The university is building Solar Impulse, a long-range solar-powered plane that aims to be the first piloted fixed-wing aircraft to circumnavigate the Earth using only solar power. EPFL was part of the Alinghi project, developing advanced racing boats that won the America's Cup multiple times. The university operates, for education and research purposes, a Tokamak nuclear fusion reactor. EPFL also houses the Musee Bolo museum and hosts several music festivals, including Balelec, that draws over 15,000 guests every year.")}</p>
<p>EPFL is a major force in entrepreneurship, with 2012 bringing in $100M in funding for ten EPFL startups. Both young spin-offs (like Typesafe and Pix4D) and companies that have long grown past the startup stage (like Logitech) actively transfer the results of EPFL's scientific innovation to industry.</p> <p>${_("EPFL is a major force in entrepreneurship, with 2012 bringing in $100M in funding for ten EPFL startups. Both young spin-offs (like Typesafe and Pix4D) and companies that have long grown past the startup stage (like Logitech) actively transfer the results of EPFL's scientific innovation to industry.")}</p>
</%block> </%block>
......
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>GeorgetownX</title></%block> <%block name="title"><title>${_("GeorgetownX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/georgetown/georgetown-cover_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/georgetown/georgetown-cover_2025x550.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/georgetown/georgetown.png')}" /> <img src="${static.url('images/university/georgetown/georgetown.png')}" />
</div> </div>
<h1>GeorgetownX</h1> <h1>${_("GeorgetownX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Georgetown University, the nation’s oldest Catholic and Jesuit university, is one of the world’s leading academic and research institutions, offering a unique educational experience that prepares the next generation of global citizens to lead and make a difference in the world.  Students receive a world-class learning experience focused on educating the whole person through exposure to different faiths, cultures and beliefs.</p> <p>${_("Georgetown University, the nation's oldest Catholic and Jesuit university, is one of the world's leading academic and research institutions, offering a unique educational experience that prepares the next generation of global citizens to lead and make a difference in the world. Students receive a world-class learning experience focused on educating the whole person through exposure to different faiths, cultures and beliefs.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>HarvardX</title></%block> <%block name="title"><title>${_("HarvardX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/harvard/about_harvard_page_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/harvard/about_harvard_page_2025x550.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/harvard/harvard.png')}" /> <img src="${static.url('images/university/harvard/harvard.png')}" />
</div> </div>
<h1>HarvardX</h1> <h1>${_("HarvardX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,8 +19,8 @@ ...@@ -18,8 +19,8 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Harvard University is devoted to excellence in teaching, learning, and research, and to developing leaders in many disciplines who make a difference globally. Harvard faculty are engaged with teaching and research to push the boundaries of human knowledge. The University has twelve degree-granting Schools in addition to the Radcliffe Institute for Advanced Study.</p> <p>${_("Harvard University is devoted to excellence in teaching, learning, and research, and to developing leaders in many disciplines who make a difference globally. Harvard faculty are engaged with teaching and research to push the boundaries of human knowledge. The University has twelve degree-granting Schools in addition to the Radcliffe Institute for Advanced Study.")}</p>
<p>Established in 1636, Harvard is the oldest institution of higher education in the United States. The University, which is based in Cambridge and Boston, Massachusetts, has an enrollment of over 20,000 degree candidates, including undergraduate, graduate, and professional students. Harvard has more than 360,000 alumni around the world.</p> <p>${_("Established in 1636, Harvard is the oldest institution of higher education in the United States. The University, which is based in Cambridge and Boston, Massachusetts, has an enrollment of over 20,000 degree candidates, including undergraduate, graduate, and professional students. Harvard has more than 360,000 alumni around the world.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>McGillX</title></%block> <%block name="title"><title>${_("McGillX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/mcgill/mcgill-cover.jpg')"> <header class="search" style="background: url('/static/images/university/mcgill/mcgill-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/mcgill/mcgill.png')}" /> <img src="${static.url('images/university/mcgill/mcgill.png')}" />
</div> </div>
<h1>McGillX</h1> <h1>${_("McGillX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>McGill University is one of Canada's best-known institutions of higher learning and one of the leading universities in the world. McGill is located in vibrant multicultural Montreal, in the province of Quebec. Our 11 faculties and 11 professional schools offer more than 300 programs to some 38,000 graduate, undergraduate and continuing studies students. McGill ranks 1st in Canada among medical-doctoral universities (Maclean’s) and 18th in the world (QS World University Rankings).</p> <p>${_("McGill University is one of Canada's best-known institutions of higher learning and one of the leading universities in the world. McGill is located in vibrant multicultural Montreal, in the province of Quebec. Our 11 faculties and 11 professional schools offer more than 300 programs to some 38,000 graduate, undergraduate and continuing studies students. McGill ranks 1st in Canada among medical-doctoral universities (Maclean\'s) and 18th in the world (QS World University Rankings).")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>MITx</title></%block> <%block name="title"><title>${_("MITx")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/mit/shot-2-large.jpg')"> <header class="search" style="background: url('/static/images/university/mit/shot-2-large.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/mit/mit.png')}" /> <img src="${static.url('images/university/mit/mit.png')}" />
</div> </div>
<h1>MITx</h1> <h1>${_("MITx")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,9 +19,9 @@ ...@@ -18,9 +19,9 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>The Massachusetts Institute of Technology &mdash; a coeducational, privately endowed research university founded in 1861 &mdash; is dedicated to advancing knowledge and educating students in science, technology, and other areas of scholarship that will best serve the nation and the world in the 21st century. The Institute has close to 1,000 faculty and 10,000 undergraduate and graduate students. It is organized into five Schools: Architecture and Urban Planning; Engineering; Humanities, Arts, and Social Sciences; Sloan School of Management; and Science.</p> <p>${_("The Massachusetts Institute of Technology &mdash; a coeducational, privately endowed research university founded in 1861 &mdash; is dedicated to advancing knowledge and educating students in science, technology, and other areas of scholarship that will best serve the nation and the world in the 21st century. The Institute has close to 1,000 faculty and 10,000 undergraduate and graduate students. It is organized into five Schools: Architecture and Urban Planning; Engineering; Humanities, Arts, and Social Sciences; Sloan School of Management; and Science.")}</p>
<p>MIT's commitment to innovation has led to a host of scientific breakthroughs and technological advances. Achievements of the Institute's faculty and graduates have included the first chemical synthesis of penicillin and vitamin A, the development of inertial guidance systems, modern technologies for artificial limbs, and the magnetic core memory that made possible the development of digital computers. 78 alumni, faculty, researchers and staff have won Nobel Prizes.</p> <p>${_("MIT's commitment to innovation has led to a host of scientific breakthroughs and technological advances. Achievements of the Institute's faculty and graduates have included the first chemical synthesis of penicillin and vitamin A, the development of inertial guidance systems, modern technologies for artificial limbs, and the magnetic core memory that made possible the development of digital computers. 78 alumni, faculty, researchers and staff have won Nobel Prizes.")}</p>
<p>Current areas of research and education include neuroscience and the study of the brain and mind, bioengineering, cancer, energy, the environment and sustainable development, information sciences and technology, new media, financial technology, and entrepreneurship.</p> <p>${_("Current areas of research and education include neuroscience and the study of the brain and mind, bioengineering, cancer, energy, the environment and sustainable development, information sciences and technology, new media, financial technology, and entrepreneurship.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>RiceX</title></%block> <%block name="title"><title>${_("RiceX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/rice/rice-cover.jpg')"> <header class="search" style="background: url('/static/images/university/rice/rice-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/rice/rice.png')}" /> <img src="${static.url('images/university/rice/rice.png')}" />
</div> </div>
<h1>RiceX</h1> <h1>${_("RiceX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Located on a 300-acre forested campus in Houston, Rice University is consistently ranked among the nation's top 20 universities by U.S. News & World Report. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy. With 3,708 undergraduates and 2,374 graduate students, Rice's undergraduate student-to-faculty ratio is 6-to-1. Its residential college system builds close-knit communities and lifelong friendships, just one reason why Rice has been ranked No. 1 for best quality of life multiple times by the Princeton Review and No. 2 for "best value" among private universities by Kiplinger's Personal Finance.</p> <p>${_("Located on a 300-acre forested campus in Houston, Rice University is consistently ranked among the nation's top 20 universities by U.S. News & World Report. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy. With 3,708 undergraduates and 2,374 graduate students, Rice's undergraduate student-to-faculty ratio is 6-to-1. Its residential college system builds close-knit communities and lifelong friendships, just one reason why Rice has been ranked No. 1 for best quality of life multiple times by the Princeton Review and No. 2 for \"best value\" among private universities by Kiplinger's Personal Finance.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>SCHOOLX</title></%block> <%block name="title"><title>${_("SCHOOLX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/SCHOOL/IMAGE.jpg')"> <header class="search" style="background: url('/static/images/university/SCHOOL/IMAGE.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/SCHOOL/IMAGE.png')}" /> <img src="${static.url('images/university/SCHOOL/IMAGE.png')}" />
</div> </div>
<h1>SCHOOLX</h1> <h1>${_("SCHOOLX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p></p> <p></p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>University of TorontoX</title></%block> <%block name="title"><title>${_("University of TorontoX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/toronto/toronto-cover.jpg')"> <header class="search" style="background: url('/static/images/university/toronto/toronto-cover.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/toronto/toronto.png')}" /> <img src="${static.url('images/university/toronto/toronto.png')}" />
</div> </div>
<h1>University of TorontoX</h1> <h1>${_("University of TorontoX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Established in 1827, the University of Toronto is a vibrant and diverse academic community. It includes 80,000 students, 12,000 colleagues holding faculty appointments, 200 librarians, and 6,000 staff members across three distinctive campuses and at many partner sites, including world-renowned hospitals. With over 800 undergraduate programs, 150 graduate programs, and 40 professional programs, U of T attracts students of the highest calibre, from across Canada and from 160 countries around the world. The University is one of the most respected and influential institutions of higher education and advanced research in the world. Its strengths extend across the full range of disciplines: the 2012-13 Times Higher Education ranking groups the University of Toronto with Stanford, UC Berkeley, UCLA, Columbia, Cambridge, Oxford, the University of Melbourne, and the University of Michigan as the only institutions in the top 27 in all 6 broad disciplinary areas. The University is also consistently rated one of Canada’s Top 100 employers, and ranks with Harvard and Yale for the top university library resources in North America.</p> <p>${_("Established in 1827, the University of Toronto is a vibrant and diverse academic community. It includes 80,000 students, 12,000 colleagues holding faculty appointments, 200 librarians, and 6,000 staff members across three distinctive campuses and at many partner sites, including world-renowned hospitals. With over 800 undergraduate programs, 150 graduate programs, and 40 professional programs, U of T attracts students of the highest calibre, from across Canada and from 160 countries around the world. The University is one of the most respected and influential institutions of higher education and advanced research in the world. Its strengths extend across the full range of disciplines: the 2012-13 Times Higher Education ranking groups the University of Toronto with Stanford, UC Berkeley, UCLA, Columbia, Cambridge, Oxford, the University of Melbourne, and the University of Michigan as the only institutions in the top 27 in all 6 broad disciplinary areas. The University is also consistently rated one of Canada\'s Top 100 employers, and ranks with Harvard and Yale for the top university library resources in North America.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>UTAustinX</title></%block> <%block name="title"><title>${_("UTAustinX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/utaustin/utaustin-cover_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/utaustin/utaustin-cover_2025x550.jpg')">
...@@ -10,14 +11,14 @@ ...@@ -10,14 +11,14 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/utaustin/utaustin-standalone_187x80.png')}" /> <img src="${static.url('images/university/utaustin/utaustin-standalone_187x80.png')}" />
</div> </div>
<h1>UTAustinx</h1> <h1>${_("UTAustinx")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>The University of Texas at Austin is the top-ranked public university in a nearly 1,000-mile radius, and is ranked in the top 25 universities in the world. Students have been finding their passion in life at UT Austin for more than 130 years, and it has been a member of the prestigious AAU since 1929. UT Austin combines the academic depth and breadth of a world research institute (regularly ranking within the top three producers of doctoral degrees in the country) with the fun and excitement of a big-time collegiate experience. It is currently the fifth-largest university in America, with more than 50,000 students and 3,000 professors across 17 colleges and schools. UT Austin will be opening the Dell Medical School in 2016.</p> <p>${_("The University of Texas at Austin is the top-ranked public university in a nearly 1,000-mile radius, and is ranked in the top 25 universities in the world. Students have been finding their passion in life at UT Austin for more than 130 years, and it has been a member of the prestigious AAU since 1929. UT Austin combines the academic depth and breadth of a world research institute (regularly ranking within the top three producers of doctoral degrees in the country) with the fun and excitement of a big-time collegiate experience. It is currently the fifth-largest university in America, with more than 50,000 students and 3,000 professors across 17 colleges and schools. UT Austin will be opening the Dell Medical School in 2016.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
%> %>
<%block name="title"><title>UTx</title></%block> <%block name="title"><title>${_("UTx")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/ut/ut-cover_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/ut/ut-cover_2025x550.jpg')">
...@@ -13,7 +14,7 @@ ...@@ -13,7 +14,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/ut/ut-standalone_187x80.png')}" /> <img src="${static.url('images/university/ut/ut-standalone_187x80.png')}" />
</div> </div>
<h1>UTx</h1> <h1>${_("UTx")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -21,8 +22,8 @@ ...@@ -21,8 +22,8 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Educating students, providing care for patients, conducting groundbreaking research and serving the needs of Texans and the nation for more than 130 years, The University of Texas System is one of the largest public university systems in the United States, with nine academic universities and six health science centers. Student enrollment exceeded 215,000 in the 2011 academic year. The UT System confers more than one-third of the state’s undergraduate degrees and educates nearly three-fourths of the state’s health care professionals annually. The UT System has an annual operating budget of $13.1 billion (FY 2012) including $2.3 billion in sponsored programs funded by federal, state, local and private sources. With roughly 87,000 employees, the UT System is one of the largest employers in the state.</p> <p>${_("Educating students, providing care for patients, conducting groundbreaking research and serving the needs of Texans and the nation for more than 130 years, The University of Texas System is one of the largest public university systems in the United States, with nine academic universities and six health science centers. Student enrollment exceeded 215,000 in the 2011 academic year. The UT System confers more than one-third of the state\'s undergraduate degrees and educates nearly three-fourths of the state\'s health care professionals annually. The UT System has an annual operating budget of $13.1 billion (FY 2012) including $2.3 billion in sponsored programs funded by federal, state, local and private sources. With roughly 87,000 employees, the UT System is one of the largest employers in the state.")}</p>
<p>Find out about <a href="${reverse('university_profile', args=['UTAustinX'])}">The University of Texas at Austin</a>.</p> <p>${_('Find out about <a href="%s">The University of Texas at Austin</a>.') % reverse('university_profile', args=['UTAustinX'])}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<%! from django.utils.translation import ugettext as _ %>
<%inherit file="base.html" /> <%inherit file="base.html" />
<%namespace name='static' file='../static_content.html'/> <%namespace name='static' file='../static_content.html'/>
<%block name="title"><title>WellesleyX</title></%block> <%block name="title"><title>${_("WellesleyX")}</title></%block>
<%block name="university_header"> <%block name="university_header">
<header class="search" style="background: url('/static/images/university/wellesley/wellesley-cover_2025x550.jpg')"> <header class="search" style="background: url('/static/images/university/wellesley/wellesley-cover_2025x550.jpg')">
...@@ -10,7 +11,7 @@ ...@@ -10,7 +11,7 @@
<div class="logo"> <div class="logo">
<img src="${static.url('images/university/wellesley/wellesley.png')}" /> <img src="${static.url('images/university/wellesley/wellesley.png')}" />
</div> </div>
<h1>WellesleyX</h1> <h1>${_("WellesleyX")}</h1>
</hgroup> </hgroup>
</div> </div>
</header> </header>
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
</%block> </%block>
<%block name="university_description"> <%block name="university_description">
<p>Since 1875, Wellesley College has been the preeminent liberal arts college for women. Known for its intellectual rigor and its remarkable track record for the cultivation of women leaders in every arena, Wellesley—only 12 miles from Boston—is home to some 2300 undergraduates from every state and 75 countries.</p> <p>${_("Since 1875, Wellesley College has been the preeminent liberal arts college for women. Known for its intellectual rigor and its remarkable track record for the cultivation of women leaders in every arena, Wellesley-only 12 miles from Boston-is home to some 2300 undergraduates from every state and 75 countries.")}</p>
</%block> </%block>
${parent.body()} ${parent.body()}
<h1>Using the system</h1> <%! from django.utils.translation import ugettext as _ %>
<h1>${_('Using the system')}</h1>
<ul> <ul>
<li> <li>
<p>During video playback, use the subtitles and the scroll bar to navigate. Clicking the subtitles is a fast way to skip forwards and backwards by small amounts.</p> <p>${_('During video playback, use the subtitles and the scroll bar to navigate. Clicking the subtitles is a fast way to skip forwards and backwards by small amounts.')}</p>
</li> </li>
<li> <li>
<p>If you are on a low-resolution display, the left navigation bar can be hidden by clicking on the set of three left arrows next to it.</p> <p>${_('If you are on a low-resolution display, the left navigation bar can be hidden by clicking on the set of three left arrows next to it.')}</p>
</li> </li>
<li> <li>
<p>If you need bigger or smaller fonts, use your browsers settings to scale them up or down. Under Google Chrome, this is done by pressing ctrl-plus, or ctrl-minus at the same time.</p> <p>${_('If you need bigger or smaller fonts, use your browsers settings to scale them up or down. Under Google Chrome, this is done by pressing ctrl-plus, or ctrl-minus at the same time.')}</p>
</li> </li>
</ul> </ul>
<%! from django.utils.translation import ugettext as _ %>
% if display_name is not UNDEFINED and display_name is not None: % if display_name is not UNDEFINED and display_name is not None:
<h2> ${display_name} </h2> <h2> ${display_name} </h2>
% endif % endif
...@@ -43,12 +45,12 @@ ...@@ -43,12 +45,12 @@
% if source: % if source:
<div class="video-sources"> <div class="video-sources">
<p>Download video <a href="${source}">here</a>.</p> <p>${_('Download video <a href="%s">here</a>.') % source}</p>
</div> </div>
% endif % endif
% if track: % if track:
<div class="video-tracks"> <div class="video-tracks">
<p>Download subtitles <a href="${track}">here</a>.</p> <p>${_('Download subtitles <a href="%s">here</a>.') % track}</p>
</div> </div>
% endif % endif
<%! from django.utils.translation import ugettext as _ %>
% if display_name is not UNDEFINED and display_name is not None: % if display_name is not UNDEFINED and display_name is not None:
<h2> ${display_name} </h2> <h2> ${display_name} </h2>
% endif % endif
...@@ -37,12 +39,12 @@ ...@@ -37,12 +39,12 @@
% if sources.get('main'): % if sources.get('main'):
<div class="video-sources"> <div class="video-sources">
<p>Download video <a href="${sources.get('main')}">here</a>.</p> <p>${_('Download video <a href="%s">here</a>.') % sources.get('main')}</p>
</div> </div>
% endif % endif
% if track: % if track:
<div class="video-tracks"> <div class="video-tracks">
<p>Download subtitles <a href="${track}">here</a>.</p> <p>${_('Download subtitles <a href="%s">here</a>.') % track}</p>
</div> </div>
% endif % endif
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
{% if urlpath %} {% if urlpath %}
<div class="see-children"> <div class="see-children">
<a href="{% url 'wiki:dir' path=urlpath.path %}">See all children</a> <a href="{% url 'wiki:dir' path=urlpath.path %}">{% trans "See all children" %}</a>
</div> </div>
{% endif %} {% endif %}
</div> </div>
......
## mako ## mako
<%! <%!
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from wiki.core.permissions import can_change_permissions from wiki.core.permissions import can_change_permissions
%> %>
...@@ -40,14 +41,14 @@ ...@@ -40,14 +41,14 @@
<%doc> <%doc>
This should be enabled for all non-anonymous users once the notifications app has been integrated and styled. ${_("This should be enabled for all non-anonymous users once the notifications app has been integrated and styled.")}
</%doc> </%doc>
%if can_change_permissions(article,user): %if can_change_permissions(article,user):
<li class="${"active" if selected_tab == "settings" else ""}"> <li class="${"active" if selected_tab == "settings" else ""}">
<a href="${reverse('wiki:settings', kwargs={'article_id' : article.id, 'path' : urlpath.path})}"> <a href="${reverse('wiki:settings', kwargs={'article_id' : article.id, 'path' : urlpath.path})}">
<span class="icon-settings icon"></span> <span class="icon-settings icon"></span>
Settings ${_("Settings")}
</a> </a>
</li> </li>
%endif %endif
......
<%! from django.utils.translation import ugettext as _ %>
<div class="modal hide fade" id="cheatsheetModal"> <div class="modal hide fade" id="cheatsheetModal">
<a href="#" class="close-btn">×</a> <a href="#" class="close-btn">${_("×")}</a>
<div id="cheatsheet-body" class="modal-body"> <div id="cheatsheet-body" class="modal-body">
<div class="left-column"> <div class="left-column">
<section> <section>
<h2>Wiki Syntax Help</h2> <h2>${_("Wiki Syntax Help")}</h2>
<p>This wiki uses <strong>Markdown</strong> for styling. There are several useful guides online. See any of the links below for in-depth details:</p> <p>${_("This wiki uses <strong>Markdown</strong> for styling. There are several useful guides online. See any of the links below for in-depth details:")}</p>
<ul> <ul>
<li><a href="http://daringfireball.net/projects/markdown/basics" target="_blank">Markdown: Basics</a></li> <li>${_('<a href="http://daringfireball.net/projects/markdown/basics" target="_blank">Markdown: Basics</a>')}</li>
<li><a href="http://greg.vario.us/doc/markdown.txt" target="_blank">Quick Markdown Syntax Guide</a></li> <li>${_('<a href="http://greg.vario.us/doc/markdown.txt" target="_blank">Quick Markdown Syntax Guide</a>')}</li>
<li><a href="http://www.lowendtalk.com/discussion/6/miniature-markdown-guide" target="_blank">Miniature Markdown Guide</a></li> <li>${_('<a href="http://www.lowendtalk.com/discussion/6/miniature-markdown-guide" target="_blank">Miniature Markdown Guide</a>')}</li>
</ul> </ul>
<p>To create a new wiki article, create a link to it. Clicking the link gives you the creation page.</p> <p>${_("To create a new wiki article, create a link to it. Clicking the link gives you the creation page.")}</p>
<pre>[Article Name](wiki:ArticleName)</pre> <pre>${_("[Article Name](wiki:ArticleName)")}</pre>
</section> </section>
<section> <section>
<h3>edX Additions:</h3> <h3>${_("edX Additions:")}</h3>
<pre> <pre>
circuit-schematic:</pre> circuit-schematic:</pre>
<pre> <pre>
...@@ -24,30 +25,30 @@ $LaTeX Math Expression$</pre> ...@@ -24,30 +25,30 @@ $LaTeX Math Expression$</pre>
<div class="right-column"> <div class="right-column">
<section> <section>
<h3>Useful examples:</h3> <h3>${_("Useful examples:")}</h3>
<pre> <pre>
http://wikipedia.org ${_("http://wikipedia.org\
[Wikipedia](http://wikipedia.org) [Wikipedia](http://wikipedia.org)\
[edX Wiki](wiki:/edx/)</pre> [edX Wiki](wiki:/edx/)")}</pre>
<pre> <pre>
Huge Header ${_("Huge Header")}
===========</pre> ===========</pre>
<pre> <pre>
Smaller Header ${_("Smaller Header")}
--------------</pre> --------------</pre>
<pre> <pre>
*emphasis* or _emphasis_</pre> ${_("*emphasis* or _emphasis_")}</pre>
<pre> <pre>
**strong** or __strong__</pre> ${_("**strong** or __strong__")}</pre>
<pre> <pre>
- Unordered List ${_("- Unordered List\
- Sub Item 1 - Sub Item 1\
- Sub Item 2</pre> - Sub Item 2")}</pre>
<pre> <pre>
1. Ordered ${_("1. Ordered\
2. List</pre> 2. List")}</pre>
<pre> <pre>
> Quotes</pre> ${_("> Quotes")}</pre>
</section> </section>
</div> </div>
......
<%! from django.utils.translation import ugettext as _ %>
<textarea {{ attrs }}>{{ content }}</textarea> <textarea {{ attrs }}>{{ content }}</textarea>
<p id="hint_id_content" class="help-block"> <p id="hint_id_content" class="help-block">
Markdown syntax is allowed. See the <a id="cheatsheetLink" href="#">cheatsheet</a> for help. ${_('Markdown syntax is allowed. See the <a id="cheatsheetLink" href="#">_{("cheatsheet")}</a> for help.')}
</p> </p>
<%! from django.utils.translation import ugettext as _ %>
{% extends "wiki/article.html" %} {% extends "wiki/article.html" %}
{% load wiki_tags i18n humanize %} {% load wiki_tags i18n humanize %}
{% load url from future %} {% load url from future %}
...@@ -20,7 +21,7 @@ ...@@ -20,7 +21,7 @@
<div class="modal upload-modal hide fade" id="upload-modal"> <div class="modal upload-modal hide fade" id="upload-modal">
<div class="modal-inner-wrapper"> <div class="modal-inner-wrapper">
<h4>Upload File</h4> <h4>${_("Upload File")}</h4>
<form method="POST" class="form-vertical" id="attachment_form" enctype="multipart/form-data"> <form method="POST" class="form-vertical" id="attachment_form" enctype="multipart/form-data">
{% wiki_form form %} {% wiki_form form %}
<button type="submit" name="save" value="1" class="btn btn-primary"> <button type="submit" name="save" value="1" class="btn btn-primary">
...@@ -32,7 +33,7 @@ ...@@ -32,7 +33,7 @@
<div class="modal search-file-modal hide fade" id="search-file-modal"> <div class="modal search-file-modal hide fade" id="search-file-modal">
<div class="modal-inner-wrapper"> <div class="modal-inner-wrapper">
<h4>Search files and articles</h4> <h4>${_("Search files and articles")}</h4>
<p>{% trans "You can reuse files from other articles. These files are subject to updates on other articles which may or may not be a good thing." %}</p> <p>{% trans "You can reuse files from other articles. These files are subject to updates on other articles which may or may not be a good thing." %}</p>
<form method="GET" action="{% url 'wiki:attachments_search' path=urlpath.path article_id=article.id %}" class="form-search"> <form method="GET" action="{% url 'wiki:attachments_search' path=urlpath.path article_id=article.id %}" class="form-search">
{{ search_form.query }} {{ search_form.query }}
......
<%! from django.utils.translation import ugettext as _ %>
<!DOCTYPE html> <!DOCTYPE html>
{% load wiki_tags i18n %}{% load compressed %} {% load wiki_tags i18n %}{% load compressed %}
<html> <html>
...@@ -28,8 +29,8 @@ ...@@ -28,8 +29,8 @@
{% if revision and revision.deleted %} {% if revision and revision.deleted %}
<div class="warning"> <div class="warning">
<strong>This revision has been deleted.</strong> <strong>${_("This revision has been deleted.")}</strong>
<p>Restoring to this revision will mark the article as deleted.</p> <p>${_("Restoring to this revision will mark the article as deleted.")}</p>
</div> </div>
{% else %} {% else %}
{% wiki_render article content %} {% wiki_render article content %}
......
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
</section> </section>
<section id="result_cloud_section_${element_id}" class="result_cloud_section"> <section id="result_cloud_section_${element_id}" class="result_cloud_section">
<h3>Your words: <span class="your_words"></span></h3> <h3>${_('Your words:')} <span class="your_words"></span></h3>
<h3>Total number of words: <span class="total_num_words"></span></h3> <h3>${_('Total number of words:')} <span class="total_num_words"></span></h3>
<div class="word_cloud"></div> <div class="word_cloud"></div>
</section> </section>
......
...@@ -63,6 +63,18 @@ urlpatterns = ('', # nopep8 ...@@ -63,6 +63,18 @@ urlpatterns = ('', # nopep8
url(r'^user_api/', include('user_api.urls')), url(r'^user_api/', include('user_api.urls')),
) )
js_info_dict = {
'domain': 'djangojs',
'packages': ('lms',),
}
urlpatterns += (
# Serve catalog of localized strings to be rendered by Javascript
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
# University profiles only make sense in the default edX context # University profiles only make sense in the default edX context
if not settings.MITX_FEATURES["USE_CUSTOM_THEME"]: if not settings.MITX_FEATURES["USE_CUSTOM_THEME"]:
urlpatterns += ( urlpatterns += (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment