diff --git a/common/test/test_sites/test_site/templates/emails/enroll_email_allowedmessage.txt b/common/test/test_sites/test_site/templates/emails/enroll_email_allowedmessage.txt deleted file mode 100644 index 07ab2f601e..0000000000 --- a/common/test/test_sites/test_site/templates/emails/enroll_email_allowedmessage.txt +++ /dev/null @@ -1,30 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear student,")} - -${_("You have been invited to join {course_name} at {site_name} by a " - "member of the course staff.").format( - course_name=course.display_name_with_default_escaped, - site_name=site_name - )} - -${_("To finish your registration, please visit {registration_url} and fill " - "out the registration form making sure to use {email_address} in the E-mail field.").format( - registration_url=registration_url, - email_address=email_address - )} -% if auto_enroll: -${_("Once you have registered and activated your account, you will see " - "{course_name} listed on your dashboard.").format( - course_name=course.display_name_with_default_escaped - )} -% else: -${_("Once you have registered and activated your account, visit {course_about_url} " - "to join the course.").format(course_about_url=course_about_url)} -% endif - ----- -${_("This email was automatically sent from {site_name} to " - "{email_address}").format( - site_name=site_name, email_address=email_address - )} \ No newline at end of file diff --git a/common/test/test_sites/test_site/templates/emails/enroll_email_allowedsubject.txt b/common/test/test_sites/test_site/templates/emails/enroll_email_allowedsubject.txt deleted file mode 100644 index bcd58b1b6c..0000000000 --- a/common/test/test_sites/test_site/templates/emails/enroll_email_allowedsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been invited to register for {course_name}").format( - course_name=course.display_name_with_default_escaped - )} \ No newline at end of file diff --git a/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledmessage.txt b/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledmessage.txt deleted file mode 100644 index d7fe613f0e..0000000000 --- a/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledmessage.txt +++ /dev/null @@ -1,20 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course should now appear on your {site_name} " - "dashboard.").format( - course_name=course.display_name_with_default_escaped, - site_name=site_name - )} - -${_("To start accessing course materials, please visit {course_url}").format( - course_url=course_url - )} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - site_name=site_name, full_name=full_name - )} \ No newline at end of file diff --git a/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledsubject.txt b/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledsubject.txt deleted file mode 100644 index 0252b90451..0000000000 --- a/common/test/test_sites/test_site/templates/emails/enroll_email_enrolledsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been enrolled in {course_name}").format( - course_name=course.display_name_with_default_escaped - )} \ No newline at end of file diff --git a/common/test/test_sites/test_site/templates/emails/unenroll_email_allowedmessage.txt b/common/test/test_sites/test_site/templates/emails/unenroll_email_allowedmessage.txt deleted file mode 100644 index 17f7afc415..0000000000 --- a/common/test/test_sites/test_site/templates/emails/unenroll_email_allowedmessage.txt +++ /dev/null @@ -1,13 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear Student,")} - -${_("You have been un-enrolled from course {course_name} by a member " - "of the course staff. Please disregard the invitation " - "previously sent.").format(course_name=course.display_name_with_default_escaped)} - ----- -${_("This email was automatically sent from {site_name} " - "to {email_address}").format( - site_name=site_name, email_address=email_address - )} \ No newline at end of file diff --git a/common/test/test_sites/test_site/templates/emails/unenroll_email_enrolledmessage.txt b/common/test/test_sites/test_site/templates/emails/unenroll_email_enrolledmessage.txt deleted file mode 100644 index c9e0463e2a..0000000000 --- a/common/test/test_sites/test_site/templates/emails/unenroll_email_enrolledmessage.txt +++ /dev/null @@ -1,17 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been un-enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course will no longer appear on your " - "{site_name} dashboard.").format( - course_name=course.display_name_with_default_escaped, site_name=site_name - )} - -${_("Your other courses have not been affected.")} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - full_name=full_name, site_name=site_name - )} diff --git a/common/test/test_sites/test_site/templates/emails/unenroll_email_subject.txt b/common/test/test_sites/test_site/templates/emails/unenroll_email_subject.txt deleted file mode 100644 index 5be3aad439..0000000000 --- a/common/test/test_sites/test_site/templates/emails/unenroll_email_subject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been un-enrolled from {course_name}").format( - course_name=course.display_name_with_default_escaped -)} \ No newline at end of file diff --git a/conf/locale/eo/LC_MESSAGES/django.mo b/conf/locale/eo/LC_MESSAGES/django.mo index 19f35771a4..34ac854923 100644 Binary files a/conf/locale/eo/LC_MESSAGES/django.mo and b/conf/locale/eo/LC_MESSAGES/django.mo differ diff --git a/conf/locale/eo/LC_MESSAGES/django.po b/conf/locale/eo/LC_MESSAGES/django.po index 572cceeab8..e565355213 100644 --- a/conf/locale/eo/LC_MESSAGES/django.po +++ b/conf/locale/eo/LC_MESSAGES/django.po @@ -32,8 +32,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2018-09-23 20:36+0000\n" -"PO-Revision-Date: 2018-09-23 20:36:48.455441\n" +"POT-Creation-Date: 2018-09-25 14:54+0000\n" +"PO-Revision-Date: 2018-09-25 14:54:55.411035\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: eo\n" @@ -1049,12 +1049,6 @@ msgstr "" "Öld émäïl ïs thé sämé äs thé néw émäïl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя#" -#: common/djangoapps/student/views/management.py -msgid "An account with this e-mail already exists." -msgstr "" -"Àn äççöünt wïth thïs é-mäïl älréädý éxïsts. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - #: common/djangoapps/student/views/management.py msgid "Unable to send email activation link. Please try again later." msgstr "" @@ -3122,23 +3116,23 @@ msgstr "Dïsçüssïön Töpïç Mäppïng Ⱡ'σяєм ιρѕυм ∂σłσя msgid "" "Enter discussion categories in the following format: \"CategoryName\": " "{\"id\": \"i4x-InstitutionName-CourseNumber-course-CourseRun\"}. For " -"example, one discussion category may be \"Lydian Mode\": {\"id\": " -"\"i4x-UniversityX-MUS101-course-2015_T1\"}. The \"id\" value for each " -"category must be unique. In \"id\" values, the only special characters that " -"are supported are underscore, hyphen, and period. You can also specify a " +"example, one discussion category may be \"Lydian Mode\": {\"id\": \"i4x-" +"UniversityX-MUS101-course-2015_T1\"}. The \"id\" value for each category " +"must be unique. In \"id\" values, the only special characters that are " +"supported are underscore, hyphen, and period. You can also specify a " "category as the default for new posts in the Discussion page by setting its " -"\"default\" attribute to true. For example, \"Lydian Mode\": {\"id\": " -"\"i4x-UniversityX-MUS101-course-2015_T1\", \"default\": true}." +"\"default\" attribute to true. For example, \"Lydian Mode\": {\"id\": \"i4x-" +"UniversityX-MUS101-course-2015_T1\", \"default\": true}." msgstr "" "Éntér dïsçüssïön çätégörïés ïn thé föllöwïng förmät: \"ÇätégörýNämé\": " "{\"id\": \"i4x-InstitutionName-CourseNumber-course-CourseRun\"}. För " -"éxämplé, öné dïsçüssïön çätégörý mäý ßé \"Lýdïän Mödé\": {\"id\": " -"\"i4x-UniversityX-MUS101-course-2015_T1\"}. Thé \"ïd\" välüé för éäçh " -"çätégörý müst ßé ünïqüé. Ìn \"ïd\" välüés, thé önlý spéçïäl çhäräçtérs thät " -"äré süppörtéd äré ündérsçöré, hýphén, änd pérïöd. Ýöü çän älsö spéçïfý ä " +"éxämplé, öné dïsçüssïön çätégörý mäý ßé \"Lýdïän Mödé\": {\"id\": \"i4x-" +"UniversityX-MUS101-course-2015_T1\"}. Thé \"ïd\" välüé för éäçh çätégörý " +"müst ßé ünïqüé. Ìn \"ïd\" välüés, thé önlý spéçïäl çhäräçtérs thät äré " +"süppörtéd äré ündérsçöré, hýphén, änd pérïöd. Ýöü çän älsö spéçïfý ä " "çätégörý äs thé défäült för néw pösts ïn thé Dïsçüssïön pägé ßý séttïng ïts " -"\"défäült\" ättrïßüté tö trüé. För éxämplé, \"Lýdïän Mödé\": {\"id\": " -"\"i4x-UniversityX-MUS101-course-2015_T1\", \"default\": true}.#" +"\"défäült\" ättrïßüté tö trüé. För éxämplé, \"Lýdïän Mödé\": {\"id\": \"i4x-" +"UniversityX-MUS101-course-2015_T1\", \"default\": true}.#" #: common/lib/xmodule/xmodule/course_module.py msgid "Discussion Sorting Alphabetical" @@ -10717,6 +10711,436 @@ msgstr "" "Àré ýöü süré ýöü wänt tö çänçél rétïrémént för üsér \"%(username)s\"? " "Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#, python-format +msgid "" +"\n" +" Welcome to %(course_name)s\n" +" " +msgstr "" +"\n" +" Wélçömé tö %(course_name)s\n" +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#, python-format +msgid "To get started, please visit https://%(site_name)s." +msgstr "" +"Tö gét stärtéd, pléäsé vïsït https://%(site_name)s. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +msgid "The login information for your account follows:" +msgstr "" +"Thé lögïn ïnförmätïön för ýöür äççöünt föllöws: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," +" ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +#, python-format +msgid "email: %(email_address)s" +msgstr "émäïl: %(email_address)s Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +#, python-format +msgid "password: %(password)s" +msgstr "pässwörd: %(password)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +msgid "It is recommended that you change your password." +msgstr "" +"Ìt ïs réçömméndéd thät ýöü çhängé ýöür pässwörd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +#, python-format +msgid "Sincerely yours, The %(course_name)s Team" +msgstr "" +"Sïnçérélý ýöürs, Thé %(course_name)s Téäm Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +#, python-format +msgid "Welcome to %(course_name)s" +msgstr "Wélçömé tö %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt +#, python-format +msgid "" +"To get started, please visit https://%(site_name)s. The login information " +"for your account follows." +msgstr "" +"Tö gét stärtéd, pléäsé vïsït https://%(site_name)s. Thé lögïn ïnförmätïön " +"för ýöür äççöünt föllöws. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: lms/templates/instructor/edx_ace/accountcreationandenrollment/email/subject.txt +#: lms/templates/instructor/edx_ace/enrollenrolled/email/subject.txt +#, python-format +msgid "You have been enrolled in %(course_name)s" +msgstr "" +"Ýöü hävé ßéén énrölléd ïn %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +#, python-format +msgid "" +"\n" +" You have been invited to be a beta tester for %(course_name)s at %(site_name)s\n" +" " +msgstr "" +"\n" +" Ýöü hävé ßéén ïnvïtéd tö ßé ä ßétä téstér för %(course_name)s ät %(site_name)s\n" +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +msgid "The invitation has been sent by a member of the course staff." +msgstr "" +"Thé ïnvïtätïön häs ßéén sént ßý ä mémßér öf thé çöürsé stäff. Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +msgid "To start accessing course materials, please visit:" +msgstr "" +"Tö stärt äççéssïng çöürsé mätérïäls, pléäsé vïsït: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +msgid "To enroll in this course and begin the beta test:" +msgstr "" +"Tö énröll ïn thïs çöürsé änd ßégïn thé ßétä tést: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +#, python-format +msgid "Visit %(course_name)s" +msgstr "Vïsït %(course_name)s Ⱡ'σяєм ιρѕυм ∂σł#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +#, python-format +msgid "Visit %(site_name)s" +msgstr "Vïsït %(site_name)s Ⱡ'σяєм ιρѕυм ∂σł#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.html +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt +#: lms/templates/instructor/edx_ace/removebetatester/email/body.html +#: lms/templates/instructor/edx_ace/removebetatester/email/body.txt +#, python-format +msgid "" +"This email was automatically sent from %(site_name)s to %(email_address)s" +msgstr "" +"Thïs émäïl wäs äütömätïçällý sént fröm %(site_name)s tö %(email_address)s " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt +#: lms/templates/instructor/edx_ace/removebetatester/email/body.txt +#, python-format +msgid "Dear %(full_name)s" +msgstr "Déär %(full_name)s Ⱡ'σяєм ιρѕυм ∂#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#, python-format +msgid "" +"You have been invited to be a beta tester for %(course_name)s at " +"%(site_name)s by a member of the course staff." +msgstr "" +"Ýöü hävé ßéén ïnvïtéd tö ßé ä ßétä téstér för %(course_name)s ät " +"%(site_name)s ßý ä mémßér öf thé çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕ#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt +#, python-format +msgid "To start accessing course materials, please visit %(course_url)s" +msgstr "" +"Tö stärt äççéssïng çöürsé mätérïäls, pléäsé vïsït %(course_url)s Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#, python-format +msgid "" +"Visit %(course_about_url)s to enroll in this course and begin the beta test." +msgstr "" +"Vïsït %(course_about_url)s tö énröll ïn thïs çöürsé änd ßégïn thé ßétä tést." +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/body.txt +#, python-format +msgid "Visit %(site_name)s to enroll in this course and begin the beta test." +msgstr "" +"Vïsït %(site_name)s tö énröll ïn thïs çöürsé änd ßégïn thé ßétä tést. Ⱡ'σяєм" +" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/addbetatester/email/subject.txt +#, python-format +msgid "You have been invited to a beta test for %(course_name)s" +msgstr "" +"Ýöü hävé ßéén ïnvïtéd tö ä ßétä tést för %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя " +"ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#, python-format +msgid "You have been invited to %(course_name)s" +msgstr "" +"Ýöü hävé ßéén ïnvïtéd tö %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "" +"You have been invited to join %(course_name)s at %(site_name)s by a member " +"of the course staff." +msgstr "" +"Ýöü hävé ßéén ïnvïtéd tö jöïn %(course_name)s ät %(site_name)s ßý ä mémßér " +"öf thé çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +msgid "To access this course click on the button below and login:" +msgstr "" +"Tö äççéss thïs çöürsé çlïçk ön thé ßüttön ßélöw änd lögïn: Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +msgid "To access this course visit it and register:" +msgstr "" +"Tö äççéss thïs çöürsé vïsït ït änd régïstér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#, python-format +msgid "" +"Please finish your registration and fill out the registration form making " +"sure to use %(email_address)s in the Email field:" +msgstr "" +"Pléäsé fïnïsh ýöür régïsträtïön änd fïll öüt thé régïsträtïön förm mäkïng " +"süré tö üsé %(email_address)s ïn thé Émäïl fïéld: Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +msgid "Finish Your Registration" +msgstr "Fïnïsh Ýöür Régïsträtïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "" +"Once you have registered and activated your account, you will see " +"%(course_name)s listed on your dashboard." +msgstr "" +"Önçé ýöü hävé régïstéréd änd äçtïvätéd ýöür äççöünt, ýöü wïll séé " +"%(course_name)s lïstéd ön ýöür däshßöärd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +msgid "" +"Once you have registered and activated your account, you will be able to " +"access this course:" +msgstr "" +"Önçé ýöü hävé régïstéréd änd äçtïvätéd ýöür äççöünt, ýöü wïll ßé äßlé tö " +"äççéss thïs çöürsé: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "You can then enroll in %(course_name)s." +msgstr "" +"Ýöü çän thén énröll ïn %(course_name)s. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +msgid "Dear student," +msgstr "Déär stüdént, Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "To access this course visit %(course_url)s and login." +msgstr "" +"Tö äççéss thïs çöürsé vïsït %(course_url)s änd lögïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт" +" αмєт, ¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "" +"To access this course visit %(course_about_url)s and register for this " +"course." +msgstr "" +"Tö äççéss thïs çöürsé vïsït %(course_about_url)s änd régïstér för thïs " +"çöürsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "" +"To finish your registration, please visit %(registration_url)s and fill out " +"the registration form making sure to use %(email_address)s in the Email " +"field." +msgstr "" +"Tö fïnïsh ýöür régïsträtïön, pléäsé vïsït %(registration_url)s änd fïll öüt " +"thé régïsträtïön förm mäkïng süré tö üsé %(email_address)s ïn thé Émäïl " +"fïéld. Ⱡ'σяєм ιρ#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/body.txt +#, python-format +msgid "" +"Once you have registered and activated your account, visit " +"%(course_about_url)s to join this course." +msgstr "" +"Önçé ýöü hävé régïstéréd änd äçtïvätéd ýöür äççöünt, vïsït " +"%(course_about_url)s tö jöïn thïs çöürsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢т#" + +#: lms/templates/instructor/edx_ace/allowedenroll/email/subject.txt +#, python-format +msgid "You have been invited to register for %(course_name)s" +msgstr "" +"Ýöü hävé ßéén ïnvïtéd tö régïstér för %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт" +" αмєт, ¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedunenroll/email/subject.txt +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/subject.txt +#, python-format +msgid "You have been unenrolled from %(course_name)s" +msgstr "" +"Ýöü hävé ßéén ünénrölléd fröm %(course_name)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тє#" + +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.html +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt +#, python-format +msgid "" +"You have been unenrolled from the course %(course_name)s by a member of the " +"course staff. Please disregard the invitation previously sent." +msgstr "" +"Ýöü hävé ßéén ünénrölléd fröm thé çöürsé %(course_name)s ßý ä mémßér öf thé " +"çöürsé stäff. Pléäsé dïsrégärd thé ïnvïtätïön prévïöüslý sént. Ⱡ'σяєм#" + +#: lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt +msgid "Dear Student," +msgstr "Déär Stüdént, Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html +#, python-format +msgid "" +"\n" +" You have been unenrolled from %(course_name)s\n" +" " +msgstr "" +"\n" +" Ýöü hävé ßéén ünénrölléd fröm %(course_name)s\n" +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt +#, python-format +msgid "" +"You have been unenrolled from %(course_name)s at %(site_name)s by a member " +"of the course staff. This course will no longer appear on your %(site_name)s" +" dashboard." +msgstr "" +"Ýöü hävé ßéén ünénrölléd fröm %(course_name)s ät %(site_name)s ßý ä mémßér " +"öf thé çöürsé stäff. Thïs çöürsé wïll nö löngér äppéär ön ýöür %(site_name)s" +" däshßöärd. Ⱡ'#" + +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt +#: lms/templates/instructor/edx_ace/removebetatester/email/body.html +#: lms/templates/instructor/edx_ace/removebetatester/email/body.txt +msgid "Your other courses have not been affected." +msgstr "" +"Ýöür öthér çöürsés hävé nöt ßéén äfféçtéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html +#: lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.html +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt +#, python-format +msgid "This email was automatically sent from %(site_name)s to %(full_name)s" +msgstr "" +"Thïs émäïl wäs äütömätïçällý sént fröm %(site_name)s tö %(full_name)s Ⱡ'σяєм" +" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.html +#, python-format +msgid "" +"\n" +" You have been enrolled in %(course_name)s\n" +" " +msgstr "" +"\n" +" Ýöü hävé ßéén énrölléd ïn %(course_name)s\n" +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.html +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt +#, python-format +msgid "" +"You have been enrolled in %(course_name)s at %(site_name)s by a member of " +"the course staff. This course will now appear on your %(site_name)s " +"dashboard." +msgstr "" +"Ýöü hävé ßéén énrölléd ïn %(course_name)s ät %(site_name)s ßý ä mémßér öf " +"thé çöürsé stäff. Thïs çöürsé wïll nöw äppéär ön ýöür %(site_name)s " +"däshßöärd. Ⱡ'σяєм ιρѕυ#" + +#: lms/templates/instructor/edx_ace/enrollenrolled/email/body.html +msgid "Access the Course Materials Now" +msgstr "Àççéss thé Çöürsé Mätérïäls Nöw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: lms/templates/instructor/edx_ace/removebetatester/email/body.html +#, python-format +msgid "" +"You have been removed as a beta tester for %(course_name)s at %(site_name)s" +msgstr "" +"Ýöü hävé ßéén rémövéd äs ä ßétä téstér för %(course_name)s ät %(site_name)s " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: lms/templates/instructor/edx_ace/removebetatester/email/body.html +#, python-format +msgid "" +"You have been removed as a beta tester for %(course_name)s at %(site_name)s " +"by a member of the course staff." +msgstr "" +"Ýöü hävé ßéén rémövéd äs ä ßétä téstér för %(course_name)s ät %(site_name)s " +"ßý ä mémßér öf thé çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" + +#: lms/templates/instructor/edx_ace/removebetatester/email/body.html +msgid "" +"This course will remain on your dashboard, but you will no longer be part of" +" the beta testing group." +msgstr "" +"Thïs çöürsé wïll rémäïn ön ýöür däshßöärd, ßüt ýöü wïll nö löngér ßé pärt öf" +" thé ßétä téstïng gröüp. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" + +#: lms/templates/instructor/edx_ace/removebetatester/email/body.txt +#, python-format +msgid "" +"You have been removed as a beta tester for %(course_name)s at %(site_name)s " +"by a member of the course staff. This course will remain on your dashboard, " +"but you will no longer be part of the beta testing group." +msgstr "" +"Ýöü hävé ßéén rémövéd äs ä ßétä téstér för %(course_name)s ät %(site_name)s " +"ßý ä mémßér öf thé çöürsé stäff. Thïs çöürsé wïll rémäïn ön ýöür däshßöärd, " +"ßüt ýöü wïll nö löngér ßé pärt öf thé ßétä téstïng gröüp. Ⱡ'σяєм ιρѕυм ∂σłσя" +" ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт" +" łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ " +"єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ " +"αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ " +"ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂#" + +#: lms/templates/instructor/edx_ace/removebetatester/email/subject.txt +#, python-format +msgid "You have been removed from a beta test for %(course_name)s" +msgstr "" +"Ýöü hävé ßéén rémövéd fröm ä ßétä tést för %(course_name)s Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + #: lms/templates/logout.html msgid "Signed Out" msgstr "Sïgnéd Öüt Ⱡ'σяєм ιρѕυм ∂σłσ#" @@ -11031,6 +11455,7 @@ msgid "Create new merged version" msgstr "Çréäté néw mérgéd vérsïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" #: lms/templates/wiki/includes/anonymous_blocked.html +#: wiki/templates/wiki/includes/anonymous_blocked.html #, python-format msgid "" "You need to log in or %(filename)s. Please note that this attachment is in use on other articles, you may distort contents. However, do not hestitate to take advantage of this and make replacements for the listed articles where necessary. This way of working is more efficient....\n" -" " +"Replacing an attachment means adding a new file that will be used in its " +"place. All references to the file will be replaced by the one you upload and" +" the file will be downloaded as %(filename)s. Please note " +"that this attachment is in use on other articles, you may distort contents. " +"However, do not hestitate to take advantage of this and make replacements " +"for the listed articles where necessary. This way of working is more " +"efficient...." msgstr "" -"\n" -" Répläçïng än ättäçhmént méäns äddïng ä néw fïlé thät wïll ßé üséd ïn ïts pläçé. Àll référénçés tö thé fïlé wïll ßé répläçéd ßý thé öné ýöü üplöäd änd thé fïlé wïll ßé döwnlöädéd äs %(filename)s. Pléäsé nöté thät thïs ättäçhmént ïs ïn üsé ön öthér ärtïçlés, ýöü mäý dïstört çönténts. Höwévér, dö nöt héstïtäté tö täké ädväntägé öf thïs änd mäké répläçéménts för thé lïstéd ärtïçlés whéré néçéssärý. Thïs wäý öf wörkïng ïs möré éffïçïént....\n" -" #" +"Répläçïng än ättäçhmént méäns äddïng ä néw fïlé thät wïll ßé üséd ïn ïts " +"pläçé. Àll référénçés tö thé fïlé wïll ßé répläçéd ßý thé öné ýöü üplöäd änd" +" thé fïlé wïll ßé döwnlöädéd äs %(filename)s. Pléäsé nöté " +"thät thïs ättäçhmént ïs ïn üsé ön öthér ärtïçlés, ýöü mäý dïstört çönténts. " +"Höwévér, dö nöt héstïtäté tö täké ädväntägé öf thïs änd mäké répläçéménts " +"för thé lïstéd ärtïçlés whéré néçéssärý. Thïs wäý öf wörkïng ïs möré " +"éffïçïént....#" #: wiki/plugins/attachments/templates/wiki/plugins/attachments/replace.html msgid "Articles using" @@ -29397,13 +29613,19 @@ msgstr "Àrtïçlés üsïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #: wiki/plugins/attachments/templates/wiki/plugins/attachments/replace.html #, python-format msgid "" -"\n" -" Replacing an attachment means adding a new file that will be used in its place. All references to the file will be replaced by the one you upload and the file will be downloaded as %(filename)s.\n" -" " +"Replacing an attachment means adding a new file that will be used in its " +"place. All references to the file will be replaced by the one you upload and" +" the file will be downloaded as %(filename)s." msgstr "" -"\n" -" Répläçïng än ättäçhmént méäns äddïng ä néw fïlé thät wïll ßé üséd ïn ïts pläçé. Àll référénçés tö thé fïlé wïll ßé répläçéd ßý thé öné ýöü üplöäd änd thé fïlé wïll ßé döwnlöädéd äs %(filename)s.\n" -" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι#" +"Répläçïng än ättäçhmént méäns äddïng ä néw fïlé thät wïll ßé üséd ïn ïts " +"pläçé. Àll référénçés tö thé fïlé wïll ßé répläçéd ßý thé öné ýöü üplöäd änd" +" thé fïlé wïll ßé döwnlöädéd äs %(filename)s. Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя " +"ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ " +"ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " +"¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє " +"¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт " +"ηση#" #: wiki/plugins/attachments/templates/wiki/plugins/attachments/replace.html #: wiki/plugins/images/templates/wiki/plugins/images/revision_add.html @@ -29817,14 +30039,10 @@ msgstr "mätçhés,mätçh Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #: wiki/templates/wiki/dir.html #, python-format -msgid "" -"\n" -" %(cnt)s %(articles_plur)s in this level %(match_plur)s your search.\n" -" " +msgid "%(cnt)s %(articles_plur)s in this level %(match_plur)s your search." msgstr "" -"\n" -" %(cnt)s %(articles_plur)s ïn thïs lévél %(match_plur)s ýöür séärçh.\n" -" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" +"%(cnt)s %(articles_plur)s ïn thïs lévél %(match_plur)s ýöür séärçh. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" #: wiki/templates/wiki/dir.html msgid "is,are" @@ -29832,14 +30050,10 @@ msgstr "ïs,äré Ⱡ'σяєм ιρѕυ#" #: wiki/templates/wiki/dir.html #, python-format -msgid "" -"\n" -" There %(articles_plur_verb)s %(cnt)s %(articles_plur)s in this level.\n" -" " +msgid "There %(articles_plur_verb)s %(cnt)s %(articles_plur)s in this level." msgstr "" -"\n" -" Théré %(articles_plur_verb)s %(cnt)s %(articles_plur)s ïn thïs lévél.\n" -" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" +"Théré %(articles_plur_verb)s %(cnt)s %(articles_plur)s ïn thïs lévél. Ⱡ'σяєм" +" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" #: wiki/templates/wiki/dir.html msgid "Last modified" @@ -29920,17 +30134,6 @@ msgstr "Rööt ärtïçlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" msgid "Create root" msgstr "Çréäté rööt Ⱡ'σяєм ιρѕυм ∂σłσя #" -#: wiki/templates/wiki/includes/anonymous_blocked.html -#, python-format -msgid "" -"\n" -" You need to log in or sign up to use this function.\n" -" " -msgstr "" -"\n" -" Ýöü nééd tö lög ïn ör sïgn üp tö üsé thïs fünçtïön.\n" -" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - #: wiki/templates/wiki/includes/anonymous_blocked.html msgid "You need to log in og sign up to use this function." msgstr "" diff --git a/conf/locale/eo/LC_MESSAGES/djangojs.mo b/conf/locale/eo/LC_MESSAGES/djangojs.mo index 48346489bd..b2274fdba3 100644 Binary files a/conf/locale/eo/LC_MESSAGES/djangojs.mo and b/conf/locale/eo/LC_MESSAGES/djangojs.mo differ diff --git a/conf/locale/eo/LC_MESSAGES/djangojs.po b/conf/locale/eo/LC_MESSAGES/djangojs.po index c32ed13458..0733ba3c28 100644 --- a/conf/locale/eo/LC_MESSAGES/djangojs.po +++ b/conf/locale/eo/LC_MESSAGES/djangojs.po @@ -26,8 +26,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1a\n" "Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" -"POT-Creation-Date: 2018-09-23 20:36+0000\n" -"PO-Revision-Date: 2018-09-23 20:36:48.370598\n" +"POT-Creation-Date: 2018-09-25 14:54+0000\n" +"PO-Revision-Date: 2018-09-25 14:54:55.750559\n" "Last-Translator: \n" "Language-Team: openedx-translation \n" "Language: eo\n" @@ -37,6 +37,31 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 1.3\n" +#: cms/static/cms/js/main.js cms/static/js/views/active_video_upload_list.js +#: cms/static/js/views/video_transcripts.js common/static/bundles/commons.js +msgid "" +"This may be happening because of an error with our server or your internet " +"connection. Try refreshing the page or making sure you are online." +msgstr "" +"Thïs mäý ßé häppénïng ßéçäüsé öf än érrör wïth öür sérvér ör ýöür ïntérnét " +"çönnéçtïön. Trý réfréshïng thé pägé ör mäkïng süré ýöü äré önlïné. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя " +"ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ " +"ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " +"¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє " +"¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт " +"ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт #" + +#: cms/static/cms/js/main.js common/static/bundles/commons.js +msgid "Studio's having trouble saving your work" +msgstr "" +"Stüdïö's hävïng tröüßlé sävïng ýöür wörk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя#" + +#: cms/static/cms/js/xblock/cms.runtime.v1.js common/static/bundles/commons.js +msgid "OpenAssessment Save Error" +msgstr "ÖpénÀsséssmént Sävé Érrör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + #: cms/static/cms/js/xblock/cms.runtime.v1.js #: cms/static/js/certificates/views/signatory_details.js #: cms/static/js/models/section.js cms/static/js/utils/drag_and_drop.js @@ -46,15 +71,32 @@ msgstr "" #: cms/static/js/views/edit_textbook.js #: cms/static/js/views/list_item_editor.js #: cms/static/js/views/modals/edit_xblock.js cms/static/js/views/tabs.js -#: cms/static/js/views/utils/xblock_utils.js lms/static/js/ccx/schedule.js -#: lms/static/js/views/fields.js +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/edit_tabs.js +#: common/static/bundles/js/factories/library.js +#: common/static/bundles/js/factories/textbooks.js +#: lms/static/js/ccx/schedule.js lms/static/js/views/fields.js msgid "Saving" msgstr "Sävïng Ⱡ'σяєм ιρѕυ#" +#: cms/static/js/base.js common/static/bundles/commons.js +msgid "This link will open in a new browser window/tab" +msgstr "" +"Thïs lïnk wïll öpén ïn ä néw ßröwsér wïndöw/täß Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," +" ¢σηѕє¢тєтυя α#" + +#: cms/static/js/base.js common/static/bundles/commons.js +msgid "This link will open in a modal window" +msgstr "" +"Thïs lïnk wïll öpén ïn ä mödäl wïndöw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + #: cms/static/js/certificates/views/signatory_editor.js #: cms/static/js/views/asset.js cms/static/js/views/list_item.js #: cms/static/js/views/manage_users_and_roles.js #: cms/static/js/views/show_textbook.js +#: common/static/bundles/js/factories/textbooks.js #: lms/djangoapps/teams/static/teams/js/views/instructor_tools.js #: cms/templates/js/certificate-details.underscore #: cms/templates/js/certificate-editor.underscore @@ -75,10 +117,18 @@ msgstr "Sävïng Ⱡ'σяєм ιρѕυ#" msgid "Delete" msgstr "Délété Ⱡ'σяєм ιρѕυ#" +#: cms/static/js/certificates/views/signatory_editor.js +#: cms/static/js/views/course_info_update.js cms/static/js/views/list_item.js +#: cms/static/js/views/show_textbook.js cms/static/js/views/tabs.js +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +#: common/static/bundles/js/factories/edit_tabs.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Deleting" +msgstr "Délétïng Ⱡ'σяєм ιρѕυм ∂#" + #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/certificates/views/signatory_editor.js #: cms/static/js/views/asset.js cms/static/js/views/course_info_update.js #: cms/static/js/views/export.js cms/static/js/views/manage_users_and_roles.js @@ -87,8 +137,14 @@ msgstr "Délété Ⱡ'σяєм ιρѕυ#" #: cms/static/js/views/show_textbook.js cms/static/js/views/tabs.js #: cms/static/js/views/validation.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: common/static/bundles/commons.js +#: common/static/bundles/js/factories/edit_tabs.js +#: common/static/bundles/js/factories/textbooks.js #: common/static/common/js/components/utils/view_utils.js #: lms/static/js/Markdown.Editor.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx #: cms/templates/js/add-xblock-component-menu-problem.underscore #: cms/templates/js/add-xblock-component-menu.underscore #: cms/templates/js/certificate-editor.underscore @@ -111,20 +167,190 @@ msgstr "Délété Ⱡ'σяєм ιρѕυ#" msgid "Cancel" msgstr "Çänçél Ⱡ'σяєм ιρѕυ#" +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "There was an error during the upload process." +msgstr "" +"Théré wäs än érrör dürïng thé üplöäd pröçéss. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "There was an error while unpacking the file." +msgstr "" +"Théré wäs än érrör whïlé ünpäçkïng thé fïlé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "There was an error while verifying the file you submitted." +msgstr "" +"Théré wäs än érrör whïlé vérïfýïng thé fïlé ýöü süßmïttéd. Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "Choose new file" +msgstr "Çhöösé néw fïlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "" +"File format not supported. Please upload a file with a {ext} extension." +msgstr "" +"Fïlé förmät nöt süppörtéd. Pléäsé üplöäd ä fïlé wïth ä {ext} éxténsïön. " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "There was an error while importing the new library to our database." +msgstr "" +"Théré wäs än érrör whïlé ïmpörtïng thé néw lïßrärý tö öür dätäßäsé. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "There was an error while importing the new course to our database." +msgstr "" +"Théré wäs än érrör whïlé ïmpörtïng thé néw çöürsé tö öür dätäßäsé. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: cms/static/js/features/import/factories/import.js +#: common/static/bundles/Import.js +msgid "Your import has failed." +msgstr "Ýöür ïmpört häs fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: cms/static/js/features/import/views/import.js +#: common/static/bundles/Import.js +msgid "Your import is in progress; navigating away will abort it." +msgstr "" +"Ýöür ïmpört ïs ïn prögréss; nävïgätïng äwäý wïll äßört ït. Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: cms/static/js/features/import/views/import.js +#: common/static/bundles/Import.js +msgid "Error importing course" +msgstr "Érrör ïmpörtïng çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: cms/static/js/features/import/views/import.js +#: common/static/bundles/Import.js +msgid "There was an error with the upload" +msgstr "" +"Théré wäs än érrör wïth thé üplöäd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +msgid "Organization:" +msgstr "Örgänïzätïön: Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +msgid "Course Number:" +msgstr "Çöürsé Nümßér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +msgid "Course Run:" +msgstr "Çöürsé Rün: Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +msgid "(Read-only)" +msgstr "(Réäd-önlý) Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +msgid "Re-run Course" +msgstr "Ré-rün Çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx +#: common/static/bundles/CourseOrLibraryListing.js +#: cms/templates/js/show-textbook.underscore +msgid "View Live" +msgstr "Vïéw Lïvé Ⱡ'σяєм ιρѕυм ∂σł#" + +#. Translators: This is the status of an active video upload #: cms/static/js/models/active_video_upload.js cms/static/js/views/assets.js #: cms/static/js/views/video_thumbnail.js lms/static/js/views/image_field.js msgid "Uploading" msgstr "Ûplöädïng Ⱡ'σяєм ιρѕυм ∂σł#" +#: cms/static/js/models/chapter.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Chapter name and asset_path are both required" +msgstr "" +"Çhäptér nämé änd ässét_päth äré ßöth réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: cms/static/js/models/chapter.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Chapter name is required" +msgstr "Çhäptér nämé ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: cms/static/js/models/chapter.js +#: common/static/bundles/js/factories/textbooks.js +msgid "asset_path is required" +msgstr "ässét_päth ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: cms/static/js/models/course.js cms/static/js/models/section.js +#: common/static/bundles/commons.js +#: common/static/bundles/js/factories/textbooks.js +msgid "You must specify a name" +msgstr "Ýöü müst spéçïfý ä nämé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: cms/static/js/models/textbook.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Textbook name is required" +msgstr "Téxtßöök nämé ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: cms/static/js/models/textbook.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Please add at least one chapter" +msgstr "Pléäsé ädd ät léäst öné çhäptér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: cms/static/js/models/textbook.js +#: common/static/bundles/js/factories/textbooks.js +msgid "All chapters must have a name and asset" +msgstr "" +"Àll çhäptérs müst hävé ä nämé änd ässét Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя#" + +#: cms/static/js/models/uploads.js common/static/bundles/commons.js +msgid "" +"Only <%= fileTypes %> files can be uploaded. Please select a file ending in " +"<%= fileExtensions %> to upload." +msgstr "" +"Önlý <%= fileTypes %> fïlés çän ßé üplöädéd. Pléäsé séléçt ä fïlé éndïng ïn " +"<%= fileExtensions %> tö üplöäd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" + +#: cms/static/js/models/uploads.js common/static/bundles/commons.js +#: lms/templates/student_account/hinted_login.underscore +#: lms/templates/student_account/institution_login.underscore +#: lms/templates/student_account/institution_register.underscore +msgid "or" +msgstr "ör Ⱡ'σя#" + +#: cms/static/js/models/xblock_validation.js +#: common/static/bundles/js/factories/xblock_validation.js +msgid "This unit has validation issues." +msgstr "" +"Thïs ünït häs välïdätïön ïssüés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" + +#: cms/static/js/models/xblock_validation.js +#: common/static/bundles/js/factories/xblock_validation.js +msgid "This component has validation issues." +msgstr "" +"Thïs çömpönént häs välïdätïön ïssüés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/active_video_upload.js #: cms/static/js/views/modals/edit_xblock.js #: cms/static/js/views/video_transcripts.js #: common/lib/xmodule/xmodule/js/src/html/edit.js -#: lms/static/js/student_account/tos_modal.js +#: common/static/bundles/commons.js lms/static/js/student_account/tos_modal.js #: cms/templates/js/course-video-settings.underscore #: common/static/common/templates/image-modal.underscore #: common/static/common/templates/discussion/alert-popup.underscore @@ -137,10 +363,9 @@ msgstr "Çlösé Ⱡ'σяєм ιρѕ#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/assets.js #: common/lib/xmodule/xmodule/js/src/html/edit.js -#: cms/templates/js/asset-library.underscore +#: common/static/bundles/commons.js cms/templates/js/asset-library.underscore #: cms/templates/js/course-instructor-details.underscore #: cms/templates/js/previous-video-upload-list.underscore #: cms/templates/js/signatory-details.underscore @@ -153,12 +378,20 @@ msgstr "Nämé Ⱡ'σяєм ι#" msgid "Choose File" msgstr "Çhöösé Fïlé Ⱡ'σяєм ιρѕυм ∂σłσя #" +#: cms/static/js/views/components/add_xblock.js +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Adding" +msgstr "Àddïng Ⱡ'σяєм ιρѕυ#" + #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/course_info_update.js cms/static/js/views/tabs.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js +#: common/static/bundles/js/factories/edit_tabs.js #: lms/static/js/Markdown.Editor.js #: common/static/common/templates/discussion/alert-popup.underscore #: lms/templates/learner_dashboard/verification_popover.underscore @@ -168,9 +401,9 @@ msgstr "ÖK Ⱡ'σя#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/course_video_settings.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/timed-examination-preference-editor.underscore msgid "None" msgstr "Nöné Ⱡ'σяєм ι#" @@ -178,7 +411,7 @@ msgstr "Nöné Ⱡ'σяєм ι#" #: cms/static/js/views/course_video_settings.js #: cms/static/js/views/metadata.js #: cms/static/js/views/previous_video_upload.js -#: cms/static/js/views/video_transcripts.js +#: cms/static/js/views/video_transcripts.js common/static/bundles/commons.js #: lms/djangoapps/teams/static/teams/js/views/edit_team_members.js #: lms/static/js/views/image_field.js #: cms/templates/js/video/metadata-translations-item.underscore @@ -186,11 +419,122 @@ msgstr "Nöné Ⱡ'σяєм ι#" msgid "Remove" msgstr "Rémövé Ⱡ'σяєм ιρѕυ#" +#: cms/static/js/views/edit_chapter.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Upload a new PDF to “<%= name %>”" +msgstr "Ûplöäd ä néw PDF tö “<%= name %>” Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: cms/static/js/views/edit_chapter.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Please select a PDF file to upload." +msgstr "" +"Pléäsé séléçt ä PDF fïlé tö üplöäd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +#: cms/templates/js/license-selector.underscore +msgid "All Rights Reserved" +msgstr "Àll Rïghts Résérvéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "You reserve all rights for your work" +msgstr "" +"Ýöü résérvé äll rïghts för ýöür wörk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "Creative Commons" +msgstr "Çréätïvé Çömmöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "You waive some rights for your work, such that others can use it too" +msgstr "" +"Ýöü wäïvé sömé rïghts för ýöür wörk, süçh thät öthérs çän üsé ït töö Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "Version" +msgstr "Vérsïön Ⱡ'σяєм ιρѕυм #" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "Attribution" +msgstr "Àttrïßütïön Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "" +"Allow others to copy, distribute, display and perform your copyrighted work " +"but only if they give credit the way you request. Currently, this option is " +"required." +msgstr "" +"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm ýöür çöpýrïghtéd wörk " +"ßüt önlý ïf théý gïvé çrédït thé wäý ýöü réqüést. Çürréntlý, thïs öptïön ïs " +"réqüïréd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ " +"єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм" +" νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα " +"¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт" +" єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт " +"¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕє#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "Noncommercial" +msgstr "Nönçömmérçïäl Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "" +"Allow others to copy, distribute, display and perform your work - and " +"derivative works based upon it - but for noncommercial purposes only." +msgstr "" +"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm ýöür wörk - änd " +"dérïvätïvé wörks ßäséd üpön ït - ßüt för nönçömmérçïäl pürpösés önlý. Ⱡ'σяєм" +" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя " +"ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ " +"ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " +"¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє " +"¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт " +"ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт łα#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "No Derivatives" +msgstr "Nö Dérïvätïvés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "" +"Allow others to copy, distribute, display and perform only verbatim copies " +"of your work, not derivative works based upon it. This option is " +"incompatible with \"Share Alike\"." +msgstr "" +"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm önlý vérßätïm çöpïés " +"öf ýöür wörk, nöt dérïvätïvé wörks ßäséd üpön ït. Thïs öptïön ïs " +"ïnçömpätïßlé wïth \"Shäré Àlïké\". Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя " +"α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα" +" αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ " +"ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη " +"яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα " +"ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυ#" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "Share Alike" +msgstr "Shäré Àlïké Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/views/license.js common/static/bundles/commons.js +msgid "" +"Allow others to distribute derivative works only under a license identical " +"to the license that governs your work. This option is incompatible with \"No" +" Derivatives\"." +msgstr "" +"Àllöw öthérs tö dïstrïßüté dérïvätïvé wörks önlý ündér ä lïçénsé ïdéntïçäl " +"tö thé lïçénsé thät gövérns ýöür wörk. Thïs öptïön ïs ïnçömpätïßlé wïth \"Nö" +" Dérïvätïvés\". Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, " +"ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм " +"α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ " +"єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє" +" νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт " +"¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂#" + #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/manage_users_and_roles.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Ok" msgstr "Ök Ⱡ'σя#" @@ -200,21 +544,24 @@ msgid "Unknown" msgstr "Ûnknöwn Ⱡ'σяєм ιρѕυм #" #: cms/static/js/views/manage_users_and_roles.js +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js #: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx msgid "Are you sure?" msgstr "Àré ýöü süré? Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" -#: cms/static/js/views/metadata.js lms/static/js/views/file_uploader.js +#: cms/static/js/views/metadata.js common/static/bundles/commons.js +#: lms/static/js/views/file_uploader.js msgid "Upload File" msgstr "Ûplöäd Fïlé Ⱡ'σяєм ιρѕυм ∂σłσя #" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/modals/base_modal.js #: cms/static/js/views/modals/course_outline_modals.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/certificate-editor.underscore #: cms/templates/js/content-group-editor.underscore #: cms/templates/js/course_info_handouts.underscore @@ -233,19 +580,374 @@ msgstr "Sävé Ⱡ'σяєм ι#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: cms/static/js/views/modals/course_outline_modals.js #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/add-xblock-component-menu-problem.underscore msgid "Advanced" msgstr "Àdvänçéd Ⱡ'σяєм ιρѕυм ∂#" +#. Translators: "title" is the name of the current component being edited. +#: cms/static/js/views/modals/edit_xblock.js common/static/bundles/commons.js +msgid "Editing: %(title)s" +msgstr "Édïtïng: %(title)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" + +#: cms/static/js/views/modals/edit_xblock.js common/static/bundles/commons.js +#: lms/templates/ccx/schedule.underscore +msgid "Unit" +msgstr "Ûnït Ⱡ'σяєм ι#" + +#: cms/static/js/views/modals/edit_xblock.js common/static/bundles/commons.js +msgid "Component" +msgstr "Çömpönént Ⱡ'σяєм ιρѕυм ∂σł#" + +#: cms/static/js/views/modals/move_xblock_modal.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Move" +msgstr "Mövé Ⱡ'σяєм ι#" + +#: cms/static/js/views/modals/move_xblock_modal.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Choose a location to move your component to" +msgstr "" +"Çhöösé ä löçätïön tö mövé ýöür çömpönént tö Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: cms/static/js/views/modals/move_xblock_modal.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Move: {displayName}" +msgstr "Mövé: {displayName} Ⱡ'σяєм ιρѕυм ∂σł#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Sections" +msgstr "Séçtïöns Ⱡ'σяєм ιρѕυм ∂#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Subsections" +msgstr "Süßséçtïöns Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Units" +msgstr "Ûnïts Ⱡ'σяєм ιρѕ#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Components" +msgstr "Çömpönénts Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +#: cms/templates/js/group-configuration-editor.underscore +msgid "Groups" +msgstr "Gröüps Ⱡ'σяєм ιρѕυ#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "This {parentCategory} has no {childCategory}" +msgstr "" +"Thïs {parentCategory} häs nö {childCategory} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" + +#: cms/static/js/views/move_xblock_list.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +#: cms/templates/js/group-configuration-details.underscore +#: cms/templates/js/partition-group-details.underscore +msgid "Course Outline" +msgstr "Çöürsé Öütlïné Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: cms/static/js/views/paged_container.js +#: common/static/bundles/js/factories/library.js +msgid "Date added" +msgstr "Däté äddéd Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#. Translators: "title" is the name of the current component or unit being +#. edited. +#: cms/static/js/views/pages/container.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Editing access for: %(title)s" +msgstr "Édïtïng äççéss för: %(title)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Publishing" +msgstr "Püßlïshïng Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +#: cms/templates/js/course-video-settings-update-org-credentials-footer.underscore +#: cms/templates/js/course-video-settings-update-settings-footer.underscore +#: cms/templates/js/publish-xblock.underscore +msgid "Discard Changes" +msgstr "Dïsçärd Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Are you sure you want to revert to the last published version of the unit? " +"You cannot undo this action." +msgstr "" +"Àré ýöü süré ýöü wänt tö révért tö thé läst püßlïshéd vérsïön öf thé ünït? " +"Ýöü çännöt ündö thïs äçtïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Discarding Changes" +msgstr "Dïsçärdïng Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Hiding from Students" +msgstr "Hïdïng fröm Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Explicitly Hiding from Students" +msgstr "Éxplïçïtlý Hïdïng fröm Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Inheriting Student Visibility" +msgstr "Ìnhérïtïng Stüdént Vïsïßïlïtý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Make Visible to Students" +msgstr "Mäké Vïsïßlé tö Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "" +"If the unit was previously published and released to students, any changes " +"you made to the unit when it was hidden will now be visible to students. Do " +"you want to proceed?" +msgstr "" +"Ìf thé ünït wäs prévïöüslý püßlïshéd änd réléäséd tö stüdénts, äný çhängés " +"ýöü mädé tö thé ünït whén ït wäs hïddén wïll nöw ßé vïsïßlé tö stüdénts. Dö " +"ýöü wänt tö pröçééd? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg " +"єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт " +"єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт " +"αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη " +"νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт " +"σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι#" + +#: cms/static/js/views/pages/container_subviews.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Making Visible to Students" +msgstr "Mäkïng Vïsïßlé tö Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: cms/static/js/views/pages/paged_container.js +#: common/static/bundles/js/factories/library.js +msgid "Hide Previews" +msgstr "Hïdé Prévïéws Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: cms/static/js/views/pages/paged_container.js +#: common/static/bundles/js/factories/library.js +msgid "Show Previews" +msgstr "Shöw Prévïéws Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#. Translators: sample result: +#. "Showing 0-9 out of 25 total, filtered by Images, sorted by Date Added +#. ascending" +#: cms/static/js/views/paging_header.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Showing {currentItemRange} out of {totalItemsCount}, filtered by " +"{assetType}, sorted by {sortName} ascending" +msgstr "" +"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, fïltéréd ßý " +"{assetType}, sörtéd ßý {sortName} äsçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя α#" + +#. Translators: sample result: +#. "Showing 0-9 out of 25 total, filtered by Images, sorted by Date Added +#. descending" +#: cms/static/js/views/paging_header.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Showing {currentItemRange} out of {totalItemsCount}, filtered by " +"{assetType}, sorted by {sortName} descending" +msgstr "" +"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, fïltéréd ßý " +"{assetType}, sörtéd ßý {sortName} désçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя α#" + +#. Translators: sample result: +#. "Showing 0-9 out of 25 total, sorted by Date Added ascending" +#: cms/static/js/views/paging_header.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Showing {currentItemRange} out of {totalItemsCount}, sorted by {sortName} " +"ascending" +msgstr "" +"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, sörtéd ßý {sortName} " +"äsçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#. Translators: sample result: +#. "Showing 0-9 out of 25 total, sorted by Date Added descending" +#: cms/static/js/views/paging_header.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Showing {currentItemRange} out of {totalItemsCount}, sorted by {sortName} " +"descending" +msgstr "" +"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, sörtéd ßý {sortName} " +"désçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#. Translators: turns into "25 total" to be used in other sentences, e.g. +#. "Showing 0-9 out of 25 total". +#: cms/static/js/views/paging_header.js +#: common/static/bundles/js/factories/library.js +msgid "{totalItems} total" +msgstr "{totalItems} tötäl Ⱡ'σяєм ιρѕυм ∂σł#" + #: cms/static/js/views/previous_video_upload.js #: cms/static/js/views/video/translations_editor.js -#: cms/static/js/views/video_transcripts.js lms/static/js/views/image_field.js +#: cms/static/js/views/video_transcripts.js common/static/bundles/commons.js +#: lms/static/js/views/image_field.js msgid "Removing" msgstr "Rémövïng Ⱡ'σяєм ιρѕυм ∂#" +#: cms/static/js/views/show_textbook.js +#: common/static/bundles/js/factories/textbooks.js +msgid "Delete “<%= name %>”?" +msgstr "Délété “<%= name %>”? Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: cms/static/js/views/show_textbook.js +#: common/static/bundles/js/factories/textbooks.js +msgid "" +"Deleting a textbook cannot be undone and once deleted any reference to it in" +" your courseware's navigation will also be removed." +msgstr "" +"Délétïng ä téxtßöök çännöt ßé ündöné änd önçé délétéd äný référénçé tö ït ïn" +" ýöür çöürséwäré's nävïgätïön wïll älsö ßé rémövéd. Ⱡ'σяє#" + +#: cms/static/js/views/tabs.js common/static/bundles/js/factories/edit_tabs.js +msgid "Delete Page Confirmation" +msgstr "Délété Pägé Çönfïrmätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: cms/static/js/views/tabs.js common/static/bundles/js/factories/edit_tabs.js +msgid "" +"Are you sure you want to delete this page? This action cannot be undone." +msgstr "" +"Àré ýöü süré ýöü wänt tö délété thïs pägé? Thïs äçtïön çännöt ßé ündöné. " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: cms/static/js/views/uploads.js common/static/bundles/commons.js +#: cms/templates/js/metadata-file-uploader-item.underscore +#: cms/templates/js/video/metadata-translations-item.underscore +msgid "Upload" +msgstr "Ûplöäd Ⱡ'σяєм ιρѕυ#" + +#: cms/static/js/views/uploads.js common/static/bundles/commons.js +msgid "We're sorry, there was an error" +msgstr "Wé'ré sörrý, théré wäs än érrör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: cms/static/js/views/utils/move_xblock_utils.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Success! \"{displayName}\" has been moved." +msgstr "" +"Süççéss! \"{displayName}\" häs ßéén mövéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢т#" + +#: cms/static/js/views/utils/move_xblock_utils.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "" +"Move cancelled. \"{sourceDisplayName}\" has been moved back to its original " +"location." +msgstr "" +"Mövé çänçélléd. \"{sourceDisplayName}\" häs ßéén mövéd ßäçk tö ïts örïgïnäl " +"löçätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: cms/static/js/views/utils/move_xblock_utils.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Undo move" +msgstr "Ûndö mövé Ⱡ'σяєм ιρѕυм ∂σł#" + +#: cms/static/js/views/utils/move_xblock_utils.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "Take me to the new location" +msgstr "Täké mé tö thé néw löçätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Duplicating" +msgstr "Düplïçätïng Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Undo moving" +msgstr "Ûndö mövïng Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Moving" +msgstr "Mövïng Ⱡ'σяєм ιρѕυ#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Deleting this {xblock_type} is permanent and cannot be undone." +msgstr "" +"Délétïng thïs {xblock_type} ïs pérmänént änd çännöt ßé ündöné. Ⱡ'σяєм ιρѕυм " +"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "" +"Any content that has listed this content as a prerequisite will also have " +"access limitations removed." +msgstr "" +"Àný çöntént thät häs lïstéd thïs çöntént äs ä préréqüïsïté wïll älsö hävé " +"äççéss lïmïtätïöns rémövéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Delete this {xblock_type} (and prerequisite)?" +msgstr "" +"Délété thïs {xblock_type} (änd préréqüïsïté)? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєт#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Yes, delete this {xblock_type}" +msgstr "Ýés, délété thïs {xblock_type} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "Delete this {xblock_type}?" +msgstr "Délété thïs {xblock_type}? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "section" +msgstr "séçtïön Ⱡ'σяєм ιρѕυм #" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +msgid "subsection" +msgstr "süßséçtïön Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: cms/static/js/views/utils/xblock_utils.js common/static/bundles/commons.js +#: cms/templates/js/container-access.underscore +msgid "unit" +msgstr "ünït Ⱡ'σяєм ι#" + #: cms/static/js/views/validation.js #: lms/static/js/discussions_management/views/divided_discussions_course_wide.js #: lms/static/js/discussions_management/views/divided_discussions_inline.js @@ -253,7 +955,118 @@ msgstr "Rémövïng Ⱡ'σяєм ιρѕυм ∂#" msgid "Your changes have been saved." msgstr "Ýöür çhängés hävé ßéén sävéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" +#: cms/static/js/views/video/transcripts/file_uploader.js +#: common/static/bundles/commons.js +msgid "Please select a file in .srt format." +msgstr "" +"Pléäsé séléçt ä fïlé ïn .srt förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + +#: cms/static/js/views/video/transcripts/file_uploader.js +#: common/static/bundles/commons.js +msgid "Error: Uploading failed." +msgstr "Érrör: Ûplöädïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: cms/static/js/views/video/transcripts/message_manager.js +#: common/static/bundles/commons.js +msgid "Error: Import failed." +msgstr "Érrör: Ìmpört fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: cms/static/js/views/video/transcripts/message_manager.js +#: common/static/bundles/commons.js +msgid "Error: Replacing failed." +msgstr "Érrör: Répläçïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: cms/static/js/views/video/transcripts/message_manager.js +#: common/static/bundles/commons.js +msgid "Error: Choosing failed." +msgstr "Érrör: Çhöösïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: cms/static/js/views/video/transcripts/metadata_videolist.js +#: common/static/bundles/commons.js +msgid "Error: Connection with server failed." +msgstr "" +"Érrör: Çönnéçtïön wïth sérvér fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + +#: cms/static/js/views/video/transcripts/metadata_videolist.js +#: common/static/bundles/commons.js +msgid "Link types should be unique." +msgstr "Lïnk týpés shöüld ßé ünïqüé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" + +#: cms/static/js/views/video/transcripts/metadata_videolist.js +#: common/static/bundles/commons.js +msgid "Links should be unique." +msgstr "Lïnks shöüld ßé ünïqüé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: cms/static/js/views/video/transcripts/metadata_videolist.js +#: common/static/bundles/commons.js +msgid "Incorrect url format." +msgstr "Ìnçörréçt ürl förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: cms/static/js/views/video/translations_editor.js +#: common/static/bundles/commons.js +msgid "" +"Sorry, there was an error parsing the subtitles that you uploaded. Please " +"check the format and try again." +msgstr "" +"Sörrý, théré wäs än érrör pärsïng thé süßtïtlés thät ýöü üplöädéd. Pléäsé " +"çhéçk thé förmät änd trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт #" + +#: cms/static/js/views/video/translations_editor.js +#: cms/static/js/views/video_transcripts.js common/static/bundles/commons.js +msgid "Are you sure you want to remove this transcript?" +msgstr "" +"Àré ýöü süré ýöü wänt tö rémövé thïs tränsçrïpt? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: cms/static/js/views/video/translations_editor.js +#: common/static/bundles/commons.js +msgid "" +"If you remove this transcript, the transcript will not be available for this" +" component." +msgstr "" +"Ìf ýöü rémövé thïs tränsçrïpt, thé tränsçrïpt wïll nöt ßé äväïläßlé för thïs" +" çömpönént. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" + +#: cms/static/js/views/video/translations_editor.js +#: common/static/bundles/commons.js +msgid "Remove Transcript" +msgstr "Rémövé Tränsçrïpt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" + +#: cms/static/js/views/video/translations_editor.js +#: common/static/bundles/commons.js +msgid "Upload translation" +msgstr "Ûplöäd tränslätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" + +#: cms/static/js/views/xblock_editor.js common/static/bundles/commons.js +msgid "Editor" +msgstr "Édïtör Ⱡ'σяєм ιρѕυ#" + +#: cms/static/js/views/xblock_editor.js common/static/bundles/commons.js +#: lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore +msgid "Settings" +msgstr "Séttïngs Ⱡ'σяєм ιρѕυм ∂#" + +#: cms/static/js/views/xblock_outline.js +#: common/static/bundles/js/factories/container.js +#: common/static/bundles/js/factories/library.js +msgid "New {component_type}" +msgstr "Néw {component_type} Ⱡ'σяєм ιρѕυм #" + +#. Translators: This message will be added to the front of messages of type +#. warning, +#. e.g. "Warning: this component has not been configured yet". #: cms/static/js/views/xblock_validation.js +#: common/static/bundles/js/factories/xblock_validation.js +msgid "Warning" +msgstr "Wärnïng Ⱡ'σяєм ιρѕυм #" + +#. Translators: This message will be added to the front of messages of type +#. error, +#. e.g. "Error: required field is missing". +#: cms/static/js/views/xblock_validation.js +#: common/static/bundles/js/factories/xblock_validation.js #: common/static/common/js/discussion/utils.js #: common/static/common/js/discussion/views/discussion_inline_view.js #: common/static/common/js/discussion/views/discussion_thread_list_view.js @@ -299,30 +1112,39 @@ msgid "text_word_{uniqueId}" msgstr "téxt_wörd_{uniqueId} Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Show Annotations" msgstr "Shöw Ànnötätïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Hide Annotations" msgstr "Hïdé Ànnötätïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Expand Instructions" msgstr "Éxpänd Ìnstrüçtïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Collapse Instructions" msgstr "Çölläpsé Ìnstrüçtïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Commentary" msgstr "Çömméntärý Ⱡ'σяєм ιρѕυм ∂σłσ#" #: common/lib/xmodule/xmodule/js/src/annotatable/display.js +#: common/static/bundles/AnnotatableModule.js msgid "Reply to Annotation" msgstr "Réplý tö Ànnötätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" +#. Translators: %(num_points)s is the number of points possible (examples: 1, +#. 3, 10).; #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(num_points)s point possible (graded, results hidden)" msgid_plural "%(num_points)s points possible (graded, results hidden)" msgstr[0] "" @@ -332,7 +1154,10 @@ msgstr[1] "" "%(num_points)s pöïnts pössïßlé (grädéd, résülts hïddén) Ⱡ'σяєм ιρѕυм ∂σłσя " "ѕιт αмєт, ¢σηѕє¢тєтυя #" +#. Translators: %(num_points)s is the number of points possible (examples: 1, +#. 3, 10).; #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(num_points)s point possible (ungraded, results hidden)" msgid_plural "%(num_points)s points possible (ungraded, results hidden)" msgstr[0] "" @@ -342,7 +1167,10 @@ msgstr[1] "" "%(num_points)s pöïnts pössïßlé (üngrädéd, résülts hïddén) Ⱡ'σяєм ιρѕυм ∂σłσя" " ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#. Translators: %(num_points)s is the number of points possible (examples: 1, +#. 3, 10).; #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(num_points)s point possible (graded)" msgid_plural "%(num_points)s points possible (graded)" msgstr[0] "" @@ -350,7 +1178,10 @@ msgstr[0] "" msgstr[1] "" "%(num_points)s pöïnts pössïßlé (grädéd) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" +#. Translators: %(num_points)s is the number of points possible (examples: 1, +#. 3, 10).; #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(num_points)s point possible (ungraded)" msgid_plural "%(num_points)s points possible (ungraded)" msgstr[0] "" @@ -360,7 +1191,12 @@ msgstr[1] "" "%(num_points)s pöïnts pössïßlé (üngrädéd) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢т#" +#. Translators: %(earned)s is the number of points earned. %(possible)s is the +#. total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of +#. points will always be at least 1. We pluralize based on the total number of +#. points (example: 0/1 point; 1/2 points); #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(earned)s/%(possible)s point (graded)" msgid_plural "%(earned)s/%(possible)s points (graded)" msgstr[0] "" @@ -368,7 +1204,12 @@ msgstr[0] "" msgstr[1] "" "%(earned)s/%(possible)s pöïnts (grädéd) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" +#. Translators: %(earned)s is the number of points earned. %(possible)s is the +#. total number of points (examples: 0/1, 1/1, 2/3, 5/10). The total number of +#. points will always be at least 1. We pluralize based on the total number of +#. points (example: 0/1 point; 1/2 points); #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "%(earned)s/%(possible)s point (ungraded)" msgid_plural "%(earned)s/%(possible)s points (ungraded)" msgstr[0] "" @@ -377,18 +1218,21 @@ msgstr[1] "" "%(earned)s/%(possible)s pöïnts (üngrädéd) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "The grading process is still running. Refresh the page to see updates." msgstr "" "Thé grädïng pröçéss ïs stïll rünnïng. Réfrésh thé pägé tö séé üpdätés. " "Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "Could not grade your answer. The submission was aborted." msgstr "" "Çöüld nöt grädé ýöür änswér. Thé süßmïssïön wäs äßörtéd. Ⱡ'σяєм ιρѕυм ∂σłσя " "ѕιт αмєт, ¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "" "Submission aborted! Sorry, your browser does not support file uploads. If " "you can, please use Chrome or Safari which have been verified to support " @@ -404,342 +1248,354 @@ msgstr "" "¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυ#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "You submitted {filename}; only {allowedFiles} are allowed." msgstr "" "Ýöü süßmïttéd {filename}; önlý {allowedFiles} äré ällöwéd. Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "Your file {filename} is too large (max size: {maxSize}MB)." msgstr "" "Ýöür fïlé {filename} ïs töö lärgé (mäx sïzé: {maxSize}MB). Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "You did not submit the required files: {requiredFiles}." msgstr "" "Ýöü dïd nöt süßmït thé réqüïréd fïlés: {requiredFiles}. Ⱡ'σяєм ιρѕυм ∂σłσя " "ѕιт αмєт, ¢σηѕє¢тєтυя #" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "You did not select any files to submit." msgstr "" "Ýöü dïd nöt séléçt äný fïlés tö süßmït. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя#" +#. Translators: This is only translated to allow for reordering of label and +#. associated status.; #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "{label}: {status}" msgstr "{label}: {status} Ⱡ'σяєм ιρѕυм ∂#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "This problem has been reset." msgstr "Thïs prößlém häs ßéén rését. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" #: common/lib/xmodule/xmodule/js/src/capa/display.js +#: common/static/bundles/CapaModule.js msgid "unsubmitted" msgstr "ünsüßmïttéd Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paragraph" msgstr "Pärägräph Ⱡ'σяєм ιρѕυм ∂σł#" #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Preformatted" msgstr "Préförmättéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 3" msgstr "Héädïng 3 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 4" msgstr "Héädïng 4 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 5" msgstr "Héädïng 5 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 6" msgstr "Héädïng 6 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Add to Dictionary" msgstr "Àdd tö Dïçtïönärý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Align center" msgstr "Àlïgn çéntér Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Align left" msgstr "Àlïgn léft Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Align right" msgstr "Àlïgn rïght Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Alignment" msgstr "Àlïgnmént Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Alternative source" msgstr "Àltérnätïvé söürçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Anchor" msgstr "Ànçhör Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Anchors" msgstr "Ànçhörs Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Author" msgstr "Àüthör Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Background color" msgstr "Bäçkgröünd çölör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js -#: lms/static/js/Markdown.Editor.js +#: common/static/bundles/commons.js lms/static/js/Markdown.Editor.js msgid "Blockquote" msgstr "Blöçkqüöté Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Blocks" msgstr "Blöçks Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Body" msgstr "Bödý Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Bold" msgstr "Böld Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Border color" msgstr "Bördér çölör Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Border" msgstr "Bördér Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Bottom" msgstr "Böttöm Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Bullet list" msgstr "Büllét lïst Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Caption" msgstr "Çäptïön Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cell padding" msgstr "Çéll päddïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cell properties" msgstr "Çéll pröpértïés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cell spacing" msgstr "Çéll späçïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cell type" msgstr "Çéll týpé Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cell" msgstr "Çéll Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Center" msgstr "Çéntér Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Circle" msgstr "Çïrçlé Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Clear formatting" msgstr "Çléär förmättïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #. Translators: this is a toolbar button tooltip from the raw HTML editor #. displayed in the browser when a user needs to edit HTML -#. */ +#. Translators: this is a message from the raw HTML editor displayed in the +#. browser when a user needs to edit HTML +#. Translators: this is a toolbar button tooltip from the raw HTML editor +#. displayed in the browser when a user needs to edit HTML #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Code block" msgstr "Çödé ßlöçk Ⱡ'σяєм ιρѕυм ∂σłσ#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: lms/templates/instructor/instructor_dashboard_2/enrollment-code-lookup-links.underscore msgid "Code" msgstr "Çödé Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Color" msgstr "Çölör Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cols" msgstr "Çöls Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Column group" msgstr "Çölümn gröüp Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Column" msgstr "Çölümn Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Constrain proportions" msgstr "Çönsträïn pröpörtïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Copy row" msgstr "Çöpý röw Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Copy" msgstr "Çöpý Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Could not find the specified string." msgstr "" "Çöüld nöt fïnd thé spéçïfïéd strïng. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " @@ -747,72 +1603,72 @@ msgstr "" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Custom color" msgstr "Çüstöm çölör Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Custom..." msgstr "Çüstöm... Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cut row" msgstr "Çüt röw Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Cut" msgstr "Çüt Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Decrease indent" msgstr "Déçréäsé ïndént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Default" msgstr "Défäült Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Delete column" msgstr "Délété çölümn Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Delete row" msgstr "Délété röw Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Delete table" msgstr "Délété täßlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/certificate-editor.underscore #: cms/templates/js/group-configuration-editor.underscore #: lms/templates/commerce/receipt.underscore @@ -822,44 +1678,44 @@ msgstr "Désçrïptïön Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Dimensions" msgstr "Dïménsïöns Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Disc" msgstr "Dïsç Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Div" msgstr "Dïv Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Document properties" msgstr "Döçümént pröpértïés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Edit HTML" msgstr "Édït HTML Ⱡ'σяєм ιρѕυм ∂σł#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/certificate-details.underscore #: cms/templates/js/course_info_handouts.underscore #: cms/templates/js/course_info_update.underscore @@ -874,468 +1730,467 @@ msgstr "Édït Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Embed" msgstr "Émßéd Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Emoticons" msgstr "Émötïçöns Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Encoding" msgstr "Énçödïng Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "File" msgstr "Fïlé Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Find and replace" msgstr "Fïnd änd répläçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Find next" msgstr "Fïnd néxt Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Find previous" msgstr "Fïnd prévïöüs Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Find" msgstr "Fïnd Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Finish" msgstr "Fïnïsh Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Font Family" msgstr "Fönt Fämïlý Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Font Sizes" msgstr "Fönt Sïzés Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Footer" msgstr "Föötér Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Format" msgstr "Förmät Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Formats" msgstr "Förmäts Ⱡ'σяєм ιρѕυм #" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: common/static/common/templates/image-modal.underscore msgid "Fullscreen" msgstr "Füllsçréén Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "General" msgstr "Généräl Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "H Align" msgstr "H Àlïgn Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 1" msgstr "Héädér 1 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 2" msgstr "Héädér 2 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 3" msgstr "Héädér 3 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 4" msgstr "Héädér 4 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 5" msgstr "Héädér 5 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header 6" msgstr "Héädér 6 Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Header cell" msgstr "Héädér çéll Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js common/static/bundles/commons.js msgid "Header" msgstr "Héädér Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Headers" msgstr "Héädérs Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 1" msgstr "Héädïng 1 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Heading 2" msgstr "Héädïng 2 Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Headings" msgstr "Héädïngs Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Height" msgstr "Héïght Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Horizontal line" msgstr "Hörïzöntäl lïné Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Horizontal space" msgstr "Hörïzöntäl späçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "HTML source code" msgstr "HTML söürçé çödé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Ignore all" msgstr "Ìgnöré äll Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Ignore" msgstr "Ìgnöré Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Image description" msgstr "Ìmägé désçrïptïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Increase indent" msgstr "Ìnçréäsé ïndént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Inline" msgstr "Ìnlïné Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert column after" msgstr "Ìnsért çölümn äftér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert column before" msgstr "Ìnsért çölümn ßéföré Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert date/time" msgstr "Ìnsért däté/tïmé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert image" msgstr "Ìnsért ïmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert link" msgstr "Ìnsért lïnk Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert row after" msgstr "Ìnsért röw äftér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert row before" msgstr "Ìnsért röw ßéföré Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert table" msgstr "Ìnsért täßlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert template" msgstr "Ìnsért témpläté Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert video" msgstr "Ìnsért vïdéö Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert" msgstr "Ìnsért Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert/edit image" msgstr "Ìnsért/édït ïmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert/edit link" msgstr "Ìnsért/édït lïnk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert/edit video" msgstr "Ìnsért/édït vïdéö Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Italic" msgstr "Ìtälïç Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Justify" msgstr "Jüstïfý Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Keywords" msgstr "Kéýwörds Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Left to right" msgstr "Léft tö rïght Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Left" msgstr "Léft Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Lower Alpha" msgstr "Löwér Àlphä Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Lower Greek" msgstr "Löwér Gréék Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Lower Roman" msgstr "Löwér Römän Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Match case" msgstr "Mätçh çäsé Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Merge cells" msgstr "Mérgé çélls Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Middle" msgstr "Mïddlé Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "New document" msgstr "Néw döçümént Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "New window" msgstr "Néw wïndöw Ⱡ'σяєм ιρѕυм ∂σłσ#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js -#: cms/templates/js/paging-header.underscore +#: common/static/bundles/commons.js cms/templates/js/paging-header.underscore #: common/static/common/templates/components/paging-footer.underscore #: common/static/common/templates/discussion/pagination.underscore msgid "Next" @@ -1343,43 +2198,43 @@ msgstr "Néxt Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "No color" msgstr "Nö çölör Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Nonbreaking space" msgstr "Nönßréäkïng späçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Numbered list" msgstr "Nümßéréd lïst Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Page break" msgstr "Pägé ßréäk Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paste as text" msgstr "Pästé äs téxt Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "" "Paste is now in plain text mode. Contents will now be pasted as plain text " "until you toggle this option off." @@ -1389,102 +2244,102 @@ msgstr "" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paste row after" msgstr "Pästé röw äftér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paste row before" msgstr "Pästé röw ßéföré Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paste your embed code below:" msgstr "Pästé ýöür émßéd çödé ßélöw: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Paste" msgstr "Pästé Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Poster" msgstr "Pöstér Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Pre" msgstr "Pré Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Prev" msgstr "Prév Ⱡ'σяєм ι#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ -#: common/lib/xmodule/xmodule/js/src/html/edit.js lms/static/js/customwmd.js +#: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js lms/static/js/customwmd.js #: cms/templates/js/asset-library.underscore msgid "Preview" msgstr "Prévïéw Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Print" msgstr "Prïnt Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Redo" msgstr "Rédö Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Remove link" msgstr "Rémövé lïnk Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Replace all" msgstr "Répläçé äll Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Replace with" msgstr "Répläçé wïth Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/metadata-file-uploader-item.underscore #: cms/templates/js/video-transcripts.underscore #: cms/templates/js/video/metadata-translations-item.underscore @@ -1493,15 +2348,15 @@ msgstr "Répläçé Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Restore last draft" msgstr "Réstöré läst dräft Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "" "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press " "ALT-0 for help" @@ -1511,211 +2366,211 @@ msgstr "" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Right to left" msgstr "Rïght tö léft Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Right" msgstr "Rïght Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Robots" msgstr "Rößöts Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Row group" msgstr "Röw gröüp Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Row properties" msgstr "Röw pröpértïés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Row type" msgstr "Röw týpé Ⱡ'σяєм ιρѕυм ∂#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Row" msgstr "Röw Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Rows" msgstr "Röws Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Scope" msgstr "Sçöpé Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Select all" msgstr "Séléçt äll Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Show blocks" msgstr "Shöw ßlöçks Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Show invisible characters" msgstr "Shöw ïnvïsïßlé çhäräçtérs Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Source code" msgstr "Söürçé çödé Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Source" msgstr "Söürçé Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Special character" msgstr "Spéçïäl çhäräçtér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Spellcheck" msgstr "Spéllçhéçk Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Split cell" msgstr "Splït çéll Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Square" msgstr "Sqüäré Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Start search" msgstr "Stärt séärçh Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Strikethrough" msgstr "Strïkéthröügh Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Style" msgstr "Stýlé Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Subscript" msgstr "Süßsçrïpt Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Superscript" msgstr "Süpérsçrïpt Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Table properties" msgstr "Täßlé pröpértïés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Table" msgstr "Täßlé Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Target" msgstr "Tärgét Ⱡ'σяєм ιρѕυ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Templates" msgstr "Témplätés Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Text color" msgstr "Téxt çölör Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Text to display" msgstr "Téxt tö dïspläý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "" "The URL you entered seems to be an email address. Do you want to add the " "required mailto: prefix?" @@ -1725,8 +2580,8 @@ msgstr "" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "" "The URL you entered seems to be an external link. Do you want to add the " "required http:// prefix?" @@ -1737,8 +2592,8 @@ msgstr "" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: cms/templates/js/course-instructor-details.underscore #: cms/templates/js/signatory-details.underscore #: common/static/common/templates/discussion/new-post.underscore @@ -1748,72 +2603,72 @@ msgstr "Tïtlé Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Tools" msgstr "Tööls Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Top" msgstr "Töp Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Underline" msgstr "Ûndérlïné Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Undo" msgstr "Ûndö Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Upper Alpha" msgstr "Ûppér Àlphä Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Upper Roman" msgstr "Ûppér Römän Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Url" msgstr "Ûrl Ⱡ'σяєм#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "V Align" msgstr "V Àlïgn Ⱡ'σяєм ιρѕυм #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Vertical space" msgstr "Vértïçäl späçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #. #-#-#-#-# djangojs-partial.po (0.1a) #-#-#-#-# #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js #: openedx/features/course_bookmarks/static/course_bookmarks/templates/bookmarks-list.underscore #: openedx/features/course_search/static/course_search/templates/course_search_item.underscore #: openedx/features/course_search/static/course_search/templates/dashboard_search_item.underscore @@ -1822,36 +2677,36 @@ msgstr "Vïéw Ⱡ'σяєм ι#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Visual aids" msgstr "Vïsüäl äïds Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Whole words" msgstr "Whölé wörds Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Width" msgstr "Wïdth Ⱡ'σяєм ιρѕ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Words: {0}" msgstr "Wörds: {0} Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "You have unsaved changes are you sure you want to navigate away?" msgstr "" "Ýöü hävé ünsävéd çhängés äré ýöü süré ýöü wänt tö nävïgäté äwäý? Ⱡ'σяєм " @@ -1859,8 +2714,8 @@ msgstr "" #. Translators: this is a message from the raw HTML editor displayed in the #. browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "" "Your browser doesn't support direct access to the clipboard. Please use the " "Ctrl+X/C/V keyboard shortcuts instead." @@ -1870,12 +2725,13 @@ msgstr "" #. Translators: this is a toolbar button tooltip from the raw HTML editor #. displayed in the browser when a user needs to edit HTML -#. */ #: common/lib/xmodule/xmodule/js/src/html/edit.js +#: common/static/bundles/commons.js msgid "Insert/Edit Image" msgstr "Ìnsért/Édït Ìmägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: common/lib/xmodule/xmodule/js/src/lti/lti.js +#: common/static/bundles/LTIModule.js msgid "" "Click OK to have your username and e-mail address sent to a 3rd party application.\n" "\n" @@ -1886,6 +2742,7 @@ msgstr "" "Çlïçk Çänçél tö rétürn tö thïs pägé wïthöüt séndïng ýöür ïnförmätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłι#" #: common/lib/xmodule/xmodule/js/src/lti/lti.js +#: common/static/bundles/LTIModule.js msgid "" "Click OK to have your username sent to a 3rd party application.\n" "\n" @@ -1896,6 +2753,7 @@ msgstr "" "Çlïçk Çänçél tö rétürn tö thïs pägé wïthöüt séndïng ýöür ïnförmätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт łαвσяυм#" #: common/lib/xmodule/xmodule/js/src/lti/lti.js +#: common/static/bundles/LTIModule.js msgid "" "Click OK to have your e-mail address sent to a 3rd party application.\n" "\n" @@ -1906,22 +2764,27 @@ msgstr "" "Çlïçk Çänçél tö rétürn tö thïs pägé wïthöüt séndïng ýöür ïnförmätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт ł#" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "incorrect" msgstr "ïnçörréçt Ⱡ'σяєм ιρѕυм ∂σł#" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "correct" msgstr "çörréçt Ⱡ'σяєм ιρѕυм #" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "answer" msgstr "änswér Ⱡ'σяєм ιρѕυ#" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "Short explanation" msgstr "Shört éxplänätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "" "If you use the Advanced Editor, this problem will be converted to XML and you will not be able to return to the Simple Editor Interface.\n" "\n" @@ -1932,10 +2795,12 @@ msgstr "" "Pröçééd tö thé Àdvänçéd Édïtör änd çönvért thïs prößlém tö XML? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢α#" #: common/lib/xmodule/xmodule/js/src/problem/edit.js +#: common/static/bundles/CapaDescriptor.js msgid "Explanation" msgstr "Éxplänätïön Ⱡ'σяєм ιρѕυм ∂σłσя #" #: common/lib/xmodule/xmodule/js/src/sequence/display.js +#: common/static/bundles/commons.js msgid "" "Sequence error! Cannot navigate to %(tab_name)s in the current " "SequenceModule. Please contact the course staff." @@ -1944,6 +2809,8 @@ msgstr "" "SéqüénçéMödülé. Pléäsé çöntäçt thé çöürsé stäff. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #: common/lib/xmodule/xmodule/js/src/sequence/display.js +#: common/static/bundles/VerticalStudentView.js +#: common/static/bundles/commons.js #: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmark_button.js msgid "Bookmarked" msgstr "Böökmärkéd Ⱡ'σяєм ιρѕυм ∂σłσ#" @@ -1951,132 +2818,167 @@ msgstr "Böökmärkéd Ⱡ'σяєм ιρѕυм ∂σłσ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/09_play_pause_control.js #: common/lib/xmodule/xmodule/js/src/video/09_play_skip_control.js +#: common/static/bundles/VideoModule.js msgid "Play" msgstr "Pläý Ⱡ'σяєм ι#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/09_play_pause_control.js +#: common/static/bundles/VideoModule.js msgid "Pause" msgstr "Päüsé Ⱡ'σяєм ιρѕ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Mute" msgstr "Müté Ⱡ'σяєм ι#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Unmute" msgstr "Ûnmüté Ⱡ'σяєм ιρѕυ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/04_video_full_screen.js +#: common/static/bundles/VideoModule.js msgid "Exit full browser" msgstr "Éxït füll ßröwsér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/04_video_full_screen.js +#: common/static/bundles/VideoModule.js msgid "Fill browser" msgstr "Fïll ßröwsér Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/08_video_speed_control.js +#: common/static/bundles/VideoModule.js msgid "Speed" msgstr "Spééd Ⱡ'σяєм ιρѕ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/08_video_auto_advance_control.js +#: common/static/bundles/VideoModule.js msgid "Auto-advance" msgstr "Àütö-ädvänçé Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js #: common/lib/xmodule/xmodule/js/src/video/07_video_volume_control.js +#: common/static/bundles/VideoModule.js msgid "Volume" msgstr "Völümé Ⱡ'σяєм ιρѕυ#" +#. Translators: Volume level equals 0%. #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Muted" msgstr "Mütéd Ⱡ'σяєм ιρѕ#" +#. Translators: Volume level in range ]0,20]% #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Very low" msgstr "Vérý löw Ⱡ'σяєм ιρѕυм ∂#" +#. Translators: Volume level in range ]20,40]% #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Low" msgstr "Löw Ⱡ'σяєм#" +#. Translators: Volume level in range ]40,60]% #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Average" msgstr "Àvérägé Ⱡ'σяєм ιρѕυм #" +#. Translators: Volume level in range ]60,80]% #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Loud" msgstr "Löüd Ⱡ'σяєм ι#" +#. Translators: Volume level in range ]80,99]% #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Very loud" msgstr "Vérý löüd Ⱡ'σяєм ιρѕυм ∂σł#" +#. Translators: Volume level equals 100%. #: common/lib/xmodule/xmodule/js/src/video/00_i18n.js +#: common/static/bundles/VideoModule.js msgid "Maximum" msgstr "Mäxïmüm Ⱡ'σяєм ιρѕυм #" #: common/lib/xmodule/xmodule/js/src/video/02_html5_video.js +#: common/static/bundles/VideoModule.js msgid "This browser cannot play .mp4, .ogg, or .webm files." msgstr "" "Thïs ßröwsér çännöt pläý .mp4, .ögg, ör .wéßm fïlés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "αмєт, ¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/video/02_html5_video.js +#: common/static/bundles/VideoModule.js msgid "Try using a different browser, such as Google Chrome." msgstr "" "Trý üsïng ä dïfférént ßröwsér, süçh äs Gööglé Çhrömé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт" " αмєт, ¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/video/05_video_quality_control.js +#: common/static/bundles/VideoModule.js msgid "High Definition" msgstr "Hïgh Défïnïtïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" #: common/lib/xmodule/xmodule/js/src/video/05_video_quality_control.js +#: common/static/bundles/VideoModule.js msgid "off" msgstr "öff Ⱡ'σяєм#" #: common/lib/xmodule/xmodule/js/src/video/05_video_quality_control.js +#: common/static/bundles/VideoModule.js msgid "on" msgstr "ön Ⱡ'σя#" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "Video position. Press space to toggle playback" msgstr "" "Vïdéö pösïtïön. Préss späçé tö tögglé pläýßäçk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "Video ended" msgstr "Vïdéö éndéd Ⱡ'σяєм ιρѕυм ∂σłσя #" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "Video position" msgstr "Vïdéö pösïtïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "%(value)s hour" msgid_plural "%(value)s hours" msgstr[0] "%(value)s höür Ⱡ'σяєм ιρѕυм ∂#" msgstr[1] "%(value)s höürs Ⱡ'σяєм ιρѕυм ∂σł#" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "%(value)s minute" msgid_plural "%(value)s minutes" msgstr[0] "%(value)s mïnüté Ⱡ'σяєм ιρѕυм ∂σłσ#" msgstr[1] "%(value)s mïnütés Ⱡ'σяєм ιρѕυм ∂σłσя #" #: common/lib/xmodule/xmodule/js/src/video/06_video_progress_slider.js +#: common/static/bundles/VideoModule.js msgid "%(value)s second" msgid_plural "%(value)s seconds" msgstr[0] "%(value)s séçönd Ⱡ'σяєм ιρѕυм ∂σłσ#" msgstr[1] "%(value)s séçönds Ⱡ'σяєм ιρѕυм ∂σłσя #" #: common/lib/xmodule/xmodule/js/src/video/07_video_volume_control.js +#: common/static/bundles/VideoModule.js msgid "" "Click on this button to mute or unmute this video or press UP or DOWN " "buttons to increase or decrease volume level." @@ -2085,10 +2987,12 @@ msgstr "" "ßüttöns tö ïnçréäsé ör déçréäsé völümé lévél. Ⱡ'σяєм ιρѕυм ∂σł#" #: common/lib/xmodule/xmodule/js/src/video/07_video_volume_control.js +#: common/static/bundles/VideoModule.js msgid "Adjust video volume" msgstr "Àdjüst vïdéö völümé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #: common/lib/xmodule/xmodule/js/src/video/08_video_speed_control.js +#: common/static/bundles/VideoModule.js msgid "" "Press UP to enter the speed menu then use the UP and DOWN arrow keys to " "navigate the different speeds, then press ENTER to change to the selected " @@ -2104,36 +3008,44 @@ msgstr "" "¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт#" #: common/lib/xmodule/xmodule/js/src/video/08_video_speed_control.js +#: common/static/bundles/VideoModule.js msgid "Adjust video speed" msgstr "Àdjüst vïdéö spééd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" #: common/lib/xmodule/xmodule/js/src/video/08_video_speed_control.js +#: common/static/bundles/VideoModule.js msgid "Video speed: " msgstr "Vïdéö spééd: Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" #: common/lib/xmodule/xmodule/js/src/video/09_play_skip_control.js +#: common/static/bundles/VideoModule.js msgid "Skip" msgstr "Skïp Ⱡ'σяєм ι#" #: common/lib/xmodule/xmodule/js/src/video/09_poster.js +#: common/static/bundles/VideoModule.js msgid "Play video" msgstr "Pläý vïdéö Ⱡ'σяєм ιρѕυм ∂σłσ#" #: common/lib/xmodule/xmodule/js/src/video/09_skip_control.js +#: common/static/bundles/VideoModule.js msgid "Do not show again" msgstr "Dö nöt shöw ägäïn Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Open language menu" msgstr "Öpén längüägé ménü Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Transcript will be displayed when you start playing the video." msgstr "" "Tränsçrïpt wïll ßé dïspläýéd whén ýöü stärt pläýïng thé vïdéö. Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "" "Activating a link in this group will skip to the corresponding point in the " "video." @@ -2142,22 +3054,26 @@ msgstr "" "vïdéö. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Video transcript" msgstr "Vïdéö tränsçrïpt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Start of transcript. Skip to the end." msgstr "" "Stärt öf tränsçrïpt. Skïp tö thé énd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "End of transcript. Skip to the start." msgstr "" "Énd öf tränsçrïpt. Skïp tö thé stärt. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "" "Press the UP arrow key to enter the language menu then use UP and DOWN arrow" " keys to navigate language options. Press ENTER to change to the selected " @@ -2173,48 +3089,683 @@ msgstr "" "¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυη#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Hide closed captions" msgstr "Hïdé çlöséd çäptïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "(Caption will be displayed when you start playing the video.)" msgstr "" "(Çäptïön wïll ßé dïspläýéd whén ýöü stärt pläýïng thé vïdéö.) Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Turn on closed captioning" msgstr "Türn ön çlöséd çäptïönïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Turn on transcripts" msgstr "Türn ön tränsçrïpts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" #: common/lib/xmodule/xmodule/js/src/video/09_video_caption.js +#: common/static/bundles/VideoModule.js msgid "Turn off transcripts" msgstr "Türn öff tränsçrïpts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" +#: common/static/bundles/CourseGoals.js +#: openedx/features/course_experience/static/course_experience/js/CourseGoals.js +msgid "Thank you for setting your course goal to {goal}!" +msgstr "" +"Thänk ýöü för séttïng ýöür çöürsé göäl tö {goal}! Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/CourseGoals.js +msgid "" +"There was an error in setting your goal, please reload the page and try " +"again." +msgstr "" +"Théré wäs än érrör ïn séttïng ýöür göäl, pléäsé rélöäd thé pägé änd trý " +"ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" + +#: common/static/bundles/CourseHome.js +#: openedx/features/course_experience/static/course_experience/js/CourseHome.js +msgid "You have successfully updated your goal." +msgstr "" +"Ýöü hävé süççéssfüllý üpdätéd ýöür göäl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя#" + +#: common/static/bundles/CourseHome.js +#: openedx/features/course_experience/static/course_experience/js/CourseHome.js +msgid "There was an error updating your goal." +msgstr "" +"Théré wäs än érrör üpdätïng ýöür göäl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "(Self-paced) Starts {start}" +msgstr "(Sélf-päçéd) Stärts {start} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "(Self-paced) Started {start}" +msgstr "(Sélf-päçéd) Stärtéd {start} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "(Self-paced) Ends {end}" +msgstr "(Sélf-päçéd) Énds {end} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "(Self-paced) Ended {end}" +msgstr "(Sélf-päçéd) Éndéd {end} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "Starts {start}" +msgstr "Stärts {start} Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "Started {start}" +msgstr "Stärtéd {start} Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/models/course_card_model.js +msgid "Ends {end}" +msgstr "Énds {end} Ⱡ'σяєм ιρѕυм ∂#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "You must select a session to access the course." +msgstr "" +"Ýöü müst séléçt ä séssïön tö äççéss thé çöürsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," +" ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "There was an error. Please reload the page and try again." +msgstr "" +"Théré wäs än érrör. Pléäsé rélöäd thé pägé änd trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя" +" ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +#: lms/templates/learner_dashboard/course_entitlement.underscore +msgid "Change Session" +msgstr "Çhängé Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +#: lms/templates/learner_dashboard/course_entitlement.underscore +msgid "Select Session" +msgstr "Séléçt Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "Leave Current Session" +msgstr "Léävé Çürrént Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "Are you sure you want to select this session?" +msgstr "" +"Àré ýöü süré ýöü wänt tö séléçt thïs séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "Are you sure you want to change to a different session?" +msgstr "" +"Àré ýöü süré ýöü wänt tö çhängé tö ä dïfférént séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя " +"ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "Any course progress or grades from your current session will be lost." +msgstr "" +"Àný çöürsé prögréss ör grädés fröm ýöür çürrént séssïön wïll ßé löst. Ⱡ'σяєм" +" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: common/static/bundles/EntitlementFactory.js +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/course_entitlement_view.js +msgid "Are you sure that you want to leave this session?" +msgstr "" +"Àré ýöü süré thät ýöü wänt tö léävé thïs séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/EntitlementUnenrollmentFactory.js +#: lms/static/js/learner_dashboard/views/entitlement_unenrollment_view.js +msgid "" +"Your unenrollment request could not be processed. Please try again later." +msgstr "" +"Ýöür ünénröllmént réqüést çöüld nöt ßé pröçésséd. Pléäsé trý ägäïn lätér. " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: common/static/bundles/EntitlementUnenrollmentFactory.js +#: lms/static/js/learner_dashboard/views/entitlement_unenrollment_view.js +msgid "" +"Are you sure you want to unenroll from {courseName} ({courseNumber})? You " +"will be refunded the amount you paid." +msgstr "" +"Àré ýöü süré ýöü wänt tö ünénröll fröm {courseName} ({courseNumber})? Ýöü " +"wïll ßé réfündéd thé ämöünt ýöü päïd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +#: lms/static/js/student_account/views/account_settings_factory.js +msgid "Reset Your Password" +msgstr "Rését Ýöür Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +msgid "Enter and confirm your new password." +msgstr "" +"Éntér änd çönfïrm ýöür néw pässwörd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυ#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +msgid "New Password" +msgstr "Néw Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +msgid "Confirm Password" +msgstr "Çönfïrm Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +msgid "Passwords do not match." +msgstr "Pässwörds dö nöt mätçh. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx +msgid "Reset My Password" +msgstr "Rését Mý Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" + +#: common/static/bundles/PasswordResetConfirmation.js +#: lms/static/js/student_account/components/PasswordResetInput.jsx +msgid "Error: " +msgstr "Érrör: Ⱡ'σяєм ιρѕυм #" + +#: common/static/bundles/ProblemBrowser.js #: common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx #: cms/templates/js/move-xblock-list.underscore msgid "View child items" msgstr "Vïéw çhïld ïtéms Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" +#: common/static/bundles/ProblemBrowser.js +#: common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx +msgid "Navigate up" +msgstr "Nävïgäté üp Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: common/static/bundles/ProblemBrowser.js +#: common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx +msgid "Browsing" +msgstr "Bröwsïng Ⱡ'σяєм ιρѕυм ∂#" + +#: common/static/bundles/ProblemBrowser.js +#: common/static/common/js/components/BlockBrowser/components/BlockBrowser/BlockBrowser.jsx +msgid "Select" +msgstr "Séléçt Ⱡ'σяєм ιρѕυ#" + +#: common/static/bundles/ProblemBrowser.js +#: lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx +msgid "Select a section or problem" +msgstr "Séléçt ä séçtïön ör prößlém Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" + +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/program_details_sidebar_view.js +msgid "{type} Progress" +msgstr "{type} Prögréss Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" + +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/program_details_sidebar_view.js +msgid "Earned Certificates" +msgstr "Éärnéd Çértïfïçätés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" + +#: common/static/bundles/ProgramDetailsFactory.js +#: lms/static/js/learner_dashboard/views/program_details_view.js +msgid "Enrolled" +msgstr "Énrölléd Ⱡ'σяєм ιρѕυм ∂#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/errors_list.jsx +msgid "Please fix the following errors:" +msgstr "" +"Pléäsé fïx thé föllöwïng érrörs: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +msgid "Files that you upload must be smaller than 5MB in size." +msgstr "" +"Fïlés thät ýöü üplöäd müst ßé smällér thän 5MB ïn sïzé. Ⱡ'σяєм ιρѕυм ∂σłσя " +"ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +msgid "" +"Files that you upload must be PDFs or image files in .gif, .jpg, .jpeg, or " +".png format." +msgstr "" +"Fïlés thät ýöü üplöäd müst ßé PDFs ör ïmägé fïlés ïn .gïf, .jpg, .jpég, ör " +".png förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "Something went wrong. Please try again later." +msgstr "" +"Söméthïng wént wröng. Pléäsé trý ägäïn lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +msgid "Add Attachment" +msgstr "Àdd Àttäçhmént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +msgid "(Optional)" +msgstr "(Öptïönäl) Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/file_upload.jsx +msgid "Remove file" +msgstr "Rémövé fïlé Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +msgid "Course Name" +msgstr "Çöürsé Nämé Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +msgid "Not specific to a course" +msgstr "Nöt spéçïfïç tö ä çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +msgid "What can we help you with, {username}?" +msgstr "" +"Whät çän wé hélp ýöü wïth, {username}? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +#: lms/static/js/instructor_dashboard/util.js +msgid "Subject" +msgstr "Süßjéçt Ⱡ'σяєм ιρѕυм #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +msgid "Details" +msgstr "Détäïls Ⱡ'σяєм ιρѕυм #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +msgid "The more you tell us, the more quickly and helpfully we can respond!" +msgstr "" +"Thé möré ýöü téll üs, thé möré qüïçklý änd hélpfüllý wé çän réspönd! Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx +#: common/static/common/templates/discussion/new-post.underscore +#: common/static/common/templates/discussion/thread-response.underscore +#: common/static/common/templates/discussion/thread.underscore +#: lms/templates/verify_student/incourse_reverify.underscore +msgid "Submit" +msgstr "Süßmït Ⱡ'σяєм ιρѕυ#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_out_user.jsx +msgid "Sign in to {platform} so we can help you better." +msgstr "" +"Sïgn ïn tö {platform} sö wé çän hélp ýöü ßéttér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/templates/student_account/hinted_login.underscore +#: lms/templates/student_account/login.underscore +msgid "Sign in" +msgstr "Sïgn ïn Ⱡ'σяєм ιρѕυм #" + +#: common/static/bundles/SingleSupportForm.js +msgid "Create an {platform} account" +msgstr "Çréäté än {platform} äççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/logged_out_user.jsx +msgid "" +"If you are unable to access your account contact us via email using {email}." +msgstr "" +"Ìf ýöü äré ünäßlé tö äççéss ýöür äççöünt çöntäçt üs vïä émäïl üsïng {email}." +" Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "" +"Select a course or select \"Not specific to a course\" for your support " +"request." +msgstr "" +"Séléçt ä çöürsé ör séléçt \"Nöt spéçïfïç tö ä çöürsé\" för ýöür süppört " +"réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "Enter a subject for your support request." +msgstr "" +"Éntér ä süßjéçt för ýöür süppört réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "Enter some details for your support request." +msgstr "" +"Éntér sömé détäïls för ýöür süppört réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя #" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +#: lms/djangoapps/support/static/support/jsx/success.jsx +msgid "Contact Us" +msgstr "Çöntäçt Ûs Ⱡ'σяєм ιρѕυм ∂σłσ#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "Find answers to the top questions asked by learners." +msgstr "" +"Fïnd änswérs tö thé töp qüéstïöns äskéd ßý léärnérs. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " +"αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx +msgid "Search the {platform} Help Center" +msgstr "Séärçh thé {platform} Hélp Çéntér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/success.jsx +msgid "Go to my Dashboard" +msgstr "Gö tö mý Däshßöärd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/success.jsx +msgid "Go to {platform} Home" +msgstr "Gö tö {platform} Hömé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/success.jsx +msgid "" +"Thank you for submitting a request! We will contact you within 24 hours." +msgstr "" +"Thänk ýöü för süßmïttïng ä réqüést! Wé wïll çöntäçt ýöü wïthïn 24 höürs. " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" + +#: common/static/bundles/SingleSupportForm.js +#: lms/djangoapps/support/static/support/jsx/upload_progress.jsx +msgid "Cancel upload" +msgstr "Çänçél üplöäd Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"You may also lose access to verified certificates and other program " +"credentials like MicroMasters certificates. If you want to make a copy of " +"these for your records before proceeding with deletion, follow the " +"instructions for {htmlStart}printing or downloading a certificate{htmlEnd}." +msgstr "" +"Ýöü mäý älsö lösé äççéss tö vérïfïéd çértïfïçätés änd öthér prögräm " +"çrédéntïäls lïké MïçröMästérs çértïfïçätés. Ìf ýöü wänt tö mäké ä çöpý öf " +"thésé för ýöür réçörds ßéföré pröçéédïng wïth délétïön, föllöw thé " +"ïnstrüçtïöns för {htmlStart}prïntïng ör döwnlöädïng ä çértïfïçäté{htmlEnd}. " +"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ " +"тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм," +" qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " +"¢σηѕєqυαт. ∂#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +msgid "" +"Before proceeding, please {htmlStart}unlink all social media " +"accounts{htmlEnd}." +msgstr "" +"Béföré pröçéédïng, pléäsé {htmlStart}ünlïnk äll söçïäl médïä " +"äççöünts{htmlEnd}. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +msgid "Before proceeding, please {htmlStart}activate your account{htmlEnd}." +msgstr "" +"Béföré pröçéédïng, pléäsé {htmlStart}äçtïväté ýöür äççöünt{htmlEnd}. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +msgid "We’re sorry to see you go!" +msgstr "Wé’ré sörrý tö séé ýöü gö! Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +msgid "" +"Please note: Deletion of your account and personal data is permanent and " +"cannot be undone. EdX will not be able to recover your account or the data " +"that is deleted." +msgstr "" +"Pléäsé nöté: Délétïön öf ýöür äççöünt änd pérsönäl dätä ïs pérmänént änd " +"çännöt ßé ündöné. ÉdX wïll nöt ßé äßlé tö réçövér ýöür äççöünt ör thé dätä " +"thät ïs délétéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, " +"ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм " +"α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ " +"єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє" +" νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт " +"¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +msgid "" +"Once your account is deleted, you cannot use it to take courses on the edX " +"app, edx.org, or any other site hosted by edX. This includes access to " +"edx.org from your employer’s or university’s system and access to private " +"sites offered by MIT Open Learning, Wharton Executive Education, and Harvard" +" Medical School." +msgstr "" +"Önçé ýöür äççöünt ïs délétéd, ýöü çännöt üsé ït tö täké çöürsés ön thé édX " +"äpp, édx.örg, ör äný öthér sïté höstéd ßý édX. Thïs ïnçlüdés äççéss tö " +"édx.örg fröm ýöür émplöýér’s ör ünïvérsïtý’s sýstém änd äççéss tö prïväté " +"sïtés öfféréd ßý MÌT Öpén Léärnïng, Whärtön Éxéçütïvé Édüçätïön, änd Härvärd" +" Médïçäl Sçhööl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, " +"ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм " +"α∂ мιηιм νєη#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletion.jsx +#: lms/static/js/student_account/views/account_settings_factory.js +msgid "Delete My Account" +msgstr "Délété Mý Àççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "Password is incorrect" +msgstr "Pässwörd ïs ïnçörréçt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "Unable to delete account" +msgstr "Ûnäßlé tö délété äççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "Please re-enter your password." +msgstr "Pléäsé ré-éntér ýöür pässwörd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"Sorry, there was an error trying to process your request. Please try again " +"later." +msgstr "" +"Sörrý, théré wäs än érrör trýïng tö pröçéss ýöür réqüést. Pléäsé trý ägäïn " +"lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "A Password is required" +msgstr "À Pässwörd ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"You have selected “Delete my account.” Deletion of your account and personal" +" data is permanent and cannot be undone. EdX will not be able to recover " +"your account or the data that is deleted." +msgstr "" +"Ýöü hävé séléçtéd “Délété mý äççöünt.” Délétïön öf ýöür äççöünt änd pérsönäl" +" dätä ïs pérmänént änd çännöt ßé ündöné. ÉdX wïll nöt ßé äßlé tö réçövér " +"ýöür äççöünt ör thé dätä thät ïs délétéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт " +"∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση " +"υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє " +"∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα" +" ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρ#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"If you proceed, you will be unable to use this account to take courses on " +"the edX app, edx.org, or any other site hosted by edX. This includes access " +"to edx.org from your employer’s or university’s system and access to private" +" sites offered by MIT Open Learning, Wharton Executive Education, and " +"Harvard Medical School." +msgstr "" +"Ìf ýöü pröçééd, ýöü wïll ßé ünäßlé tö üsé thïs äççöünt tö täké çöürsés ön " +"thé édX äpp, édx.örg, ör äný öthér sïté höstéd ßý édX. Thïs ïnçlüdés äççéss " +"tö édx.örg fröm ýöür émplöýér’s ör ünïvérsïtý’s sýstém änd äççéss tö prïväté" +" sïtés öfféréd ßý MÌT Öpén Léärnïng, Whärtön Éxéçütïvé Édüçätïön, änd " +"Härvärd Médïçäl Sçhööl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg" +" єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт" +" є#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"If you still wish to continue and delete your account, please enter your " +"account password:" +msgstr "" +"Ìf ýöü stïll wïsh tö çöntïnüé änd délété ýöür äççöünt, pléäsé éntér ýöür " +"äççöünt pässwörd: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "Yes, Delete" +msgstr "Ýés, Délété Ⱡ'σяєм ιρѕυм ∂σłσя #" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "We're sorry to see you go! Your account will be deleted shortly." +msgstr "" +"Wé'ré sörrý tö séé ýöü gö! Ýöür äççöünt wïll ßé délétéd shörtlý. Ⱡ'σяєм " +"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" + +#: common/static/bundles/StudentAccountDeletion.js +#: common/static/bundles/StudentAccountDeletionInitializer.js +#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx +msgid "" +"Account deletion, including removal from email lists, may take a few weeks " +"to fully process through our system. If you want to opt-out of emails before" +" then, please unsubscribe from the footer of any email." +msgstr "" +"Àççöünt délétïön, ïnçlüdïng rémöväl fröm émäïl lïsts, mäý täké ä féw wééks " +"tö füllý pröçéss thröügh öür sýstém. Ìf ýöü wänt tö öpt-öüt öf émäïls ßéföré" +" thén, pléäsé ünsüßsçrïßé fröm thé föötér öf äný émäïl. Ⱡ'σяєм ιρѕυм ∂σłσя " +"ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт " +"łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ " +"єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ " +"αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ " +"ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт#" + +#: common/static/bundles/UnenrollmentFactory.js +#: lms/static/js/dashboard/legacy.js +#: lms/static/js/learner_dashboard/views/unenroll_view.js +msgid "" +"Unable to determine whether we should give you a refund because of System " +"Error. Please try again later." +msgstr "" +"Ûnäßlé tö détérmïné whéthér wé shöüld gïvé ýöü ä réfünd ßéçäüsé öf Sýstém " +"Érrör. Pléäsé trý ägäïn lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" + +#: common/static/bundles/VerticalStudentView.js +#: lms/static/js/verify_student/views/make_payment_step_view.js +#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmark_button.js +#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmarks_list.js +msgid "An error has occurred. Please try again." +msgstr "" +"Àn érrör häs öççürréd. Pléäsé trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " +"¢σηѕє¢тєтυя#" + +#: common/static/bundles/VerticalStudentView.js +#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmark_button.js +msgid "Bookmark this page" +msgstr "Böökmärk thïs pägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" + +#: common/static/bundles/commons.js #: common/static/common/js/components/utils/view_utils.js msgid "Required field." msgstr "Réqüïréd fïéld. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" +#: common/static/bundles/commons.js #: common/static/common/js/components/utils/view_utils.js msgid "Please do not use any spaces in this field." msgstr "" "Pléäsé dö nöt üsé äný späçés ïn thïs fïéld. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#: common/static/bundles/commons.js #: common/static/common/js/components/utils/view_utils.js msgid "Please do not use any spaces or special characters in this field." msgstr "" "Pléäsé dö nöt üsé äný späçés ör spéçïäl çhäräçtérs ïn thïs fïéld. Ⱡ'σяєм " "ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#: common/static/bundles/js/factories/library.js #: common/static/common/js/components/views/paginated_view.js #: common/static/common/js/components/views/paging_footer.js msgid "Pagination" @@ -2548,11 +4099,13 @@ msgstr "dröppéd ïn slïdér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє msgid "dropped on target" msgstr "dröppéd ön tärgét Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" +#. Translators: %s will be a time quantity, such as "4 minutes" or "1 day" #: common/static/js/src/jquery.timeago.locale.js #, javascript-format msgid "%s ago" msgstr "%s ägö Ⱡ'σяєм ιρѕυм #" +#. Translators: %s will be a time quantity, such as "4 minutes" or "1 day" #: common/static/js/src/jquery.timeago.locale.js #, javascript-format msgid "%s from now" @@ -2617,10 +4170,6 @@ msgid_plural "%d years" msgstr[0] "%d ýéär Ⱡ'σяєм ιρѕυм ∂#" msgstr[1] "%d ýéärs Ⱡ'σяєм ιρѕυм ∂σł#" -#: lms/djangoapps/instructor/static/instructor/ProblemBrowser/components/Main/Main.jsx -msgid "Select a section or problem" -msgstr "Séléçt ä séçtïön ör prößlém Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" - #: lms/djangoapps/support/static/support/js/views/certificates.js msgid "An unexpected error occurred. Please try again." msgstr "" @@ -2649,114 +4198,6 @@ msgstr "" "Söméthïng wént wröng çhängïng thïs énröllmént. Pléäsé trý ägäïn. Ⱡ'σяєм " "ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" -#: lms/djangoapps/support/static/support/jsx/errors_list.jsx -msgid "Please fix the following errors:" -msgstr "" -"Pléäsé fïx thé föllöwïng érrörs: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" - -#: lms/djangoapps/support/static/support/jsx/file_upload.jsx -msgid "Files that you upload must be smaller than 5MB in size." -msgstr "" -"Fïlés thät ýöü üplöäd müst ßé smällér thän 5MB ïn sïzé. Ⱡ'σяєм ιρѕυм ∂σłσя " -"ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/djangoapps/support/static/support/jsx/file_upload.jsx -msgid "" -"Files that you upload must be PDFs or image files in .gif, .jpg, .jpeg, or " -".png format." -msgstr "" -"Fïlés thät ýöü üplöäd müst ßé PDFs ör ïmägé fïlés ïn .gïf, .jpg, .jpég, ör " -".png förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" - -#: lms/djangoapps/support/static/support/jsx/file_upload.jsx -#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx -msgid "Something went wrong. Please try again later." -msgstr "" -"Söméthïng wént wröng. Pléäsé trý ägäïn lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: lms/djangoapps/support/static/support/jsx/file_upload.jsx -msgid "Add Attachment" -msgstr "Àdd Àttäçhmént Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: lms/djangoapps/support/static/support/jsx/file_upload.jsx -msgid "(Optional)" -msgstr "(Öptïönäl) Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx -msgid "Course Name" -msgstr "Çöürsé Nämé Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx -msgid "Not specific to a course" -msgstr "Nöt spéçïfïç tö ä çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx -msgid "Details" -msgstr "Détäïls Ⱡ'σяєм ιρѕυм #" - -#: lms/djangoapps/support/static/support/jsx/logged_in_user.jsx -#: common/static/common/templates/discussion/new-post.underscore -#: common/static/common/templates/discussion/thread-response.underscore -#: common/static/common/templates/discussion/thread.underscore -#: lms/templates/verify_student/incourse_reverify.underscore -msgid "Submit" -msgstr "Süßmït Ⱡ'σяєм ιρѕυ#" - -#: lms/djangoapps/support/static/support/jsx/logged_out_user.jsx -msgid "Sign in to {platform} so we can help you better." -msgstr "" -"Sïgn ïn tö {platform} sö wé çän hélp ýöü ßéttér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " -"αмєт, ¢σηѕє¢тєтυя #" - -#: lms/djangoapps/support/static/support/jsx/logged_out_user.jsx -#: lms/templates/student_account/hinted_login.underscore -#: lms/templates/student_account/login.underscore -msgid "Sign in" -msgstr "Sïgn ïn Ⱡ'σяєм ιρѕυм #" - -#: lms/djangoapps/support/static/support/jsx/logged_out_user.jsx -msgid "Create an {platform} account" -msgstr "Çréäté än {platform} äççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx -msgid "" -"Select a course or select \"Not specific to a course\" for your support " -"request." -msgstr "" -"Séléçt ä çöürsé ör séléçt \"Nöt spéçïfïç tö ä çöürsé\" för ýöür süppört " -"réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" - -#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx -msgid "Enter a subject for your support request." -msgstr "" -"Éntér ä süßjéçt för ýöür süppört réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx -msgid "Enter some details for your support request." -msgstr "" -"Éntér sömé détäïls för ýöür süppört réqüést. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: lms/djangoapps/support/static/support/jsx/single_support_form.jsx -msgid "Find answers to the top questions asked by learners." -msgstr "" -"Fïnd änswérs tö thé töp qüéstïöns äskéd ßý léärnérs. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " -"αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/djangoapps/support/static/support/jsx/success.jsx -msgid "Go to my Dashboard" -msgstr "Gö tö mý Däshßöärd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" - -#: lms/djangoapps/support/static/support/jsx/success.jsx -msgid "Go to {platform} Home" -msgstr "Gö tö {platform} Hömé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: lms/djangoapps/support/static/support/jsx/success.jsx -msgid "Contact Us" -msgstr "Çöntäçt Ûs Ⱡ'σяєм ιρѕυм ∂σłσ#" - #: lms/djangoapps/teams/static/teams/js/collections/team.js msgid "last activity" msgstr "läst äçtïvïtý Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" @@ -2769,6 +4210,8 @@ msgstr "öpén slöts Ⱡ'σяєм ιρѕυм ∂σłσ#" msgid "name" msgstr "nämé Ⱡ'σяєм ι#" +#. Translators: This refers to the number of teams (a count of how many teams +#. there are) #: lms/djangoapps/teams/static/teams/js/collections/topic.js msgid "team count" msgstr "téäm çöünt Ⱡ'σяєм ιρѕυм ∂σłσ#" @@ -2882,10 +4325,14 @@ msgstr "" "Thïs téäm döés nöt hävé äný mémßérs. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" +#. Translators: 'date' is a placeholder for a fuzzy, relative timestamp (see: +#. https://github.com/rmm5t/jquery-timeago) #: lms/djangoapps/teams/static/teams/js/views/edit_team_members.js msgid "Joined %(date)s" msgstr "Jöïnéd %(date)s Ⱡ'σяєм ιρѕυм ∂σłσ#" +#. Translators: 'date' is a placeholder for a fuzzy, relative timestamp (see: +#. https://github.com/rmm5t/jquery-timeago) #: lms/djangoapps/teams/static/teams/js/views/edit_team_members.js msgid "Last Activity %(date)s" msgstr "Läst Àçtïvïtý %(date)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" @@ -2931,10 +4378,14 @@ msgstr "" "Ýöü äré nöt çürréntlý ä mémßér öf äný téäm. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#. Translators: "and others" refers to fact that additional members of a team +#. exist that are not displayed. #: lms/djangoapps/teams/static/teams/js/views/team_card.js msgid "and others" msgstr "änd öthérs Ⱡ'σяєм ιρѕυм ∂σłσ#" +#. Translators: 'date' is a placeholder for a fuzzy, relative timestamp (see: +#. http://momentjs.com/) #: lms/djangoapps/teams/static/teams/js/views/team_card.js msgid "Last activity %(date)s" msgstr "Läst äçtïvïtý %(date)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" @@ -3127,6 +4578,14 @@ msgid "View Teams in the %(topic_name)s Topic" msgstr "" "Vïéw Téäms ïn thé %(topic_name)s Töpïç Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" +#. Translators: this string is shown at the bottom of the teams page +#. to find a team to join or else to create a new one. There are three +#. links that need to be included in the message: +#. 1. Browse teams in other topics +#. 2. search teams +#. 3. create a new team +#. Be careful to start each link with the appropriate start indicator +#. (e.g. {browse_span_start} for #1) and finish it with {span_end}. #: lms/djangoapps/teams/static/teams/js/views/topic_teams.js msgid "" "{browse_span_start}Browse teams in other topics{span_end} or " @@ -3230,6 +4689,7 @@ msgstr "ÛRL Ⱡ'σяєм#" msgid "Please provide a valid URL." msgstr "Pléäsé prövïdé ä välïd ÛRL. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" +#. Translators: 'errorCount' is the number of errors found in the form. #: lms/static/js/Markdown.Editor.js msgid "%(errorCount)s error found in form." msgid_plural "%(errorCount)s errors found in form." @@ -3635,15 +5095,6 @@ msgstr "" "Thé réfünd déädlïné för thïs çöürsé häs pässéd,sö ýöü wïll nöt réçéïvé ä " "réfünd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" -#: lms/static/js/dashboard/legacy.js -#: lms/static/js/learner_dashboard/views/unenroll_view.js -msgid "" -"Unable to determine whether we should give you a refund because of System " -"Error. Please try again later." -msgstr "" -"Ûnäßlé tö détérmïné whéthér wé shöüld gïvé ýöü ä réfünd ßéçäüsé öf Sýstém " -"Érrör. Pléäsé trý ägäïn lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" - #: lms/static/js/discovery/views/search_form.js #, javascript-format msgid "Viewing %s course" @@ -3811,10 +5262,21 @@ msgstr "" msgid "Search Results" msgstr "Séärçh Résülts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" +#. Translators: this is a title shown before all Notes that have no associated +#. tags. It is put within +#. brackets to differentiate it from user-defined tags, but it should still be +#. translated. #: lms/static/js/edxnotes/views/tabs/tags.js msgid "[no tags]" msgstr "[nö tägs] Ⱡ'σяєм ιρѕυм ∂σł#" +#. Translators: 'Tags' is the name of the view (noun) within the Student Notes +#. page that shows all +#. notes organized by the tags the student has associated with them (if any). +#. When defining a +#. note in the courseware, the student can choose to associate 1 or more tags +#. with the note +#. in order to group similar notes together and help with search. #: lms/static/js/edxnotes/views/tabs/tags.js msgid "Tags" msgstr "Tägs Ⱡ'σяєм ι#" @@ -4287,6 +5749,7 @@ msgstr "" "Érrör äddïng/rémövïng üsérs äs ßétä téstérs. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users were successfully added as beta testers:" msgstr "" @@ -4301,18 +5764,21 @@ msgstr "" "Thésé üsérs çöüld nöt ßé äddéd äs ßétä téstérs ßéçäüsé théïr äççöünts äré " "nöt ýét äçtïvätéd: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users were successfully removed as beta testers:" msgstr "" "Thésé üsérs wéré süççéssfüllý rémövéd äs ßétä téstérs: Ⱡ'σяєм ιρѕυм ∂σłσя " "ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users were not added as beta testers:" msgstr "" "Thésé üsérs wéré nöt äddéd äs ßétä téstérs: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users were not removed as beta testers:" msgstr "" @@ -4362,12 +5828,14 @@ msgstr "" "Süççéssfüllý énrölléd änd sént émäïl tö thé föllöwïng üsérs: Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "Successfully enrolled the following users:" msgstr "" "Süççéssfüllý énrölléd thé föllöwïng üsérs: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "" "Successfully sent enrollment emails to the following users. They will be " @@ -4376,12 +5844,14 @@ msgstr "" "Süççéssfüllý sént énröllmént émäïls tö thé föllöwïng üsérs. Théý wïll ßé " "ällöwéd tö énröll önçé théý régïstér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users will be allowed to enroll once they register:" msgstr "" "Thésé üsérs wïll ßé ällöwéd tö énröll önçé théý régïstér: Ⱡ'σяєм ιρѕυм ∂σłσя" " ѕιт αмєт, ¢σηѕє¢тєтυя α#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "" "Successfully sent enrollment emails to the following users. They will be " @@ -4390,12 +5860,14 @@ msgstr "" "Süççéssfüllý sént énröllmént émäïls tö thé föllöwïng üsérs. Théý wïll ßé " "énrölléd önçé théý régïstér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "These users will be enrolled once they register:" msgstr "" "Thésé üsérs wïll ßé énrölléd önçé théý régïstér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " "αмєт, ¢σηѕє¢тєтυя α#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "" "Emails successfully sent. The following users are no longer enrolled in the " @@ -4404,6 +5876,7 @@ msgstr "" "Émäïls süççéssfüllý sént. Thé föllöwïng üsérs äré nö löngér énrölléd ïn thé " "çöürsé: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" +#. Translators: A list of users appears after this sentence; #: lms/static/js/instructor_dashboard/membership.js msgid "The following users are no longer enrolled in the course:" msgstr "" @@ -4810,63 +6283,54 @@ msgstr "" #. Translators: a "Task" is a background process such as grading students or #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Task Type" msgstr "Täsk Týpé Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: a "Task" is a background process such as grading students or #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Task inputs" msgstr "Täsk ïnpüts Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: a "Task" is a background process such as grading students or #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Task ID" msgstr "Täsk ÌD Ⱡ'σяєм ιρѕυм #" #. Translators: a "Requester" is a username that requested a task such as #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Requester" msgstr "Réqüéstér Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: A timestamp of when a task (eg, sending email) was submitted #. appears after this -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Submitted" msgstr "Süßmïttéd Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: The length of a task (eg, sending email) in seconds appears #. this -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Duration (sec)" msgstr "Dürätïön (séç) Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" #. Translators: The state (eg, "In progress") of a task (eg, sending email) #. appears after this. -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "State" msgstr "Stäté Ⱡ'σяєм ιρѕ#" #. Translators: a "Task" is a background process such as grading students or #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Task Status" msgstr "Täsk Stätüs Ⱡ'σяєм ιρѕυм ∂σłσя #" #. Translators: a "Task" is a background process such as grading students or #. sending email -#. */ #: lms/static/js/instructor_dashboard/util.js msgid "Task Progress" msgstr "Täsk Prögréss Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" @@ -4879,10 +6343,6 @@ msgstr "" "Àn érrör öççürréd rétrïévïng ýöür émäïl. Pléäsé trý ägäïn lätér, änd çöntäçt" " téçhnïçäl süppört ïf thé prößlém pérsïsts. Ⱡ'σяєм ιρѕυм#" -#: lms/static/js/instructor_dashboard/util.js -msgid "Subject" -msgstr "Süßjéçt Ⱡ'σяєм ιρѕυм #" - #: lms/static/js/instructor_dashboard/util.js msgid "Sent By" msgstr "Sént Bý Ⱡ'σяєм ιρѕυм #" @@ -4939,111 +6399,6 @@ msgstr "" "Lïnks äré générätéd ön démänd änd éxpïré wïthïn 5 mïnütés düé tö thé " "sénsïtïvé nätüré öf stüdént ïnförmätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "(Self-paced) Starts {start}" -msgstr "(Sélf-päçéd) Stärts {start} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "(Self-paced) Started {start}" -msgstr "(Sélf-päçéd) Stärtéd {start} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "(Self-paced) Ends {end}" -msgstr "(Sélf-päçéd) Énds {end} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "(Self-paced) Ended {end}" -msgstr "(Sélf-päçéd) Éndéd {end} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "Starts {start}" -msgstr "Stärts {start} Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "Started {start}" -msgstr "Stärtéd {start} Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: lms/static/js/learner_dashboard/models/course_card_model.js -msgid "Ends {end}" -msgstr "Énds {end} Ⱡ'σяєм ιρѕυм ∂#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "You must select a session to access the course." -msgstr "" -"Ýöü müst séléçt ä séssïön tö äççéss thé çöürsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," -" ¢σηѕє¢тєтυя α#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "There was an error. Please reload the page and try again." -msgstr "" -"Théré wäs än érrör. Pléäsé rélöäd thé pägé änd trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя" -" ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -#: lms/templates/learner_dashboard/course_entitlement.underscore -msgid "Change Session" -msgstr "Çhängé Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -#: lms/templates/learner_dashboard/course_entitlement.underscore -msgid "Select Session" -msgstr "Séléçt Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "Leave Current Session" -msgstr "Léävé Çürrént Séssïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "Are you sure you want to select this session?" -msgstr "" -"Àré ýöü süré ýöü wänt tö séléçt thïs séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "Are you sure you want to change to a different session?" -msgstr "" -"Àré ýöü süré ýöü wänt tö çhängé tö ä dïfférént séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя " -"ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "Any course progress or grades from your current session will be lost." -msgstr "" -"Àný çöürsé prögréss ör grädés fröm ýöür çürrént séssïön wïll ßé löst. Ⱡ'σяєм" -" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: lms/static/js/learner_dashboard/views/course_entitlement_view.js -msgid "Are you sure that you want to leave this session?" -msgstr "" -"Àré ýöü süré thät ýöü wänt tö léävé thïs séssïön? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " -"αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/learner_dashboard/views/entitlement_unenrollment_view.js -msgid "" -"Your unenrollment request could not be processed. Please try again later." -msgstr "" -"Ýöür ünénröllmént réqüést çöüld nöt ßé pröçésséd. Pléäsé trý ägäïn lätér. " -"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" - -#: lms/static/js/learner_dashboard/views/entitlement_unenrollment_view.js -msgid "" -"Are you sure you want to unenroll from {courseName} ({courseNumber})? You " -"will be refunded the amount you paid." -msgstr "" -"Àré ýöü süré ýöü wänt tö ünénröll fröm {courseName} ({courseNumber})? Ýöü " -"wïll ßé réfündéd thé ämöünt ýöü päïd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: lms/static/js/learner_dashboard/views/program_details_sidebar_view.js -msgid "{type} Progress" -msgstr "{type} Prögréss Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" - -#: lms/static/js/learner_dashboard/views/program_details_sidebar_view.js -msgid "Earned Certificates" -msgstr "Éärnéd Çértïfïçätés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" - -#: lms/static/js/learner_dashboard/views/program_details_view.js -msgid "Enrolled" -msgstr "Énrölléd Ⱡ'σяєм ιρѕυм ∂#" - #: lms/static/js/staff_debug_actions.js msgid "Successfully reset the attempts for user {user}" msgstr "" @@ -5102,138 +6457,6 @@ msgstr "" "Çöüld nöt övérrïdé prößlém sçöré för {user}. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" -#: lms/static/js/student_account/components/PasswordResetConfirmation.jsx -msgid "New Password" -msgstr "Néw Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" - -#: lms/static/js/student_account/components/PasswordResetInput.jsx -msgid "Error: " -msgstr "Érrör: Ⱡ'σяєм ιρѕυм #" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "" -"You may also lose access to verified certificates and other program " -"credentials like MicroMasters certificates. If you want to make a copy of " -"these for your records before proceeding with deletion, follow the " -"instructions for {htmlStart}printing or downloading a certificate{htmlEnd}." -msgstr "" -"Ýöü mäý älsö lösé äççéss tö vérïfïéd çértïfïçätés änd öthér prögräm " -"çrédéntïäls lïké MïçröMästérs çértïfïçätés. Ìf ýöü wänt tö mäké ä çöpý öf " -"thésé för ýöür réçörds ßéföré pröçéédïng wïth délétïön, föllöw thé " -"ïnstrüçtïöns för {htmlStart}prïntïng ör döwnlöädïng ä çértïfïçäté{htmlEnd}. " -"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ " -"тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм," -" qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " -"¢σηѕєqυαт. ∂#" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -msgid "" -"Before proceeding, please {htmlStart}unlink all social media " -"accounts{htmlEnd}." -msgstr "" -"Béföré pröçéédïng, pléäsé {htmlStart}ünlïnk äll söçïäl médïä " -"äççöünts{htmlEnd}. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -msgid "Before proceeding, please {htmlStart}activate your account{htmlEnd}." -msgstr "" -"Béföré pröçéédïng, pléäsé {htmlStart}äçtïväté ýöür äççöünt{htmlEnd}. Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -msgid "We’re sorry to see you go!" -msgstr "Wé’ré sörrý tö séé ýöü gö! Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -msgid "" -"Once your account is deleted, you cannot use it to take courses on the edX " -"app, edx.org, or any other site hosted by edX. This includes access to " -"edx.org from your employer’s or university’s system and access to private " -"sites offered by MIT Open Learning, Wharton Executive Education, and Harvard" -" Medical School." -msgstr "" -"Önçé ýöür äççöünt ïs délétéd, ýöü çännöt üsé ït tö täké çöürsés ön thé édX " -"äpp, édx.örg, ör äný öthér sïté höstéd ßý édX. Thïs ïnçlüdés äççéss tö " -"édx.örg fröm ýöür émplöýér’s ör ünïvérsïtý’s sýstém änd äççéss tö prïväté " -"sïtés öfféréd ßý MÌT Öpén Léärnïng, Whärtön Éxéçütïvé Édüçätïön, änd Härvärd" -" Médïçäl Sçhööl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, " -"ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм " -"α∂ мιηιм νєη#" - -#: lms/static/js/student_account/components/StudentAccountDeletion.jsx -#: lms/static/js/student_account/views/account_settings_factory.js -msgid "Delete My Account" -msgstr "Délété Mý Àççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "Password is incorrect" -msgstr "Pässwörd ïs ïnçörréçt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "Unable to delete account" -msgstr "Ûnäßlé tö délété äççöünt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "Please re-enter your password." -msgstr "Pléäsé ré-éntér ýöür pässwörd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "" -"Sorry, there was an error trying to process your request. Please try again " -"later." -msgstr "" -"Sörrý, théré wäs än érrör trýïng tö pröçéss ýöür réqüést. Pléäsé trý ägäïn " -"lätér. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "A Password is required" -msgstr "À Pässwörd ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "" -"You have selected “Delete my account.” Deletion of your account and personal" -" data is permanent and cannot be undone. EdX will not be able to recover " -"your account or the data that is deleted." -msgstr "" -"Ýöü hävé séléçtéd “Délété mý äççöünt.” Délétïön öf ýöür äççöünt änd pérsönäl" -" dätä ïs pérmänént änd çännöt ßé ündöné. ÉdX wïll nöt ßé äßlé tö réçövér " -"ýöür äççöünt ör thé dätä thät ïs délétéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт " -"∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση " -"υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє " -"∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα" -" ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρ#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "" -"If you still wish to continue and delete your account, please enter your " -"account password:" -msgstr "" -"Ìf ýöü stïll wïsh tö çöntïnüé änd délété ýöür äççöünt, pléäsé éntér ýöür " -"äççöünt pässwörd: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "We're sorry to see you go! Your account will be deleted shortly." -msgstr "" -"Wé'ré sörrý tö séé ýöü gö! Ýöür äççöünt wïll ßé délétéd shörtlý. Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: lms/static/js/student_account/components/StudentAccountDeletionModal.jsx -msgid "" -"Account deletion, including removal from email lists, may take a few weeks " -"to fully process through our system. If you want to opt-out of emails before" -" then, please unsubscribe from the footer of any email." -msgstr "" -"Àççöünt délétïön, ïnçlüdïng rémöväl fröm émäïl lïsts, mäý täké ä féw wééks " -"tö füllý pröçéss thröügh öür sýstém. Ìf ýöü wänt tö öpt-öüt öf émäïls ßéföré" -" thén, pléäsé ünsüßsçrïßé fröm thé föötér öf äný émäïl. Ⱡ'σяєм ιρѕυм ∂σłσя " -"ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт " -"łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ " -"єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ " -"αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ " -"ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт#" - #: lms/static/js/student_account/tos_modal.js msgid "Terms of Service and Honor Code" msgstr "Térms öf Sérvïçé änd Hönör Çödé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" @@ -5266,7 +6489,6 @@ msgstr "Àn érrör öççürréd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α #. Translators: This string is appended to optional field labels on the #. student login, registration, and #. profile forms. -#. */ #: lms/static/js/student_account/views/FormView.js msgid "(optional)" msgstr "(öptïönäl) Ⱡ'σяєм ιρѕυм ∂σłσ#" @@ -5424,10 +6646,6 @@ msgstr "" msgid "Password" msgstr "Pässwörd Ⱡ'σяєм ιρѕυм ∂#" -#: lms/static/js/student_account/views/account_settings_factory.js -msgid "Reset Your Password" -msgstr "Rését Ýöür Pässwörd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" - #: lms/static/js/student_account/views/account_settings_factory.js msgid "Check your email account for instructions to reset your password." msgstr "" @@ -5690,6 +6908,8 @@ msgstr "Çhéçköüt Ⱡ'σяєм ιρѕυм ∂#" msgid "Checkout with PayPal" msgstr "Çhéçköüt wïth PäýPäl Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" +#. Translators: 'processor' is the name of a third-party payment processing +#. vendor (example: "PayPal") #: lms/static/js/verify_student/views/make_payment_step_view.js msgid "Checkout with {processor}" msgstr "Çhéçköüt wïth {processor} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" @@ -5706,14 +6926,6 @@ msgstr "" "Trý thé tränsäçtïön ägäïn ïn ä féw mïnütés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" -#: lms/static/js/verify_student/views/make_payment_step_view.js -#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmark_button.js -#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmarks_list.js -msgid "An error has occurred. Please try again." -msgstr "" -"Àn érrör häs öççürréd. Pléäsé trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя#" - #: lms/static/js/verify_student/views/make_payment_step_view.js msgid "Could not submit order" msgstr "Çöüld nöt süßmït ördér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" @@ -5910,28 +7122,6 @@ msgstr "Nümßér öf Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм msgid "Overall Score" msgstr "Övéräll Sçöré Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" -#: openedx/features/course_bookmarks/static/course_bookmarks/js/views/bookmark_button.js -msgid "Bookmark this page" -msgstr "Böökmärk thïs pägé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" - -#: openedx/features/course_experience/static/course_experience/js/CourseGoals.js -msgid "Thank you for setting your course goal to {goal}!" -msgstr "" -"Thänk ýöü för séttïng ýöür çöürsé göäl tö {goal}! Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " -"αмєт, ¢σηѕє¢тєтυя α#" - -#: openedx/features/course_experience/static/course_experience/js/CourseHome.js -msgid "You have successfully updated your goal." -msgstr "" -"Ýöü hävé süççéssfüllý üpdätéd ýöür göäl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя#" - -#: openedx/features/course_experience/static/course_experience/js/CourseHome.js -msgid "There was an error updating your goal." -msgstr "" -"Théré wäs än érrör üpdätïng ýöür göäl. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя#" - #: openedx/features/course_search/static/course_search/js/views/search_results_view.js msgid "{total_results} result" msgid_plural "{total_results} results" @@ -6034,43 +7224,6 @@ msgstr "Àççömplïshménts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" msgid "Profile" msgstr "Pröfïlé Ⱡ'σяєм ιρѕυм #" -#: cms/static/cms/js/main.js cms/static/js/views/active_video_upload_list.js -#: cms/static/js/views/video_transcripts.js -msgid "" -"This may be happening because of an error with our server or your internet " -"connection. Try refreshing the page or making sure you are online." -msgstr "" -"Thïs mäý ßé häppénïng ßéçäüsé öf än érrör wïth öür sérvér ör ýöür ïntérnét " -"çönnéçtïön. Trý réfréshïng thé pägé ör mäkïng süré ýöü äré önlïné. Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя " -"ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ " -"ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " -"¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє " -"¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт " -"ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт #" - -#: cms/static/cms/js/main.js -msgid "Studio's having trouble saving your work" -msgstr "" -"Stüdïö's hävïng tröüßlé sävïng ýöür wörk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя#" - -#: cms/static/cms/js/xblock/cms.runtime.v1.js -msgid "OpenAssessment Save Error" -msgstr "ÖpénÀsséssmént Sävé Érrör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - -#: cms/static/js/base.js -msgid "This link will open in a new browser window/tab" -msgstr "" -"Thïs lïnk wïll öpén ïn ä néw ßröwsér wïndöw/täß Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт," -" ¢σηѕє¢тєтυя α#" - -#: cms/static/js/base.js -msgid "This link will open in a modal window" -msgstr "" -"Thïs lïnk wïll öpén ïn ä mödäl wïndöw Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυ#" - #: cms/static/js/certificates/collections/certificates.js msgid "Could not parse certificate JSON. %(message)s" msgstr "" @@ -6105,6 +7258,8 @@ msgstr "" "Ýés, ällöw édïts tö thé äçtïvé Çértïfïçäté Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυя #" +#. Translators: This field pertains to the custom label for a certificate. +#. Translators: this refers to a collection of certificates. #: cms/static/js/certificates/views/certificate_item.js #: cms/static/js/certificates/views/certificates_list.js msgid "certificate" @@ -6114,6 +7269,8 @@ msgstr "çértïfïçäté Ⱡ'σяєм ιρѕυм ∂σłσя #" msgid "Set up your certificate" msgstr "Sét üp ýöür çértïfïçäté Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" +#. Translators: This line refers to the initial state of the form when no data +#. has been inserted #: cms/static/js/certificates/views/certificates_list.js msgid "You have not created any certificates yet." msgstr "" @@ -6131,13 +7288,6 @@ msgstr "" msgid "This action cannot be undone." msgstr "Thïs äçtïön çännöt ßé ündöné. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" -#: cms/static/js/certificates/views/signatory_editor.js -#: cms/static/js/views/course_info_update.js cms/static/js/views/list_item.js -#: cms/static/js/views/show_textbook.js cms/static/js/views/tabs.js -#: cms/static/js/views/utils/xblock_utils.js -msgid "Deleting" -msgstr "Délétïng Ⱡ'σяєм ιρѕυм ∂#" - #: cms/static/js/certificates/views/signatory_editor.js msgid "Upload signature image." msgstr "Ûplöäd sïgnätüré ïmägé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" @@ -6154,7 +7304,6 @@ msgstr "Gröüp %s Ⱡ'σяєм ιρѕυм ∂σł#" #. Translators: Dictionary used for creation ids that are used in #. default group names. For example: A, B, AA in Group A, #. Group B, ..., Group AA, etc. -#. */ #: cms/static/js/collections/group.js msgid "ABCDEFGHIJKLMNOPQRSTUVWXYZ" msgstr "ÀBÇDÉFGHÌJKLMNÖPQRSTÛVWXÝZ Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" @@ -6216,108 +7365,27 @@ msgstr "" "Ýöü hävé ünsävéd çhängés. Dö ýöü réällý wänt tö léävé thïs pägé? Ⱡ'σяєм " "ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" -#: cms/static/js/features/import/factories/import.js -msgid "There was an error during the upload process." -msgstr "" -"Théré wäs än érrör dürïng thé üplöäd pröçéss. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: cms/static/js/features/import/factories/import.js -msgid "There was an error while unpacking the file." -msgstr "" -"Théré wäs än érrör whïlé ünpäçkïng thé fïlé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: cms/static/js/features/import/factories/import.js -msgid "There was an error while verifying the file you submitted." -msgstr "" -"Théré wäs än érrör whïlé vérïfýïng thé fïlé ýöü süßmïttéd. Ⱡ'σяєм ιρѕυм " -"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/features/import/factories/import.js -msgid "Choose new file" -msgstr "Çhöösé néw fïlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" - -#: cms/static/js/features/import/factories/import.js -msgid "" -"File format not supported. Please upload a file with a {ext} extension." -msgstr "" -"Fïlé förmät nöt süppörtéd. Pléäsé üplöäd ä fïlé wïth ä {ext} éxténsïön. " -"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: cms/static/js/features/import/factories/import.js -msgid "There was an error while importing the new library to our database." -msgstr "" -"Théré wäs än érrör whïlé ïmpörtïng thé néw lïßrärý tö öür dätäßäsé. Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: cms/static/js/features/import/factories/import.js -msgid "There was an error while importing the new course to our database." -msgstr "" -"Théré wäs än érrör whïlé ïmpörtïng thé néw çöürsé tö öür dätäßäsé. Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: cms/static/js/features/import/factories/import.js -msgid "Your import has failed." -msgstr "Ýöür ïmpört häs fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - -#: cms/static/js/features/import/views/import.js -msgid "Your import is in progress; navigating away will abort it." -msgstr "" -"Ýöür ïmpört ïs ïn prögréss; nävïgätïng äwäý wïll äßört ït. Ⱡ'σяєм ιρѕυм " -"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/features/import/views/import.js -msgid "Error importing course" -msgstr "Érrör ïmpörtïng çöürsé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" - -#: cms/static/js/features/import/views/import.js -msgid "There was an error with the upload" -msgstr "" -"Théré wäs än érrör wïth thé üplöäd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" - -#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx -msgid "Course Number:" -msgstr "Çöürsé Nümßér: Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: cms/static/js/features_jsx/studio/CourseOrLibraryListing.jsx -msgid "(Read-only)" -msgstr "(Réäd-önlý) Ⱡ'σяєм ιρѕυм ∂σłσя #" - #: cms/static/js/maintenance/force_publish_course.js msgid "Internal Server Error." msgstr "Ìntérnäl Sérvér Érrör. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" +#. Translators: This is the status of a video upload that is queued +#. waiting for other uploads to complete #: cms/static/js/models/active_video_upload.js msgid "Queued" msgstr "Qüéüéd Ⱡ'σяєм ιρѕυ#" +#. Translators: This is the status of a video upload that has +#. completed successfully #: cms/static/js/models/active_video_upload.js msgid "Upload completed" msgstr "Ûplöäd çömplétéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" +#. Translators: This is the status of a video upload that has failed #: cms/static/js/models/active_video_upload.js msgid "Upload failed" msgstr "Ûplöäd fäïléd Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" -#: cms/static/js/models/chapter.js -msgid "Chapter name and asset_path are both required" -msgstr "" -"Çhäptér nämé änd ässét_päth äré ßöth réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: cms/static/js/models/chapter.js -msgid "Chapter name is required" -msgstr "Çhäptér nämé ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: cms/static/js/models/chapter.js -msgid "asset_path is required" -msgstr "ässét_päth ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢#" - -#: cms/static/js/models/course.js cms/static/js/models/section.js -msgid "You must specify a name" -msgstr "Ýöü müst spéçïfý ä nämé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - #: cms/static/js/models/course_update.js msgid "Action required: Enter a valid date." msgstr "" @@ -6451,46 +7519,6 @@ msgstr "" "Nöt äßlé tö sét pässïng grädé tö léss thän %(minimum_grade_cutoff)s%. Ⱡ'σяєм" " ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" -#: cms/static/js/models/textbook.js -msgid "Textbook name is required" -msgstr "Téxtßöök nämé ïs réqüïréd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - -#: cms/static/js/models/textbook.js -msgid "Please add at least one chapter" -msgstr "Pléäsé ädd ät léäst öné çhäptér Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" - -#: cms/static/js/models/textbook.js -msgid "All chapters must have a name and asset" -msgstr "" -"Àll çhäptérs müst hävé ä nämé änd ässét Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя#" - -#: cms/static/js/models/uploads.js -msgid "" -"Only <%= fileTypes %> files can be uploaded. Please select a file ending in " -"<%= fileExtensions %> to upload." -msgstr "" -"Önlý <%= fileTypes %> fïlés çän ßé üplöädéd. Pléäsé séléçt ä fïlé éndïng ïn " -"<%= fileExtensions %> tö üplöäd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" - -#: cms/static/js/models/uploads.js -#: lms/templates/student_account/hinted_login.underscore -#: lms/templates/student_account/institution_login.underscore -#: lms/templates/student_account/institution_register.underscore -msgid "or" -msgstr "ör Ⱡ'σя#" - -#: cms/static/js/models/xblock_validation.js -msgid "This unit has validation issues." -msgstr "" -"Thïs ünït häs välïdätïön ïssüés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тє#" - -#: cms/static/js/models/xblock_validation.js -msgid "This component has validation issues." -msgstr "" -"Thïs çömpönént häs välïdätïön ïssüés. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυ#" - #: cms/static/js/views/active_video_upload.js cms/static/js/views/assets.js msgid "Your file could not be uploaded" msgstr "Ýöür fïlé çöüld nöt ßé üplöädéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" @@ -6611,11 +7639,6 @@ msgstr "Ûplöäd Néw Fïlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" msgid "Load Another File" msgstr "Löäd Ànöthér Fïlé Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" -#: cms/static/js/views/components/add_xblock.js -#: cms/static/js/views/utils/xblock_utils.js -msgid "Adding" -msgstr "Àddïng Ⱡ'σяєм ιρѕυ#" - #: cms/static/js/views/course_info_update.js msgid "Are you sure you want to delete this update?" msgstr "" @@ -6674,15 +7697,6 @@ msgstr "" msgid "{selectedProvider} credentials saved" msgstr "{selectedProvider} çrédéntïäls sävéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" -#: cms/static/js/views/edit_chapter.js -msgid "Upload a new PDF to “<%= name %>”" -msgstr "Ûplöäd ä néw PDF tö “<%= name %>” Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - -#: cms/static/js/views/edit_chapter.js -msgid "Please select a PDF file to upload." -msgstr "" -"Pléäsé séléçt ä PDF fïlé tö üplöäd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" - #: cms/static/js/views/export.js msgid "There has been an error while exporting." msgstr "" @@ -6764,7 +7778,6 @@ msgstr "" #. Translators: 'count' is number of groups that the group #. configuration contains. -#. */ #: cms/static/js/views/group_configuration_details.js msgid "Contains {count} group" msgid_plural "Contains {count} groups" @@ -6778,10 +7791,8 @@ msgstr "Nöt ïn Ûsé Ⱡ'σяєм ιρѕυм ∂σłσ#" #. Translators: 'count' is number of units that the group #. configuration is used in. -#. */ #. Translators: 'count' is number of locations that the group #. configuration is used in. -#. */ #: cms/static/js/views/group_configuration_details.js #: cms/static/js/views/partition_group_details.js msgid "Used in {count} location" @@ -6789,6 +7800,7 @@ msgid_plural "Used in {count} locations" msgstr[0] "Ûséd ïn {count} löçätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" msgstr[1] "Ûséd ïn {count} löçätïöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" +#. Translators: this refers to a collection of groups. #: cms/static/js/views/group_configuration_item.js #: cms/static/js/views/group_configurations_list.js msgid "group configuration" @@ -6815,109 +7827,12 @@ msgstr "" "Fïlés müst ßé ïn JPÉG ör PNG förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" -#: cms/static/js/views/license.js cms/templates/js/license-selector.underscore -msgid "All Rights Reserved" -msgstr "Àll Rïghts Résérvéd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" - -#: cms/static/js/views/license.js -msgid "You reserve all rights for your work" -msgstr "" -"Ýöü résérvé äll rïghts för ýöür wörk Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυ#" - -#: cms/static/js/views/license.js -msgid "Creative Commons" -msgstr "Çréätïvé Çömmöns Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" - -#: cms/static/js/views/license.js -msgid "You waive some rights for your work, such that others can use it too" -msgstr "" -"Ýöü wäïvé sömé rïghts för ýöür wörk, süçh thät öthérs çän üsé ït töö Ⱡ'σяєм " -"ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: cms/static/js/views/license.js -msgid "Version" -msgstr "Vérsïön Ⱡ'σяєм ιρѕυм #" - -#: cms/static/js/views/license.js -msgid "Attribution" -msgstr "Àttrïßütïön Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: cms/static/js/views/license.js -msgid "" -"Allow others to copy, distribute, display and perform your copyrighted work " -"but only if they give credit the way you request. Currently, this option is " -"required." -msgstr "" -"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm ýöür çöpýrïghtéd wörk " -"ßüt önlý ïf théý gïvé çrédït thé wäý ýöü réqüést. Çürréntlý, thïs öptïön ïs " -"réqüïréd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ " -"єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм" -" νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα " -"¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт" -" єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт " -"¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕє#" - -#: cms/static/js/views/license.js -msgid "Noncommercial" -msgstr "Nönçömmérçïäl Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" - -#: cms/static/js/views/license.js -msgid "" -"Allow others to copy, distribute, display and perform your work - and " -"derivative works based upon it - but for noncommercial purposes only." -msgstr "" -"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm ýöür wörk - änd " -"dérïvätïvé wörks ßäséd üpön ït - ßüt för nönçömmérçïäl pürpösés önlý. Ⱡ'σяєм" -" ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя " -"ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ " -"ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ " -"¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє " -"¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт " -"ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂єѕєяυηт мσłłιт αηιм ι∂ єѕт łα#" - -#: cms/static/js/views/license.js -msgid "No Derivatives" -msgstr "Nö Dérïvätïvés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: cms/static/js/views/license.js -msgid "" -"Allow others to copy, distribute, display and perform only verbatim copies " -"of your work, not derivative works based upon it. This option is " -"incompatible with \"Share Alike\"." -msgstr "" -"Àllöw öthérs tö çöpý, dïstrïßüté, dïspläý änd pérförm önlý vérßätïm çöpïés " -"öf ýöür wörk, nöt dérïvätïvé wörks ßäséd üpön ït. Thïs öptïön ïs " -"ïnçömpätïßlé wïth \"Shäré Àlïké\". Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя " -"α∂ιριѕι¢ιηg єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα" -" αłιqυα. υт єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ " -"ηιѕι υт αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη " -"яєρяєнєη∂єяιт ιη νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα " -"ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυ#" - -#: cms/static/js/views/license.js -msgid "Share Alike" -msgstr "Shäré Àlïké Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: cms/static/js/views/license.js -msgid "" -"Allow others to distribute derivative works only under a license identical " -"to the license that governs your work. This option is incompatible with \"No" -" Derivatives\"." -msgstr "" -"Àllöw öthérs tö dïstrïßüté dérïvätïvé wörks önlý ündér ä lïçénsé ïdéntïçäl " -"tö thé lïçénsé thät gövérns ýöür wörk. Thïs öptïön ïs ïnçömpätïßlé wïth \"Nö" -" Dérïvätïvés\". Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg єłιт, " -"ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт єηιм " -"α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт αłιqυιρ " -"єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη νσłυρтαтє" -" νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт σ¢¢αє¢αт " -"¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι σƒƒι¢ια ∂#" - +#. Translators: "item_display_name" is the name of the item to be deleted. #: cms/static/js/views/list_item.js msgid "Delete this %(item_display_name)s?" msgstr "Délété thïs %(item_display_name)s? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" +#. Translators: "item_display_name" is the name of the item to be deleted. #: cms/static/js/views/list_item.js msgid "Deleting this %(item_display_name)s is permanent and cannot be undone." msgstr "" @@ -7023,33 +7938,6 @@ msgstr "Bäsïç Ⱡ'σяєм ιρѕ#" msgid "Visibility" msgstr "Vïsïßïlïtý Ⱡ'σяєм ιρѕυм ∂σłσ#" -#: cms/static/js/views/modals/edit_xblock.js -msgid "Editing: %(title)s" -msgstr "Édïtïng: %(title)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" - -#: cms/static/js/views/modals/edit_xblock.js -#: lms/templates/ccx/schedule.underscore -msgid "Unit" -msgstr "Ûnït Ⱡ'σяєм ι#" - -#: cms/static/js/views/modals/edit_xblock.js -msgid "Component" -msgstr "Çömpönént Ⱡ'σяєм ιρѕυм ∂σł#" - -#: cms/static/js/views/modals/move_xblock_modal.js -msgid "Move" -msgstr "Mövé Ⱡ'σяєм ι#" - -#: cms/static/js/views/modals/move_xblock_modal.js -msgid "Choose a location to move your component to" -msgstr "" -"Çhöösé ä löçätïön tö mövé ýöür çömpönént tö Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя #" - -#: cms/static/js/views/modals/move_xblock_modal.js -msgid "Move: {displayName}" -msgstr "Mövé: {displayName} Ⱡ'σяєм ιρѕυм ∂σł#" - #: cms/static/js/views/modals/validation_error_modal.js msgid "Validation Error While Saving" msgstr "Välïdätïön Érrör Whïlé Sävïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" @@ -7062,104 +7950,6 @@ msgstr "Ûndö Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" msgid "Change Manually" msgstr "Çhängé Mänüällý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" -#: cms/static/js/views/move_xblock_list.js -msgid "Sections" -msgstr "Séçtïöns Ⱡ'σяєм ιρѕυм ∂#" - -#: cms/static/js/views/move_xblock_list.js -msgid "Subsections" -msgstr "Süßséçtïöns Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: cms/static/js/views/move_xblock_list.js -msgid "Units" -msgstr "Ûnïts Ⱡ'σяєм ιρѕ#" - -#: cms/static/js/views/move_xblock_list.js -msgid "Components" -msgstr "Çömpönénts Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: cms/static/js/views/move_xblock_list.js -#: cms/templates/js/group-configuration-editor.underscore -msgid "Groups" -msgstr "Gröüps Ⱡ'σяєм ιρѕυ#" - -#: cms/static/js/views/move_xblock_list.js -msgid "This {parentCategory} has no {childCategory}" -msgstr "" -"Thïs {parentCategory} häs nö {childCategory} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" - -#: cms/static/js/views/move_xblock_list.js -#: cms/templates/js/group-configuration-details.underscore -#: cms/templates/js/partition-group-details.underscore -msgid "Course Outline" -msgstr "Çöürsé Öütlïné Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" - -#: cms/static/js/views/paged_container.js -msgid "Date added" -msgstr "Däté äddéd Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: cms/static/js/views/pages/container.js -msgid "Editing access for: %(title)s" -msgstr "Édïtïng äççéss för: %(title)s Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Publishing" -msgstr "Püßlïshïng Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: cms/static/js/views/pages/container_subviews.js -#: cms/templates/js/course-video-settings-update-org-credentials-footer.underscore -#: cms/templates/js/course-video-settings-update-settings-footer.underscore -#: cms/templates/js/publish-xblock.underscore -msgid "Discard Changes" -msgstr "Dïsçärd Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт α#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "" -"Are you sure you want to revert to the last published version of the unit? " -"You cannot undo this action." -msgstr "" -"Àré ýöü süré ýöü wänt tö révért tö thé läst püßlïshéd vérsïön öf thé ünït? " -"Ýöü çännöt ündö thïs äçtïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Discarding Changes" -msgstr "Dïsçärdïng Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Hiding from Students" -msgstr "Hïdïng fröm Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Explicitly Hiding from Students" -msgstr "Éxplïçïtlý Hïdïng fröm Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Inheriting Student Visibility" -msgstr "Ìnhérïtïng Stüdént Vïsïßïlïtý Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Make Visible to Students" -msgstr "Mäké Vïsïßlé tö Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "" -"If the unit was previously published and released to students, any changes " -"you made to the unit when it was hidden will now be visible to students. Do " -"you want to proceed?" -msgstr "" -"Ìf thé ünït wäs prévïöüslý püßlïshéd änd réléäséd tö stüdénts, äný çhängés " -"ýöü mädé tö thé ünït whén ït wäs hïddén wïll nöw ßé vïsïßlé tö stüdénts. Dö " -"ýöü wänt tö pröçééd? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α∂ιριѕι¢ιηg " -"єłιт, ѕє∂ ∂σ єιυѕмσ∂ тємρσя ιη¢ι∂ι∂υηт υт łαвσяє єт ∂σłσяє мαgηα αłιqυα. υт " -"єηιм α∂ мιηιм νєηιαм, qυιѕ ησѕтяυ∂ єχєя¢ιтαтιση υłłαм¢σ łαвσяιѕ ηιѕι υт " -"αłιqυιρ єχ єα ¢σммσ∂σ ¢σηѕєqυαт. ∂υιѕ αυтє ιяυяє ∂σłσя ιη яєρяєнєη∂єяιт ιη " -"νσłυρтαтє νєłιт єѕѕє ¢ιłłυм ∂σłσяє єυ ƒυgιαт ηυłłα ραяιαтυя. єχ¢єρтєυя ѕιηт " -"σ¢¢αє¢αт ¢υρι∂αтαт ηση ρяσι∂єηт, ѕυηт ιη ¢υłρα qυι#" - -#: cms/static/js/views/pages/container_subviews.js -msgid "Making Visible to Students" -msgstr "Mäkïng Vïsïßlé tö Stüdénts Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕ#" - #: cms/static/js/views/pages/course_outline.js msgid "Course Index" msgstr "Çöürsé Ìndéx Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" @@ -7170,52 +7960,8 @@ msgstr "" "Théré wéré érrörs réïndéxïng çöürsé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" -#: cms/static/js/views/pages/paged_container.js -msgid "Hide Previews" -msgstr "Hïdé Prévïéws Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" - -#: cms/static/js/views/pages/paged_container.js -msgid "Show Previews" -msgstr "Shöw Prévïéws Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" - -#: cms/static/js/views/paging_header.js -msgid "" -"Showing {currentItemRange} out of {totalItemsCount}, filtered by " -"{assetType}, sorted by {sortName} ascending" -msgstr "" -"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, fïltéréd ßý " -"{assetType}, sörtéd ßý {sortName} äsçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/paging_header.js -msgid "" -"Showing {currentItemRange} out of {totalItemsCount}, filtered by " -"{assetType}, sorted by {sortName} descending" -msgstr "" -"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, fïltéréd ßý " -"{assetType}, sörtéd ßý {sortName} désçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/paging_header.js -msgid "" -"Showing {currentItemRange} out of {totalItemsCount}, sorted by {sortName} " -"ascending" -msgstr "" -"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, sörtéd ßý {sortName} " -"äsçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/paging_header.js -msgid "" -"Showing {currentItemRange} out of {totalItemsCount}, sorted by {sortName} " -"descending" -msgstr "" -"Shöwïng {currentItemRange} öüt öf {totalItemsCount}, sörtéd ßý {sortName} " -"désçéndïng Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/paging_header.js -msgid "{totalItems} total" -msgstr "{totalItems} tötäl Ⱡ'σяєм ιρѕυм ∂σł#" - +#. Translators: This refers to a content group that can be linked to a student +#. cohort. #: cms/static/js/views/partition_group_item.js #: cms/static/js/views/partition_group_list.js msgid "content group" @@ -7320,39 +8066,6 @@ msgid "Upload your video thumbnail image." msgstr "" "Ûplöäd ýöür vïdéö thümßnäïl ïmägé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєт#" -#: cms/static/js/views/show_textbook.js -msgid "Delete “<%= name %>”?" -msgstr "Délété “<%= name %>”? Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" - -#: cms/static/js/views/show_textbook.js -msgid "" -"Deleting a textbook cannot be undone and once deleted any reference to it in" -" your courseware's navigation will also be removed." -msgstr "" -"Délétïng ä téxtßöök çännöt ßé ündöné änd önçé délétéd äný référénçé tö ït ïn" -" ýöür çöürséwäré's nävïgätïön wïll älsö ßé rémövéd. Ⱡ'σяє#" - -#: cms/static/js/views/tabs.js -msgid "Delete Page Confirmation" -msgstr "Délété Pägé Çönfïrmätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: cms/static/js/views/tabs.js -msgid "" -"Are you sure you want to delete this page? This action cannot be undone." -msgstr "" -"Àré ýöü süré ýöü wänt tö délété thïs pägé? Thïs äçtïön çännöt ßé ündöné. " -"Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя#" - -#: cms/static/js/views/uploads.js -#: cms/templates/js/metadata-file-uploader-item.underscore -#: cms/templates/js/video/metadata-translations-item.underscore -msgid "Upload" -msgstr "Ûplöäd Ⱡ'σяєм ιρѕυ#" - -#: cms/static/js/views/uploads.js -msgid "We're sorry, there was an error" -msgstr "Wé'ré sörrý, théré wäs än érrör Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢т#" - #: cms/static/js/views/utils/create_course_utils.js msgid "" "The combined length of the organization, course number, and course run " @@ -7369,81 +8082,6 @@ msgstr "" "Thé çömßïnéd léngth öf thé örgänïzätïön änd lïßrärý çödé fïélds çännöt ßé " "möré thän <%=limit%> çhäräçtérs. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" -#: cms/static/js/views/utils/move_xblock_utils.js -msgid "Success! \"{displayName}\" has been moved." -msgstr "" -"Süççéss! \"{displayName}\" häs ßéén mövéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢т#" - -#: cms/static/js/views/utils/move_xblock_utils.js -msgid "" -"Move cancelled. \"{sourceDisplayName}\" has been moved back to its original " -"location." -msgstr "" -"Mövé çänçélléd. \"{sourceDisplayName}\" häs ßéén mövéd ßäçk tö ïts örïgïnäl " -"löçätïön. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" - -#: cms/static/js/views/utils/move_xblock_utils.js -msgid "Undo move" -msgstr "Ûndö mövé Ⱡ'σяєм ιρѕυм ∂σł#" - -#: cms/static/js/views/utils/move_xblock_utils.js -msgid "Take me to the new location" -msgstr "Täké mé tö thé néw löçätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Duplicating" -msgstr "Düplïçätïng Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Undo moving" -msgstr "Ûndö mövïng Ⱡ'σяєм ιρѕυм ∂σłσя #" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Moving" -msgstr "Mövïng Ⱡ'σяєм ιρѕυ#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Deleting this {xblock_type} is permanent and cannot be undone." -msgstr "" -"Délétïng thïs {xblock_type} ïs pérmänént änd çännöt ßé ündöné. Ⱡ'σяєм ιρѕυм " -"∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "" -"Any content that has listed this content as a prerequisite will also have " -"access limitations removed." -msgstr "" -"Àný çöntént thät häs lïstéd thïs çöntént äs ä préréqüïsïté wïll älsö hävé " -"äççéss lïmïtätïöns rémövéd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Delete this {xblock_type} (and prerequisite)?" -msgstr "" -"Délété thïs {xblock_type} (änd préréqüïsïté)? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєт#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Yes, delete this {xblock_type}" -msgstr "Ýés, délété thïs {xblock_type} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "Delete this {xblock_type}?" -msgstr "Délété thïs {xblock_type}? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αм#" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "section" -msgstr "séçtïön Ⱡ'σяєм ιρѕυм #" - -#: cms/static/js/views/utils/xblock_utils.js -msgid "subsection" -msgstr "süßséçtïön Ⱡ'σяєм ιρѕυм ∂σłσ#" - -#: cms/static/js/views/utils/xblock_utils.js -#: cms/templates/js/container-access.underscore -msgid "unit" -msgstr "ünït Ⱡ'σяєм ι#" - #: cms/static/js/views/validation.js msgid "You've made some changes" msgstr "Ýöü'vé mädé sömé çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" @@ -7471,77 +8109,6 @@ msgstr "" msgid "Save Changes" msgstr "Sävé Çhängés Ⱡ'σяєм ιρѕυм ∂σłσя ѕ#" -#: cms/static/js/views/video/transcripts/file_uploader.js -msgid "Please select a file in .srt format." -msgstr "" -"Pléäsé séléçt ä fïlé ïn .srt förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυ#" - -#: cms/static/js/views/video/transcripts/file_uploader.js -msgid "Error: Uploading failed." -msgstr "Érrör: Ûplöädïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: cms/static/js/views/video/transcripts/message_manager.js -msgid "Error: Import failed." -msgstr "Érrör: Ìmpört fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: cms/static/js/views/video/transcripts/message_manager.js -msgid "Error: Replacing failed." -msgstr "Érrör: Répläçïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢ση#" - -#: cms/static/js/views/video/transcripts/message_manager.js -msgid "Error: Choosing failed." -msgstr "Érrör: Çhöösïng fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - -#: cms/static/js/views/video/transcripts/metadata_videolist.js -msgid "Error: Connection with server failed." -msgstr "" -"Érrör: Çönnéçtïön wïth sérvér fäïléd. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " -"¢σηѕє¢тєтυ#" - -#: cms/static/js/views/video/transcripts/metadata_videolist.js -msgid "Link types should be unique." -msgstr "Lïnk týpés shöüld ßé ünïqüé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢#" - -#: cms/static/js/views/video/transcripts/metadata_videolist.js -msgid "Links should be unique." -msgstr "Lïnks shöüld ßé ünïqüé. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σ#" - -#: cms/static/js/views/video/transcripts/metadata_videolist.js -msgid "Incorrect url format." -msgstr "Ìnçörréçt ürl förmät. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" - -#: cms/static/js/views/video/translations_editor.js -msgid "" -"Sorry, there was an error parsing the subtitles that you uploaded. Please " -"check the format and try again." -msgstr "" -"Sörrý, théré wäs än érrör pärsïng thé süßtïtlés thät ýöü üplöädéd. Pléäsé " -"çhéçk thé förmät änd trý ägäïn. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт #" - -#: cms/static/js/views/video/translations_editor.js -#: cms/static/js/views/video_transcripts.js -msgid "Are you sure you want to remove this transcript?" -msgstr "" -"Àré ýöü süré ýöü wänt tö rémövé thïs tränsçrïpt? Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт " -"αмєт, ¢σηѕє¢тєтυя α#" - -#: cms/static/js/views/video/translations_editor.js -msgid "" -"If you remove this transcript, the transcript will not be available for this" -" component." -msgstr "" -"Ìf ýöü rémövé thïs tränsçrïpt, thé tränsçrïpt wïll nöt ßé äväïläßlé för thïs" -" çömpönént. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє#" - -#: cms/static/js/views/video/translations_editor.js -msgid "Remove Transcript" -msgstr "Rémövé Tränsçrïpt Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" - -#: cms/static/js/views/video/translations_editor.js -msgid "Upload translation" -msgstr "Ûplöäd tränslätïön Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт#" - #: cms/static/js/views/video_thumbnail.js msgid "Add Thumbnail" msgstr "Àdd Thümßnäïl Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" @@ -7550,6 +8117,7 @@ msgstr "Àdd Thümßnäïl Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" msgid "Edit Thumbnail" msgstr "Édït Thümßnäïl Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" +#. Translators: This is a 2 part text which tells the image requirements. #: cms/static/js/views/video_thumbnail.js msgid "" "{InstructionsSpanStart}{videoImageResoultion}{lineBreak} " @@ -7562,6 +8130,7 @@ msgstr "" msgid "Image upload failed" msgstr "Ìmägé üplöäd fäïléd Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" +#. Translators: This is a 3 part text which tells the image requirements. #: cms/static/js/views/video_thumbnail.js msgid "" "{ReqTextSpanStart}Requirements{spanEnd}{lineBreak}{InstructionsSpanStart}{videoImageResoultion}{lineBreak}" @@ -7571,18 +8140,23 @@ msgstr "" " {videoImageSupportedFileFormats}{spanEnd} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, " "¢σηѕє¢тєтυ#" +#. Translators: message will be like 1280x720 pixels #: cms/static/js/views/video_thumbnail.js msgid "{maxWidth}x{maxHeight} pixels" msgstr "{maxWidth}x{maxHeight} pïxéls Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" +#. Translators: message will be like Thumbnail for Arrow.mp4 #: cms/static/js/views/video_thumbnail.js msgid "Thumbnail for {videoName}" msgstr "Thümßnäïl för {videoName} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмє#" +#. Translators: message will be like Add Thumbnail - Arrow.mp4 #: cms/static/js/views/video_thumbnail.js msgid "Add Thumbnail - {videoName}" msgstr "Àdd Thümßnäïl - {videoName} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт,#" +#. Translators: humanizeDuration will be like 10 minutes, an hour and 20 +#. minutes etc #: cms/static/js/views/video_thumbnail.js msgid "Video duration is {humanizeDuration}" msgstr "Vïdéö dürätïön ïs {humanizeDuration} Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, #" @@ -7595,6 +8169,7 @@ msgstr "mïnütés Ⱡ'σяєм ιρѕυм #" msgid "minute" msgstr "mïnüté Ⱡ'σяєм ιρѕυ#" +#. Translators: message will be like 15 minutes, 1 minute #: cms/static/js/views/video_thumbnail.js msgid "{minutes} {unit}" msgstr "{minutes} {unit} Ⱡ'σяєм ιρѕυм #" @@ -7607,10 +8182,13 @@ msgstr "séçönds Ⱡ'σяєм ιρѕυм #" msgid "second" msgstr "séçönd Ⱡ'σяєм ιρѕυ#" +#. Translators: message will be like 20 seconds, 1 second #: cms/static/js/views/video_thumbnail.js msgid "{seconds} {unit}" msgstr "{seconds} {unit} Ⱡ'σяєм ιρѕυм #" +#. Translators: `and` will be used to combine both miuntes and seconds like +#. `13 minutes and 45 seconds` #: cms/static/js/views/video_thumbnail.js msgid " and " msgstr " änd Ⱡ'σяєм ιρѕ#" @@ -7631,12 +8209,14 @@ msgstr "" "Thïs ïmägé fïlé týpé ïs nöt süppörtéd. Süppörtéd fïlé týpés äré " "{supportedFileFormats}. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" +#. Translators: maxFileSizeInMB will be like 2 MB. #: cms/static/js/views/video_thumbnail.js msgid "The selected image must be smaller than {maxFileSizeInMB}." msgstr "" "Thé séléçtéd ïmägé müst ßé smällér thän {maxFileSizeInMB}. Ⱡ'σяєм ιρѕυм " "∂σłσя ѕιт αмєт, ¢σηѕє¢тєтυя #" +#. Translators: minFileSizeInKB will be like 2 KB. #: cms/static/js/views/video_thumbnail.js msgid "The selected image must be larger than {minFileSizeInKB}." msgstr "" @@ -7688,23 +8268,6 @@ msgstr "" "Ìf ýöü rémövé thïs tränsçrïpt, thé tränsçrïpt wïll nöt ßé äväïläßlé för äný " "çömpönénts thät üsé thïs vïdéö. Ⱡ'σяєм ιρѕυм ∂σłσя ѕιт#" -#: cms/static/js/views/xblock_editor.js -msgid "Editor" -msgstr "Édïtör Ⱡ'σяєм ιρѕυ#" - -#: cms/static/js/views/xblock_editor.js -#: lms/templates/instructor/instructor_dashboard_2/cohort-editor.underscore -msgid "Settings" -msgstr "Séttïngs Ⱡ'σяєм ιρѕυм ∂#" - -#: cms/static/js/views/xblock_outline.js -msgid "New {component_type}" -msgstr "Néw {component_type} Ⱡ'σяєм ιρѕυм #" - -#: cms/static/js/views/xblock_validation.js -msgid "Warning" -msgstr "Wärnïng Ⱡ'σяєм ιρѕυм #" - #: cms/static/js/xblock_asides/structured_tags.js msgid "Updating Tags" msgstr "Ûpdätïng Tägs Ⱡ'σяєм ιρѕυм ∂σłσя ѕι#" @@ -11719,10 +12282,6 @@ msgstr "" "Ìf thé süßséçtïön döés nöt hävé ä düé däté, léärnérs älwäýs séé théïr sçörés" " whén théý süßmït änswérs tö ässéssménts. Ⱡ'σяєм ιρѕυм ∂#" -#: cms/templates/js/show-textbook.underscore -msgid "View Live" -msgstr "Vïéw Lïvé Ⱡ'σяєм ιρѕυм ∂σł#" - #: cms/templates/js/signatory-details.underscore #: cms/templates/js/signatory-editor.underscore msgid "Signatory" diff --git a/lms/djangoapps/ccx/tests/utils.py b/lms/djangoapps/ccx/tests/utils.py index b0383fbf56..42e4c718d1 100644 --- a/lms/djangoapps/ccx/tests/utils.py +++ b/lms/djangoapps/ccx/tests/utils.py @@ -8,6 +8,7 @@ from django.conf import settings from lms.djangoapps.ccx.overrides import override_field_for_ccx from lms.djangoapps.ccx.tests.factories import CcxFactory +from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole from student.tests.factories import UserFactory from xmodule.modulestore.django import modulestore @@ -15,7 +16,7 @@ from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory -class CcxTestCase(SharedModuleStoreTestCase): +class CcxTestCase(EmailTemplateTagMixin, SharedModuleStoreTestCase): """ General test class to be used in other CCX tests classes. diff --git a/lms/djangoapps/instructor/enrollment.py b/lms/djangoapps/instructor/enrollment.py index 3fabe4630f..ed599886c5 100644 --- a/lms/djangoapps/instructor/enrollment.py +++ b/lms/djangoapps/instructor/enrollment.py @@ -12,18 +12,29 @@ import pytz from django.conf import settings from django.contrib.auth.models import User from django.core.mail import send_mail +from django.template.loader import render_to_string from django.urls import reverse from django.utils.translation import override as override_language +from edx_ace import ace +from edx_ace.recipient import Recipient from six import text_type from course_modes.models import CourseMode from courseware.models import StudentModule -from edxmako.shortcuts import render_to_string from eventtracking import tracker from lms.djangoapps.grades.constants import ScoreDatabaseTableEnum from lms.djangoapps.grades.events import STATE_DELETED_EVENT_TYPE from lms.djangoapps.grades.signals.handlers import disconnect_submissions_signal_receiver from lms.djangoapps.grades.signals.signals import PROBLEM_RAW_SCORE_CHANGED +from lms.djangoapps.instructor.message_types import ( + AccountCreationAndEnrollment, + AddBetaTester, + AllowedEnroll, + AllowedUnenroll, + EnrollEnrolled, + EnrolledUnenroll, + RemoveBetaTester, +) from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from openedx.core.djangoapps.user_api.models import UserPreference @@ -146,16 +157,17 @@ def enroll_email(course_id, student_email, auto_enroll=False, email_students=Fal enrollment_obj = CourseEnrollment.enroll_by_email(student_email, course_id, course_mode) if email_students: - email_params['message'] = 'enrolled_enroll' + email_params['message_type'] = 'enrolled_enroll' email_params['email_address'] = student_email email_params['full_name'] = previous_state.full_name send_mail_to_student(student_email, email_params, language=language) + elif not is_email_retired(student_email): cea, _ = CourseEnrollmentAllowed.objects.get_or_create(course_id=course_id, email=student_email) cea.auto_enroll = auto_enroll cea.save() if email_students: - email_params['message'] = 'allowed_enroll' + email_params['message_type'] = 'allowed_enroll' email_params['email_address'] = student_email send_mail_to_student(student_email, email_params, language=language) @@ -180,7 +192,7 @@ def unenroll_email(course_id, student_email, email_students=False, email_params= if previous_state.enrollment: CourseEnrollment.unenroll_by_email(student_email, course_id) if email_students: - email_params['message'] = 'enrolled_unenroll' + email_params['message_type'] = 'enrolled_unenroll' email_params['email_address'] = student_email email_params['full_name'] = previous_state.full_name send_mail_to_student(student_email, email_params, language=language) @@ -188,7 +200,7 @@ def unenroll_email(course_id, student_email, email_students=False, email_params= if previous_state.allowed: CourseEnrollmentAllowed.objects.get(course_id=course_id, email=student_email).delete() if email_students: - email_params['message'] = 'allowed_unenroll' + email_params['message_type'] = 'allowed_unenroll' email_params['email_address'] = student_email # Since no User object exists for this student there is no "full_name" available. send_mail_to_student(student_email, email_params, language=language) @@ -207,7 +219,7 @@ def send_beta_role_email(action, user, email_params): `email_params` parameters used while parsing email templates (a `dict`). """ if action in ('add', 'remove'): - email_params['message'] = '%s_beta_tester' % action + email_params['message_type'] = '%s_beta_tester' % action email_params['email_address'] = user.email email_params['full_name'] = user.profile.name else: @@ -422,7 +434,7 @@ def send_mail_to_student(student, param_dict, language=None): `course_url`: url of course (a `str`) `email_address`: email of student (a `str`) `full_name`: student full name (a `str`) - `message`: type of email to send and template to use (a `str`) + `message_type`: type of email to send and template to use (a `str`) `is_shib_course`: (a `boolean`) ] @@ -433,71 +445,39 @@ def send_mail_to_student(student, param_dict, language=None): Returns a boolean indicating whether the email was sent successfully. """ - # add some helpers and microconfig subsitutions + # Add some helpers and microconfig subsitutions if 'display_name' in param_dict: param_dict['course_name'] = param_dict['display_name'] + elif 'course' in param_dict: + param_dict['course_name'] = param_dict['course'].display_name_with_default param_dict['site_name'] = configuration_helpers.get_value( 'SITE_NAME', param_dict['site_name'] ) - subject = None - message = None - # see if there is an activation email template definition available as configuration, # if so, then render that - message_type = param_dict['message'] + message_type = param_dict['message_type'] - email_template_dict = { - 'allowed_enroll': ( - 'emails/enroll_email_allowedsubject.txt', - 'emails/enroll_email_allowedmessage.txt' - ), - 'enrolled_enroll': ( - 'emails/enroll_email_enrolledsubject.txt', - 'emails/enroll_email_enrolledmessage.txt' - ), - 'allowed_unenroll': ( - 'emails/unenroll_email_subject.txt', - 'emails/unenroll_email_allowedmessage.txt' - ), - 'enrolled_unenroll': ( - 'emails/unenroll_email_subject.txt', - 'emails/unenroll_email_enrolledmessage.txt' - ), - 'add_beta_tester': ( - 'emails/add_beta_tester_email_subject.txt', - 'emails/add_beta_tester_email_message.txt' - ), - 'remove_beta_tester': ( - 'emails/remove_beta_tester_email_subject.txt', - 'emails/remove_beta_tester_email_message.txt' - ), - 'account_creation_and_enrollment': ( - 'emails/enroll_email_enrolledsubject.txt', - 'emails/account_creation_and_enroll_emailMessage.txt' - ), + ace_emails_dict = { + 'account_creation_and_enrollment': AccountCreationAndEnrollment, + 'add_beta_tester': AddBetaTester, + 'allowed_enroll': AllowedEnroll, + 'allowed_unenroll': AllowedUnenroll, + 'enrolled_enroll': EnrollEnrolled, + 'enrolled_unenroll': EnrolledUnenroll, + 'remove_beta_tester': RemoveBetaTester, } - subject_template, message_template = email_template_dict.get(message_type, (None, None)) - if subject_template is not None and message_template is not None: - subject, message = render_message_to_string( - subject_template, message_template, param_dict, language=language - ) + message_class = ace_emails_dict[message_type] + message = message_class().personalize( + recipient=Recipient(username='', email_address=student), + language=language, + user_context=param_dict, + ) - if subject and message: - # Remove leading and trailing whitespace from body - message = message.strip() - - # Email subject *must not* contain newlines - subject = ''.join(subject.splitlines()) - from_address = configuration_helpers.get_value( - 'email_from_address', - settings.DEFAULT_FROM_EMAIL - ) - - send_mail(subject, message, from_address, [student], fail_silently=False) + ace.send(message) def render_message_to_string(subject_template, message_template, param_dict, language=None): diff --git a/lms/djangoapps/instructor/message_types.py b/lms/djangoapps/instructor/message_types.py new file mode 100644 index 0000000000..d229b4d76f --- /dev/null +++ b/lms/djangoapps/instructor/message_types.py @@ -0,0 +1,84 @@ +""" +ACE message types for the instructor module. +""" + +from openedx.core.djangoapps.ace_common.message import BaseMessageType + + +class AccountCreationAndEnrollment(BaseMessageType): + """ + A message for registering and inviting learners into a course. + + This message includes username and password. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(AccountCreationAndEnrollment, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class AddBetaTester(BaseMessageType): + """ + A message for course beta testers when they're invited. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(AddBetaTester, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class AllowedEnroll(BaseMessageType): + """ + A message for _unregistered_ learners who received an invitation to a course. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(AllowedEnroll, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class AllowedUnenroll(BaseMessageType): + """ + A message for _unregistered_ learners who had their invitation to a course cancelled. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(AllowedUnenroll, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class EnrollEnrolled(BaseMessageType): + """ + A message for _registered_ learners who have been both invited and enrolled to a course. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(EnrollEnrolled, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class EnrolledUnenroll(BaseMessageType): + """ + A message for _registered_ learners who have been unenrolled from a course. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(EnrolledUnenroll, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation + + +class RemoveBetaTester(BaseMessageType): + """ + A message for course beta testers when they're removed. + """ + APP_LABEL = 'instructor' + + def __init__(self, *args, **kwargs): + super(RemoveBetaTester, self).__init__(*args, **kwargs) + self.options['transactional'] = True # pylint: disable=unsupported-assignment-operation diff --git a/lms/djangoapps/instructor/tests/test_access.py b/lms/djangoapps/instructor/tests/test_access.py index 2c374bf016..63f9c65a6a 100644 --- a/lms/djangoapps/instructor/tests/test_access.py +++ b/lms/djangoapps/instructor/tests/test_access.py @@ -7,6 +7,7 @@ import pytest from django_comment_common.models import FORUM_ROLE_MODERATOR, Role from lms.djangoapps.instructor.access import allow_access, list_with_level, revoke_access, update_forum_role from openedx.core.lib.tests import attr +from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin from student.roles import CourseBetaTesterRole, CourseCcxCoachRole, CourseStaffRole from student.tests.factories import UserFactory from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase @@ -40,7 +41,7 @@ class TestInstructorAccessList(SharedModuleStoreTestCase): @attr(shard=1) -class TestInstructorAccessAllow(SharedModuleStoreTestCase): +class TestInstructorAccessAllow(EmailTemplateTagMixin, SharedModuleStoreTestCase): """ Test access allow. """ @classmethod def setUpClass(cls): diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index cd11d51ccd..e4bdcd4554 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -1304,18 +1304,26 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest mail.outbox[0].subject, u'You have been enrolled in {}'.format(self.course.display_name) ) - self.assertEqual( - mail.outbox[0].body, - "Dear NotEnrolled Student\n\nYou have been enrolled in {} " - "at edx.org by a member of the course staff. " - "The course should now appear on your edx.org dashboard.\n\n" - "To start accessing course materials, please visit " - "{proto}://{site}{course_path}\n\n----\n" - "This email was automatically sent from edx.org to NotEnrolled Student".format( - self.course.display_name, - proto=protocol, site=self.site_name, course_path=self.course_path - ) - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + + assert text_body.startswith('Dear NotEnrolled Student\n\n') + + for body in [text_body, html_body]: + self.assertIn('You have been enrolled in {course_name} at edx.org by a member of the course staff.'.format( + course_name=self.course.display_name, + ), body) + + self.assertIn('This course will now appear on your edx.org dashboard.', body) + self.assertIn('{proto}://{site}{course_path}'.format( + proto=protocol, + site=self.site_name, + course_path=self.course_path, + ), body) + + self.assertIn("To start accessing course materials, please visit", text_body) + self.assertIn("This email was automatically sent from edx.org to NotEnrolled Student\n\n", text_body) @ddt.data('http', 'https') def test_enroll_with_email_not_registered(self, protocol): @@ -1334,17 +1342,35 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest mail.outbox[0].subject, u'You have been invited to register for {}'.format(self.course.display_name) ) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {} at edx.org by a member of the course staff.\n\n" - "To finish your registration, please visit {proto}://{site}/register and fill out the " - "registration form making sure to use robot-not-an-email-yet@robot.org in the E-mail field.\n" - "Once you have registered and activated your account, " - "visit {proto}://{site}{about_path} to join the course.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - self.course.display_name, proto=protocol, site=self.site_name, about_path=self.about_path - ) - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + register_url = '{proto}://{site}/register'.format(proto=protocol, site=self.site_name) + + assert text_body.startswith('Dear student,') + assert 'To finish your registration, please visit {register_url}'.format( + register_url=register_url, + ) in text_body + assert 'Please finish your registration and fill out' in html_body + assert register_url in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to join {course} at edx.org by a member of the course staff.'.format( + course=self.course.display_name + ) in body + + assert ('fill out the registration form making sure to use ' + 'robot-not-an-email-yet@robot.org in the Email field') in body + + assert 'Once you have registered and activated your account,' in body + + assert '{proto}://{site}{about_path}'.format( + proto=protocol, + site=self.site_name, + about_path=self.about_path + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body @ddt.data('http', 'https') @patch.dict(settings.FEATURES, {'ENABLE_MKTG_SITE': True}) @@ -1358,17 +1384,32 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest self.assertEqual(manual_enrollments.count(), 1) self.assertEqual(manual_enrollments[0].state_transition, UNENROLLED_TO_ALLOWEDTOENROLL) self.assertEqual(response.status_code, 200) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {display_name}" - " at edx.org by a member of the course staff.\n\n" - "To finish your registration, please visit {proto}://{site}/register and fill out the registration form " - "making sure to use robot-not-an-email-yet@robot.org in the E-mail field.\n" - "You can then enroll in {display_name}.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - display_name=self.course.display_name, proto=protocol, site=self.site_name - ) - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + + assert text_body.startswith('Dear student,') + assert 'To finish your registration, please visit' in text_body + assert 'Please finish your registration and fill' in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to join {display_name} at edx.org by a member of the course staff.'.format( + display_name=self.course.display_name + ) in body + + assert '{proto}://{site}/register'.format( + proto=protocol, + site=self.site_name + ) in body + + assert ('fill out the registration form making sure to use ' + 'robot-not-an-email-yet@robot.org in the Email field') in body + + assert 'You can then enroll in {display_name}.'.format( + display_name=self.course.display_name + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body @ddt.data('http', 'https') def test_enroll_with_email_not_registered_autoenroll(self, protocol): @@ -1389,19 +1430,38 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest manual_enrollments = ManualEnrollmentAudit.objects.all() self.assertEqual(manual_enrollments.count(), 1) self.assertEqual(manual_enrollments[0].state_transition, UNENROLLED_TO_ALLOWEDTOENROLL) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {display_name}" - " at edx.org by a member of the course staff.\n\n" - "To finish your registration, please visit {proto}://{site}/register and fill out the registration form " - "making sure to use robot-not-an-email-yet@robot.org in the E-mail field.\n" - "Once you have registered and activated your account," - " you will see {display_name} listed on your dashboard.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - proto=protocol, site=self.site_name, display_name=self.course.display_name - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + register_url = '{proto}://{site}/register'.format( + proto=protocol, + site=self.site_name, ) + assert text_body.startswith('Dear student,') + assert 'To finish your registration, please visit {register_url}'.format( + register_url=register_url, + ) in text_body + assert 'Please finish your registration and fill out the registration' in html_body + assert 'Finish Your Registration' in html_body + assert register_url in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to join {display_name} at edx.org by a member of the course staff.'.format( + display_name=self.course.display_name + ) in body + + assert (' and fill ' + 'out the registration form making sure to use robot-not-an-email-yet@robot.org ' + 'in the Email field') in body + + assert ('Once you have registered and activated your account, ' + 'you will see {display_name} listed on your dashboard.').format( + display_name=self.course.display_name + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body + def test_unenroll_without_email(self): url = reverse('students_update_enrollment', kwargs={'course_id': text_type(self.course.id)}) response = self.client.post(url, {'identifiers': self.enrolled_student.email, 'action': 'unenroll', @@ -1489,18 +1549,22 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest self.assertEqual(len(mail.outbox), 1) self.assertEqual( mail.outbox[0].subject, - 'You have been un-enrolled from {display_name}'.format(display_name=self.course.display_name,) + 'You have been unenrolled from {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - "Dear Enrolled Student\n\nYou have been un-enrolled in {display_name} " - "at edx.org by a member of the course staff. " - "The course will no longer appear on your edx.org dashboard.\n\n" - "Your other courses have not been affected.\n\n----\n" - "This email was automatically sent from edx.org to Enrolled Student".format( + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + + assert text_body.startswith('Dear Enrolled Student') + + for body in [text_body, html_body]: + assert 'You have been unenrolled from {display_name} at edx.org by a member of the course staff.'.format( display_name=self.course.display_name, - ) - ) + ) in body + + assert 'This course will no longer appear on your edx.org dashboard.' in body + assert 'Your other courses have not been affected.' in body + assert 'This email was automatically sent from edx.org to Enrolled Student' in body def test_unenroll_with_email_allowed_student(self): url = reverse('students_update_enrollment', kwargs={'course_id': text_type(self.course.id)}) @@ -1542,16 +1606,20 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest self.assertEqual(len(mail.outbox), 1) self.assertEqual( mail.outbox[0].subject, - 'You have been un-enrolled from {display_name}'.format(display_name=self.course.display_name,) + 'You have been unenrolled from {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - "Dear Student,\n\nYou have been un-enrolled from course {display_name} by a member of the course staff. " - "Please disregard the invitation previously sent.\n\n----\n" - "This email was automatically sent from edx.org to robot-allowed@robot.org".format( + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + assert text_body.startswith('Dear Student,') + + for body in [text_body, html_body]: + assert 'You have been unenrolled from the course {display_name} by a member of the course staff.'.format( display_name=self.course.display_name, - ) - ) + ) in body + + assert 'Please disregard the invitation previously sent.' in body + assert 'This email was automatically sent from edx.org to robot-allowed@robot.org' in body @ddt.data('http', 'https') @patch('lms.djangoapps.instructor.enrollment.uses_shib') @@ -1571,15 +1639,26 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest 'You have been invited to register for {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {display_name} at edx.org by a member of the course staff.\n\n" - "To access the course visit {proto}://{site}{about_path} and register for the course.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - proto=protocol, site=self.site_name, about_path=self.about_path, - display_name=self.course.display_name, - ) + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + course_url = '{proto}://{site}{about_path}'.format( + proto=protocol, + site=self.site_name, + about_path=self.about_path, ) + assert text_body.startswith('Dear student,') + assert 'To access this course visit {course_url} and register for this course.'.format( + course_url=course_url, + ) in text_body + assert 'To access this course visit it and register:' in html_body + assert course_url in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to join {display_name} at edx.org by a member of the course staff.'.format( + display_name=self.course.display_name, + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body @patch('lms.djangoapps.instructor.enrollment.uses_shib') @patch.dict(settings.FEATURES, {'ENABLE_MKTG_SITE': True}) @@ -1594,13 +1673,17 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest 'email_students': True}) self.assertEqual(response.status_code, 200) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {} at edx.org by a member of the course staff.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - self.course.display_name, - ) - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + assert text_body.startswith('Dear student,') + + for body in [text_body, html_body]: + assert 'You have been invited to join {display_name} at edx.org by a member of the course staff.'.format( + display_name=self.course.display_name, + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body @ddt.data('http', 'https') @patch('lms.djangoapps.instructor.enrollment.uses_shib') @@ -1622,17 +1705,24 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest 'You have been invited to register for {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - "Dear student,\n\nYou have been invited to join {display_name}" - " at edx.org by a member of the course staff.\n\n" - "To access the course visit {proto}://{site}{course_path} and login.\n\n----\n" - "This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org".format( - display_name=self.course.display_name, - proto=protocol, site=self.site_name, course_path=self.course_path - ) + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + course_url = '{proto}://{site}{course_path}'.format( + proto=protocol, site=self.site_name, course_path=self.course_path, ) + assert text_body.startswith('Dear student,') + assert course_url in html_body + assert 'To access this course visit {course_url} and login.'.format(course_url=course_url) in text_body + assert 'To access this course click on the button below and login:' in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to join {display_name} at edx.org by a member of the course staff.'.format( + display_name=self.course.display_name, + ) in body + + assert 'This email was automatically sent from edx.org to robot-not-an-email-yet@robot.org' in body + def test_enroll_already_enrolled_student(self): """ Ensure that already enrolled "verified" students cannot be downgraded @@ -1965,21 +2055,29 @@ class TestInstructorAPIBulkBetaEnrollment(SharedModuleStoreTestCase, LoginEnroll 'You have been invited to a beta test for {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - u"Dear {student_name}\n\nYou have been invited to be a beta tester " - "for {display_name} at edx.org by a member of the course staff.\n\n" - "Visit {proto}://{site}{about_path} to join " - "the course and begin the beta test.\n\n----\n" - "This email was automatically sent from edx.org to {student_email}".format( + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + student_name = self.notenrolled_student.profile.name + assert text_body.startswith('Dear {student_name}'.format(student_name=student_name)) + assert 'Visit {display_name}'.format(display_name=self.course.display_name) in html_body + + for body in [text_body, html_body]: + assert 'You have been invited to be a beta tester for {display_name} at edx.org'.format( display_name=self.course.display_name, - student_name=self.notenrolled_student.profile.name, - student_email=self.notenrolled_student.email, + ) in body + + assert 'by a member of the course staff.' in body + assert 'enroll in this course and begin the beta test' in body + + assert '{proto}://{site}{about_path}'.format( proto=protocol, site=self.site_name, - about_path=self.about_path - ) - ) + about_path=self.about_path, + ) in body + + assert 'This email was automatically sent from edx.org to {student_email}'.format( + student_email=self.notenrolled_student.email, + ) in body @ddt.data('http', 'https') def test_add_notenrolled_with_email_autoenroll(self, protocol): @@ -2013,21 +2111,28 @@ class TestInstructorAPIBulkBetaEnrollment(SharedModuleStoreTestCase, LoginEnroll 'You have been invited to a beta test for {display_name}'.format(display_name=self.course.display_name) ) - self.assertEqual( - mail.outbox[0].body, - u"Dear {student_name}\n\nYou have been invited to be a beta tester " - "for {display_name} at edx.org by a member of the course staff.\n\n" - "To start accessing course materials, please visit " - "{proto}://{site}{course_path}\n\n----\n" - "This email was automatically sent from edx.org to {student_email}".format( + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + student_name = self.notenrolled_student.profile.name + assert text_body.startswith('Dear {student_name}'.format(student_name=student_name)) + + for body in [text_body, html_body]: + assert 'You have been invited to be a beta tester for {display_name} at edx.org'.format( display_name=self.course.display_name, - student_name=self.notenrolled_student.profile.name, - student_email=self.notenrolled_student.email, + ) in body + + assert 'by a member of the course staff' in body + + assert 'To start accessing course materials, please visit' in body + assert '{proto}://{site}{course_path}'.format( proto=protocol, site=self.site_name, course_path=self.course_path ) - ) + + assert 'This email was automatically sent from edx.org to {student_email}'.format( + student_email=self.notenrolled_student.email, + ) in body @patch.dict(settings.FEATURES, {'ENABLE_MKTG_SITE': True}) def test_add_notenrolled_email_mktgsite(self): @@ -2036,17 +2141,23 @@ class TestInstructorAPIBulkBetaEnrollment(SharedModuleStoreTestCase, LoginEnroll response = self.client.post(url, {'identifiers': self.notenrolled_student.email, 'action': 'add', 'email_students': True}) self.assertEqual(response.status_code, 200) - self.assertEqual( - mail.outbox[0].body, - u"Dear {}\n\nYou have been invited to be a beta tester " - "for {} at edx.org by a member of the course staff.\n\n" - "Visit edx.org to enroll in the course and begin the beta test.\n\n----\n" - "This email was automatically sent from edx.org to {}".format( - self.notenrolled_student.profile.name, - self.course.display_name, - self.notenrolled_student.email, - ) - ) + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + student_name = self.notenrolled_student.profile.name + assert text_body.startswith('Dear {student_name}'.format(student_name=student_name)) + + for body in [text_body, html_body]: + assert 'You have been invited to be a beta tester for {display_name} at edx.org'.format( + display_name=self.course.display_name, + ) in body + + assert 'by a member of the course staff.' in body + assert 'Visit edx.org' in body + assert 'enroll in this course and begin the beta test' in body + assert 'This email was automatically sent from edx.org to {student_email}'.format( + student_email=self.notenrolled_student.email, + ) in body def test_enroll_with_email_not_registered(self): # User doesn't exist @@ -2137,19 +2248,24 @@ class TestInstructorAPIBulkBetaEnrollment(SharedModuleStoreTestCase, LoginEnroll mail.outbox[0].subject, u'You have been removed from a beta test for {display_name}'.format(display_name=self.course.display_name,) ) - self.assertEqual( - mail.outbox[0].body, - "Dear {full_name}\n\nYou have been removed as a beta tester for " - "{display_name} at edx.org by a member of the course staff. " - "The course will remain on your dashboard, but you will no longer " - "be part of the beta testing group.\n\n" - "Your other courses have not been affected.\n\n----\n" - "This email was automatically sent from edx.org to {email_address}".format( + + text_body = mail.outbox[0].body + html_body = mail.outbox[0].alternatives[0][0] + assert text_body.startswith('Dear {name}'.format(name=self.beta_tester.profile.name)) + + for body in [text_body, html_body]: + assert 'You have been removed as a beta tester for {display_name} at edx.org'.format( display_name=self.course.display_name, - full_name=self.beta_tester.profile.name, - email_address=self.beta_tester.email - ) - ) + ) in body + + assert ('This course will remain on your dashboard, but you will no longer be ' + 'part of the beta testing group.') in body + + assert 'Your other courses have not been affected.' in body + + assert 'This email was automatically sent from edx.org to {email_address}'.format( + email_address=self.beta_tester.email, + ) in body @attr(shard=5) diff --git a/lms/djangoapps/instructor/tests/test_api_email_localization.py b/lms/djangoapps/instructor/tests/test_api_email_localization.py index e4af756a8d..9432473796 100644 --- a/lms/djangoapps/instructor/tests/test_api_email_localization.py +++ b/lms/djangoapps/instructor/tests/test_api_email_localization.py @@ -33,14 +33,14 @@ class TestInstructorAPIEnrollmentEmailLocalization(SharedModuleStoreTestCase): super(TestInstructorAPIEnrollmentEmailLocalization, self).setUp() # Platform language is English, instructor's language is Chinese, - # student's language is French, so the emails should all be sent in - # French. + # student's language is Esperanto, so the emails should all be sent in + # Esperanto. self.instructor = InstructorFactory(course_key=self.course.id) set_user_preference(self.instructor, LANGUAGE_KEY, 'zh-cn') self.client.login(username=self.instructor.username, password='test') self.student = UserFactory.create() - set_user_preference(self.student, LANGUAGE_KEY, 'fr') + set_user_preference(self.student, LANGUAGE_KEY, 'eo') def update_enrollement(self, action, student_email): """ @@ -51,12 +51,12 @@ class TestInstructorAPIEnrollmentEmailLocalization(SharedModuleStoreTestCase): response = self.client.post(url, args) return response - def check_outbox_is_french(self): + def check_outbox_is_esperanto(self): """ Check that the email outbox contains exactly one message for which both - the message subject and body contain a certain French string. + the message subject and body contain a certain Esperanto string. """ - return self.check_outbox(u"Vous avez été") + return self.check_outbox(u"Ýöü hävé ßéén") def check_outbox(self, expected_message): """ @@ -70,7 +70,7 @@ class TestInstructorAPIEnrollmentEmailLocalization(SharedModuleStoreTestCase): def test_enroll(self): self.update_enrollement("enroll", self.student.email) - self.check_outbox_is_french() + self.check_outbox_is_esperanto() def test_unenroll(self): CourseEnrollment.enroll( @@ -79,22 +79,22 @@ class TestInstructorAPIEnrollmentEmailLocalization(SharedModuleStoreTestCase): ) self.update_enrollement("unenroll", self.student.email) - self.check_outbox_is_french() + self.check_outbox_is_esperanto() def test_set_beta_role(self): url = reverse('bulk_beta_modify_access', kwargs={'course_id': text_type(self.course.id)}) self.client.post(url, {'identifiers': self.student.email, 'action': 'add', 'email_students': 'true'}) - self.check_outbox_is_french() + self.check_outbox_is_esperanto() def test_enroll_unsubscribed_student(self): # Student is unknown, so the platform language should be used self.update_enrollement("enroll", "newuser@hotmail.com") self.check_outbox("You have been") - @override_settings(LANGUAGE_CODE="fr") - def test_user_without_preference_receives_email_in_french(self): + @override_settings(LANGUAGE_CODE="eo") + def test_user_without_preference_receives_email_in_esperanto(self): delete_user_preference(self.student, LANGUAGE_KEY) self.update_enrollement("enroll", self.student.email) - self.check_outbox_is_french() + self.check_outbox_is_esperanto() diff --git a/lms/djangoapps/instructor/tests/test_enrollment.py b/lms/djangoapps/instructor/tests/test_enrollment.py index f21b53c1c2..c505e26127 100644 --- a/lms/djangoapps/instructor/tests/test_enrollment.py +++ b/lms/djangoapps/instructor/tests/test_enrollment.py @@ -6,6 +6,7 @@ Unit tests for instructor.enrollment methods. import json from abc import ABCMeta +import ddt import mock from ccx_keys.locator import CCXLocator from django.conf import settings @@ -31,6 +32,7 @@ from lms.djangoapps.instructor.enrollment import ( send_beta_role_email, unenroll_email ) +from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, get_mock_request from openedx.core.lib.tests import attr from student.models import CourseEnrollment, CourseEnrollmentAllowed, anonymous_id_for_user @@ -762,7 +764,8 @@ class TestGetEmailParams(SharedModuleStoreTestCase): @attr(shard=1) -class TestRenderMessageToString(SharedModuleStoreTestCase): +@ddt.ddt +class TestRenderMessageToString(EmailTemplateTagMixin, SharedModuleStoreTestCase): """ Test that email templates can be rendered in a language chosen manually. Test CCX enrollmet email. @@ -773,8 +776,8 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): def setUpClass(cls): super(TestRenderMessageToString, cls).setUpClass() cls.course = CourseFactory.create() - cls.subject_template = 'emails/enroll_email_allowedsubject.txt' - cls.message_template = 'emails/enroll_email_allowedmessage.txt' + cls.subject_template = 'instructor/edx_ace/allowedenroll/email/subject.txt' + cls.message_template = 'instructor/edx_ace/allowedenroll/email/body.txt' @patch.dict('django.conf.settings.FEATURES', {'CUSTOM_COURSES_EDX': True}) def setUp(self): @@ -792,6 +795,7 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): email_params = get_email_params(self.course, True) email_params["email_address"] = "user@example.com" email_params["full_name"] = "Jean Reno" + email_params["course_name"] = email_params["display_name"] return email_params @@ -807,6 +811,8 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): ) email_params["email_address"] = "user@example.com" email_params["full_name"] = "Jean Reno" + email_params["course_name"] = email_params["display_name"] + email_params.update(self.context) return email_params @@ -832,12 +838,12 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): ) def test_subject_and_message_translation(self): - subject, message = self.get_subject_and_message('fr') + subject, message = self.get_subject_and_message('eo') language_after_rendering = get_language() - you_have_been_invited_in_french = u"Vous avez été invité" - self.assertIn(you_have_been_invited_in_french, subject) - self.assertIn(you_have_been_invited_in_french, message) + you_have_been_invited_in_esperanto = u"Ýöü hävé ßéén" + self.assertIn(you_have_been_invited_in_esperanto, subject) + self.assertIn(you_have_been_invited_in_esperanto, message) self.assertEqual(settings.LANGUAGE_CODE, language_after_rendering) def test_platform_language_is_used_for_logged_in_user(self): @@ -847,15 +853,19 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): self.assertIn("You have been", message) @patch.dict('django.conf.settings.FEATURES', {'CUSTOM_COURSES_EDX': True}) - def test_render_enrollment_message_ccx_members(self): + @ddt.data('body.txt', 'body.html') + def test_render_enrollment_message_ccx_members(self, body_file_name): """ Test enrollment email template renders for CCX. For EDX members. """ - subject_template = 'emails/enroll_email_enrolledsubject.txt' - message_template = 'emails/enroll_email_enrolledmessage.txt' + subject_template = 'instructor/edx_ace/enrollenrolled/email/subject.txt' + body_template = 'instructor/edx_ace/enrollenrolled/email/{body_file_name}'.format( + body_file_name=body_file_name, + ) + + subject, message = self.get_subject_and_message_ccx(subject_template, body_template) - subject, message = self.get_subject_and_message_ccx(subject_template, message_template) self.assertIn(self.ccx.display_name, subject) self.assertIn(self.ccx.display_name, message) site = settings.SITE_NAME @@ -866,28 +876,34 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): self.assertIn(course_url, message) @patch.dict('django.conf.settings.FEATURES', {'CUSTOM_COURSES_EDX': True}) - def test_render_unenrollment_message_ccx_members(self): + @ddt.data('body.txt', 'body.html') + def test_render_unenrollment_message_ccx_members(self, body_file_name): """ Test unenrollment email template renders for CCX. For EDX members. """ - subject_template = 'emails/unenroll_email_subject.txt' - message_template = 'emails/unenroll_email_enrolledmessage.txt' + subject_template = 'instructor/edx_ace/enrolledunenroll/email/subject.txt' + body_template = 'instructor/edx_ace/enrolledunenroll/email/{body_file_name}'.format( + body_file_name=body_file_name, + ) - subject, message = self.get_subject_and_message_ccx(subject_template, message_template) + subject, message = self.get_subject_and_message_ccx(subject_template, body_template) self.assertIn(self.ccx.display_name, subject) self.assertIn(self.ccx.display_name, message) @patch.dict('django.conf.settings.FEATURES', {'CUSTOM_COURSES_EDX': True}) - def test_render_enrollment_message_ccx_non_members(self): + @ddt.data('body.txt', 'body.html') + def test_render_enrollment_message_ccx_non_members(self, body_file_name): """ Test enrollment email template renders for CCX. For non EDX members. """ - subject_template = 'emails/enroll_email_allowedsubject.txt' - message_template = 'emails/enroll_email_allowedmessage.txt' + subject_template = 'instructor/edx_ace/allowedenroll/email/subject.txt' + body_template = 'instructor/edx_ace/allowedenroll/email/{body_file_name}'.format( + body_file_name=body_file_name, + ) - subject, message = self.get_subject_and_message_ccx(subject_template, message_template) + subject, message = self.get_subject_and_message_ccx(subject_template, body_template) self.assertIn(self.ccx.display_name, subject) self.assertIn(self.ccx.display_name, message) site = settings.SITE_NAME @@ -895,14 +911,17 @@ class TestRenderMessageToString(SharedModuleStoreTestCase): self.assertIn(registration_url, message) @patch.dict('django.conf.settings.FEATURES', {'CUSTOM_COURSES_EDX': True}) - def test_render_unenrollment_message_ccx_non_members(self): + @ddt.data('body.txt', 'body.html') + def test_render_unenrollment_message_ccx_non_members(self, body_file_name): """ Test unenrollment email template renders for CCX. For non EDX members. """ - subject_template = 'emails/unenroll_email_subject.txt' - message_template = 'emails/unenroll_email_allowedmessage.txt' + subject_template = 'instructor/edx_ace/allowedunenroll/email/subject.txt' + body_template = 'instructor/edx_ace/allowedunenroll/email/{body_file_name}'.format( + body_file_name=body_file_name, + ) - subject, message = self.get_subject_and_message_ccx(subject_template, message_template) + subject, message = self.get_subject_and_message_ccx(subject_template, body_template) self.assertIn(self.ccx.display_name, subject) self.assertIn(self.ccx.display_name, message) diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index 4bd40fbee2..b2c50c4036 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -574,7 +574,7 @@ def create_and_enroll_user(email, username, name, country, password, course_id, try: # It's a new user, an email will be sent to each newly created user. email_params.update({ - 'message': 'account_creation_and_enrollment', + 'message_type': 'account_creation_and_enrollment', 'email_address': email, 'password': password, 'platform_name': configuration_helpers.get_value('platform_name', settings.PLATFORM_NAME), diff --git a/lms/djangoapps/instructor/views/registration_codes.py b/lms/djangoapps/instructor/views/registration_codes.py index 357de69be6..1c1123ff92 100644 --- a/lms/djangoapps/instructor/views/registration_codes.py +++ b/lms/djangoapps/instructor/views/registration_codes.py @@ -118,7 +118,7 @@ def delete_redemption_entry(request, code_redemption, course_key): course = get_course_by_id(course_key, depth=0) email_params = get_email_params(course, True, secure=request.is_secure()) - email_params['message'] = 'enrolled_unenroll' + email_params['message_type'] = 'enrolled_unenroll' email_params['email_address'] = email_address email_params['full_name'] = full_name send_mail_to_student(email_address, email_params) diff --git a/lms/templates/ccx/enroll_email_allowedmessage.txt b/lms/templates/ccx/enroll_email_allowedmessage.txt deleted file mode 100644 index 4315b038d0..0000000000 --- a/lms/templates/ccx/enroll_email_allowedmessage.txt +++ /dev/null @@ -1,43 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear student,")} - -${_("You have been invited to join {course_name} at {site_name} by a " - "member of the course staff.").format( - course_name=course.display_name, - site_name=site_name - )} -% if is_shib_course: -% if auto_enroll: - -${_("To access the course visit {course_url} and login.").format(course_url=course_url)} -% elif course_about_url is not None: - -${_("To access the course visit {course_about_url} and register for the course.").format( - course_about_url=course_about_url)} -% endif -% else: - -${_("To finish your registration, please visit {registration_url} and fill " - "out the registration form making sure to use {email_address} in the E-mail field.").format( - registration_url=registration_url, - email_address=email_address - )} -% if auto_enroll: -${_("Once you have registered and activated your account, you will see " - "{course_name} listed on your dashboard.").format( - course_name=course.display_name - )} -% elif course_about_url is not None: -${_("Once you have registered and activated your account, visit {course_about_url} " - "to join the course.").format(course_about_url=course_about_url)} -% else: -${_("You can then enroll in {course_name}.").format(course_name=course.display_name)} -% endif -% endif - ----- -${_("This email was automatically sent from {site_name} to " - "{email_address}").format( - site_name=site_name, email_address=email_address - )} diff --git a/lms/templates/ccx/enroll_email_allowedsubject.txt b/lms/templates/ccx/enroll_email_allowedsubject.txt deleted file mode 100644 index 0a39036140..0000000000 --- a/lms/templates/ccx/enroll_email_allowedsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been invited to register for {course_name}").format( - course_name=course.display_name - )} diff --git a/lms/templates/ccx/enroll_email_enrolledmessage.txt b/lms/templates/ccx/enroll_email_enrolledmessage.txt deleted file mode 100644 index b24f5a4a36..0000000000 --- a/lms/templates/ccx/enroll_email_enrolledmessage.txt +++ /dev/null @@ -1,20 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course should now appear on your {site_name} " - "dashboard.").format( - course_name=course.display_name, - site_name=site_name - )} - -${_("To start accessing course materials, please visit {course_url}").format( - course_url=course_url - )} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - site_name=site_name, full_name=full_name - )} diff --git a/lms/templates/ccx/enroll_email_enrolledsubject.txt b/lms/templates/ccx/enroll_email_enrolledsubject.txt deleted file mode 100644 index dc84c3f0a8..0000000000 --- a/lms/templates/ccx/enroll_email_enrolledsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been enrolled in {course_name}").format( - course_name=course.display_name - )} diff --git a/lms/templates/ccx/unenroll_email_allowedmessage.txt b/lms/templates/ccx/unenroll_email_allowedmessage.txt deleted file mode 100644 index 6eca90b8d5..0000000000 --- a/lms/templates/ccx/unenroll_email_allowedmessage.txt +++ /dev/null @@ -1,13 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear Student,")} - -${_("You have been un-enrolled from course {course_name} by a member " - "of the course staff. Please disregard the invitation " - "previously sent.").format(course_name=course.display_name)} - ----- -${_("This email was automatically sent from {site_name} " - "to {email_address}").format( - site_name=site_name, email_address=email_address - )} diff --git a/lms/templates/ccx/unenroll_email_enrolledmessage.txt b/lms/templates/ccx/unenroll_email_enrolledmessage.txt deleted file mode 100644 index 38770886c0..0000000000 --- a/lms/templates/ccx/unenroll_email_enrolledmessage.txt +++ /dev/null @@ -1,17 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been un-enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course will no longer appear on your " - "{site_name} dashboard.").format( - course_name=course.display_name, site_name=site_name - )} - -${_("Your other courses have not been affected.")} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - full_name=full_name, site_name=site_name - )} diff --git a/lms/templates/ccx/unenroll_email_subject.txt b/lms/templates/ccx/unenroll_email_subject.txt deleted file mode 100644 index 4b971dcb35..0000000000 --- a/lms/templates/ccx/unenroll_email_subject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been un-enrolled from {course_name}").format( - course_name=course.display_name -)} diff --git a/lms/templates/emails/account_creation_and_enroll_emailMessage.txt b/lms/templates/emails/account_creation_and_enroll_emailMessage.txt deleted file mode 100644 index 0d88ebe34d..0000000000 --- a/lms/templates/emails/account_creation_and_enroll_emailMessage.txt +++ /dev/null @@ -1,14 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Welcome to {course_name}").format(course_name=course.display_name_with_default_escaped)} - -${_("To get started, please visit https://{site_name}. The login information for your account follows.").format(site_name=site_name)} - -${_("email: {email}").format(email=email_address)} -${_("password: {password}").format(password=password)} - -${_("It is recommended that you change your password.")} - -${_("Sincerely yours," -"" -"The {course_name} Team").format(course_name=course.display_name_with_default_escaped)} diff --git a/lms/templates/emails/activation_email.txt b/lms/templates/emails/activation_email.txt index 4c4d431a0c..f5b1f09331 100644 --- a/lms/templates/emails/activation_email.txt +++ b/lms/templates/emails/activation_email.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("You're almost there! Use the link to activate your account to access engaging, high-quality " "{platform_name} courses. Note that you will not be able to log back into your account until " diff --git a/lms/templates/emails/activation_email_subject.txt b/lms/templates/emails/activation_email_subject.txt index cdb52fe458..a6961b8e6a 100644 --- a/lms/templates/emails/activation_email_subject.txt +++ b/lms/templates/emails/activation_email_subject.txt @@ -1,2 +1,3 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("Action Required: Activate your {platform_name} account").format(platform_name=platform_name)} diff --git a/lms/templates/emails/add_beta_tester_email_message.txt b/lms/templates/emails/add_beta_tester_email_message.txt deleted file mode 100644 index 9c544bda32..0000000000 --- a/lms/templates/emails/add_beta_tester_email_message.txt +++ /dev/null @@ -1,25 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been invited to be a beta tester for {course_name} at {site_name} by a " - "member of the course staff.").format( - course_name=course.display_name_with_default_escaped, - site_name=site_name - )} - -% if auto_enroll: -${_("To start accessing course materials, please visit {course_url}").format( - course_url=course_url - )} -% elif course_about_url is not None: -${_("Visit {course_about_url} to join the course and begin the beta test.").format(course_about_url=course_about_url)} -% else: -${_("Visit {site_name} to enroll in the course and begin the beta test.").format(site_name=site_name)} -% endif - ----- -${_("This email was automatically sent from {site_name} to " - "{email_address}").format( - site_name=site_name, email_address=email_address - )} diff --git a/lms/templates/emails/add_beta_tester_email_subject.txt b/lms/templates/emails/add_beta_tester_email_subject.txt deleted file mode 100644 index eee3f83a8d..0000000000 --- a/lms/templates/emails/add_beta_tester_email_subject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been invited to a beta test for {course_name}").format( - course_name=course.display_name_with_default_escaped - )} diff --git a/lms/templates/emails/business_order_confirmation_email.txt b/lms/templates/emails/business_order_confirmation_email.txt index 5da0c794a8..8e83c86712 100644 --- a/lms/templates/emails/business_order_confirmation_email.txt +++ b/lms/templates/emails/business_order_confirmation_email.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %>

