Content translation/Weekly Update

This is a weekly update about Content Translation development. There are multiple areas where active maintenance or development work is going on. These are:
 * Rewriting of Content Translation classes with oojs-ui. This forms the base of the new codebase
 * Integration of Visual Editor into Content Translation. This will enhance the translation interface (aka Translation View) with powerful features from Visual Editor for consistency and easier maintenance.
 * Moving adaptation features (like links, templates etc.) from client-side to server-side
 * Front-end changes to the Translation View, to integrate all the backend changes
 * Improvements to the Translation Dashboard user interface to prepare it for use on smaller screens/touch screens as well as following consistent style

Translation Dashboard
Improvements and styling changes done to:
 * New translation dialog:
 * Restyle selected article and make it smaller and more compact,
 * Display number of views for selected article in the last week,
 * Change behavior when article exist in only one language, to display proper information,
 * Add icon next to selected item title, indicating that article can be opened in new tab.
 * Language selectors on headers of translation lists:
 * Shorten the label when all languages are selected,
 * Change style of language selector.
 * Various elements, including adding shadows to elements that missed it.

Translation View
No changes this week, as this is blocked on completion of the remaining work for Visual Editor integration.

Translation Dashboard
Improvements and styling changes done to:
 * prevent dashboard from stretching too far on wide screens,
 * translation graphs displayed to users about their activity,
 * list items on the dashboard,
 * display compact sidebars and language selector on small screens,
 * filter languages to display for in-progress and published translations

CXServer
cxserver is adding a new api: /translate. It will do machine translation and adaptation of a whole paragraph to another language. Earlier this was done in the frontend (i.e. in the code currently used in production). Moving it to the backend will make the client side code simpler and faster. Adaptation of links, references, and images is done. Template adaptation is more complicated than other types of adaptation. It is being done now.

cxserver is also undergoing maintenance work to modernize it to use new JavaScript features, updating our API endpoints to address shortcomings and updating our configuration format for easier maintenance.

VE integration
Saving, restoring and publishing workflow is being implemented.

Upcoming work
Work for the near future is tracked on phabricator ticket T150652. Please watch this page for our next update on work that will be picked from this list. We also continue resolving critical issues reported by users or discovered by us, as well as infrastructure maintenance.