2 * Base language object with methods for storing and getting
9 * @var data {Object} Language related data (keyed by language,
10 * contains instances of mw.Map).
13 * // Override, extend or create the language data object of 'nl'
14 * mw.language.setData( 'nl', 'myKey', 'My value' );
16 * @example Get GrammarForms data for language 'nl':
18 * var grammarForms = mw.language.getData( 'nl', 'grammarForms' );
24 * Convenience method for retreiving language data by language code and data key,
25 * covering for the potential inexistance of a data object for this langiage.
26 * @param langCode {String}
27 * @param dataKey {String}
28 * @return {mixed} Value stored in the mw.Map (or undefined if there is no map for
29 the specified langCode).
31 getData: function ( langCode
, dataKey
) {
32 var langData
= language
.data
;
33 if ( langData
[langCode
] instanceof mw
.Map
) {
34 return langData
[langCode
].get( dataKey
);
40 * Convenience method for setting language data by language code and data key.
41 * Creates a data object if there isn't one for the specified language already.
42 * @param langCode {String}
43 * @param dataKey {String}
44 * @param value {mixed}
46 setData: function ( langCode
, dataKey
, value
) {
47 var langData
= language
.data
;
48 if ( !( langData
[langCode
] instanceof mw
.Map
) ) {
49 langData
[langCode
] = new mw
.Map();
51 langData
[langCode
].set( dataKey
, value
);
54 mw
.language
= language
;
56 } )( jQuery
, mediaWiki
);