${_("Hi {name},").format(name=recipient_name)} diff --git a/lms/templates/emails/confirm_email_change.txt b/lms/templates/emails/confirm_email_change.txt index 8f5df7083e..3bff7faa4a 100644 --- a/lms/templates/emails/confirm_email_change.txt +++ b/lms/templates/emails/confirm_email_change.txt @@ -1,3 +1,4 @@ +## mako <%! from django.urls import reverse %> <%! from django.utils.translation import ugettext as _ %> <%! from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers %> diff --git a/lms/templates/emails/email_change.txt b/lms/templates/emails/email_change.txt index a025d2dbf0..a589369c6f 100644 --- a/lms/templates/emails/email_change.txt +++ b/lms/templates/emails/email_change.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> <%! from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers %> ${_("We received a request to change the e-mail associated with your " diff --git a/lms/templates/emails/email_change_subject.txt b/lms/templates/emails/email_change_subject.txt index 11c27e52de..683e4fff1c 100644 --- a/lms/templates/emails/email_change_subject.txt +++ b/lms/templates/emails/email_change_subject.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> <%! from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers %> ${_("Request to change {platform_name} account e-mail").format( diff --git a/lms/templates/emails/enroll_email_allowedmessage.txt b/lms/templates/emails/enroll_email_allowedmessage.txt deleted file mode 100644 index 8f120a10f2..0000000000 --- a/lms/templates/emails/enroll_email_allowedmessage.txt +++ /dev/null @@ -1,43 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear student,")} - -${_("You have been invited to join {course_name} at {site_name} by a " - "member of the course staff.").format( - course_name=display_name or course.display_name_with_default_escaped, - site_name=site_name - )} -% if is_shib_course: -% if auto_enroll: - -${_("To access the course visit {course_url} and login.").format(course_url=course_url)} -% elif course_about_url is not None: - -${_("To access the course visit {course_about_url} and register for the course.").format( - course_about_url=course_about_url)} -% endif -% else: - -${_("To finish your registration, please visit {registration_url} and fill " - "out the registration form making sure to use {email_address} in the E-mail field.").format( - registration_url=registration_url, - email_address=email_address - )} -% if auto_enroll: -${_("Once you have registered and activated your account, you will see " - "{course_name} listed on your dashboard.").format( - course_name=display_name or course.display_name_with_default_escaped - )} -% elif course_about_url is not None: -${_("Once you have registered and activated your account, visit {course_about_url} " - "to join the course.").format(course_about_url=course_about_url)} -% else: -${_("You can then enroll in {course_name}.").format(course_name=display_name or course.display_name_with_default_escaped)} -% endif -% endif - ----- -${_("This email was automatically sent from {site_name} to " - "{email_address}").format( - site_name=site_name, email_address=email_address - )} diff --git a/lms/templates/emails/enroll_email_allowedsubject.txt b/lms/templates/emails/enroll_email_allowedsubject.txt deleted file mode 100644 index 3a9df2271c..0000000000 --- a/lms/templates/emails/enroll_email_allowedsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been invited to register for {course_name}").format( - course_name=display_name or course.display_name_with_default_escaped - )} \ No newline at end of file diff --git a/lms/templates/emails/enroll_email_enrolledmessage.txt b/lms/templates/emails/enroll_email_enrolledmessage.txt deleted file mode 100644 index cc40568280..0000000000 --- a/lms/templates/emails/enroll_email_enrolledmessage.txt +++ /dev/null @@ -1,20 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course should now appear on your {site_name} " - "dashboard.").format( - course_name=display_name or course.display_name_with_default_escaped, - site_name=site_name - )} - -${_("To start accessing course materials, please visit {course_url}").format( - course_url=course_url - )} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - site_name=site_name, full_name=full_name - )} \ No newline at end of file diff --git a/lms/templates/emails/enroll_email_enrolledsubject.txt b/lms/templates/emails/enroll_email_enrolledsubject.txt deleted file mode 100644 index 7774aac1cc..0000000000 --- a/lms/templates/emails/enroll_email_enrolledsubject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been enrolled in {course_name}").format( - course_name=display_name or course.display_name_with_default_escaped - )} \ No newline at end of file diff --git a/lms/templates/emails/order_confirmation_email.txt b/lms/templates/emails/order_confirmation_email.txt index 706378158d..b875edef84 100644 --- a/lms/templates/emails/order_confirmation_email.txt +++ b/lms/templates/emails/order_confirmation_email.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("Hi {name},").format(name=order.user.profile.name)} diff --git a/lms/templates/emails/photo_submission_confirmation.txt b/lms/templates/emails/photo_submission_confirmation.txt index d54c7866df..44c97790a1 100644 --- a/lms/templates/emails/photo_submission_confirmation.txt +++ b/lms/templates/emails/photo_submission_confirmation.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("Hi {full_name},").format(full_name=full_name)} diff --git a/lms/templates/emails/registration_codes_sale_email.txt b/lms/templates/emails/registration_codes_sale_email.txt index e6fbd71515..876a88855f 100644 --- a/lms/templates/emails/registration_codes_sale_email.txt +++ b/lms/templates/emails/registration_codes_sale_email.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("Thank you for purchasing enrollments in {course_name}.").format(course_name=course.display_name)} diff --git a/lms/templates/emails/registration_codes_sale_invoice_attachment.txt b/lms/templates/emails/registration_codes_sale_invoice_attachment.txt index cc01c944f2..ef1eacb73f 100644 --- a/lms/templates/emails/registration_codes_sale_invoice_attachment.txt +++ b/lms/templates/emails/registration_codes_sale_invoice_attachment.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> ${_("INVOICE")} diff --git a/lms/templates/emails/reject_name_change.txt b/lms/templates/emails/reject_name_change.txt index 33816faf7b..4079d964bd 100644 --- a/lms/templates/emails/reject_name_change.txt +++ b/lms/templates/emails/reject_name_change.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> <%namespace name='static' file='../static_content.html'/> (Not currently used) diff --git a/lms/templates/emails/remove_beta_tester_email_message.txt b/lms/templates/emails/remove_beta_tester_email_message.txt deleted file mode 100644 index 6bcfa51de8..0000000000 --- a/lms/templates/emails/remove_beta_tester_email_message.txt +++ /dev/null @@ -1,18 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been removed as a beta tester for {course_name} at {site_name} by a " - "member of the course staff. The course will remain on your dashboard, but " - "you will no longer be part of the beta testing group.").format( - course_name=course.display_name_with_default_escaped, - site_name=site_name - )} - -${_("Your other courses have not been affected.")} - ----- -${_("This email was automatically sent from {site_name} to " - "{email_address}").format( - site_name=site_name, email_address=email_address - )} diff --git a/lms/templates/emails/remove_beta_tester_email_subject.txt b/lms/templates/emails/remove_beta_tester_email_subject.txt deleted file mode 100644 index 47cb095026..0000000000 --- a/lms/templates/emails/remove_beta_tester_email_subject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been removed from a beta test for {course_name}").format( - course_name=course.display_name_with_default_escaped - )} diff --git a/lms/templates/emails/reverification_processed.txt b/lms/templates/emails/reverification_processed.txt index a35c149b3b..0f65e16ac6 100644 --- a/lms/templates/emails/reverification_processed.txt +++ b/lms/templates/emails/reverification_processed.txt @@ -1,3 +1,4 @@ +## mako <%! from django.utils.translation import ugettext as _ %> % if status == "approved": ${_("We have successfully verified your identity for the {assessment} assessment in the {course_name} course." diff --git a/lms/templates/emails/unenroll_email_allowedmessage.txt b/lms/templates/emails/unenroll_email_allowedmessage.txt deleted file mode 100644 index 5b2524a046..0000000000 --- a/lms/templates/emails/unenroll_email_allowedmessage.txt +++ /dev/null @@ -1,13 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear Student,")} - -${_("You have been un-enrolled from course {course_name} by a member " - "of the course staff. Please disregard the invitation " - "previously sent.").format(course_name=display_name or course.display_name_with_default_escaped)} - ----- -${_("This email was automatically sent from {site_name} " - "to {email_address}").format( - site_name=site_name, email_address=email_address - )} \ No newline at end of file diff --git a/lms/templates/emails/unenroll_email_enrolledmessage.txt b/lms/templates/emails/unenroll_email_enrolledmessage.txt deleted file mode 100644 index 1dee0a64ae..0000000000 --- a/lms/templates/emails/unenroll_email_enrolledmessage.txt +++ /dev/null @@ -1,17 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("Dear {full_name}").format(full_name=full_name)} - -${_("You have been un-enrolled in {course_name} at {site_name} by a member " - "of the course staff. The course will no longer appear on your " - "{site_name} dashboard.").format( - course_name=display_name or course.display_name_with_default_escaped, site_name=site_name - )} - -${_("Your other courses have not been affected.")} - ----- -${_("This email was automatically sent from {site_name} to " - "{full_name}").format( - full_name=full_name, site_name=site_name - )} diff --git a/lms/templates/emails/unenroll_email_subject.txt b/lms/templates/emails/unenroll_email_subject.txt deleted file mode 100644 index 1db012d9e7..0000000000 --- a/lms/templates/emails/unenroll_email_subject.txt +++ /dev/null @@ -1,5 +0,0 @@ -<%! from django.utils.translation import ugettext as _ %> - -${_("You have been un-enrolled from {course_name}").format( - course_name=display_name or course.display_name_with_default_escaped -)} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html new file mode 100644 index 0000000000..237309ad7a --- /dev/null +++ b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.html @@ -0,0 +1,41 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %} + Welcome to {{ course_name }} + {% endblocktrans %} +

