# HG changeset patch # User souliane # Date 1434482818 -7200 # Node ID 9ae3d9c8b28ab70445fe5184cbf279e7efced84c # Parent 7a79cb5ed43b08d845374393f127c345712a46a2 actually display the subtitles (with Firefox it is used only when it's the first of the list, and when the "default" option is present) diff -r 7a79cb5ed43b -r 9ae3d9c8b28a sat_website/media.py --- a/sat_website/media.py Tue Jun 16 20:31:16 2015 +0200 +++ b/sat_website/media.py Tue Jun 16 21:26:58 2015 +0200 @@ -19,7 +19,7 @@ You should have received a copy of the GNU Affero General Public License along with Foobar. If not, see . """ -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import get_language, ugettext_lazy as _ from django.conf import settings from collections import namedtuple, OrderedDict import os.path @@ -29,11 +29,17 @@ class VideoDesc(namedtuple("VideoDesc", "paths description poster data")): @property def subtitles(self): - key = _(u"subtitles") + key = "subtitles" if key not in self.data: return {} result = OrderedDict() - for lang in self.data[key]: + + # put the current lang first + current_lang = get_language() + langs = [current_lang] if current_lang in self.data[key] else [] + langs.extend([lang for lang in self.data[key] if lang != current_lang]) + + for lang in langs: try: result[lang] = os.path.splitext(self.paths[lang])[0] + '.vtt' except IndexError: @@ -53,7 +59,7 @@ "fr": video + "libervia_adhesion_2015_fr.webm"}), _(u"Membership campaign for Libervia"), video + "posters/libervia_adhesion_2015.png", - {_(u"version"): "0.5", _(u"year"): "2015", _(u"subtitles"): ["en", "fr"]}), + {_(u"version"): "0.5", _(u"year"): "2015", "subtitles": ["en", "fr"]}), ImageDesc("images/screenshots/0.5/overview_libervia.png", _(u"Overview"), {_(u"frontend"): "libervia", _(u"version"): "0.5", _(u"year"): "2014"}), diff -r 7a79cb5ed43b -r 9ae3d9c8b28a sat_website/templatetags/utils.py --- a/sat_website/templatetags/utils.py Tue Jun 16 20:31:16 2015 +0200 +++ b/sat_website/templatetags/utils.py Tue Jun 16 21:26:58 2015 +0200 @@ -93,7 +93,12 @@ def get_item(key, value): return "%s%s%s" % (key, sep, value) - items = [get_item(key.translate(lang), value) for key, value in entry.data.iteritems()] + + items = [] + for key, value in entry.data.iteritems(): + if key == "subtitles": # is used as another dict key in media.py + key = _(u"subtitles") + items.append(get_item(key.translate(lang), value)) try: lang_key = _(u"language").translate(lang) lang_value = lang if lang in entry.paths else entry.paths.keys()[0] diff -r 7a79cb5ed43b -r 9ae3d9c8b28a templates/sat_website/membership.html --- a/templates/sat_website/membership.html Tue Jun 16 20:31:16 2015 +0200 +++ b/templates/sat_website/membership.html Tue Jun 16 21:26:58 2015 +0200 @@ -33,7 +33,9 @@