Index: trunk/phase3/resources/jquery/jquery.localize.js |
— | — | @@ -32,13 +32,16 @@ |
33 | 33 | */ |
34 | 34 | |
35 | 35 | $.fn.localize = function( options ) { |
36 | | - options = $.extend( { 'prefix': '' }, options ); |
| 36 | + options = $.extend( { 'prefix': '', 'keys': {} }, options ); |
| 37 | + function msg( key ) { |
| 38 | + return mw.msg( options.prefix + ( key in options.keys ? options.keys[key] : key ) ) |
| 39 | + }; |
37 | 40 | return $(this) |
38 | 41 | .find( 'msg,html\\:msg' ) |
39 | 42 | .each( function() { |
40 | 43 | var $el = $(this); |
41 | 44 | $el |
42 | | - .text( mw.msg( options.prefix + $el.attr( 'key' ) ) ) |
| 45 | + .text( msg( $el.attr( 'key' ) ) ) |
43 | 46 | .replaceWith( $el.html() ); |
44 | 47 | } ) |
45 | 48 | .end() |
— | — | @@ -46,7 +49,7 @@ |
47 | 50 | .each( function() { |
48 | 51 | var $el = $(this); |
49 | 52 | $el |
50 | | - .attr( 'title', mw.msg( options.prefix + $el.attr( 'title-msg' ) ) ) |
| 53 | + .attr( 'title', msg( $el.attr( 'title-msg' ) ) ) |
51 | 54 | .removeAttr( 'title-msg' ); |
52 | 55 | } ) |
53 | 56 | .end() |
— | — | @@ -54,7 +57,7 @@ |
55 | 58 | .each( function() { |
56 | 59 | var $el = $(this); |
57 | 60 | $el |
58 | | - .attr( 'alt', mw.msg( options.prefix + $el.attr( 'alt-msg' ) ) ) |
| 61 | + .attr( 'alt', msg( $el.attr( 'alt-msg' ) ) ) |
59 | 62 | .removeAttr( 'alt-msg' ); |
60 | 63 | } ) |
61 | 64 | .end(); |