+ +

+ {% blocktrans %}To get started, please visit https://{{ site_name }}.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}The login information for your account follows:{% endblocktrans %} +
+ {% blocktrans %}email: {{ email_address }}{% endblocktrans %} +
+ {% blocktrans %}password: {{ password }}{% endblocktrans %} +
+

+ +

+ {% blocktrans %}It is recommended that you change your password.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}Sincerely yours, The {{ course_name }} Team{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt new file mode 100644 index 0000000000..e66eeb38ca --- /dev/null +++ b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/body.txt @@ -0,0 +1,11 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Welcome to {{ course_name }}{% endblocktrans %} + +{% blocktrans %}To get started, please visit https://{{ site_name }}. The login information for your account follows.{% endblocktrans %} + +{% blocktrans %}email: {{ email_address }}{% endblocktrans %} +{% blocktrans %}password: {{ password }}{% endblocktrans %} + + +{% blocktrans %}It is recommended that you change your password.{% endblocktrans %} + +{% blocktrans %}Sincerely yours, The {{ course_name }} Team{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/from_name.txt b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/head.html b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/subject.txt b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/subject.txt new file mode 100644 index 0000000000..ebe884b30f --- /dev/null +++ b/lms/templates/instructor/edx_ace/accountcreationandenrollment/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been enrolled in {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/addbetatester/email/body.html b/lms/templates/instructor/edx_ace/addbetatester/email/body.html new file mode 100644 index 0000000000..8ebf41ce2e --- /dev/null +++ b/lms/templates/instructor/edx_ace/addbetatester/email/body.html @@ -0,0 +1,52 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %} + You have been invited to be a beta tester for {{ course_name }} at {{ site_name }} + {% endblocktrans %} +

+ +

+ {% blocktrans %}The invitation has been sent by a member of the course staff.{% endblocktrans %} +
+

+ + {% if auto_enroll %} +

+ {% blocktrans %}To start accessing course materials, please visit:{% endblocktrans %} +
+

+ + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=display_name|default:course.display_name_with_default course_cta_url=course_url %} + {% elif course_about_url is not None %} +

