The "New Course" and "New Library" buttons reveal a form to add course or library.
When not displayed, these forms are still accessible to a keyboard user.
Added display: "none" in css so that contents are visually as well as via
keyboard inaccessible
AC-34
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.