Talk:Internationalisation wishlist 2017

php.i18n
Like jquery.i18n, there are many php projects that would benefit from high quality i18n library they could just plug in. At translatewiki.net we have multiple PHP projects. Licensing issues might be a problem if we want to reuse code from MediaWiki. Does simplei18n do any of these?

Repository management
We handle source code repositories with a handful of shell scripts. This leads to lots of code duplication and new repository configuration wastes time. Repositories should be managed by a PHP library or equivalent and configuration should be similar to how we configure message groups. The configuration can be stored in files or even inside the wiki itself.

jquery.i18n for MediaWiki
It makes no sense for us to main two i18n libraries written in JavaScript. Make jquery.i18n good enough and make MediaWiki use it.

Complete solution for frontend i18n
Collaborate with Globalize.js, cldr.js and other projects and ensure our jquery i18n projects works well with those with minimal overlap. A complete solution includes everything like time and number formatting, localisation file formats, message delivery, message formatting, input methods, web fonts, language selection.

Translation memory on the wheels
Let's gap a bit the hole between plain TM and MT and do something more useful than edit distance. Try to get the ElasticSearch-as-TM project to fly and promote it. It could be *the* open source TM solution to plugin into your software, given that there doesn't seem to be any competition at the moment. Use sentence alignment to increase the recall of the translation memory.

MediaWiki localisation updates for all

 * ''See also Generic, efficient Localisation Update service, Extension:LocalisationUpdate/LUv2

Nobody updates MediaWiki regularly. LocalisationUpdate should be available and functional on all MediaWiki installations. Without needing to set up cronjobs. See also next item.

LocalisationUpdate service provided by TWN
Provide an efficient API for any product to automatically update their translations live.

Release TWN TM data
We can either provide dumps in TMX or some other format or provide it as a service. The service could be registration-only to make sure we can handle the load.

Multilingual SMW

 * ''See also Multilingual SemanticMediaWiki

Semantic MediaWiki is cool, but it would be even cooler if it was multilingual-cabable out of the box. Integrate it with Translate extension.

Multilingual search
The portal of each project, like wikipedia.org, should have a multilingual search, automatically returning results in the most relevant language; see also bug 1837. Such multilingual search could then be expanded to Special:Search of each wiki and triggered either automatically, or as fallback (see also above), or as another option/profile/whatever.

Wiki page translation advanced issues
Though mentioned in other points, people have specifically requested help for easy handling of multilingual categories and templates with Translate page translation. Would help with: Page translation migration/adoption tools, Multilingual Commons, MediaWiki multilingual documentation.

Semantic Translate
Lots of information could be made available via semantic properties or other means. Some examples: Would make it simple to build queries like "Top translators for MediaWiki in Finnish in 2013".
 * How many/who have reviewed a translation
 * Who has translated a message
 * Language of the translation

By popular vote
Wiki editing and discussion doesn't work with many users not agreeing on what's best. A quick list of alternative (past/proposed/used elsewhere) translations with relevant info would help find what's consensual. See for instance fundraising messages which in theory should gradually approach perfection but in reality only see things changed back and forth continuously, with the worst translations usually surviving. Situation is made worse by: a) history not being easy to reach from translation editor, b) discussion even less, c) activity and discussion around same translations in other messages being completely lost, d) people never finding where the message is (especially from other wikis as with banners). See also 45831 – Discussion about translation. Would help with: What happened to my translation?

Visual translation: Integration of page translation with Visual Editor
The wiki page translation feature of the Translate extension does not currently work with Visual Editor due to the special tags it uses. More specifically, this is about editing the source pages that are used as the source for translations, not the translation process itself. The work can be divided into three steps:
 * 1) Migrate the special tag handling to a more standard way to handle tags in the parser. This need some changes to the PHP parser for it to be able to produce wanted output.
 * 2) Add support to Parsoid and Visual Editor so that editing page contents preserves the structures that page translation adds to keep track of the content.
 * 3) Add to Visual Editor some visual aid for marking the parts of the page that can be translated.

This can be a difficult project due to complexities of wikitext parsing and intersecting multiple different products: Translate, MediaWiki core parser, Parsoid, Visual Editor.

Localised Wikimedia shop
The Wikimedia Shop should be translatable. At least the interface, but why not the product descriptions as well.

Wikidata translation
Translate extension could help people to translate properties and other content at Wikidata by the following ways:
 * Easy access to content which still needs translation
 * Statistics about translation coverage
 * Providing a familiar interface for translators

Complex message parameters
Currently using things like external links in messages is cumbersome. I propose we make a generic framework which allows writing translations, part of which are embedded inside the replacements itself, without resorting to lego or complicated markup in the messages. See 31032.

Language selection for anonymous users
Users of Wikimedia wikis need to register to change language. They should be able to change the interface language as well.