+ {% blocktrans %}To enroll in this course and begin the beta test:{% endblocktrans %} +
+

+ + {% blocktrans asvar course_cta_text %}Visit {{ course_name }}{% endblocktrans %} + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_cta_text course_cta_url=course_about_url %} + {% else %} +

+ {% blocktrans %}To enroll in this course and begin the beta test:{% endblocktrans %} +
+

+ + {% blocktrans asvar course_cta_text %}Visit {{ site_name }}{% endblocktrans %} + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_cta_text course_cta_url=course_url %} + {% endif %} + +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/addbetatester/email/body.txt b/lms/templates/instructor/edx_ace/addbetatester/email/body.txt new file mode 100644 index 0000000000..e748d8e508 --- /dev/null +++ b/lms/templates/instructor/edx_ace/addbetatester/email/body.txt @@ -0,0 +1,12 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear {{ full_name }}{% endblocktrans %} + +{% blocktrans %}You have been invited to be a beta tester for {{ course_name }} at {{ site_name }} by a member of the course staff.{% endblocktrans %} +{% if auto_enroll %} +{% blocktrans %}To start accessing course materials, please visit {{ course_url }}{% endblocktrans %} +{% elif course_about_url is not None %} +{% blocktrans %}Visit {{ course_about_url }} to enroll in this course and begin the beta test.{% endblocktrans %} +{% else %} +{% blocktrans %}Visit {{ site_name }} to enroll in this course and begin the beta test.{% endblocktrans %} +{% endif %} +---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/addbetatester/email/from_name.txt b/lms/templates/instructor/edx_ace/addbetatester/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/addbetatester/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/addbetatester/email/head.html b/lms/templates/instructor/edx_ace/addbetatester/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/addbetatester/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/addbetatester/email/subject.txt b/lms/templates/instructor/edx_ace/addbetatester/email/subject.txt new file mode 100644 index 0000000000..973411afd3 --- /dev/null +++ b/lms/templates/instructor/edx_ace/addbetatester/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been invited to a beta test for {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/allowedenroll/email/body.html b/lms/templates/instructor/edx_ace/allowedenroll/email/body.html new file mode 100644 index 0000000000..7ffa67deeb --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedenroll/email/body.html @@ -0,0 +1,62 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %}You have been invited to {{ course_name }}{% endblocktrans %} +

