/**
- * Base language object
- *
* Localized Language support attempts to mirror some of the functionality of
- * Language.php in MediaWiki. This object contains methods for loading and
- * transforming message text.
+ * Language.php in MediaWiki.
+ * This adds methods for transforming message text.
*/
( function( $, mw ) {
var language = {
- /**
- * @var data {Object} Language related data (keyed by language,
- * contains instances of mw.Map).
- * @example Set data
- * <code>
- * // Override, extend or create the language data object of 'nl'
- * mw.language.setData( 'nl', 'myKey', 'My value' );
- * </code>
- * @example Get GrammarForms data for language 'nl':
- * <code>
- * var grammarForms = mw.language.getData( 'nl', 'grammarForms' );
- * </code>
- */
- data: {},
- /**
- * Convenience method for retreiving language data by language code and data key,
- * covering for the potential inexistance of a data object for this langiage.
- * @param langCode {String}
- * @param dataKey {String}
- * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for
- the specified langCode).
- */
- getData: function ( langCode, dataKey ) {
- var langData = language.data;
- if ( langData[langCode] instanceof mw.Map ) {
- return langData[langCode].get( dataKey );
- }
- return undefined;
- },
-
- /**
- * Convenience method for setting language data by language code and data key.
- * Creates a data object if there isn't one for the specified language already.
- * @param langCode {String}
- * @param dataKey {String}
- * @param value {mixed}
- */
- setData: function ( langCode, dataKey, value ) {
- var langData = language.data;
- if ( !( langData[langCode] instanceof mw.Map ) ) {
- langData[langCode] = new mw.Map();
- }
- langData[langCode].set( dataKey, value );
- },
/**
* Process the PLURAL template substitution
*
* @return {String}
*/
convertGrammar: function ( word, form ) {
- var grammarForms = language.getData( mw.config.get( 'wgContentLanguage' ), 'grammarForms' );
+ var grammarForms = mw.language.getData( mw.config.get( 'wgContentLanguage' ), 'grammarForms' );
if ( grammarForms && grammarForms[form] ) {
return grammarForms[form][word] || word;
}
'digitTransformTable': null
};
-mw.language = language;
+$.extend( mw.language, language );
} )( jQuery, mediaWiki );