Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.core-modern.css |
— | — | @@ -5,6 +5,10 @@ |
6 | 6 | overflow: visible !important; |
7 | 7 | } |
8 | 8 | |
| 9 | +li#pt-narayam { |
| 10 | + margin-left: 5px; |
| 11 | +} |
| 12 | + |
9 | 13 | div#narayam-menu div.menu-items { |
10 | 14 | top: 0px; |
11 | 15 | font-size: 1.2em; |
Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.rules.ta.js |
— | — | @@ -7,8 +7,8 @@ |
8 | 8 | |
9 | 9 | // Normal rules |
10 | 10 | var rules = [ |
11 | | -['ச்h','h','ச்ஹ்',], |
12 | | -['ழ்h','h','ழ்ஹ்',], |
| 11 | +['ச்h','h','ச்ஹ்'], |
| 12 | +['ழ்h','h','ழ்ஹ்'], |
13 | 13 | |
14 | 14 | //'(ஸ்ரிi|ஸ்ர்I)', '','', |
15 | 15 | |
Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.core.css |
— | — | @@ -15,8 +15,12 @@ |
16 | 16 | div#narayam-menu { |
17 | 17 | direction: ltr; |
18 | 18 | float: left; |
| 19 | + display: none; |
19 | 20 | } |
20 | 21 | |
| 22 | +div#narayam-menu.open { |
| 23 | + display: block; |
| 24 | +} |
21 | 25 | /* @noflip */ |
22 | 26 | body.rtl div#narayam-menu { |
23 | 27 | direction: rtl; |
Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.core.js |
— | — | @@ -56,7 +56,7 @@ |
57 | 57 | if ( regex.test( str ) // Input string match |
58 | 58 | && |
59 | 59 | ( |
60 | | - rules[i][1].length == 0 // Keybuffer match not required |
| 60 | + rules[i][1].length === 0 // Keybuffer match not required |
61 | 61 | || |
62 | 62 | ( // Keybuffer match specified, so it should be met |
63 | 63 | rules[i][1].length > 0 |
— | — | @@ -130,7 +130,7 @@ |
131 | 131 | shiftKey: false, |
132 | 132 | cmdKey: false, |
133 | 133 | key: 'm' |
134 | | - } |
| 134 | + }; |
135 | 135 | // Browser sniffing to determine the available shortcutKey |
136 | 136 | // Refer: mediawiki.util.js and en.wikipedia.org/wiki/Access_key |
137 | 137 | var profile = $.client.profile(); |
— | — | @@ -168,7 +168,7 @@ |
169 | 169 | text += 'Command-'; |
170 | 170 | } |
171 | 171 | text += shortcutKey.key.toUpperCase(); |
172 | | - return text; |
| 172 | + return text; |
173 | 173 | } |
174 | 174 | |
175 | 175 | /** |
— | — | @@ -428,7 +428,7 @@ |
429 | 429 | */ |
430 | 430 | this.getScheme = function( name ) { |
431 | 431 | return schemes[name]; |
432 | | - } |
| 432 | + }; |
433 | 433 | |
434 | 434 | /** |
435 | 435 | * Change the current transliteration scheme |
— | — | @@ -438,9 +438,9 @@ |
439 | 439 | var recent = $.cookie( 'narayam-scheme' ) || []; |
440 | 440 | if ( typeof recent === "string" ) { |
441 | 441 | recent = recent.split( "," ); |
442 | | - }; |
| 442 | + } |
443 | 443 | recent = $.grep( recent, function( value ) { |
444 | | - return value != name; |
| 444 | + return value != name; |
445 | 445 | } ); |
446 | 446 | recent.unshift( name ); |
447 | 447 | recent = recent.slice( 0, recentItemsLength ); |
— | — | @@ -465,7 +465,7 @@ |
466 | 466 | this.setup = function() { |
467 | 467 | that.buildMenu(); |
468 | 468 | // Restore state from cookies |
469 | | - var recentSchemes = $.cookie( 'narayam-scheme' ); |
| 469 | + var recent = $.cookie( 'narayam-scheme' ); |
470 | 470 | var lastScheme = null; |
471 | 471 | if ( typeof recent === "string" ) { |
472 | 472 | lastScheme = recent.split( "," )[0]; |
— | — | @@ -531,7 +531,7 @@ |
532 | 532 | if ( $.inArray( scheme, seen ) > -1 ) { continue; } |
533 | 533 | seen.push( scheme ); |
534 | 534 | if ( count++ > recentItemsLength ) { break; } |
535 | | - $narayamMenuItem = that.buildMenuItem( scheme ); |
| 535 | + var $narayamMenuItem = that.buildMenuItem( scheme ); |
536 | 536 | $narayamMenuItem.addClass( 'narayam-recent-menu-item' ); |
537 | 537 | $narayamMenuItems.append( $narayamMenuItem ); |
538 | 538 | } |
— | — | @@ -548,7 +548,7 @@ |
549 | 549 | haveSchemes = true; |
550 | 550 | if ( $.inArray( scheme, seen ) !== -1 ) { continue; } |
551 | 551 | seen.push( scheme ); |
552 | | - $narayamMenuItem = that.buildMenuItem( scheme ); |
| 552 | + var $narayamMenuItem = that.buildMenuItem( scheme ); |
553 | 553 | $narayamMenuItems.append( $narayamMenuItem ); |
554 | 554 | } |
555 | 555 | } |
— | — | @@ -558,11 +558,6 @@ |
559 | 559 | return null; |
560 | 560 | } |
561 | 561 | |
562 | | - // Event listener for scheme selection. |
563 | | - $( '.narayam-scheme', $( '#narayam-menu-items > ul')[0] ).live( 'click', function() { |
564 | | - that.setScheme( $( this ).val() ); |
565 | | - } ); |
566 | | - |
567 | 562 | // Build enable/disable checkbox and label |
568 | 563 | var $checkbox = $( '<input type="checkbox" id="narayam-toggle" />' ); |
569 | 564 | $checkbox |
— | — | @@ -578,13 +573,14 @@ |
579 | 574 | var $moreLink = $( '<a>' ) |
580 | 575 | .text( mw.msg( 'narayam-more-imes' ) ) |
581 | 576 | .prop( 'href', '#' ) |
582 | | - .click( function() { |
| 577 | + .click( function( event ) { |
583 | 578 | $('.narayam-scheme-dynamic-item').toggle( 'fast' ); |
584 | 579 | if ( $('li.narayam-more-imes-link').hasClass( 'open' ) ) { |
585 | 580 | $('li.narayam-more-imes-link').removeClass( 'open' ); |
586 | 581 | } else { |
587 | 582 | $('li.narayam-more-imes-link').addClass( 'open' ); |
588 | 583 | } |
| 584 | + event.stopPropagation(); |
589 | 585 | } ); |
590 | 586 | |
591 | 587 | $narayamMenuItems.append( $( '<li>' ) |
— | — | @@ -598,7 +594,7 @@ |
599 | 595 | // Donot repeat the input methods in more input methods section. |
600 | 596 | // If already shown on recent items. |
601 | 597 | if ( $.inArray( langscheme, seen ) > -1 ) { continue; } |
602 | | - $narayamMenuItem = that.buildMenuItem( langscheme ); |
| 598 | + var $narayamMenuItem = that.buildMenuItem( langscheme ); |
603 | 599 | $narayamMenuItem.addClass( 'narayam-scheme-dynamic-item' ); |
604 | 600 | $narayamMenuItems.append( $narayamMenuItem ); |
605 | 601 | |
— | — | @@ -606,14 +602,16 @@ |
607 | 603 | } |
608 | 604 | |
609 | 605 | // Event listener for scheme selection - dynamic loading of rules. |
610 | | - $( '.narayam-scheme', $('.narayam-scheme-dynamic-item') ).live( 'click', function() { |
| 606 | + $narayamMenuItems.delegate( 'input:radio', 'click', function( ) { |
611 | 607 | that.setScheme( $( this ).val() ); |
612 | | - // rebuild the menu items with recent items. |
613 | | - $( '#narayam-menu' ).html( $.narayam.buildMenuItems() ); |
614 | | - $( '#narayam-menu-items' ).css( 'left', $('li#pt-narayam').offset().left ); |
615 | | - $( '#narayam-' + $( this ).val() ).prop( 'checked', true ); |
616 | | - if ( enabled ) { |
617 | | - $( '#narayam-toggle' ).prop( 'checked', true ); |
| 608 | + if ( $( this ).parent().hasClass( 'narayam-scheme-dynamic-item' ) ){ |
| 609 | + // rebuild the menu items with recent items. |
| 610 | + $( '#narayam-menu' ).html( $.narayam.buildMenuItems() ); |
| 611 | + $( '#narayam-menu-items' ).css( 'left', $( 'li#pt-narayam' ).offset().left ); |
| 612 | + $( '#narayam-' + $( this ).val() ).prop( 'checked', true ); |
| 613 | + if ( enabled ) { |
| 614 | + $( '#narayam-toggle' ).prop( 'checked', true ); |
| 615 | + } |
618 | 616 | } |
619 | 617 | } ); |
620 | 618 | |
— | — | @@ -654,19 +652,53 @@ |
655 | 653 | var $li = $( '<li>' ).attr( 'id', 'pt-narayam' ).append( $link ); |
656 | 654 | |
657 | 655 | // If rtl, add to the right of top personal links. Else, to the left |
658 | | - var fn = $( 'body' ).hasClass( 'rtl' ) ? "append" : "prepend"; |
659 | | - $( '#p-personal ul:first' )[fn]( $li ); |
| 656 | + var rtlEnv = $( 'body' ).hasClass( 'rtl' ); |
| 657 | + var positionFunction = rtlEnv ? "append" : "prepend"; |
| 658 | + $( '#p-personal ul:first' )[positionFunction]( $li ); |
660 | 659 | $( 'body' ).prepend( $menu ); |
661 | 660 | $menu.hide(); |
662 | | - $li.hover( function() { |
663 | | - $menuItemsDiv.css( 'left', $li.offset().left ); |
664 | | - $menu.show(); |
665 | | - }); |
666 | | - $menu.hover( function() { |
667 | | - }, function() { |
| 661 | + $li.click( function( event ) { |
| 662 | + var menuSide, menuOffset, distanceToEdge; |
| 663 | + |
| 664 | + if ( rtlEnv ) { |
| 665 | + distanceToEdge = $li.outerWidth() + $li.offset().left; |
| 666 | + if ( $menuItemsDiv.outerWidth() > distanceToEdge ) { |
| 667 | + menuSide = 'left'; |
| 668 | + menuOffset = $li.offset().left; |
| 669 | + } else { |
| 670 | + menuSide = 'right'; |
| 671 | + menuOffset = $(window).width() - distanceToEdge; |
| 672 | + } |
| 673 | + } else { |
| 674 | + distanceToEdge = $(window).width() - $li.offset().left; |
| 675 | + if ( $menuItemsDiv.outerWidth() > distanceToEdge ) { |
| 676 | + menuSide = 'right'; |
| 677 | + menuOffset = distanceToEdge - $li.outerWidth(); |
| 678 | + } else { |
| 679 | + menuSide = 'left'; |
| 680 | + menuOffset = $li.offset().left; |
| 681 | + } |
| 682 | + } |
| 683 | + |
| 684 | + $menuItemsDiv.css( menuSide, menuOffset ); |
| 685 | + |
| 686 | + if( $menu.hasClass( 'open' ) ){ |
| 687 | + $menu.removeClass( 'open' ); |
| 688 | + $menu.hide(); |
| 689 | + } else { |
| 690 | + $( 'div.open' ).removeClass( 'open' ); |
| 691 | + $menu.addClass( 'open' ); |
| 692 | + $menu.show(); |
| 693 | + event.stopPropagation(); |
| 694 | + } |
| 695 | + } ); |
| 696 | + $( 'html' ).click( function() { |
| 697 | + $menu.removeClass( 'open' ); |
668 | 698 | $menu.hide(); |
669 | | - }); |
670 | | - |
| 699 | + } ); |
| 700 | + $menu.click( function( event ) { |
| 701 | + event.stopPropagation(); |
| 702 | + } ); |
671 | 703 | // Workaround for IE bug - activex components like input fields |
672 | 704 | // coming on top of everything. |
673 | 705 | // TODO: is there a better solution other than hiding it on hover? |
Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.rules.tcy.js |
— | — | @@ -0,0 +1,12 @@ |
| 2 | +/** |
| 3 | + * Transliteration based keyboard for Tulu, based on Kannada |
| 4 | + * @author Santhosh Thottingal ([[user:Santhosh.thottingal]]) |
| 5 | + * @date 2011-12-19 |
| 6 | + * License: GPLv3 |
| 7 | + */ |
| 8 | + |
| 9 | +// copy the rules from kannada transliteration. |
| 10 | +tcy_scheme = $.narayam.getScheme( 'kn' ); |
| 11 | +tcy_scheme.namemsg = 'narayam-tcy'; |
| 12 | +jQuery.narayam.addScheme( 'tcy', tcy_scheme ); |
| 13 | + |
Property changes on: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.rules.tcy.js |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 14 | + native |
Index: branches/wmf/1.18wmf1/extensions/Narayam/resources/ext.narayam.rules.ta-bamini.js |
— | — | @@ -15,7 +15,7 @@ |
16 | 16 | ['t', '', 'வ'], |
17 | 17 | ['y', '', 'ல'], |
18 | 18 | ['u', '', 'ர'], |
19 | | -//['i', '', ''], |
| 19 | +['i', '', 'ை'], |
20 | 20 | ['o', '', 'ழ'], |
21 | 21 | ['p', '', 'ி'], |
22 | 22 | ['\\[', '', 'ஜ'], |
— | — | @@ -36,16 +36,19 @@ |
37 | 37 | ['c', '', 'உ'], |
38 | 38 | ['v', '', 'எ'], |
39 | 39 | ['b', '', 'டி'], |
| 40 | +['n', '', 'ெ'], |
| 41 | +['N', '', 'ே'], |
40 | 42 | ['m', '', 'அ'], |
41 | 43 | [',', '', 'இ'], |
42 | 44 | ['/', '', 'ஃ'], |
43 | | - |
44 | 45 | ['@', '', ';'], |
45 | 46 | ['#', '', 'சூ'], |
46 | 47 | ['\\$', '', 'கூ'], |
47 | 48 | ['%', '', 'மூ'], |
48 | 49 | ['\\^', '', 'டூ'], |
49 | 50 | ['&', '', 'ரூ'], |
| 51 | +['\\*', '', 'ழூ'], |
| 52 | +['=', '', 'ஸ்ரீ'], |
50 | 53 | ['Q', '', 'ஞ'], |
51 | 54 | ['W', '', 'று'], |
52 | 55 | ['E', '', 'நு'], |
— | — | @@ -73,13 +76,16 @@ |
74 | 77 | ['B', '', 'டீ'], |
75 | 78 | ['M', '', 'ஆ'], |
76 | 79 | ['\\<', '', 'ஈ'], |
77 | | -['\\>', '', ','] |
| 80 | +['\\>', '', ','], |
| 81 | +['([ஜஷஸஹ])\\{', '', '$1ு'], |
| 82 | +['([ஜஷஸஹ])\\_', '', '$1ூ'] |
78 | 83 | ]; |
79 | 84 | |
| 85 | + |
80 | 86 | jQuery.narayam.addScheme( 'ta-bamini', { |
81 | 87 | 'namemsg': 'narayam-ta-bamini', |
82 | 88 | 'extended_keyboard': false, |
83 | | - 'lookbackLength': 0, |
| 89 | + 'lookbackLength': 2, |
84 | 90 | 'keyBufferLength': 0, |
85 | 91 | 'rules': rules |
86 | 92 | } ); |
Index: branches/wmf/1.18wmf1/extensions/Narayam/Narayam.i18n.php |
— | — | @@ -54,6 +54,7 @@ |
55 | 55 | 'narayam-ta-inscript' => 'Tamil InScript', |
56 | 56 | 'narayam-ta' => 'Tamil Transliteration', |
57 | 57 | 'narayam-ta-bamini' => 'Tamil Bamini', |
| 58 | + 'narayam-tcy' => 'Tulu Transliteration', |
58 | 59 | 'narayam-te-inscript' => 'Telugu InScript', |
59 | 60 | 'narayam-bn-avro' => 'Bengali Avro', |
60 | 61 | 'narayam-bn-inscript' => 'Bengali InScript', |
— | — | @@ -365,6 +366,7 @@ |
366 | 367 | 'narayam-bn-nkb' => 'NKB bengaleg', |
367 | 368 | 'narayam-ur' => 'Standard ourdou', |
368 | 369 | 'narayam-de' => 'Alamaneg', |
| 370 | + 'narayam-he-standard-2011' => 'Hebraeg standard 2011', |
369 | 371 | ); |
370 | 372 | |
371 | 373 | /** Bosnian (Bosanski) |
— | — | @@ -1339,7 +1341,7 @@ |
1340 | 1342 | 'narayam-ne' => 'നേപ്പാളി ലിപ്യന്തരണം', |
1341 | 1343 | 'narayam-ne-inscript' => 'നേപ്പാളി ഇൻസ്ക്രിപ്റ്റ്', |
1342 | 1344 | 'narayam-or' => 'ഒറിയ ലിപ്യന്തരണം', |
1343 | | - 'narayam-or-lekhani' => 'ഒഡിയ ലേഖനി', |
| 1345 | + 'narayam-or-lekhani' => 'ഒഡിയ ലെഖാനി', |
1344 | 1346 | 'narayam-or-inscript' => 'ഒറിയ ഇൻസ്ക്രിപ്റ്റ്', |
1345 | 1347 | 'narayam-pa-phonetic' => 'ഗുരുമുഖി പഞ്ചാബി ഫൊണറ്റിക്', |
1346 | 1348 | 'narayam-pa-inscript' => 'ഗുരുമുഖി പഞ്ചാബി ഇൻസ്ക്രിപ്റ്റ്', |
— | — | @@ -1351,6 +1353,7 @@ |
1352 | 1354 | 'narayam-ta-inscript' => 'തമിഴ് ഇൻസ്ക്രിപ്റ്റ്', |
1353 | 1355 | 'narayam-ta' => 'തമിഴ് ലിപ്യന്തരണം', |
1354 | 1356 | 'narayam-ta-bamini' => 'തമിൾ ഭാമിനി', |
| 1357 | + 'narayam-tcy' => 'തുളു ലിപ്യന്തരണം', |
1355 | 1358 | 'narayam-te-inscript' => 'തെലുഗു ഇൻസ്ക്രിപ്റ്റ്', |
1356 | 1359 | 'narayam-bn-avro' => 'ബംഗാളി അവ്രൊ', |
1357 | 1360 | 'narayam-bn-inscript' => 'ബംഗാളി ഇൻസ്ക്രിപ്റ്റ്', |
Index: branches/wmf/1.18wmf1/extensions/Narayam/Narayam.php |
— | — | @@ -32,7 +32,7 @@ |
33 | 33 | 'name' => 'Narayam', |
34 | 34 | 'version' => 0.1, |
35 | 35 | 'author' => array( '[http://junaidpv.in Junaid P V]', 'Roan Kattouw' ), |
36 | | - 'url' => 'http://www.mediawiki.org/wiki/Extension:Narayam', |
| 36 | + 'url' => 'https://www.mediawiki.org/wiki/Extension:Narayam', |
37 | 37 | 'descriptionmsg' => 'narayam-desc' |
38 | 38 | ); |
39 | 39 | |
— | — | @@ -135,6 +135,9 @@ |
136 | 136 | 'ta-bamini' => array( 'ext.narayam.rules.ta-bamini', 'beta' ), |
137 | 137 | 'ta-inscript' => array( 'ext.narayam.rules.ta-inscript', 'beta' ), |
138 | 138 | ), |
| 139 | + 'tcy' => array( |
| 140 | + 'tcy' => array( 'ext.narayam.rules.tcy', 'beta' ), |
| 141 | + ), |
139 | 142 | 'te' => array( |
140 | 143 | 'te-inscript' => 'ext.narayam.rules.te-inscript', |
141 | 144 | ), |
— | — | @@ -237,6 +240,7 @@ |
238 | 241 | 'narayam-ta-inscript', |
239 | 242 | 'narayam-ta', |
240 | 243 | 'narayam-ta-bamini', |
| 244 | + 'narayam-tcy', |
241 | 245 | 'narayam-te-inscript', |
242 | 246 | 'narayam-ur', |
243 | 247 | ), |
— | — | @@ -430,3 +434,8 @@ |
431 | 435 | 'scripts' => 'resources/ext.narayam.rules.mai-inscript.js', |
432 | 436 | 'dependencies' => 'ext.narayam.rules.hi-inscript', |
433 | 437 | ); |
| 438 | +$wgResourceModules['ext.narayam.rules.tcy'] = $narayamTpl + array( |
| 439 | + 'scripts' => 'resources/ext.narayam.rules.tcy.js', |
| 440 | + 'dependencies' => 'ext.narayam.rules.kn', |
| 441 | +); |
| 442 | + |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/WebFonts.hooks.php |
— | — | @@ -11,6 +11,9 @@ |
12 | 12 | |
13 | 13 | /** |
14 | 14 | * BeforePageDisplay hook handler. |
| 15 | + * @param $out OutputPage |
| 16 | + * @param $skin Skin |
| 17 | + * @return bool |
15 | 18 | */ |
16 | 19 | public static function addModules( $out, $skin ) { |
17 | 20 | |
— | — | @@ -23,6 +26,9 @@ |
24 | 27 | |
25 | 28 | /** |
26 | 29 | * GetPreferences hook handler. |
| 30 | + * @param $user User |
| 31 | + * @param $preferences array |
| 32 | + * @return bool |
27 | 33 | */ |
28 | 34 | public static function addPreference( $user, &$preferences ) { |
29 | 35 | // A checkbox in preferences to enable WebFonts |
— | — | @@ -35,11 +41,13 @@ |
36 | 42 | |
37 | 43 | return true; |
38 | 44 | } |
39 | | - |
| 45 | + |
40 | 46 | /** |
41 | 47 | * UserGetDefaultOptions hook handler. |
| 48 | + * @param $defaultOptions array |
| 49 | + * @return bool |
42 | 50 | */ |
43 | | - public static function addDefaultOptions( &$defaultOptions ) { |
| 51 | + public static function addDefaultOptions( &$defaultOptions ) { |
44 | 52 | global $wgWebFontsEnabledByDefault; |
45 | 53 | // By default, the preference page option to enable webfonts is set to wgWebFontsEnabledByDefault value. |
46 | 54 | $defaultOptions['webfontsEnable'] = $wgWebFontsEnabledByDefault; |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/resources/ext.webfonts.modern.css |
— | — | @@ -5,8 +5,13 @@ |
6 | 6 | overflow: visible!important; |
7 | 7 | } |
8 | 8 | |
| 9 | +li#pt-webfont { |
| 10 | + margin-left: 5px; |
| 11 | +} |
| 12 | + |
9 | 13 | div.webfontMenu div.menu { |
10 | 14 | top: 0px; |
| 15 | + position: relative; |
11 | 16 | } |
12 | 17 | |
13 | 18 | div#webfonts-menu li { |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/resources/ext.webfonts.js |
— | — | @@ -138,10 +138,10 @@ |
139 | 139 | fontFormats.push( "\t\turl('" + base + fontconfig.ttf + versionSuffix + "') format('truetype')" ); |
140 | 140 | } |
141 | 141 | |
142 | | - styleString += fontFormats.join() + ";\n" |
| 142 | + styleString += fontFormats.join() + ";\n"; |
143 | 143 | styleString += "\tfont-weight: normal;\n}\n</style>\n"; |
144 | 144 | |
145 | | - //inject the css to the head of the page. |
| 145 | + //inject the css to the head of the page. |
146 | 146 | $( styleString ).appendTo( 'head' ); |
147 | 147 | }, |
148 | 148 | |
— | — | @@ -231,6 +231,7 @@ |
232 | 232 | loadFontsForLangAttr: function() { |
233 | 233 | var languages = mw.webfonts.config.languages; |
234 | 234 | var requested = [mw.config.get( 'wgUserVariant' ), mw.config.get( 'wgContentLanguage' ), mw.config.get( 'wgUserLanguage' )]; |
| 235 | + var fontFamily = false; |
235 | 236 | // If there are tags with lang attribute, |
236 | 237 | $( 'body' ).find( '*[lang]' ).each( function( index ) { |
237 | 238 | // If the lang attribute value is same as one of |
— | — | @@ -307,7 +308,7 @@ |
308 | 309 | return null; |
309 | 310 | } |
310 | 311 | |
311 | | - var $resetLink = $( '<input type="radio" name="font"/>' ) |
| 312 | + var $resetLink = $( '<input type="radio" name="font" />' ) |
312 | 313 | .attr( 'value', 'webfont-none' ) |
313 | 314 | .attr( 'id', 'webfont-none' ) |
314 | 315 | .click( function( e ) { |
— | — | @@ -338,29 +339,67 @@ |
339 | 340 | */ |
340 | 341 | buildMenu: function(config) { |
341 | 342 | var $menuItemsDiv = mw.webfonts.buildMenuItems( config ); |
342 | | - if( $menuItemsDiv == null ) { |
| 343 | + if( $menuItemsDiv === null ) { |
343 | 344 | return; |
344 | 345 | } |
345 | 346 | var $menu = $( '<div>' ) |
346 | 347 | .attr( 'id', 'webfonts-menu' ) |
347 | 348 | .addClass( 'webfontMenu' ) |
348 | 349 | .append( $menuItemsDiv ); |
349 | | - var $link = $( '<a>' ).prop( 'href', '#' ).text( mw.message( 'webfonts-load' ).escaped() ); |
| 350 | + var $link = $( '<a>' ) |
| 351 | + .prop( 'href', '#' ) |
| 352 | + .text( mw.msg( 'webfonts-load' ) ) |
| 353 | + .attr( 'title', mw.msg( 'webfonts-menu-tooltip' ) ); |
| 354 | + |
350 | 355 | // This is the fonts link |
351 | 356 | var $li = $( '<li>' ).attr( 'id', 'pt-webfont' ).append( $link ); |
| 357 | + |
| 358 | + var rtlEnv = $( 'body' ).hasClass( 'rtl' ); |
| 359 | + |
352 | 360 | // If RTL, add to the right of top personal links. Else, to the left |
353 | | - var fn = $( 'body' ).hasClass( 'rtl' ) ? 'append' : 'prepend'; |
354 | | - $( '#p-personal ul:first' )[fn]( $li ); |
| 361 | + var positionFunction = rtlEnv ? 'append' : 'prepend'; |
| 362 | + $( '#p-personal ul:first' )[positionFunction]( $li ); |
| 363 | + |
355 | 364 | $( 'body' ).prepend( $menu ); |
356 | | - $menu.hide(); |
357 | | - $li.hover( function() { |
358 | | - $menuItemsDiv.css( 'left', $li.offset().left ); |
359 | | - $menu.show(); |
360 | | - }); |
361 | | - $menu.hover( function() { |
362 | | - }, function() { |
363 | | - $menu.hide(); |
364 | | - }); |
| 365 | + $li.click( function( event ) { |
| 366 | + var menuSide, menuOffset, distanceToEdge; |
| 367 | + |
| 368 | + if ( rtlEnv ) { |
| 369 | + distanceToEdge = $li.outerWidth() + $li.offset().left; |
| 370 | + if ( $menuItemsDiv.outerWidth() > distanceToEdge ) { |
| 371 | + menuSide = 'left'; |
| 372 | + menuOffset = $li.offset().left; |
| 373 | + } else { |
| 374 | + menuSide = 'right'; |
| 375 | + menuOffset = $(window).width() - distanceToEdge; |
| 376 | + } |
| 377 | + } else { |
| 378 | + distanceToEdge = $(window).width() - $li.offset().left; |
| 379 | + if ( $menuItemsDiv.outerWidth() > distanceToEdge ) { |
| 380 | + menuSide = 'right'; |
| 381 | + menuOffset = distanceToEdge - $li.outerWidth(); |
| 382 | + } else { |
| 383 | + menuSide = 'left'; |
| 384 | + menuOffset = $li.offset().left; |
| 385 | + } |
| 386 | + } |
| 387 | + |
| 388 | + $menuItemsDiv.css( menuSide, menuOffset ); |
| 389 | + |
| 390 | + if ( $menu.hasClass( 'open' ) ) { |
| 391 | + $menu.removeClass( 'open' ); |
| 392 | + } else { |
| 393 | + $( 'div.open' ).removeClass( 'open' ); |
| 394 | + $menu.addClass( 'open' ); |
| 395 | + event.stopPropagation(); |
| 396 | + } |
| 397 | + } ); |
| 398 | + $( 'html' ).click( function() { |
| 399 | + $menu.removeClass( 'open' ); |
| 400 | + } ); |
| 401 | + $menu.click( function( event ) { |
| 402 | + event.stopPropagation(); |
| 403 | + } ); |
365 | 404 | // Workaround for IE bug - ActiveX components like input fields coming on top of everything. |
366 | 405 | // @todo Is there a better solution other than hiding it on hover? |
367 | 406 | if ( $.browser.msie ) { |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/resources/ext.webfonts.fontlist.js |
— | — | @@ -369,7 +369,7 @@ |
370 | 370 | kok: [ "Lohit Devanagari" ], |
371 | 371 | gom: [ "Lohit Devanagari" ], |
372 | 372 | mai: [ "Lohit Devanagari" ], |
373 | | - ml: [ "AnjaliOldLipi", "Meera", "RaghuMalayalam" ], |
| 373 | + ml: [ "AnjaliOldLipi" ], |
374 | 374 | mr: [ "Lohit Devanagari" ], |
375 | 375 | my: [ "Masterpiece Uni Sans", "Padauk-Regular", "Myanmar3", "Yunghkio" ], |
376 | 376 | ne: [ "Lohit Devanagari", "Madan" ], |
— | — | @@ -378,6 +378,7 @@ |
379 | 379 | sa: [ "Lohit Devanagari" ], |
380 | 380 | saz: [ "Pagul" ], |
381 | 381 | ta: [ "Lohit Tamil", "Thendral", "Thenee" ], |
| 382 | + tcy: [ "Lohit Kannada", "Kedage" ], |
382 | 383 | te: [ "Lohit Telugu", "Pothana2000", "Vemana2000" ], |
383 | 384 | ti: [ "AbyssinicaSIL" ] |
384 | 385 | } |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/resources/ext.webfonts.css |
— | — | @@ -7,19 +7,21 @@ |
8 | 8 | div#webfonts-menu { |
9 | 9 | font-size: 100%; |
10 | 10 | z-index: 99999; |
| 11 | + display: none; |
11 | 12 | } |
12 | 13 | |
| 14 | +div#webfonts-menu.open{ |
| 15 | + display: block; |
| 16 | +} |
13 | 17 | div#webfonts-fonts { |
14 | 18 | font-size: 100%; |
15 | 19 | z-index: 99999; |
16 | 20 | } |
17 | 21 | |
18 | | - |
19 | 22 | div#webfonts-menu .menu ul { |
20 | 23 | padding-left: 5px!important; |
21 | 24 | } |
22 | 25 | |
23 | | - |
24 | 26 | div#webfonts-fonts li { |
25 | 27 | margin: 0; |
26 | 28 | padding: 5px; |
— | — | @@ -35,12 +37,12 @@ |
36 | 38 | } |
37 | 39 | |
38 | 40 | /* @noflip */ |
39 | | -body.rtl div.webfontMenu ul li { |
| 41 | +body.rtl div.webfontMenu { |
40 | 42 | direction: rtl; |
41 | 43 | } |
42 | 44 | |
43 | 45 | div.webfontMenu div.menu { |
44 | | - position: relative; |
| 46 | + position: absolute; |
45 | 47 | display: block; |
46 | 48 | clear: both; |
47 | 49 | text-align: left; |
— | — | @@ -82,6 +84,7 @@ |
83 | 85 | margin-left: -1px; |
84 | 86 | text-align: left; |
85 | 87 | font-size: 0.8em; |
| 88 | + width: 100%; |
86 | 89 | } |
87 | 90 | |
88 | 91 | div.webfontMenu li { |
— | — | @@ -115,3 +118,4 @@ |
116 | 119 | div.webfontMenu label:hover, input:hover { |
117 | 120 | cursor: pointer; |
118 | 121 | } |
| 122 | + |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/WebFonts.i18n.php |
— | — | @@ -17,13 +17,18 @@ |
18 | 18 | 'webfonts-load' => 'Select font', |
19 | 19 | 'webfonts-reset' => 'Reset', |
20 | 20 | 'webfonts-enable-preference' => 'Enable font embedding (WebFonts)', |
| 21 | + 'webfonts-menu-tooltip' => 'Select a font for the page', |
21 | 22 | ); |
22 | 23 | |
23 | 24 | /** Message documentation (Message documentation) |
24 | 25 | * @author EugeneZelenko |
25 | 26 | */ |
26 | 27 | $messages['qqq'] = array( |
| 28 | + 'webfonts' => 'The extension name - WebFonts', |
| 29 | + 'webfonts-desc' => 'short description of the extension', |
| 30 | + 'webfonts-load' => 'The text shown in the webfont link', |
27 | 31 | 'webfonts-reset' => '{{Identical|Reset}}', |
| 32 | + 'webfonts-menu-tooltip' => 'Tooltip text displayed in the webfont link', |
28 | 33 | ); |
29 | 34 | |
30 | 35 | /** Arabic (العربية) |
— | — | @@ -75,6 +80,7 @@ |
76 | 81 | 'webfonts-desc' => "Ensoc'hañ a ra ar fontoù er pajennoù", |
77 | 82 | 'webfonts-load' => 'Diuzañ ar font', |
78 | 83 | 'webfonts-reset' => 'Adderaouekaat', |
| 84 | + 'webfonts-menu-tooltip' => 'Dibabit ur font evit ar bajenn', |
79 | 85 | ); |
80 | 86 | |
81 | 87 | /** Bosnian (Bosanski) |
— | — | @@ -106,8 +112,21 @@ |
107 | 113 | 'webfonts-load' => 'Schriftart auswählen', |
108 | 114 | 'webfonts-reset' => 'Zurücksetzen', |
109 | 115 | 'webfonts-enable-preference' => 'Schriftarteneinbettung aktivieren', |
| 116 | + 'webfonts-menu-tooltip' => 'Eine Schriftart für die Seite auswählen.', |
110 | 117 | ); |
111 | 118 | |
| 119 | +/** Lower Sorbian (Dolnoserbski) |
| 120 | + * @author Michawiki |
| 121 | + */ |
| 122 | +$messages['dsb'] = array( |
| 123 | + 'webfonts' => 'WebFonts', |
| 124 | + 'webfonts-desc' => 'Pisma do bokow zasajźiś', |
| 125 | + 'webfonts-load' => 'Pismo wubraś', |
| 126 | + 'webfonts-reset' => 'Slědk stajiś', |
| 127 | + 'webfonts-enable-preference' => 'Zasajźenje pismow zmóžniś (WebFonts)', |
| 128 | + 'webfonts-menu-tooltip' => 'Pismo za bok wubraś', |
| 129 | +); |
| 130 | + |
112 | 131 | /** Spanish (Español) |
113 | 132 | * @author Fitoschido |
114 | 133 | */ |
— | — | @@ -142,6 +161,7 @@ |
143 | 162 | 'webfonts-load' => 'Sélectionnez une police', |
144 | 163 | 'webfonts-reset' => 'Réinitialiser', |
145 | 164 | 'webfonts-enable-preference' => "Active l'incorporation des fontes (WebFonts)", |
| 165 | + 'webfonts-menu-tooltip' => 'Sélectionnez une police pour la page', |
146 | 166 | ); |
147 | 167 | |
148 | 168 | /** Franco-Provençal (Arpetan) |
— | — | @@ -215,6 +235,7 @@ |
216 | 236 | 'webfonts-load' => 'Pismo wubrać', |
217 | 237 | 'webfonts-reset' => 'Wróćo stajić', |
218 | 238 | 'webfonts-enable-preference' => 'Zasadźenje pismow zmóžnić (WebFonts)', |
| 239 | + 'webfonts-menu-tooltip' => 'Pismo za stronu wubrać', |
219 | 240 | ); |
220 | 241 | |
221 | 242 | /** Interlingua (Interlingua) |
— | — | @@ -226,6 +247,7 @@ |
227 | 248 | 'webfonts-load' => 'Selige un typo de litteras', |
228 | 249 | 'webfonts-reset' => 'Reinitialisar', |
229 | 250 | 'webfonts-enable-preference' => 'Activar le incorporation de typos de litteras (WebFonts)', |
| 251 | + 'webfonts-menu-tooltip' => 'Selige un typo de litteras pro le pagina', |
230 | 252 | ); |
231 | 253 | |
232 | 254 | /** Indonesian (Bahasa Indonesia) |
— | — | @@ -256,6 +278,9 @@ |
257 | 279 | 'webfonts' => 'WebFonts', |
258 | 280 | 'webfonts-desc' => 'Incorpora caratteri nelle pagine', |
259 | 281 | 'webfonts-load' => 'Seleziona il tipo di carattere', |
| 282 | + 'webfonts-reset' => 'Reimposta', |
| 283 | + 'webfonts-enable-preference' => "Attiva l'incorporazione dei caratteri (WebFont)", |
| 284 | + 'webfonts-menu-tooltip' => 'Seleziona un tipo di carattere per la pagina', |
260 | 285 | ); |
261 | 286 | |
262 | 287 | /** Japanese (日本語) |
— | — | @@ -309,6 +334,7 @@ |
310 | 335 | 'webfonts-load' => 'Изберете фонт', |
311 | 336 | 'webfonts-reset' => 'Врати', |
312 | 337 | 'webfonts-enable-preference' => 'Овозможи на вметнување на фонтови (WebFonts)', |
| 338 | + 'webfonts-menu-tooltip' => 'Изберете фонт за страницата', |
313 | 339 | ); |
314 | 340 | |
315 | 341 | /** Malayalam (മലയാളം) |
— | — | @@ -321,6 +347,7 @@ |
322 | 348 | 'webfonts-load' => 'ഫോണ്ടുകള്', |
323 | 349 | 'webfonts-reset' => 'പഴയപടിയാക്കുക', |
324 | 350 | 'webfonts-enable-preference' => 'ഫോണ്ട് എംബെഡ് ചെയ്യുക.(വെബ്ഫോണ്ട്സ്)', |
| 351 | + 'webfonts-menu-tooltip' => 'താളിനുവേണ്ടി ഒരു ഫോണ്ട് തിരഞ്ഞെടുക്കുക', |
325 | 352 | ); |
326 | 353 | |
327 | 354 | /** Marathi (मराठी) |
— | — | @@ -341,6 +368,7 @@ |
342 | 369 | 'webfonts-load' => 'Pilih fon', |
343 | 370 | 'webfonts-reset' => 'Set semula', |
344 | 371 | 'webfonts-enable-preference' => 'Hidupkan pembenaman fon (WebFonts)', |
| 372 | + 'webfonts-menu-tooltip' => 'Pilih fon untuk laman ini', |
345 | 373 | ); |
346 | 374 | |
347 | 375 | /** Nepali (नेपाली) |
— | — | @@ -356,6 +384,7 @@ |
357 | 385 | |
358 | 386 | /** Dutch (Nederlands) |
359 | 387 | * @author SPQRobin |
| 388 | + * @author Saruman |
360 | 389 | * @author Siebrand |
361 | 390 | */ |
362 | 391 | $messages['nl'] = array( |
— | — | @@ -364,6 +393,7 @@ |
365 | 394 | 'webfonts-load' => 'Lettertype selecteren', |
366 | 395 | 'webfonts-reset' => 'Opnieuw instellen', |
367 | 396 | 'webfonts-enable-preference' => 'Lettertypen insluiten inschakelen (WebFonts)', |
| 397 | + 'webfonts-menu-tooltip' => 'Selecteer een lettertype voor de pagina', |
368 | 398 | ); |
369 | 399 | |
370 | 400 | /** Norwegian (bokmål) (Norsk (bokmål)) |
— | — | @@ -377,9 +407,10 @@ |
378 | 408 | |
379 | 409 | /** Oriya (ଓଡ଼ିଆ) |
380 | 410 | * @author Odisha1 |
| 411 | + * @author Psubhashish |
381 | 412 | */ |
382 | 413 | $messages['or'] = array( |
383 | | - 'webfonts-reset' => 'ପୁନଃ ସ୍ଥାପନ', |
| 414 | + 'webfonts-reset' => 'ପୁନସ୍ଥାପନ', |
384 | 415 | ); |
385 | 416 | |
386 | 417 | /** Polish (Polski) |
Index: branches/wmf/1.18wmf1/extensions/WebFonts/WebFonts.php |
— | — | @@ -22,7 +22,7 @@ |
23 | 23 | 'path' => __FILE__, |
24 | 24 | 'name' => 'WebFonts', |
25 | 25 | 'author' => array( 'Santhosh Thottingal', 'Niklas Laxström' ), |
26 | | - 'url' => 'http://www.mediawiki.org/wiki/Extension:WebFonts', |
| 26 | + 'url' => 'https://www.mediawiki.org/wiki/Extension:WebFonts', |
27 | 27 | 'descriptionmsg' => 'webfonts-desc', |
28 | 28 | ); |
29 | 29 | |
— | — | @@ -57,7 +57,7 @@ |
58 | 58 | ), |
59 | 59 | 'localBasePath' => $dir, |
60 | 60 | 'remoteExtPath' => 'WebFonts', |
61 | | - 'messages' => array( 'webfonts-load', 'webfonts-reset' ), |
| 61 | + 'messages' => array( 'webfonts-load', 'webfonts-reset', 'webfonts-menu-tooltip' ), |
62 | 62 | 'dependencies' => 'jquery.cookie' , |
63 | 63 | 'position' => 'top', |
64 | 64 | ); |
Index: branches/wmf/1.18wmf1/extensions/CategoryTree/CategoryTreeFunctions.php |
— | — | @@ -642,7 +642,9 @@ |
643 | 643 | $attr = array( 'class' => 'CategoryTreeBullet' ); |
644 | 644 | |
645 | 645 | # Get counts, with conversion to integer so === works |
646 | | - $pageCount = $cat ? intval( $cat->getPageCount() ) : 0; |
| 646 | + # Note: $allCount is the total number of cat members, |
| 647 | + # not the count of how many members are normal pages. |
| 648 | + $allCount = $cat ? intval( $cat->getPageCount() ) : 0; |
647 | 649 | $subcatCount = $cat ? intval( $cat->getSubcatCount() ) : 0; |
648 | 650 | $fileCount = $cat ? intval( $cat->getFileCount() ) : 0; |
649 | 651 | |
— | — | @@ -652,9 +654,9 @@ |
653 | 655 | if ( $mode == CT_MODE_CATEGORIES ) { |
654 | 656 | $count = $subcatCount; |
655 | 657 | } elseif ( $mode == CT_MODE_PAGES ) { |
656 | | - $count = $pageCount - $fileCount; |
| 658 | + $count = $allCount - $fileCount; |
657 | 659 | } else { |
658 | | - $count = $pageCount; |
| 660 | + $count = $allCount; |
659 | 661 | } |
660 | 662 | } |
661 | 663 | if ( $count === 0 ) { |
— | — | @@ -696,11 +698,11 @@ |
697 | 699 | $s .= Xml::openElement( 'a', array( 'class' => $labelClass, 'href' => $wikiLink ) ) . $label . Xml::closeElement( 'a' ); |
698 | 700 | |
699 | 701 | if ( $count !== false && $this->getOption( 'showcount' ) ) { |
700 | | - $pages = $pageCount - $subcatCount - $fileCount; |
| 702 | + $pages = $allCount - $subcatCount - $fileCount; |
701 | 703 | |
702 | 704 | global $wgContLang, $wgLang; |
703 | 705 | $attr = array( |
704 | | - 'title' => wfMsgExt( 'categorytree-member-counts', 'parsemag', $subcatCount, $pages , $fileCount, $pageCount, $count ), |
| 706 | + 'title' => wfMsgExt( 'categorytree-member-counts', 'parsemag', $subcatCount, $pages , $fileCount, $allCount, $count ), |
705 | 707 | 'dir' => $wgLang->getDir() # numbers and commas get messed up in a mixed dir env |
706 | 708 | ); |
707 | 709 | |
— | — | @@ -711,8 +713,8 @@ |
712 | 714 | if ( $subcatCount ) { |
713 | 715 | $memberNums[] = wfMessage( 'categorytree-num-categories', $wgLang->formatNum( $subcatCount ) )->text(); |
714 | 716 | } |
715 | | - if ( $pageCount ) { |
716 | | - $memberNums[] = wfMessage( 'categorytree-num-pages', $wgLang->formatNum( $pageCount ) )->text(); |
| 717 | + if ( $pages ) { |
| 718 | + $memberNums[] = wfMessage( 'categorytree-num-pages', $wgLang->formatNum( $pages ) )->text(); |
717 | 719 | } |
718 | 720 | if ( $fileCount ) { |
719 | 721 | $memberNums[] = wfMessage( 'categorytree-num-files', $wgLang->formatNum( $fileCount ) )->text(); |
— | — | @@ -729,7 +731,7 @@ |
730 | 732 | $subcatCount, |
731 | 733 | $pages, |
732 | 734 | $fileCount, |
733 | | - $pageCount, |
| 735 | + $allCount, |
734 | 736 | $memberNumsShort ) ); |
735 | 737 | } |
736 | 738 | |
Property changes on: branches/wmf/1.18wmf1/extensions/CategoryTree/CategoryTreeFunctions.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
737 | 739 | Merged /trunk/extensions/CategoryTree/CategoryTreeFunctions.php:r103260,103315 |
738 | 740 | Merged /trunk/phase3/extensions/CategoryTree/CategoryTreeFunctions.php:r105832,105855 |
Index: branches/wmf/1.18wmf1/includes/Linker.php |
— | — | @@ -1116,6 +1116,7 @@ |
1117 | 1117 | * @return string |
1118 | 1118 | */ |
1119 | 1119 | private static function formatAutocommentsCallback( $match ) { |
| 1120 | + global $wgLang; |
1120 | 1121 | $title = self::$autocommentTitle; |
1121 | 1122 | $local = self::$autocommentLocal; |
1122 | 1123 | |
— | — | @@ -1141,7 +1142,7 @@ |
1142 | 1143 | } |
1143 | 1144 | if ( $sectionTitle ) { |
1144 | 1145 | $link = self::link( $sectionTitle, |
1145 | | - htmlspecialchars( wfMsgForContent( 'sectionlink' ) ), array(), array(), |
| 1146 | + $wgLang->getArrow(), array(), array(), |
1146 | 1147 | 'noclasses' ); |
1147 | 1148 | } else { |
1148 | 1149 | $link = ''; |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesShi.php |
— | — | @@ -787,7 +787,6 @@ |
788 | 788 | 'newpageletter' => 'A', |
789 | 789 | 'boteditletter' => 'q', |
790 | 790 | 'unpatrolledletter' => '!', |
791 | | -'sectionlink' => '→', |
792 | 791 | 'number_of_watching_users_pageview' => '[$1 iżŗi {{PLURAL:$1|amsqdac|imsqdacn}}]', |
793 | 792 | 'rc_categories_any' => 'wanna', |
794 | 793 | 'rc-change-size' => '$1', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesNe.php |
— | — | @@ -1366,7 +1366,6 @@ |
1367 | 1367 | 'newpageletter' => 'न', |
1368 | 1368 | 'boteditletter' => 'बो', |
1369 | 1369 | 'unpatrolledletter' => '!', |
1370 | | -'sectionlink' => '→', |
1371 | 1370 | 'number_of_watching_users_pageview' => '[$1 निगरानी गर्दै{{PLURAL:$1|प्रयोगकर्ता|प्रयोगकर्ताहरु}}]', |
1372 | 1371 | 'rc_categories' => 'श्रेणीहरुमा सीमित ("|" ले छुट्याउनुहोस्)', |
1373 | 1372 | 'rc_categories_any' => 'कुनै', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesQqq.php |
— | — | @@ -1748,7 +1748,6 @@ |
1749 | 1749 | 'unpatrolledletter' => '{{optional}} |
1750 | 1750 | |
1751 | 1751 | Used in {{msg-mw|Recentchanges-label-legend}}, meaning "unpatrolled".', |
1752 | | -'sectionlink' => '{{optional}}', |
1753 | 1752 | 'rc_categories' => "Probably to do with 'recent changes' special page, either in a particular skin, or for a particular user group. |
1754 | 1753 | |
1755 | 1754 | I guess that this should appear before an input box where you can specify that recent changes should be shown for pages belonging to certain categories only. You name the categories in the input box, and separate them by a pipe character. If this is right, then you should be able to use 'restrict' instead of 'limit', or even 'show pages in the following categories only'.", |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesKm.php |
— | — | @@ -1567,7 +1567,6 @@ |
1568 | 1568 | 'minoreditletter' => 'តិច', |
1569 | 1569 | 'newpageletter' => 'ថ្មី', |
1570 | 1570 | 'boteditletter' => 'រូបយន្ត', |
1571 | | -'sectionlink' => '→', |
1572 | 1571 | 'number_of_watching_users_pageview' => '[មាន{{PLURAL:$1|អ្នកប្រើប្រាស់|អ្នកប្រើប្រាស់}}$1នាក់កំពុងមើល]', |
1573 | 1572 | 'rc_categories' => 'កម្រិតទីតាំងចំណាត់ថ្នាក់ក្រុម(ខណ្ឌដោយសញ្ញា "|")', |
1574 | 1573 | 'rc_categories_any' => 'មួយណាក៏បាន', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesHe.php |
— | — | @@ -1662,7 +1662,6 @@ |
1663 | 1663 | 'minoreditletter' => 'מ', |
1664 | 1664 | 'newpageletter' => 'ח', |
1665 | 1665 | 'boteditletter' => 'ב', |
1666 | | -'sectionlink' => '←', |
1667 | 1666 | 'number_of_watching_users_pageview' => '[{{PLURAL:$1|משתמש אחד עוקב|$1 משתמשים עוקבים}} אחרי הדף]', |
1668 | 1667 | 'rc_categories' => 'הגבלה לקטגוריות (יש להפריד עם "|")', |
1669 | 1668 | 'rc_categories_any' => 'הכול', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesAr.php |
— | — | @@ -1783,7 +1783,6 @@ |
1784 | 1784 | 'minoreditletter' => 'ط', |
1785 | 1785 | 'newpageletter' => 'ج', |
1786 | 1786 | 'boteditletter' => 'ب', |
1787 | | -'sectionlink' => '←', |
1788 | 1787 | 'number_of_watching_users_pageview' => '[{{PLURAL:$1|لا مستخدمون يراقبون|مستخدم واحد يراقب|مستخدمان يراقبان|$1 مستخدمين يراقبون|$1 مستخدما يراقب|$1 مستخدم يراقب}}]', |
1789 | 1788 | 'rc_categories' => 'حصر لتصنيفات (مفرقة برمز "|")', |
1790 | 1789 | 'rc_categories_any' => 'أي', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesAz.php |
— | — | @@ -1236,7 +1236,6 @@ |
1237 | 1237 | 'minoreditletter' => 'k', |
1238 | 1238 | 'newpageletter' => 'Y', |
1239 | 1239 | 'boteditletter' => 'b', |
1240 | | -'sectionlink' => '→', |
1241 | 1240 | 'number_of_watching_users_pageview' => '[$1 izləyən istifadəçi]', |
1242 | 1241 | 'rc_categories' => 'Kateqoriyalara limit qoy ("|" ilə ayır)', |
1243 | 1242 | 'rc_categories_any' => 'Hər', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesAry.php |
— | — | @@ -1269,7 +1269,6 @@ |
1270 | 1270 | 'minoreditletter' => 'ṣ', |
1271 | 1271 | 'newpageletter' => 'J', |
1272 | 1272 | 'boteditletter' => 'b', |
1273 | | -'sectionlink' => '→', |
1274 | 1273 | 'number_of_watching_users_pageview' => '[$1 katchof {{PLURAL:$1|mostkhdim|mostkhdimin}}]', |
1275 | 1274 | 'rc_categories' => 'limiti tsnifat (frqha b "|")', |
1276 | 1275 | 'rc_categories_any' => 'ay wahd', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesEn.php |
— | — | @@ -2046,7 +2046,6 @@ |
2047 | 2047 | 'newpageletter' => 'N', |
2048 | 2048 | 'boteditletter' => 'b', |
2049 | 2049 | 'unpatrolledletter' => '!', # only translate this message to other languages if you have to change it |
2050 | | -'sectionlink' => '→', # only translate this message to other languages if you have to change it |
2051 | 2050 | 'number_of_watching_users_RCview' => '[$1]', # do not translate or duplicate this message to other languages |
2052 | 2051 | 'number_of_watching_users_pageview' => '[$1 watching {{PLURAL:$1|user|users}}]', |
2053 | 2052 | 'rc_categories' => 'Limit to categories (separate with "|")', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesFa.php |
— | — | @@ -1765,7 +1765,6 @@ |
1766 | 1766 | 'minoreditletter' => 'جز', |
1767 | 1767 | 'newpageletter' => 'نو', |
1768 | 1768 | 'boteditletter' => 'ر', |
1769 | | -'sectionlink' => '←', |
1770 | 1769 | 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|کاربر|کاربر}} پیگیریکننده]', |
1771 | 1770 | 'rc_categories' => 'محدود به این ردهها (ردهها را با «|» جدا کنید)', |
1772 | 1771 | 'rc_categories_any' => 'هر کدام', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesArz.php |
— | — | @@ -1554,7 +1554,6 @@ |
1555 | 1555 | 'minoreditletter' => 'ص', |
1556 | 1556 | 'newpageletter' => 'ج', |
1557 | 1557 | 'boteditletter' => 'ب', |
1558 | | -'sectionlink' => '←', |
1559 | 1558 | 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1| يوزر مراقب|يوزر مراقب}}]', |
1560 | 1559 | 'rc_categories' => 'حصر لتصنيفات (مفصولة برمز "|")', |
1561 | 1560 | 'rc_categories_any' => 'أى', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesUk.php |
— | — | @@ -1578,7 +1578,6 @@ |
1579 | 1579 | 'newpageletter' => 'Н', |
1580 | 1580 | 'boteditletter' => 'б', |
1581 | 1581 | 'unpatrolledletter' => '!', |
1582 | | -'sectionlink' => '→', |
1583 | 1582 | 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|користувач спостерігає|користувачі спостерігають|користувачів спостерігають}}]', |
1584 | 1583 | 'rc_categories' => 'Тільки з категорій (разділювач «|»)', |
1585 | 1584 | 'rc_categories_any' => 'Будь-який', |
Index: branches/wmf/1.18wmf1/languages/messages/MessagesRo.php |
— | — | @@ -1614,7 +1614,6 @@ |
1615 | 1615 | 'newpageletter' => 'N', |
1616 | 1616 | 'boteditletter' => 'b', |
1617 | 1617 | 'unpatrolledletter' => '!', |
1618 | | -'sectionlink' => '→', |
1619 | 1618 | 'number_of_watching_users_pageview' => '[$1 {{PLURAL:$1|utilizator|utilizatori}} care urmăresc]', |
1620 | 1619 | 'rc_categories' => 'Limitează la categoriile (separate prin "|")', |
1621 | 1620 | 'rc_categories_any' => 'Oricare', |
Index: branches/wmf/1.18wmf1/languages/Names.php |
— | — | @@ -356,7 +356,7 @@ |
357 | 357 | 'uz' => 'O\'zbek', # Uzbek |
358 | 358 | 've' => 'Tshivenda', # Venda |
359 | 359 | 'vec' => 'Vèneto', # Venetian |
360 | | - 'vep' => 'Vepsan kel\'', # Veps |
| 360 | + 'vep' => 'Vepsän kel\'', # Veps |
361 | 361 | 'vi' => 'Tiếng Việt', # Vietnamese |
362 | 362 | 'vls' => 'West-Vlams', # West Flemish |
363 | 363 | 'vmf' => 'Mainfränkisch', # Upper Franconian, Main-Franconian |