+ +

+ {% blocktrans %}You have been invited to join {{ course_name }} at {{ site_name }} by a member of the course staff.{% endblocktrans %} +
+

+ + {% if is_shib_course %} + {% if auto_enroll %} +

+ {% blocktrans %}To access this course click on the button below and login:{% endblocktrans %} +
+

+ + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_name course_cta_url=course_url %} + {% elif course_about_url is not None %} +

+ {% blocktrans %}To access this course visit it and register:{% endblocktrans %} +
+

+ + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_name course_cta_url=course_about_url %} + {% endif %} + {% else %} +

+ {% blocktrans %}Please finish your registration and fill out the registration form making sure to use {{ email_address }} in the Email field:{% endblocktrans %} +
+

+ + {% trans "Finish Your Registration" as button_cta_text %} + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=button_cta_text course_cta_url=registration_url %} + +

+ {% if auto_enroll %} + {% blocktrans %}Once you have registered and activated your account, you will see {{ course_name }} listed on your dashboard.{% endblocktrans %} + {% elif course_about_url is not None %} + {% blocktrans %}Once you have registered and activated your account, you will be able to access this course:{% endblocktrans %} + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_name course_cta_url=course_about_url %} + {% else %} + {% blocktrans %}You can then enroll in {{ course_name }}.{% endblocktrans %} + {% endif %} +
+

