Commit 90437fa5 by Alexander Kryklia

Display transcript translations for student in their source language.

parent 1bd0bcb8
...@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes, ...@@ -5,6 +5,8 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected. the top. Include a label indicating the component affected.
Blades: Transcript translations should be displayed in their source language (BLD-935).
Blades: Create an upload modal for video transcript translations (BLD-751). Blades: Create an upload modal for video transcript translations (BLD-751).
Studio: Add ability to reorder Pages and hide the Wiki page. STUD-1375 Studio: Add ability to reorder Pages and hide the Wiki page. STUD-1375
......
...@@ -124,8 +124,9 @@ class VideoModule(VideoFields, VideoStudentViewHandlers, XModule): ...@@ -124,8 +124,9 @@ class VideoModule(VideoFields, VideoStudentViewHandlers, XModule):
else: else:
transcript_language = sorted(self.transcripts.keys())[0] transcript_language = sorted(self.transcripts.keys())[0]
native_languages = {lang: label for lang, label in settings.LANGUAGES if len(lang) == 2}
languages = { languages = {
lang: display lang: native_languages.get(lang, display)
for lang, display in settings.ALL_LANGUAGES for lang, display in settings.ALL_LANGUAGES
if lang in self.transcripts if lang in self.transcripts
} }
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Video xmodule tests in mongo.""" """Video xmodule tests in mongo."""
import json
import unittest import unittest
from collections import OrderedDict
from mock import patch, PropertyMock, MagicMock from mock import patch, PropertyMock, MagicMock
from django.conf import settings from django.conf import settings
...@@ -53,7 +55,7 @@ class TestVideoYouTube(TestVideo): ...@@ -53,7 +55,7 @@ class TestVideoYouTube(TestVideo):
'transcript_download_format': 'srt', 'transcript_download_format': 'srt',
'transcript_download_formats_list': [{'display_name': 'SubRip (.srt) file', 'value': 'srt'}, {'display_name': 'Text (.txt) file', 'value': 'txt'}], 'transcript_download_formats_list': [{'display_name': 'SubRip (.srt) file', 'value': 'srt'}, {'display_name': 'Text (.txt) file', 'value': 'txt'}],
'transcript_language': u'en', 'transcript_language': u'en',
'transcript_languages': '{"en": "English", "uk": "Ukrainian"}', 'transcript_languages': json.dumps(OrderedDict({"en": "English", "uk": u"Українська"})),
'transcript_translation_url': self.item_descriptor.xmodule_runtime.handler_url( 'transcript_translation_url': self.item_descriptor.xmodule_runtime.handler_url(
self.item_descriptor, 'transcript', 'translation' self.item_descriptor, 'transcript', 'translation'
).rstrip('/?'), ).rstrip('/?'),
...@@ -97,6 +99,7 @@ class TestVideoNonYouTube(TestVideo): ...@@ -97,6 +99,7 @@ class TestVideoNonYouTube(TestVideo):
} }
context = self.item_descriptor.render('student_view').content context = self.item_descriptor.render('student_view').content
expected_context = { expected_context = {
'ajax_url': self.item_descriptor.xmodule_runtime.ajax_url + '/save_user_state', 'ajax_url': self.item_descriptor.xmodule_runtime.ajax_url + '/save_user_state',
'data_dir': getattr(self, 'data_dir', None), 'data_dir': getattr(self, 'data_dir', None),
...@@ -239,7 +242,7 @@ class TestGetHtmlMethod(BaseTestXmodule): ...@@ -239,7 +242,7 @@ class TestGetHtmlMethod(BaseTestXmodule):
expected_context.update({ expected_context.update({
'transcript_download_format': None if self.item_descriptor.track and self.item_descriptor.download_track else 'srt', 'transcript_download_format': None if self.item_descriptor.track and self.item_descriptor.download_track else 'srt',
'transcript_languages': '{"en": "English"}' if not data['transcripts'] else '{"uk": "Ukrainian"}', 'transcript_languages': '{"en": "English"}' if not data['transcripts'] else json.dumps({"uk": u'Українська'}),
'transcript_language': u'en' if not data['transcripts'] or data.get('sub') else u'uk', 'transcript_language': u'en' if not data['transcripts'] or data.get('sub') else u'uk',
'transcript_translation_url': self.item_descriptor.xmodule_runtime.handler_url( 'transcript_translation_url': self.item_descriptor.xmodule_runtime.handler_url(
self.item_descriptor, 'transcript', 'translation' self.item_descriptor, 'transcript', 'translation'
...@@ -252,7 +255,6 @@ class TestGetHtmlMethod(BaseTestXmodule): ...@@ -252,7 +255,6 @@ class TestGetHtmlMethod(BaseTestXmodule):
'sub': data['sub'], 'sub': data['sub'],
'id': self.item_descriptor.location.html_id(), 'id': self.item_descriptor.location.html_id(),
}) })
self.assertEqual( self.assertEqual(
context, context,
self.item_descriptor.xmodule_runtime.render_template('video.html', expected_context), self.item_descriptor.xmodule_runtime.render_template('video.html', expected_context),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment