2 * Simple Placeholder-based Localization
4 * Call on a selection of HTML which contains <msg key="message-key" /> elements or elements with
5 * title-msg="message-key" or alt-msg="message-key" attributes. <msg /> elements will be replaced
6 * with localized text, elements with title-msg and alt-msg attributes will receive localized title
9 * Note that "msg" elements must have html namespacing such as "<html:msg />" to be compatible with
13 * <p class="somethingCool">
14 * <html:msg key="my-message" />
15 * <img src="something.jpg" title-msg="my-title-message" alt-msg="my-alt-message" />
19 * <p class="somethingCool">
21 * <img src="something.jpg" title="My Title Message" alt="My Alt Message" />
26 * Localizes a DOM selection by replacing <msg /> elements with localized text and adding
27 * localized title and alt attributes to elements with title-msg and alt-msg attributes
30 * @param Object: options Map of options
31 * * prefix: Message prefix to use when localizing elements and attributes
34 $.fn
.localize = function( options
) {
35 options
= $.extend( { 'prefix': '' }, options
);
37 .find( 'msg,html\\:msg' )
41 .text( mw
.msg( options
.prefix
+ $(this).attr( 'key' ) ) )
42 .replaceWith( $(this).html() );
45 .find( '[title-msg]' )
48 .attr( 'title', mw
.msg( options
.prefix
+ $(this).attr( 'title-msg' ) ) )
49 .removeAttr( 'title-msg' );
55 .attr( 'alt', mw
.msg( options
.prefix
+ $(this).attr( 'alt-msg' ) ) )
56 .removeAttr( 'alt-msg' );
61 // Let IE know about the msg tag before it's used...
62 document
.createElement( 'msg' );