+ {% endif %} +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/allowedenroll/email/body.txt b/lms/templates/instructor/edx_ace/allowedenroll/email/body.txt new file mode 100644 index 0000000000..bd17255964 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedenroll/email/body.txt @@ -0,0 +1,14 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear student,{% endblocktrans %} + +{% blocktrans %}You have been invited to join {{ course_name }} at {{ site_name }} by a member of the course staff.{% endblocktrans %} +{% if is_shib_course %}{% if auto_enroll %}{% blocktrans %}To access this course visit {{ course_url }} and login.{% endblocktrans %} +{% elif course_about_url is not None %} +{% blocktrans %}To access this course visit {{ course_about_url }} and register for this course.{% endblocktrans %} +{% endif %} +{% else %}{% blocktrans %}To finish your registration, please visit {{ registration_url }} and fill out the registration form making sure to use {{ email_address }} in the Email field.{% endblocktrans %} +{% if auto_enroll %}{% blocktrans %}Once you have registered and activated your account, you will see {{ course_name }} listed on your dashboard.{% endblocktrans %} +{% elif course_about_url is not None %}{% blocktrans %}Once you have registered and activated your account, visit {{ course_about_url }} to join this course.{% endblocktrans %} +{% else %}{% blocktrans %}You can then enroll in {{ course_name }}.{% endblocktrans %} +{% endif %} +{% endif %}---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/allowedenroll/email/from_name.txt b/lms/templates/instructor/edx_ace/allowedenroll/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedenroll/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/allowedenroll/email/head.html b/lms/templates/instructor/edx_ace/allowedenroll/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedenroll/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/allowedenroll/email/subject.txt b/lms/templates/instructor/edx_ace/allowedenroll/email/subject.txt new file mode 100644 index 0000000000..1cbe2a29ab --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedenroll/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been invited to register for {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/allowedunenroll/email/body.html b/lms/templates/instructor/edx_ace/allowedunenroll/email/body.html new file mode 100644 index 0000000000..e49430bfe6 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedunenroll/email/body.html @@ -0,0 +1,25 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %}You have been unenrolled from {{ course_name }}{% endblocktrans %} +

