Milkshake

Project Milkshake is a project that aims to make generic jQuery components for commonly needed internationalisation features. The project was conceived by the Wikimedia Localisation team in July 2012.

All initial components are being developed because there is a need for them on Wikimedia Projects through MediaWiki. However, it would be shame to not make it easy for anyone to re-use them in any project.

Because of this, we chose to (re)develop all components as generic jQuery libraries, using well documented APIs, so that it is relatively easy to implement and use them anywhere. To allow easy participation in the features, the source code repositories are hosted on GitHub. MediaWiki specific implementations re-use the code from the libraries.

Licenses and contributing
Components are dual licensed as GPL and MIT as much as possible to allow wide adoption. New contributions can only be accepted under these two licenses.

Front end messaging framework
Based on research, we found out that no existing freely licensed i18n framework for JavaScript was available that was as flexible and feature rich as MediaWiki's messaging for JavaScript. Currently, work is underway to implement the specification.


 * Specification
 * Source code
 * Demo implementation

Language selector

 * Universal Language Selector
 * Source code: jquery.uls, MediaWiki extension
 * Available in translatewiki.net

Input methods

 * Source code
 * Demo implementation

Web fonts

 * Source code
 * Demo implementation

Future developments
Based on feedback by Krinkle, future developments may include the addition of a Resource Loader and removal of the MediaWiki JavaScript i18n framework in favour of Project Milkshake components. See also Globalize.