Filter by Language:
Designation for course language(s) in Studio
allows for filtering of courses based on their language in the sidebar
Reuses active filter view UI/IA from find courses page on edx.org
view for clearing individual or all filters, as with edx.org filtering
Clicking on conflicting option box unchecks all conflicts
LMS: Clicking license text should bring to new window
updated styles to reflect html reuse inside of xblock edit modal area.
Add ARIA attributes to license for a11y
Gracefully handle re-selecting of selected license
Use native checkboxes for courseware license options
In Studio settings editor for video module, don't show license if feature-flagged off
Don't let Scope.contents fields leak to Studio editor
JS gettext() must all be on the same line for i18n
Add docstrings for bok-choy tests
Remove LicenseMixin from HTMLDescriptor
Responding to UX review feedback
Add aria-pressed attribute
Use https links instead of protocol-relative links for links to creativecommons.org
Remove license from course outline page in Studio
This allows course authors to choose between two difference licenses for their
course content: All Rights Reserved, or Creative Commons. In the backend, XBlocks
that wish to allow custom licenses need only inherit from LicenseMixin, which
adds a `license` field as a string.
License information is displayed in the Studio editor view, and just below the
rendered XBlock in the LMS. In addition, if the course block itself has a custom
license set, this license will display just below the main body of the page
on courseware pages.
This entire feature is gated behind the LICENSING feature flag.
* to reflect support for IE10 and above
* to only flag IE9 (for emergency's sake) with specific html class attrs
* to remove HTML5 shiv that's not needed for IE10 and above
1. Fix sentence breaks inside `photo_reverification.html` and `midcourse_photo_reverification.html`.
2. Combine three setences inside `choose.html`.
3. Adding some punctuation marks to reduce duplicated strings with only different Punctuation marks in translation.
4. Move the colons inside the strings to be translated. This may be not necessary for now, but I think this may help translation by removing potential word meaning conflict.
5. Sorry for
1. Fix the broken `gettext()` call in `courde_detail.js`
2. Change the string to avoid Transifex misunderstand the pattern '% o' in `checklist.underscore`.
3. Embed the `{filename}` part inside the string in `transcripts-choose.underscore` to provide better i18n flexibililty.
4. Remove all the call of `gettext()` and `${_()}` inside the `mock` directory to aovid mis-extraction by pybabel. (It seems that the `mock` directory is soly used in test? So the strings in this directory need not to be extracted and translated?)
5. The unicode char `\u2014` will trigger a bug inside pybabel which makes the extracted string untranslatable, so remove this char.
1. Extract the full sentence rather than parital of a sentence, so that languages with different word orders than English can benifit from this.
2. Using ngettext instead of gettext with 'xxx(s)', as Transifex treats `()` as special characters so that it enforces the translated string must have the same number of `()` pairs. Such enforcement makes translations difficult, as not every language can use forms like 'xxx(s)' to represent both singular & plural within a single word.
1. Spliting strings inside the call to `gettext()` in javascript breaks the string extraction process, so the string should kept in one line.
2. Using escape string inside a string in `gettext()` may cause the extractor to misunderstand the escape string, so that it will escape this escape string.
The written style ```interpolate(gettext('some text'), {...}, ...)``` will will cause the string inside gettext() not be extracted.
So a separate line is needed for ```gettext``` when gettext function is directly called inside a call to the interpolate function.
The replacement strings need to be unicode, so that when STUDIO_NAME contains non-ascii characters python can handle it correctly without raising exceptions.
Also, the value of STUDIO_SHORT_NAME can be read from cms.env.json.