+ +

+ {% blocktrans %}You have been unenrolled from the course {{ course_name }} by a member of the course staff. Please disregard the invitation previously sent.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt b/lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt new file mode 100644 index 0000000000..96bd18675e --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedunenroll/email/body.txt @@ -0,0 +1,6 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear Student,{% endblocktrans %} + +{% blocktrans %}You have been unenrolled from the course {{ course_name }} by a member of the course staff. Please disregard the invitation previously sent.{% endblocktrans %} + +---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/allowedunenroll/email/from_name.txt b/lms/templates/instructor/edx_ace/allowedunenroll/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedunenroll/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/allowedunenroll/email/head.html b/lms/templates/instructor/edx_ace/allowedunenroll/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedunenroll/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/allowedunenroll/email/subject.txt b/lms/templates/instructor/edx_ace/allowedunenroll/email/subject.txt new file mode 100644 index 0000000000..99aaa1a9c3 --- /dev/null +++ b/lms/templates/instructor/edx_ace/allowedunenroll/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been unenrolled from {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html b/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html new file mode 100644 index 0000000000..94fe97c06c --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.html @@ -0,0 +1,32 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %} + You have been unenrolled from {{ course_name }} + {% endblocktrans %} +

+ +

+ {% blocktrans %}You have been unenrolled from {{ course_name }} at {{ site_name }} by a member of the course staff. This course will no longer appear on your {{ site_name }} dashboard.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}Your other courses have not been affected.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ full_name }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt b/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt new file mode 100644 index 0000000000..a758b864a1 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrolledunenroll/email/body.txt @@ -0,0 +1,8 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear {{ full_name }}{% endblocktrans %} + +{% blocktrans %}You have been unenrolled from {{ course_name }} at {{ site_name }} by a member of the course staff. This course will no longer appear on your {{ site_name }} dashboard.{% endblocktrans %} + +{% blocktrans %}Your other courses have not been affected.{% endblocktrans %} + +---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ full_name }}{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/enrolledunenroll/email/from_name.txt b/lms/templates/instructor/edx_ace/enrolledunenroll/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrolledunenroll/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/enrolledunenroll/email/head.html b/lms/templates/instructor/edx_ace/enrolledunenroll/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrolledunenroll/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/enrolledunenroll/email/subject.txt b/lms/templates/instructor/edx_ace/enrolledunenroll/email/subject.txt new file mode 100644 index 0000000000..99aaa1a9c3 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrolledunenroll/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been unenrolled from {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/enrollenrolled/email/body.html b/lms/templates/instructor/edx_ace/enrollenrolled/email/body.html new file mode 100644 index 0000000000..59e3dae7bf --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrollenrolled/email/body.html @@ -0,0 +1,30 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %} + You have been enrolled in {{ course_name }} + {% endblocktrans %} +

+ +

+ {% blocktrans %}You have been enrolled in {{ course_name }} at {{ site_name }} by a member of the course staff. This course will now appear on your {{ site_name }} dashboard.{% endblocktrans %} +
+

+ + {% trans "Access the Course Materials Now" as course_cta_text %} + {% include "ace_common/edx_ace/common/return_to_course_cta.html" with course_cta_text=course_cta_text course_cta_url=course_url %} + +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ full_name }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt b/lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt new file mode 100644 index 0000000000..c36da32cba --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrollenrolled/email/body.txt @@ -0,0 +1,9 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear {{ full_name }}{% endblocktrans %} + +{% blocktrans %}You have been enrolled in {{ course_name }} at {{ site_name }} by a member of the course staff. This course will now appear on your {{ site_name }} dashboard.{% endblocktrans %} + +{% blocktrans %}To start accessing course materials, please visit {{ course_url }}{% endblocktrans %} + +---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ full_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/enrollenrolled/email/from_name.txt b/lms/templates/instructor/edx_ace/enrollenrolled/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrollenrolled/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/enrollenrolled/email/head.html b/lms/templates/instructor/edx_ace/enrollenrolled/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrollenrolled/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/enrollenrolled/email/subject.txt b/lms/templates/instructor/edx_ace/enrollenrolled/email/subject.txt new file mode 100644 index 0000000000..ebe884b30f --- /dev/null +++ b/lms/templates/instructor/edx_ace/enrollenrolled/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been enrolled in {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/lms/templates/instructor/edx_ace/removebetatester/email/body.html b/lms/templates/instructor/edx_ace/removebetatester/email/body.html new file mode 100644 index 0000000000..befac35377 --- /dev/null +++ b/lms/templates/instructor/edx_ace/removebetatester/email/body.html @@ -0,0 +1,35 @@ +{% extends 'ace_common/edx_ace/common/base_body.html' %} + +{% load i18n %} +{% load static %} +{% block content %} + + + + +
+

+ {% blocktrans %}You have been removed as a beta tester for {{ course_name }} at {{ site_name }}{% endblocktrans %} +

+ +

+ {% blocktrans %}You have been removed as a beta tester for {{ course_name }} at {{ site_name }} by a member of the course staff.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}This course will remain on your dashboard, but you will no longer be part of the beta testing group.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}Your other courses have not been affected.{% endblocktrans %} +
+

+ +

+ {% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %} +
+

+
+{% endblock %} diff --git a/lms/templates/instructor/edx_ace/removebetatester/email/body.txt b/lms/templates/instructor/edx_ace/removebetatester/email/body.txt new file mode 100644 index 0000000000..4ec380afeb --- /dev/null +++ b/lms/templates/instructor/edx_ace/removebetatester/email/body.txt @@ -0,0 +1,8 @@ +{% load i18n %}{% autoescape off %}{% blocktrans %}Dear {{ full_name }}{% endblocktrans %} + +{% blocktrans %}You have been removed as a beta tester for {{ course_name }} at {{ site_name }} by a member of the course staff. This course will remain on your dashboard, but you will no longer be part of the beta testing group.{% endblocktrans %} + +{% blocktrans %}Your other courses have not been affected.{% endblocktrans %} + +---- +{% blocktrans %}This email was automatically sent from {{ site_name }} to {{ email_address }}{% endblocktrans %}{% endautoescape %} \ No newline at end of file diff --git a/lms/templates/instructor/edx_ace/removebetatester/email/from_name.txt b/lms/templates/instructor/edx_ace/removebetatester/email/from_name.txt new file mode 100644 index 0000000000..dcbc23c004 --- /dev/null +++ b/lms/templates/instructor/edx_ace/removebetatester/email/from_name.txt @@ -0,0 +1 @@ +{{ platform_name }} diff --git a/lms/templates/instructor/edx_ace/removebetatester/email/head.html b/lms/templates/instructor/edx_ace/removebetatester/email/head.html new file mode 100644 index 0000000000..366ada7ad9 --- /dev/null +++ b/lms/templates/instructor/edx_ace/removebetatester/email/head.html @@ -0,0 +1 @@ +{% extends 'ace_common/edx_ace/common/base_head.html' %} diff --git a/lms/templates/instructor/edx_ace/removebetatester/email/subject.txt b/lms/templates/instructor/edx_ace/removebetatester/email/subject.txt new file mode 100644 index 0000000000..33dee3487f --- /dev/null +++ b/lms/templates/instructor/edx_ace/removebetatester/email/subject.txt @@ -0,0 +1,4 @@ +{% load i18n %} +{% autoescape off %} +{% blocktrans %}You have been removed from a beta test for {{ course_name }}{% endblocktrans %} +{% endautoescape %} diff --git a/openedx/core/djangoapps/ace_common/tests/mixins.py b/openedx/core/djangoapps/ace_common/tests/mixins.py index c3e01f7808..a6854a70cc 100644 --- a/openedx/core/djangoapps/ace_common/tests/mixins.py +++ b/openedx/core/djangoapps/ace_common/tests/mixins.py @@ -1,5 +1,12 @@ # pylint: disable=missing-docstring from urlparse import parse_qs, urlparse +import uuid +from django.http import HttpRequest +from mock import patch + +from edx_ace import Message, Recipient +from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory +from student.tests.factories import UserFactory class QueryStringAssertionMixin(object): @@ -52,3 +59,30 @@ class QueryStringAssertionMixin(object): parsed_qs = parse_qs(parsed_url.query) for expected_key, expected_value in kwargs.items(): self.assertEqual(parsed_qs[expected_key], [str(expected_value)]) + + +class EmailTemplateTagMixin(object): + + def setUp(self): + super(EmailTemplateTagMixin, self).setUp() + + patcher = patch('openedx.core.djangoapps.ace_common.templatetags.ace.get_current_request') + self.mock_get_current_request = patcher.start() + self.addCleanup(patcher.stop) + + self.fake_request = HttpRequest() + self.fake_request.user = UserFactory.create() + self.fake_request.site = SiteFactory.create() + self.fake_request.site.domain = 'example.com' + self.mock_get_current_request.return_value = self.fake_request + + self.message = Message( + app_label='test_app_label', + name='test_name', + recipient=Recipient(username='test_user'), + context={}, + send_uuid=uuid.uuid4(), + ) + self.context = { + 'message': self.message + } diff --git a/openedx/core/djangoapps/ace_common/tests/test_templatetags.py b/openedx/core/djangoapps/ace_common/tests/test_templatetags.py index f0457f8a81..81b80affa2 100644 --- a/openedx/core/djangoapps/ace_common/tests/test_templatetags.py +++ b/openedx/core/djangoapps/ace_common/tests/test_templatetags.py @@ -1,22 +1,16 @@ # pylint: disable=missing-docstring -import uuid - -from django.http import HttpRequest from django.template import VariableDoesNotExist from django.test import override_settings -from mock import patch -from edx_ace import Message, Recipient from openedx.core.djangoapps.ace_common.templatetags.ace import ( ensure_url_is_absolute, with_link_tracking, google_analytics_tracking_pixel, _get_google_analytics_tracking_url ) -from openedx.core.djangoapps.ace_common.tests.mixins import QueryStringAssertionMixin +from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin, QueryStringAssertionMixin from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms -from student.tests.factories import UserFactory @skip_unless_lms @@ -40,31 +34,6 @@ class TestAbsoluteUrl(CacheIsolationTestCase): self.assertEqual(absolute, 'https://some-cdn.com/foo/bar') -class EmailTemplateTagMixin(object): - - def setUp(self): - patcher = patch('openedx.core.djangoapps.ace_common.templatetags.ace.get_current_request') - self.mock_get_current_request = patcher.start() - self.addCleanup(patcher.stop) - - self.fake_request = HttpRequest() - self.fake_request.user = UserFactory.create() - self.fake_request.site = SiteFactory.create() - self.fake_request.site.domain = 'example.com' - self.mock_get_current_request.return_value = self.fake_request - - self.message = Message( - app_label='test_app_label', - name='test_name', - recipient=Recipient(username='test_user'), - context={}, - send_uuid=uuid.uuid4(), - ) - self.context = { - 'message': self.message - } - - @skip_unless_lms class TestLinkTrackingTag(QueryStringAssertionMixin, EmailTemplateTagMixin, CacheIsolationTestCase):