Index: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.php |
— | — | @@ -0,0 +1,171 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * MediaWiki WikiLove extension |
| 5 | + * http://www.mediawiki.org/wiki/Extension:WikiLove |
| 6 | + * |
| 7 | + * This program is free software; you can redistribute it and/or modify |
| 8 | + * it under the terms of the GNU General Public License as published by |
| 9 | + * the Free Software Foundation; either version 2 of the License, or |
| 10 | + * (at your option) any later version. |
| 11 | + * |
| 12 | + * This program is distributed in the hope that it will be useful, |
| 13 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 15 | + * GNU General Public License for more details. |
| 16 | + * |
| 17 | + * http://www.gnu.org/copyleft/gpl.html |
| 18 | + * |
| 19 | + * Heart icon by Mark James (Creative Commons Attribution 3.0 License) |
| 20 | + * Interface design by Brandon Harris |
| 21 | + */ |
| 22 | + |
| 23 | +/** |
| 24 | + * @file |
| 25 | + * @ingroup Extensions |
| 26 | + * @author Ryan Kaldari, Jan Paul Posma |
| 27 | + */ |
| 28 | + |
| 29 | +# Alert the user that this is not a valid entry point to MediaWiki if they try to access the file directly. |
| 30 | +if ( !defined( 'MEDIAWIKI' ) ) { |
| 31 | + echo <<<EOT |
| 32 | +To install this extension, put the following line in LocalSettings.php: |
| 33 | +require_once( "\$IP/extensions/WikiLove/WikiLove.php" ); |
| 34 | +EOT; |
| 35 | + exit( 1 ); |
| 36 | +} |
| 37 | + |
| 38 | +// Extension credits that will show up on Special:Version |
| 39 | +$wgExtensionCredits['other'][] = array( |
| 40 | + 'path' => __FILE__, |
| 41 | + 'name' => 'WikiLove', |
| 42 | + 'version' => '1.0', |
| 43 | + 'url' => 'http://www.mediawiki.org/wiki/Extension:WikiLove', |
| 44 | + 'author' => array( |
| 45 | + 'Ryan Kaldari', 'Jan Paul Posma' |
| 46 | + ), |
| 47 | + 'descriptionmsg' => 'wikilove-desc', |
| 48 | +); |
| 49 | + |
| 50 | +// default user options |
| 51 | +$wgWikiLoveGlobal = false; // enable the extension for all users, removing the user preference |
| 52 | +$wgWikiLoveTabIcon = true; // use an icon for skins that support them (i.e. Vector) |
| 53 | +$wgWikiLoveLogging = false; // enable logging of giving of WikiLove |
| 54 | + |
| 55 | +// current directory including trailing slash |
| 56 | +$dir = dirname( __FILE__ ) . '/'; |
| 57 | + |
| 58 | +// add autoload classes |
| 59 | +$wgAutoloadClasses['ApiWikiLove'] = $dir . 'ApiWikiLove.php'; |
| 60 | +$wgAutoloadClasses['ApiWikiLoveImageLog'] = $dir . 'ApiWikiLoveImageLog.php'; |
| 61 | +$wgAutoloadClasses['WikiLoveHooks'] = $dir . 'WikiLove.hooks.php'; |
| 62 | +$wgAutoloadClasses['WikiLoveLocal'] = $dir . 'WikiLove.local.php'; |
| 63 | + |
| 64 | +// i18n messages |
| 65 | +$wgExtensionMessagesFiles['WikiLove'] = $dir . 'WikiLove.i18n.php'; |
| 66 | + |
| 67 | +// register hooks |
| 68 | +$wgHooks['GetPreferences'][] = 'WikiLoveHooks::getPreferences'; |
| 69 | +$wgHooks['SkinTemplateNavigation'][] = 'WikiLoveHooks::skinTemplateNavigation'; |
| 70 | +$wgHooks['SkinTemplateTabs'][] = 'WikiLoveHooks::skinTemplateTabs'; |
| 71 | +$wgHooks['BeforePageDisplay'][] = 'WikiLoveHooks::beforePageDisplay'; |
| 72 | +$wgHooks['LoadExtensionSchemaUpdates'][] = 'WikiLoveHooks::loadExtensionSchemaUpdates'; |
| 73 | +$wgHooks['MakeGlobalVariablesScript'][] = 'WikiLoveHooks::makeGlobalVariablesScript'; |
| 74 | + |
| 75 | +// api modules |
| 76 | +$wgAPIModules['wikilove'] = 'ApiWikiLove'; |
| 77 | +$wgAPIModules['wikiloveimagelog'] = 'ApiWikiLoveImageLog'; |
| 78 | + |
| 79 | +$extWikiLoveTpl = array( |
| 80 | + 'localBasePath' => dirname( __FILE__ ) . '/modules/ext.wikiLove', |
| 81 | + 'remoteExtPath' => 'WikiLove/modules/ext.wikiLove', |
| 82 | +); |
| 83 | + |
| 84 | +// messages for default options, because we want to use them in the default |
| 85 | +// options module, but also for the user in the user options module |
| 86 | +$wgWikiLoveOptionMessages = array( |
| 87 | + 'wikilove-type-barnstars', |
| 88 | + 'wikilove-type-food', |
| 89 | + 'wikilove-type-kittens', |
| 90 | + 'wikilove-type-makeyourown', |
| 91 | +); |
| 92 | + |
| 93 | +// Because of bug 29608 we can't make a dependancy on a wiki module yet |
| 94 | +// For now using 'using' to load the wiki module from within init. |
| 95 | +$wgResourceModules += array( |
| 96 | + 'ext.wikiLove.icon' => $extWikiLoveTpl + array( |
| 97 | + 'styles' => 'ext.wikiLove.icon.css', |
| 98 | + 'position' => 'top', |
| 99 | + ), |
| 100 | + 'ext.wikiLove.defaultOptions' => $extWikiLoveTpl + array( |
| 101 | + 'scripts' => array( |
| 102 | + 'ext.wikiLove.defaultOptions.js', |
| 103 | + ), |
| 104 | + 'messages' => $wgWikiLoveOptionMessages, |
| 105 | + ), |
| 106 | + 'ext.wikiLove.startup' => $extWikiLoveTpl + array( |
| 107 | + 'scripts' => array( |
| 108 | + 'ext.wikiLove.core.js', |
| 109 | + ), |
| 110 | + 'styles' => 'ext.wikiLove.css', |
| 111 | + 'messages' => array( |
| 112 | + 'wikilove-tab-text', |
| 113 | + 'wikilove-dialog-title', |
| 114 | + 'wikilove-select-type', |
| 115 | + 'wikilove-get-started-header', |
| 116 | + 'wikilove-get-started-list-1', |
| 117 | + 'wikilove-get-started-list-2', |
| 118 | + 'wikilove-get-started-list-3', |
| 119 | + 'wikilove-add-details', |
| 120 | + 'wikilove-image', |
| 121 | + 'wikilove-select-image', |
| 122 | + 'wikilove-header', |
| 123 | + 'wikilove-title', |
| 124 | + 'wikilove-enter-message', |
| 125 | + 'wikilove-omit-sig', |
| 126 | + 'wikilove-image-example', |
| 127 | + 'wikilove-button-preview', |
| 128 | + 'wikilove-preview', |
| 129 | + 'wikilove-notify', |
| 130 | + 'wikilove-button-send', |
| 131 | + 'wikilove-err-header', |
| 132 | + 'wikilove-err-title', |
| 133 | + 'wikilove-err-msg', |
| 134 | + 'wikilove-err-image', |
| 135 | + 'wikilove-err-image-bad', |
| 136 | + 'wikilove-err-image-api', |
| 137 | + 'wikilove-err-sig', |
| 138 | + 'wikilove-err-gallery', |
| 139 | + 'wikilove-err-gallery-again', |
| 140 | + 'wikilove-what-is-this', |
| 141 | + 'wikilove-anon-warning', |
| 142 | + 'wikilove-commons-text', |
| 143 | + 'wikilove-commons-link', |
| 144 | + 'wikilove-commons-url', |
| 145 | + 'wikilove-err-preview-api', |
| 146 | + 'wikilove-err-send-api', |
| 147 | + ), |
| 148 | + 'dependencies' => array( |
| 149 | + 'ext.wikiLove.defaultOptions', |
| 150 | + 'jquery.ui.dialog', |
| 151 | + 'jquery.ui.button', |
| 152 | + 'jquery.localize', |
| 153 | + 'jquery.elastic', |
| 154 | + ), |
| 155 | + ), |
| 156 | + 'ext.wikiLove.local' => array( |
| 157 | + 'class' => 'WikiLoveLocal', |
| 158 | + ), |
| 159 | + 'ext.wikiLove.init' => $extWikiLoveTpl + array( |
| 160 | + 'scripts' => array( |
| 161 | + 'ext.wikiLove.init.js', |
| 162 | + ), |
| 163 | + 'dependencies' => array( |
| 164 | + 'ext.wikiLove.startup', |
| 165 | + ), |
| 166 | + ), |
| 167 | + 'jquery.elastic' => array( |
| 168 | + 'localBasePath' => dirname( __FILE__ ) . '/modules/jquery.elastic', |
| 169 | + 'remoteExtPath' => 'WikiLove/modules/jquery.elastic', |
| 170 | + 'scripts' => 'jquery.elastic.js', |
| 171 | + ), |
| 172 | +); |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 173 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.hooks.php |
— | — | @@ -0,0 +1,203 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * Hooks for WikiLove extension |
| 5 | + * |
| 6 | + * @file |
| 7 | + * @ingroup Extensions |
| 8 | + */ |
| 9 | + |
| 10 | +class WikiLoveHooks { |
| 11 | + private static $recipient = ''; |
| 12 | + |
| 13 | + /** |
| 14 | + * LoadExtensionSchemaUpdates hook |
| 15 | + * |
| 16 | + * @param $updater DatabaseUpdater |
| 17 | + * |
| 18 | + * @return true |
| 19 | + */ |
| 20 | + public static function loadExtensionSchemaUpdates( $updater = null ) { |
| 21 | + if ( $updater === null ) { |
| 22 | + global $wgExtNewTables; |
| 23 | + $wgExtNewTables[] = array( 'wikilove_log', dirname( __FILE__ ) . '/patches/WikiLoveLog.sql' ); |
| 24 | + $wgExtNewTables[] = array( 'wikilove_image_log', dirname( __FILE__ ) . '/patches/WikiLoveImageLog.sql' ); |
| 25 | + } else { |
| 26 | + $updater->addExtensionUpdate( array( 'addTable', 'wikilove_log', |
| 27 | + dirname( __FILE__ ) . '/patches/WikiLoveLog.sql', true ) ); |
| 28 | + $updater->addExtensionUpdate( array( 'addTable', 'wikilove_image_log', |
| 29 | + dirname( __FILE__ ) . '/patches/WikiLoveImageLog.sql', true ) ); |
| 30 | + } |
| 31 | + return true; |
| 32 | + } |
| 33 | + |
| 34 | + /** |
| 35 | + * Add the preference in the user preferences with the GetPreferences hook. |
| 36 | + * @param $user User |
| 37 | + * @param $preferences array |
| 38 | + * |
| 39 | + * @return true |
| 40 | + */ |
| 41 | + public static function getPreferences( $user, &$preferences ) { |
| 42 | + global $wgWikiLoveGlobal; |
| 43 | + if ( !$wgWikiLoveGlobal ) { |
| 44 | + $preferences['wikilove-enabled'] = array( |
| 45 | + 'type' => 'check', |
| 46 | + 'section' => 'editing/labs', |
| 47 | + 'label-message' => 'wikilove-enable-preference', |
| 48 | + ); |
| 49 | + } |
| 50 | + return true; |
| 51 | + } |
| 52 | + |
| 53 | + /** |
| 54 | + * Adds the required module if we are on a user (talk) page. |
| 55 | + * |
| 56 | + * @param $out OutputPage |
| 57 | + * @param $skin Skin |
| 58 | + * |
| 59 | + * @return true |
| 60 | + */ |
| 61 | + public static function beforePageDisplay( $out, $skin ) { |
| 62 | + global $wgWikiLoveGlobal, $wgUser; |
| 63 | + if ( !$wgWikiLoveGlobal && !$wgUser->getOption( 'wikilove-enabled' ) ) { |
| 64 | + return true; |
| 65 | + } |
| 66 | + |
| 67 | + $title = self::getUserTalkPage( $skin->getTitle() ); |
| 68 | + if ( !is_null( $title ) ) { |
| 69 | + $out->addModules( array( 'ext.wikiLove.icon', 'ext.wikiLove.init' ) ); |
| 70 | + self::$recipient = $title->getBaseText(); |
| 71 | + } |
| 72 | + return true; |
| 73 | + } |
| 74 | + |
| 75 | + /** |
| 76 | + * Exports wikilove-recipient and edittoken variables to JS |
| 77 | + * |
| 78 | + * @param $vars array |
| 79 | + * |
| 80 | + * @return true |
| 81 | + */ |
| 82 | + public static function makeGlobalVariablesScript( &$vars ) { |
| 83 | + global $wgUser; |
| 84 | + $vars['wikilove-recipient'] = self::$recipient; |
| 85 | + $vars['wikilove-edittoken'] = $wgUser->edittoken(); |
| 86 | + |
| 87 | + $vars['wikilove-anon'] = 0; |
| 88 | + if ( self::$recipient !== '' ) { |
| 89 | + $receiver = User::newFromName( self::$recipient ); |
| 90 | + if ( $receiver === false || $receiver->isAnon() ) $vars['wikilove-anon'] = 1; |
| 91 | + } |
| 92 | + return true; |
| 93 | + } |
| 94 | + |
| 95 | + /** |
| 96 | + * Adds a tab the old way (before MW 1.18) |
| 97 | + */ |
| 98 | + public static function skinTemplateTabs( $skin, &$contentActions ) { |
| 99 | + self::skinConfigViewsLinks( $skin, $contentActions ); |
| 100 | + return true; |
| 101 | + } |
| 102 | + |
| 103 | + /** |
| 104 | + * Adds a tab or an icon the new way (MW >1.18) |
| 105 | + */ |
| 106 | + public static function skinTemplateNavigation( &$skin, &$links ) { |
| 107 | + if ( self::showIcon( $skin ) ) { |
| 108 | + self::skinConfigViewsLinks( $skin, $links['views']); |
| 109 | + } else { |
| 110 | + self::skinConfigViewsLinks( $skin, $links['actions']); |
| 111 | + } |
| 112 | + return true; |
| 113 | + } |
| 114 | + |
| 115 | + /** |
| 116 | + * Configure views links. |
| 117 | + * Helper function for SkinTemplateTabs and SkinTemplateNavigation hooks |
| 118 | + * to configure views links. |
| 119 | + * |
| 120 | + * @param $skin Skin |
| 121 | + * @param $views array |
| 122 | + */ |
| 123 | + private static function skinConfigViewsLinks( $skin, &$views ) { |
| 124 | + global $wgWikiLoveGlobal, $wgUser; |
| 125 | + |
| 126 | + // If WikiLove is turned off for this user, don't display tab. |
| 127 | + if ( !$wgWikiLoveGlobal && !$wgUser->getOption( 'wikilove-enabled' ) ) { |
| 128 | + return true; |
| 129 | + } |
| 130 | + |
| 131 | + if ( !is_null( self::getUserTalkPage( $skin->getTitle() ) ) ) { |
| 132 | + $views['wikilove'] = array( |
| 133 | + 'text' => wfMsg( 'wikilove-tab-text' ), |
| 134 | + 'href' => '#', |
| 135 | + ); |
| 136 | + if ( self::showIcon( $skin ) ) { |
| 137 | + $views['wikilove']['class'] = 'icon'; |
| 138 | + $views['wikilove']['primary'] = true; |
| 139 | + } |
| 140 | + } |
| 141 | + } |
| 142 | + |
| 143 | + /** |
| 144 | + * Only show an icon when the global preference is enabled and the current skin is Vector. |
| 145 | + * |
| 146 | + * @param $skin Skin |
| 147 | + * |
| 148 | + * @return bool |
| 149 | + */ |
| 150 | + private static function showIcon( $skin ) { |
| 151 | + global $wgWikiLoveTabIcon; |
| 152 | + return $wgWikiLoveTabIcon && $skin->getSkinName() == 'vector'; |
| 153 | + } |
| 154 | + |
| 155 | + /** |
| 156 | + * Find the editable talk page of the user we're looking at, or null |
| 157 | + * if such page does not exist. |
| 158 | + * |
| 159 | + * @param $title Title |
| 160 | + * |
| 161 | + * @return Title|null |
| 162 | + */ |
| 163 | + public static function getUserTalkPage( $title ) { |
| 164 | + global $wgUser; |
| 165 | + |
| 166 | + // Exit early if the sending user isn't logged in |
| 167 | + if ( !$wgUser->isLoggedIn() ) { |
| 168 | + return null; |
| 169 | + } |
| 170 | + |
| 171 | + // Exit early if we're in the wrong namespace |
| 172 | + $ns = $title->getNamespace(); |
| 173 | + if ( $ns != NS_USER && $ns != NS_USER_TALK ) { |
| 174 | + return null; |
| 175 | + } |
| 176 | + |
| 177 | + // If we're on a subpage, get the base page title |
| 178 | + $baseTitle = Title::newFromText( $title->getBaseText(), $ns ); |
| 179 | + |
| 180 | + // Get the user talk page |
| 181 | + if ( $ns == NS_USER_TALK ) { |
| 182 | + // We're already on the user talk page |
| 183 | + $talkTitle = $baseTitle; |
| 184 | + } elseif ( $ns == NS_USER ) { |
| 185 | + // We're on the user page, so retrieve the user talk page instead |
| 186 | + $talkTitle = $baseTitle->getTalkPage(); |
| 187 | + } |
| 188 | + |
| 189 | + // If it's a redirect, exit. We don't follow redirects since it might confuse the user or |
| 190 | + // lead to an endless loop (like if the talk page redirects to the user page or a subpage). |
| 191 | + // This means that the WikiLove tab will not appear on user pages or user talk pages if |
| 192 | + // the user talk page is a redirect. |
| 193 | + if ( $talkTitle->isRedirect() ) { |
| 194 | + return null; |
| 195 | + } |
| 196 | + |
| 197 | + // Make sure we can edit the page |
| 198 | + if ( $talkTitle->quickUserCan( 'edit' ) ) { |
| 199 | + return $talkTitle; |
| 200 | + } else { |
| 201 | + return null; |
| 202 | + } |
| 203 | + } |
| 204 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.hooks.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 205 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/sourcefiles/WikiLove-Icon-Source.psd |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/sourcefiles/WikiLove-Icon-Source.psd |
___________________________________________________________________ |
Added: svn:mime-type |
2 | 206 | + application/octet-stream |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/patches/WikiLoveLog.sql |
— | — | @@ -0,0 +1,28 @@ |
| 2 | +-- |
| 3 | +-- WikiLove logging schema |
| 4 | +-- Logs all actions of giving WikiLove. |
| 5 | +-- Not final, please apply this patch manually for now! |
| 6 | +-- |
| 7 | + |
| 8 | +CREATE TABLE IF NOT EXISTS /*_*/wikilove_log ( |
| 9 | + wll_id int NOT NULL PRIMARY KEY auto_increment, -- unique id |
| 10 | + wll_timestamp binary(14) NOT NULL, -- timestamp |
| 11 | + wll_sender int(11) NOT NULL, -- user id of the sender |
| 12 | + wll_sender_registration binary(14) default NULL, -- registration date of the sender |
| 13 | + wll_sender_editcount int(11) default NULL, -- total number of edits for the sender |
| 14 | + wll_receiver int(11) NOT NULL, -- user id of the receiver |
| 15 | + wll_receiver_registration binary(14) default NULL, -- registration date of the receiver |
| 16 | + wll_receiver_editcount int(11) default NULL, -- total number of edits for the receiver |
| 17 | + wll_type varchar(64) NOT NULL, -- type (and subtype) of message |
| 18 | + wll_subject varchar(255) NOT NULL, -- subject line |
| 19 | + wll_message blob NOT NULL, -- actual message |
| 20 | + wll_email bool NOT NULL default '0' -- whether or not a notification mail has been sent |
| 21 | +) /*$wgDBTableOptions*/; |
| 22 | + |
| 23 | +CREATE INDEX /*i*/wll_timestamp ON /*_*/wikilove_log (wll_timestamp); |
| 24 | +CREATE INDEX /*i*/wll_type_time ON /*_*/wikilove_log (wll_type, wll_timestamp); |
| 25 | +CREATE INDEX /*i*/wll_sender_time ON /*_*/wikilove_log (wll_sender, wll_timestamp); |
| 26 | +CREATE INDEX /*i*/wll_receiver_time ON /*_*/wikilove_log (wll_receiver, wll_timestamp); |
| 27 | +-- ASSUMPTION: once narrowed down to a single user (sender/receiver), we can afford a filesort |
| 28 | +-- as a single users will have only limited WikiLove messages from or to him/her. It's not worth |
| 29 | +-- the memory of extra indexes to cover all the combinations (sender/receiver/type => 8 indexes) |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/patches/WikiLoveLog.sql |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 30 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/patches/WikiLoveImageLog.sql |
— | — | @@ -0,0 +1,16 @@ |
| 2 | +-- |
| 3 | +-- WikiLove image logging schema |
| 4 | +-- Logs every time someone attempts to preview an award with a user-entered image title. |
| 5 | +-- This is mainly to see if people understand the idea of using images from Commons. |
| 6 | +-- |
| 7 | + |
| 8 | +CREATE TABLE IF NOT EXISTS /*_*/wikilove_image_log ( |
| 9 | + wlil_id int(11) NOT NULL PRIMARY KEY auto_increment, |
| 10 | + wlil_timestamp binary(14) NOT NULL, |
| 11 | + wlil_user_id int(11) NOT NULL, |
| 12 | + wlil_image varchar(128) NOT NULL, |
| 13 | + wlil_success bool NOT NULL |
| 14 | +) /*$wgDBTableOptions*/; |
| 15 | + |
| 16 | +CREATE INDEX /*i*/wlil_timestamp ON /*_*/wikilove_image_log (wlil_timestamp); |
| 17 | +CREATE INDEX /*i*/wlil_user_time ON /*_*/wikilove_image_log (wlil_user_id, wlil_timestamp); |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/patches/WikiLoveImageLog.sql |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 18 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.local.php |
— | — | @@ -0,0 +1,16 @@ |
| 2 | +<?php |
| 3 | +/* |
| 4 | + * Custom ResourceLoader module that loads a custom WikiLove.js per-wiki. |
| 5 | + */ |
| 6 | +class WikiLoveLocal extends ResourceLoaderWikiModule { |
| 7 | + protected function getPages( ResourceLoaderContext $context ) { |
| 8 | + return array( |
| 9 | + 'MediaWiki:WikiLove.js' => array( 'type' => 'script' ), |
| 10 | + ); |
| 11 | + } |
| 12 | + |
| 13 | + public function getMessages() { |
| 14 | + global $wgWikiLoveOptionMessages; |
| 15 | + return $wgWikiLoveOptionMessages; |
| 16 | + } |
| 17 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.local.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 18 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/jquery.elastic/jquery.elastic.js |
— | — | @@ -0,0 +1,164 @@ |
| 2 | +/** |
| 3 | +* @name Elastic |
| 4 | +* @descripton Elastic is jQuery plugin that grow and shrink your textareas automatically |
| 5 | +* @version 1.6.10 |
| 6 | +* @requires jQuery 1.2.6+ |
| 7 | +* |
| 8 | +* @author Jan Jarfalk |
| 9 | +* @author-email jan.jarfalk@unwrongest.com |
| 10 | +* @author-website http://www.unwrongest.com |
| 11 | +* |
| 12 | +* @licence MIT License - http://www.opensource.org/licenses/mit-license.php |
| 13 | +* |
| 14 | +* This file has been downloaded from http://unwrongest.com/projects/elastic/, please notify the author of |
| 15 | +* any changes. |
| 16 | +*/ |
| 17 | + |
| 18 | +(function(jQuery){ |
| 19 | + jQuery.fn.extend({ |
| 20 | + elastic: function() { |
| 21 | + |
| 22 | + // We will create a div clone of the textarea |
| 23 | + // by copying these attributes from the textarea to the div. |
| 24 | + var mimics = [ |
| 25 | + 'paddingTop', |
| 26 | + 'paddingRight', |
| 27 | + 'paddingBottom', |
| 28 | + 'paddingLeft', |
| 29 | + 'fontSize', |
| 30 | + 'lineHeight', |
| 31 | + 'fontFamily', |
| 32 | + 'width', |
| 33 | + 'fontWeight', |
| 34 | + 'border-top-width', |
| 35 | + 'border-right-width', |
| 36 | + 'border-bottom-width', |
| 37 | + 'border-left-width', |
| 38 | + 'borderTopStyle', |
| 39 | + 'borderTopColor', |
| 40 | + 'borderRightStyle', |
| 41 | + 'borderRightColor', |
| 42 | + 'borderBottomStyle', |
| 43 | + 'borderBottomColor', |
| 44 | + 'borderLeftStyle', |
| 45 | + 'borderLeftColor' |
| 46 | + ]; |
| 47 | + |
| 48 | + return this.each( function() { |
| 49 | + |
| 50 | + // Elastic only works on textareas |
| 51 | + if ( this.type !== 'textarea' ) { |
| 52 | + return false; |
| 53 | + } |
| 54 | + |
| 55 | + var $textarea = jQuery(this), |
| 56 | + $twin = jQuery('<div />').css({'position': 'absolute','display':'none','word-wrap':'break-word'}), |
| 57 | + lineHeight = parseInt($textarea.css('line-height'),10) || parseInt($textarea.css('font-size'),'10'), |
| 58 | + minheight = parseInt($textarea.css('height'),10) || lineHeight*3, |
| 59 | + maxheight = parseInt($textarea.css('max-height'),10) || Number.MAX_VALUE, |
| 60 | + goalheight = 0; |
| 61 | + |
| 62 | + // Opera returns max-height of -1 if not set |
| 63 | + if (maxheight < 0) { maxheight = Number.MAX_VALUE; } |
| 64 | + |
| 65 | + // Append the twin to the DOM |
| 66 | + // We are going to meassure the height of this, not the textarea. |
| 67 | + $twin.appendTo($textarea.parent()); |
| 68 | + |
| 69 | + // Copy the essential styles (mimics) from the textarea to the twin |
| 70 | + var i = mimics.length; |
| 71 | + while(i--){ |
| 72 | + $twin.css(mimics[i].toString(),$textarea.css(mimics[i].toString())); |
| 73 | + } |
| 74 | + |
| 75 | + // Updates the width of the twin. (solution for textareas with widths in percent) |
| 76 | + function setTwinWidth(){ |
| 77 | + curatedWidth = Math.floor(parseInt($textarea.width(),10)); |
| 78 | + if($twin.width() !== curatedWidth){ |
| 79 | + $twin.css({'width': curatedWidth + 'px'}); |
| 80 | + |
| 81 | + // Update height of textarea |
| 82 | + update(true); |
| 83 | + } |
| 84 | + } |
| 85 | + |
| 86 | + // Sets a given height and overflow state on the textarea |
| 87 | + function setHeightAndOverflow(height, overflow){ |
| 88 | + |
| 89 | + var curratedHeight = Math.floor(parseInt(height,10)); |
| 90 | + if($textarea.height() !== curratedHeight){ |
| 91 | + $textarea.css({'height': curratedHeight + 'px','overflow':overflow}); |
| 92 | + |
| 93 | + // Fire the custom event resize |
| 94 | + //$textarea.trigger('resize'); |
| 95 | + |
| 96 | + } |
| 97 | + } |
| 98 | + |
| 99 | + // This function will update the height of the textarea if necessary |
| 100 | + function update(forced) { |
| 101 | + |
| 102 | + // Get curated content from the textarea. |
| 103 | + var textareaContent = $textarea.val().replace(/&/g,'&').replace(/ {2}/g, ' ').replace(/<|>/g, '>').replace(/\n/g, '<br />'); |
| 104 | + |
| 105 | + // Compare curated content with curated twin. |
| 106 | + var twinContent = $twin.html().replace(/<br>/ig,'<br />'); |
| 107 | + |
| 108 | + if(forced || textareaContent+' ' !== twinContent){ |
| 109 | + |
| 110 | + // Add an extra white space so new rows are added when you are at the end of a row. |
| 111 | + $twin.html(textareaContent+' '); |
| 112 | + |
| 113 | + // Change textarea height if twin plus the height of one line differs more than 3 pixel from textarea height |
| 114 | + if(Math.abs($twin.height() + lineHeight - $textarea.height()) > 3){ |
| 115 | + |
| 116 | + var goalheight = $twin.height()+lineHeight; |
| 117 | + if(goalheight >= maxheight) { |
| 118 | + setHeightAndOverflow(maxheight,'auto'); |
| 119 | + } else if(goalheight <= minheight) { |
| 120 | + setHeightAndOverflow(minheight,'hidden'); |
| 121 | + } else { |
| 122 | + setHeightAndOverflow(goalheight,'hidden'); |
| 123 | + } |
| 124 | + |
| 125 | + } |
| 126 | + |
| 127 | + } |
| 128 | + |
| 129 | + } |
| 130 | + |
| 131 | + // Hide scrollbars |
| 132 | + $textarea.css({'overflow':'hidden'}); |
| 133 | + |
| 134 | + // Update textarea size on keyup, change, cut and paste |
| 135 | + $textarea.bind('keyup change cut paste', function(){ |
| 136 | + update(); |
| 137 | + }); |
| 138 | + |
| 139 | + // Update width of twin if browser or textarea is resized (solution for textareas with widths in percent) |
| 140 | + $(window).bind('resize', setTwinWidth); |
| 141 | + $textarea.bind('resize', setTwinWidth); |
| 142 | + $textarea.bind('update', update); |
| 143 | + |
| 144 | + // Compact textarea on blur |
| 145 | + $textarea.bind('blur',function(){ |
| 146 | + if($twin.height() < maxheight){ |
| 147 | + if($twin.height() > minheight) { |
| 148 | + $textarea.height($twin.height()); |
| 149 | + } else { |
| 150 | + $textarea.height(minheight); |
| 151 | + } |
| 152 | + } |
| 153 | + }); |
| 154 | + |
| 155 | + // And this line is to catch the browser paste event |
| 156 | + $textarea.bind('input paste',function(e){ setTimeout( update, 250); }); |
| 157 | + |
| 158 | + // Run update once when elastic is initialized |
| 159 | + update(); |
| 160 | + |
| 161 | + }); |
| 162 | + |
| 163 | + } |
| 164 | + }); |
| 165 | +})(jQuery); |
\ No newline at end of file |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/jquery.elastic/jquery.elastic.js |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 166 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.css |
— | — | @@ -0,0 +1,391 @@ |
| 2 | +.ui-widget-overlay { |
| 3 | + min-height: 750px; |
| 4 | +} |
| 5 | + |
| 6 | +/* dialog */ |
| 7 | +#mw-wikilove-dialog { |
| 8 | + margin: 10px; |
| 9 | + overflow: hidden; |
| 10 | +} |
| 11 | + |
| 12 | +#mw-wikilove-preview-form { |
| 13 | + position: relative; |
| 14 | + clear: both; /* for monobook skin */ |
| 15 | +} |
| 16 | + |
| 17 | +/* dialog type selection */ |
| 18 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type { |
| 19 | + float: left; |
| 20 | + width: 250px; |
| 21 | +} |
| 22 | + |
| 23 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type ul { |
| 24 | + list-style: none; |
| 25 | + margin: 0; |
| 26 | + padding: 0; |
| 27 | +} |
| 28 | + |
| 29 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type ul li, |
| 30 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a |
| 31 | +{ |
| 32 | + display: block; |
| 33 | + width: 250px; |
| 34 | + height: 66px; |
| 35 | + padding: 0; |
| 36 | + margin: 0; |
| 37 | + position: relative; |
| 38 | + text-decoration: none; |
| 39 | + outline: none; |
| 40 | +} |
| 41 | + |
| 42 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:hover, |
| 43 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:focus { |
| 44 | + text-decoration:none; |
| 45 | +} |
| 46 | + |
| 47 | +/* IGNORED BY IE6 */ |
| 48 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type ul > li, |
| 49 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type ul li > a { |
| 50 | + display: inline-block; |
| 51 | +} |
| 52 | + |
| 53 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-left-cap, |
| 54 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-right-cap { |
| 55 | + padding: 0; |
| 56 | + margin: 0; |
| 57 | + width: 6px; |
| 58 | + height: 66px; |
| 59 | + position: absolute; |
| 60 | + top: 0px; |
| 61 | +} |
| 62 | + |
| 63 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-l-cap, |
| 64 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-r-cap, |
| 65 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-icon-box { |
| 66 | + background-repeat: no-repeat; |
| 67 | + height: 66px; |
| 68 | + position: absolute; |
| 69 | +} |
| 70 | + |
| 71 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-l-cap, |
| 72 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-r-cap { |
| 73 | + width: 6px; |
| 74 | +} |
| 75 | + |
| 76 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-l-cap { |
| 77 | + /* @noflip */ |
| 78 | + left: 0px; |
| 79 | + /* @embed */ |
| 80 | + background-image: url(images/icon-box-left-cap.png); |
| 81 | +} |
| 82 | + |
| 83 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:hover .mw-wikilove-l-cap, |
| 84 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:focus .mw-wikilove-l-cap { |
| 85 | + /* @embed */ |
| 86 | + background-image: url(images/icon-box-hover-left-cap.png); |
| 87 | +} |
| 88 | + |
| 89 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a.selected .mw-wikilove-l-cap { |
| 90 | + /* @embed */ |
| 91 | + background-image: url(images/icon-box-selected-left-cap.png); |
| 92 | +} |
| 93 | + |
| 94 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-r-cap { |
| 95 | + /* @noflip */ |
| 96 | + right: 0px; |
| 97 | + /* @embed */ |
| 98 | + background-image: url(images/icon-box-right-cap.png); |
| 99 | +} |
| 100 | + |
| 101 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:hover .mw-wikilove-r-cap, |
| 102 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:focus .mw-wikilove-r-cap { |
| 103 | + /* @embed */ |
| 104 | + background-image: url(images/icon-box-hover-right-cap.png); |
| 105 | +} |
| 106 | + |
| 107 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a.selected .mw-wikilove-r-cap { |
| 108 | + /* @embed */ |
| 109 | + background-image: url(images/icon-box-selected-right-cap.png); |
| 110 | +} |
| 111 | + |
| 112 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-inside { |
| 113 | + padding: 0; |
| 114 | + margin: 0; |
| 115 | + width: 238px; |
| 116 | + height: 66px; |
| 117 | + position: absolute; |
| 118 | + top: 0px; |
| 119 | + left: 6px; |
| 120 | + |
| 121 | + /* @embed */ |
| 122 | + background-image: url(images/select-bg-sprite.png); |
| 123 | + background-position: 0px 0px; |
| 124 | + background-repeat: repeat-x; |
| 125 | +} |
| 126 | + |
| 127 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:hover .mw-wikilove-inside, |
| 128 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:focus .mw-wikilove-inside { |
| 129 | + background-position: 0px -66px; |
| 130 | +} |
| 131 | + |
| 132 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a.selected .mw-wikilove-inside { |
| 133 | + background-position: 0px -132px; |
| 134 | +} |
| 135 | + |
| 136 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-icon-box { |
| 137 | + padding: 0; |
| 138 | + margin: 0; |
| 139 | + width: 53px; |
| 140 | + height: 53px; |
| 141 | + position: absolute; |
| 142 | + left: 0px; |
| 143 | + top: 5px; |
| 144 | + /* @embed */ |
| 145 | + background-image: url(images/icon-box.png); |
| 146 | +} |
| 147 | + |
| 148 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-icon-box img { |
| 149 | + padding: 0; |
| 150 | + margin: 0; |
| 151 | + width: 53px; |
| 152 | + height: 53px; |
| 153 | + position: absolute: |
| 154 | + top: 0px; |
| 155 | + left: 0px; |
| 156 | +} |
| 157 | + |
| 158 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:hover .mw-wikilove-icon-box, |
| 159 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a:focus .mw-wikilove-icon-box { |
| 160 | + /* @embed */ |
| 161 | + background-image: url(images/icon-box-hover.png); |
| 162 | +} |
| 163 | + |
| 164 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a.selected .mw-wikilove-icon-box { |
| 165 | + /* @embed */ |
| 166 | + background-image: url(images/icon-box-selected.png); |
| 167 | +} |
| 168 | + |
| 169 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-link-text { |
| 170 | + padding: 0; |
| 171 | + margin: 0; |
| 172 | + width: 170px; |
| 173 | + height: 53px; |
| 174 | + position: absolute; |
| 175 | + left: 64px; |
| 176 | + top: 5px; |
| 177 | + line-height: 53px; |
| 178 | + font-size: 1.2em; |
| 179 | + font-weight: bold; |
| 180 | + text-decoration: none; |
| 181 | + color: white; |
| 182 | +} |
| 183 | + |
| 184 | +/*#mw-wikilove-dialog*/ #mw-wikilove-select-type a .mw-wikilove-no-icon .mw-wikilove-link-text { |
| 185 | + left: 3px; |
| 186 | +} |
| 187 | + |
| 188 | +/* dialog get started */ |
| 189 | +/*#mw-wikilove-dialog*/ #mw-wikilove-get-started { |
| 190 | + float: right; |
| 191 | + width: 380px; |
| 192 | + margin-top: 40px; |
| 193 | + padding-top: 4px; |
| 194 | + padding-left: 70px; |
| 195 | + font-size: 1.1em; |
| 196 | + |
| 197 | + /* @embed */ |
| 198 | + background-image: url(images/get-started-ltr.png); |
| 199 | + background-position: top left; |
| 200 | + background-repeat: no-repeat; |
| 201 | +} |
| 202 | + |
| 203 | +/*#mw-wikilove-dialog*/ #mw-wikilove-get-started h2 { |
| 204 | + border: none; |
| 205 | + font-weight: bold; |
| 206 | +} |
| 207 | + |
| 208 | +/*#mw-wikilove-dialog*/ #mw-wikilove-get-started ol { |
| 209 | + margin-left: 1.5em; |
| 210 | +} |
| 211 | + |
| 212 | +/* dialog add details */ |
| 213 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details { |
| 214 | + float: right; |
| 215 | + width: 480px; |
| 216 | + margin-bottom: 5px; |
| 217 | +} |
| 218 | + |
| 219 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details label { |
| 220 | + font-weight: bold; |
| 221 | + font-size: 1.1em; |
| 222 | +} |
| 223 | + |
| 224 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details .text { |
| 225 | + display: block; |
| 226 | + width: 300px; |
| 227 | +} |
| 228 | + |
| 229 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details #mw-wikilove-message { |
| 230 | + width: 100%; /* some old skins don't include this by default */ |
| 231 | +} |
| 232 | + |
| 233 | +/*#mw-wikilove-dialog #mw-wikilove-add-details*/ #mw-wikilove-subtype-description { |
| 234 | + margin: 5px 85px 8px 15px; |
| 235 | + font-size: 1.0em; |
| 236 | + line-height: 1.2em; |
| 237 | +} |
| 238 | + |
| 239 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details .mw-wikilove-note { |
| 240 | + font-weight: light; |
| 241 | + font-size: 0.9em; |
| 242 | + color: #999; |
| 243 | +} |
| 244 | + |
| 245 | +/*#mw-wikilove-dialog*/ #mw-wikilove-add-details textarea { |
| 246 | + resize: none; |
| 247 | +} |
| 248 | + |
| 249 | +/*#mw-wikilove-dialog*/ #mw-wikilove-commons-text { |
| 250 | + margin: 5px 0px 5px 15px; |
| 251 | +} |
| 252 | + |
| 253 | +/* add details gallery */ |
| 254 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery { |
| 255 | + min-height: 40px; |
| 256 | + position: relative; |
| 257 | +} |
| 258 | + |
| 259 | +/*#mw-wikilove-dialog #mw-wikilove-gallery*/ #mw-wikilove-gallery-error { |
| 260 | + margin-left: 15px; |
| 261 | +} |
| 262 | + |
| 263 | +/*#mw-wikilove-dialog #mw-wikilove-gallery #mw-wikilove-gallery-error*/ #mw-wikilove-gallery-error-again { |
| 264 | + color: #0645AD; |
| 265 | +} |
| 266 | + |
| 267 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery img { |
| 268 | + margin-right: 5px; |
| 269 | + margin-bottom: 5px; |
| 270 | + padding: 5px; |
| 271 | +} |
| 272 | + |
| 273 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery a:hover img, |
| 274 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery a:focus img { |
| 275 | + background-color: #aacfe9; |
| 276 | +} |
| 277 | + |
| 278 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery a.selected img { |
| 279 | + background-color: #f56427; |
| 280 | +} |
| 281 | + |
| 282 | +/*#mw-wikilove-dialog*/ #mw-wikilove-gallery-spinner { |
| 283 | + float: none; |
| 284 | + position: absolute; |
| 285 | + top: 0; |
| 286 | + left: 50%; |
| 287 | + margin-left: -8px; |
| 288 | + z-index: -1; |
| 289 | +} |
| 290 | + |
| 291 | +/* dialog preview */ |
| 292 | +/*#mw-wikilove-dialog*/ #mw-wikilove-preview { |
| 293 | + float: right; |
| 294 | + width: 480px; |
| 295 | +} |
| 296 | + |
| 297 | +/*#mw-wikilove-dialog #mw-wikilove-preview*/ #mw-wikilove-preview-area { |
| 298 | + margin-left: 15px; |
| 299 | + width: 465px; |
| 300 | + overflow: auto; |
| 301 | +} |
| 302 | + |
| 303 | +/*#mw-wikilove-dialog #mw-wikilove-preview*/ #mw-wikilove-preview-area .editsection { |
| 304 | + display: none; |
| 305 | +} |
| 306 | + |
| 307 | +/* dialog misc */ |
| 308 | +#mw-wikilove-dialog input[type=text], |
| 309 | +#mw-wikilove-dialog textarea, |
| 310 | +#mw-wikilove-dialog select { |
| 311 | + margin: 5px 0px 5px 15px; |
| 312 | + max-width: 460px; |
| 313 | + display: block; |
| 314 | +} |
| 315 | + |
| 316 | +#mw-wikilove-dialog input[type=checkbox] { |
| 317 | + display:inline-box; |
| 318 | + margin: 5px 0px 5px 0px; |
| 319 | +} |
| 320 | + |
| 321 | +#mw-wikilove-dialog select { |
| 322 | + padding: 1px 0; |
| 323 | +} |
| 324 | + |
| 325 | +#mw-wikilove-dialog .submit { |
| 326 | + float: right; |
| 327 | +} |
| 328 | + |
| 329 | +#mw-wikilove-dialog .mw-wikilove-spinner { |
| 330 | + float: right; |
| 331 | + margin-top: 0.9em; |
| 332 | + display: none; |
| 333 | + |
| 334 | + /* @embed */ |
| 335 | + background-image: url(images/spinner.gif); |
| 336 | + background-position: 0px 0px; |
| 337 | + background-repeat: repeat-x; |
| 338 | + width: 16px; |
| 339 | + height: 16px; |
| 340 | +} |
| 341 | + |
| 342 | +#mw-wikilove-dialog .mw-wikilove-number { |
| 343 | + color: white; |
| 344 | + float: left; |
| 345 | + display: block; |
| 346 | + width: 32px; |
| 347 | + height: 32px; |
| 348 | + line-height: 32px; |
| 349 | + text-align: center; |
| 350 | + margin-right: 5px; |
| 351 | + font-size: 18px; |
| 352 | + font-weight: bold; |
| 353 | + |
| 354 | + /* @embed */ |
| 355 | + background-image: url(images/number.png); |
| 356 | + background-position: center; |
| 357 | + background-repeat: no-repeat; |
| 358 | +} |
| 359 | + |
| 360 | +#mw-wikilove-dialog .mw-wikilove-error { |
| 361 | + /* @embed */ |
| 362 | + background-image: url(images/alert.png); |
| 363 | + background-position: center left; |
| 364 | + background-repeat: no-repeat; |
| 365 | + color: red; |
| 366 | + font-weight: bold; |
| 367 | + line-height: 32px; |
| 368 | + padding-left: 34px; |
| 369 | + padding-bottom: 3px; |
| 370 | +} |
| 371 | + |
| 372 | +#mw-wikilove-dialog #mw-wikilove-image-preview { |
| 373 | + position: absolute; |
| 374 | + top: 1em; |
| 375 | + right: 0; |
| 376 | + width: 75px; |
| 377 | + height: 68px; |
| 378 | +} |
| 379 | + |
| 380 | +#mw-wikilove-dialog #mw-wikilove-image-preview-content { |
| 381 | + text-align: center; |
| 382 | +} |
| 383 | + |
| 384 | +#mw-wikilove-dialog #mw-wikilove-image-preview-spinner { |
| 385 | + float: none; |
| 386 | + margin-left:auto; |
| 387 | + margin-right:auto; |
| 388 | +} |
| 389 | + |
| 390 | +#mw-wikilove-dialog a { |
| 391 | + color: #0645AD; |
| 392 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.css |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 393 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.defaultOptions.js |
— | — | @@ -0,0 +1,376 @@ |
| 2 | +//See http://www.mediawiki.org/wiki/Extension:WikiLove for basic documentation on configuration. |
| 3 | +//<nowiki> |
| 4 | +( function( $ ) { |
| 5 | +$.wikiLoveOptions = { |
| 6 | + defaultText: '{| style="background-color: $5; border: 1px solid $6;"\n\ |
| 7 | +|rowspan="2" style="vertical-align: middle; padding: 5px;" | [[$3|$4]]\n\ |
| 8 | +|style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" | \'\'\'$2\'\'\'\n\ |
| 9 | +|-\n\ |
| 10 | +|style="vertical-align: middle; padding: 3px;" | $1 ~~~~\n\ |
| 11 | +|}', |
| 12 | + defaultBackgroundColor: '#fdffe7', |
| 13 | + defaultBorderColor: '#fceb92', |
| 14 | + defaultImageSize: '100px', |
| 15 | + defaultImage: 'Trophy.png', |
| 16 | + |
| 17 | + types: { |
| 18 | + // example type, could be removed later |
| 19 | + 'barnstar': { |
| 20 | + name: mw.msg( 'wikilove-type-barnstars' ), // name of the type (appears in the types menu) |
| 21 | + select: 'Select a barnstar:', // subtype select label |
| 22 | + subtypes: { // some different subtypes |
| 23 | + // note that when not using subtypes you should use these subtype options |
| 24 | + // for the top-level type |
| 25 | + 'original': { |
| 26 | + fields: [ 'message' ], // fields to ask for in form |
| 27 | + option: 'Original Barnstar', // option listed in the select list |
| 28 | + descr: 'This barnstar is given to recognize particularly fine contributions to Wikipedia, to let people know that their hard work is seen and appreciated.', // description |
| 29 | + header: 'A barnstar for you!', // header that appears at the top of the talk page post (optional) |
| 30 | + title: 'The Original Barnstar', // title that appears inside the award box (optional) |
| 31 | + image: 'Original Barnstar Hires.png' // image for the award |
| 32 | + }, |
| 33 | + 'admins': { |
| 34 | + fields: [ 'message' ], |
| 35 | + option: 'Admin\'s Barnstar', |
| 36 | + descr: 'The Admin\'s Barnstar may be awarded to an administrator who made a particularly difficult decision or performed a tedious but needed admin task.', |
| 37 | + header: 'A barnstar for you!', |
| 38 | + title: 'The Admin\'s Barnstar', |
| 39 | + image: 'Administrator Barnstar Hires.png' |
| 40 | + }, |
| 41 | + 'antivandalism': { |
| 42 | + fields: [ 'message' ], |
| 43 | + option: 'Anti-Vandalism Barnstar', |
| 44 | + descr: 'The Anti-Vandalism Barnstar may be awarded to those who show great contributions to protecting and reverting attacks of vandalism on Wikipedia.', |
| 45 | + header: 'A barnstar for you!', |
| 46 | + title: 'The Anti-Vandalism Barnstar', |
| 47 | + image: 'Barnstar of Reversion Hires.png' |
| 48 | + }, |
| 49 | + 'diligence': { |
| 50 | + fields: [ 'message' ], |
| 51 | + option: 'Barnstar of Diligence', |
| 52 | + descr: 'The Barnstar of Diligence may be awarded in recognition of a combination of extraordinary scrutiny, precision and community service.', |
| 53 | + header: 'A barnstar for you!', |
| 54 | + title: 'The Barnstar of Diligence', |
| 55 | + image: 'Barnstar of Diligence Hires.png' |
| 56 | + }, |
| 57 | + 'diplomacy': { |
| 58 | + fields: [ 'message' ], |
| 59 | + option: 'Barnstar of Diplomacy', |
| 60 | + descr: 'The Barnstar of Diplomacy is awarded to users who have helped to resolve, peacefully, conflicts on Wikipedia.', |
| 61 | + header: 'A barnstar for you!', |
| 62 | + title: 'The Barnstar of Diplomacy', |
| 63 | + image: 'Peace Barnstar Hires.png' |
| 64 | + }, |
| 65 | + 'goodhumor': { |
| 66 | + fields: [ 'message' ], |
| 67 | + option: 'Barnstar of Good Humor', |
| 68 | + descr: 'The Barnstar of Good Humor may be awarded to Wikipedians who consistently lighten the mood, defuse conflicts, and make Wikipedia a better place to be.', |
| 69 | + header: 'A barnstar for you!', |
| 70 | + title: 'The Barnstar of Good Humor', |
| 71 | + image: 'Barnstar of Humour Hires.png' |
| 72 | + }, |
| 73 | + 'brilliant': { |
| 74 | + fields: [ 'message' ], |
| 75 | + option: 'Brilliant Idea Barnstar', |
| 76 | + descr: 'The Brilliant Idea Barnstar may be awarded to a user who figures out an elegant solution to a particularly difficult problem.', |
| 77 | + header: 'A barnstar for you!', |
| 78 | + title: 'The Brilliant Idea Barnstar', |
| 79 | + image: 'Brilliant Idea Barnstar Hires.png' |
| 80 | + }, |
| 81 | + 'citation': { |
| 82 | + fields: [ 'message' ], |
| 83 | + option: 'Citation Barnstar', |
| 84 | + descr: 'The Citation Barnstar is awarded to users who provide references and in-line citations to previously unsourced articles.', |
| 85 | + header: 'A barnstar for you!', |
| 86 | + title: 'The Citation Barnstar', |
| 87 | + image: 'Citation Barnstar Hires.png' |
| 88 | + }, |
| 89 | + 'civility': { |
| 90 | + fields: [ 'message' ], |
| 91 | + option: 'Civility Barnstar', |
| 92 | + descr: 'The Civility Barnstar may be awarded to any user who excels at maintaining civility in the midst of contentious situations.', |
| 93 | + header: 'A barnstar for you!', |
| 94 | + title: 'The Civility Barnstar', |
| 95 | + image: 'Civility Barnstar Hires.png' |
| 96 | + }, |
| 97 | + 'copyeditor': { |
| 98 | + fields: [ 'message' ], |
| 99 | + option: 'Copyeditor\'s Barnstar', |
| 100 | + descr: 'The Copyeditor\'s Barnstar is awarded for excellence in correcting spelling, grammar, punctuation, and style issues.', |
| 101 | + header: 'A barnstar for you!', |
| 102 | + title: 'The Copyeditor\'s Barnstar', |
| 103 | + image: 'Copyeditor Barnstar Hires.png' |
| 104 | + }, |
| 105 | + 'defender': { |
| 106 | + fields: [ 'message' ], |
| 107 | + option: 'Defender of the Wiki Barnstar', |
| 108 | + descr: 'The Defender of the Wiki may be awarded to those who have gone above and beyond to prevent Wikipedia from being used for fraudulent purposes.', |
| 109 | + header: 'A barnstar for you!', |
| 110 | + title: 'The Defender of the Wiki Barnstar', |
| 111 | + image: 'WikiDefender Barnstar Hires.png' |
| 112 | + }, |
| 113 | + 'editors': { |
| 114 | + fields: [ 'message' ], |
| 115 | + option: 'Editor\'s Barnstar', |
| 116 | + descr: 'The Editor\'s Barnstar is awarded to individuals who display particularly fine decisions in general editing.', |
| 117 | + header: 'A barnstar for you!', |
| 118 | + title: 'The Editor\'s Barnstar', |
| 119 | + image: 'Editors Barnstar Hires.png' |
| 120 | + }, |
| 121 | + 'designers': { |
| 122 | + fields: [ 'message' ], |
| 123 | + option: 'Graphic Designer\'s Barnstar', |
| 124 | + descr: 'The Graphic Designer\'s Barnstar may be awarded to those who work tirelessly to provide Wikipedia with free, high-quality graphics.', |
| 125 | + header: 'A barnstar for you!', |
| 126 | + title: 'The Graphic Designer\'s Barnstar', |
| 127 | + image: 'Graphic Designer Barnstar Hires.png' |
| 128 | + }, |
| 129 | + 'half': { |
| 130 | + fields: [ 'message' ], |
| 131 | + option: 'Half Barnstar', |
| 132 | + descr: 'The Half Barnstar is awarded for excellence in cooperation, especially for productive editing with someone who holds an opposing viewpoint.', |
| 133 | + header: 'A barnstar for you!', |
| 134 | + title: 'The Half Barnstar', |
| 135 | + image: 'Halfstar Hires.png', |
| 136 | + imageSize: '60px' |
| 137 | + }, |
| 138 | + 'minor': { |
| 139 | + fields: [ 'message' ], |
| 140 | + option: 'Minor Barnstar', |
| 141 | + descr: 'Minor edits are often overlooked, but are essential contributions to Wikipedia. The Minor Barnstar is awarded for making minor edits of the utmost quality.', |
| 142 | + header: 'A barnstar for you!', |
| 143 | + title: 'The Minor barnstar', |
| 144 | + image: 'Minor Barnstar Hires.png' |
| 145 | + }, |
| 146 | + 'antispam': { |
| 147 | + fields: [ 'message' ], |
| 148 | + option: 'No Spam Barnstar', |
| 149 | + descr: 'The Anti-Spam Barnstar is awarded to users who do an exceptional job fighting against spam on Wikipedia.', |
| 150 | + header: 'A barnstar for you!', |
| 151 | + title: 'The No Spam Barnstar', |
| 152 | + image: 'No Spam Barnstar Hires.png' |
| 153 | + }, |
| 154 | + 'photographers': { |
| 155 | + fields: [ 'message' ], |
| 156 | + option: 'Photographer\'s Barnstar', |
| 157 | + descr: 'The Photographer\'s Barnstar is awarded to those individuals who tirelessly improve the Wikipedia with their photographic skills and contributions.', |
| 158 | + header: 'A barnstar for you!', |
| 159 | + title: 'The Photographer\'s Barnstar', |
| 160 | + image: 'Camera Barnstar Hires.png' |
| 161 | + }, |
| 162 | + 'kindness': { |
| 163 | + fields: [ 'message' ], |
| 164 | + option: 'Random Acts of Kindness Barnstar', |
| 165 | + descr: 'The Random Acts of Kindness Barnstar may be awarded to those that show a pattern of going the extra mile to be nice, without being asked.', |
| 166 | + header: 'A barnstar for you!', |
| 167 | + title: 'The Random Acts of Kindness Barnstar', |
| 168 | + image: 'Kindness Barnstar Hires.png' |
| 169 | + }, |
| 170 | + 'reallife': { |
| 171 | + fields: [ 'message' ], |
| 172 | + option: 'Real Life Barnstar', |
| 173 | + descr: 'The Real Life Barnstar is awarded to editors who make contributions both online and offline, by organizing wiki-related real-life events.', |
| 174 | + header: 'A barnstar for you!', |
| 175 | + title: 'The Real Life Barnstar', |
| 176 | + image: 'Real Life Barnstar.jpg' |
| 177 | + }, |
| 178 | + 'resilient': { |
| 179 | + fields: [ 'message' ], |
| 180 | + option: 'Resilient Barnstar', |
| 181 | + descr: 'The Resilient Barnstar may be given to any editor who learns and improves from criticisms, never letting mistakes impede their growth as a Wikipedian.', |
| 182 | + header: 'A barnstar for you!', |
| 183 | + title: 'The Resilient Barnstar', |
| 184 | + image: 'Resilient Barnstar Hires.png' |
| 185 | + }, |
| 186 | + 'rosetta': { |
| 187 | + fields: [ 'message' ], |
| 188 | + option: 'Rosetta Barnstar', |
| 189 | + descr: 'The Rosetta Barnstar may be given to any editor who exhibits outstanding translation efforts on Wikipedia.', |
| 190 | + header: 'A barnstar for you!', |
| 191 | + title: 'The Rosetta Barnstar', |
| 192 | + image: 'Rosetta Barnstar Hires.png' |
| 193 | + }, |
| 194 | + 'special': { |
| 195 | + fields: [ 'message' ], |
| 196 | + option: 'Special Barnstar', |
| 197 | + descr: 'The Special Barnstar may be awarded to a user as a gesture of appreciation when there is no other barnstar which would be appropriate.', |
| 198 | + header: 'A barnstar for you!', |
| 199 | + title: 'The Special Barnstar', |
| 200 | + image: 'Special Barnstar Hires.png' |
| 201 | + }, |
| 202 | + 'surreal': { |
| 203 | + fields: [ 'message' ], |
| 204 | + option: 'Surreal Barnstar', |
| 205 | + descr: 'The Surreal Barnstar may be awarded to any Wikipedian who adds "special flavor" to the community by acting as a sort of wildcard.', |
| 206 | + header: 'A barnstar for you!', |
| 207 | + title: 'The Surreal Barnstar', |
| 208 | + image: 'Surreal Barnstar Hires.png' |
| 209 | + }, |
| 210 | + 'teamwork': { |
| 211 | + fields: [ 'message' ], |
| 212 | + option: 'Teamwork Barnstar', |
| 213 | + descr: 'The Teamwork Barnstar may be awarded when several editors work together to improve an article.', |
| 214 | + header: 'A barnstar for you!', |
| 215 | + title: 'The Teamwork Barnstar', |
| 216 | + image: 'Team Barnstar Hires.png' |
| 217 | + }, |
| 218 | + 'technical': { |
| 219 | + fields: [ 'message' ], |
| 220 | + option: 'Technical Barnstar', |
| 221 | + descr: 'The Technical Barnstar may be awarded to anyone who has enhanced Wikipedia through their technical work (programming, bot building, link repair, etc.).', |
| 222 | + header: 'A barnstar for you!', |
| 223 | + title: 'The Technical Barnstar', |
| 224 | + image: 'Vitruvian Barnstar Hires.png' |
| 225 | + }, |
| 226 | + 'tireless': { |
| 227 | + fields: [ 'message' ], |
| 228 | + option: 'Tireless Contributor Barnstar', |
| 229 | + descr: 'The Tireless Contributor Barnstar is awarded to especially tireless Wikipedians who contribute an especially large body of work without sacrificing quality.', |
| 230 | + header: 'A barnstar for you!', |
| 231 | + title: 'The Tireless Contributor Barnstar', |
| 232 | + image: 'Tireless Contributor Barnstar Hires.gif' |
| 233 | + }, |
| 234 | + 'writers': { |
| 235 | + fields: [ 'message' ], |
| 236 | + option: 'Writer\'s Barnstar', |
| 237 | + descr: 'The Writer\'s Barnstar may be awarded to any user who has written a large number of articles or has contributed a large number of edits.', |
| 238 | + header: 'A barnstar for you!', |
| 239 | + title: 'The Writer\'s Barnstar', |
| 240 | + image: 'Writers Barnstar Hires.png' |
| 241 | + } |
| 242 | + }, |
| 243 | + icon: mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-barnstar.png' // icon for left-side menu |
| 244 | + }, |
| 245 | + 'food': { |
| 246 | + name: mw.msg( 'wikilove-type-food' ), // name of the type (appears in the types menu) |
| 247 | + select: 'Select food or drink item:', // subtype select label |
| 248 | + text: '{| style="background-color: $5; border: 1px solid $6;"\n\ |
| 249 | +|style="vertical-align: middle; padding: 5px;" | [[$3|$4]]\n\ |
| 250 | +|style="vertical-align: middle; padding: 3px;" | $1 ~~~~\n\ |
| 251 | +|}', // custom text |
| 252 | + subtypes: { // some different subtypes |
| 253 | + // note that when not using subtypes you should use these subtype options |
| 254 | + // for the top-level type |
| 255 | + 'baklava': { |
| 256 | + fields: [ 'header', 'message' ], // fields to ask for in form |
| 257 | + option: 'Baklava', // option listed in the select list |
| 258 | + descr: 'Baklava is a rich, sweet pastry made of layers of filo pastry filled with chopped nuts and sweetened with syrup or honey.', |
| 259 | + header: 'Some baklava for you!', // header that appears at the top of the talk page post (optional) |
| 260 | + image: 'Baklava - Turkish special, 80-ply.JPEG', // image for the award |
| 261 | + imageSize: '135px' // size to display image |
| 262 | + }, |
| 263 | + 'beer': { |
| 264 | + fields: [ 'header', 'message' ], |
| 265 | + option: 'Beer', |
| 266 | + descr: 'Beer is the world\'s most widely consumed and probably oldest alcoholic beverage. It is the third most popular drink after water and tea.', |
| 267 | + header: 'A beer for you!', |
| 268 | + image: 'Export hell seidel steiner.png', |
| 269 | + imageSize: '70px' |
| 270 | + }, |
| 271 | + 'brownie': { |
| 272 | + fields: [ 'header', 'message' ], |
| 273 | + option: 'Brownie', |
| 274 | + descr: 'A brownie is a flat, baked treat made of dense, rich chocolate cake. They are usually served as squares or bars.', |
| 275 | + header: 'A brownie for you!', |
| 276 | + image: 'Brownie transparent.png', |
| 277 | + imageSize: '120px' |
| 278 | + }, |
| 279 | + 'bubble tea': { |
| 280 | + fields: [ 'header', 'message' ], |
| 281 | + option: 'Bubble tea', |
| 282 | + descr: 'Bubble tea is a tea or juice beverage containing small chewy balls made of tapioca starch or jelly. First invented in Taiwan, it is now popular in many areas of the world.', |
| 283 | + header: 'Some bubble tea for you!', |
| 284 | + image: 'Bubble_Tea.png', |
| 285 | + imageSize: '65px' |
| 286 | + }, |
| 287 | + 'cheeseburger': { |
| 288 | + fields: [ 'header', 'message' ], |
| 289 | + option: 'Cheeseburger', |
| 290 | + descr: 'A staple of diners and fast-food restaurants, cheeseburgers were first popularized in the United States during the 1920s and 30s.', |
| 291 | + header: 'A cheeseburger for you!', |
| 292 | + image: 'Cheeseburger.png', |
| 293 | + imageSize: '120px' |
| 294 | + }, |
| 295 | + 'cookie': { |
| 296 | + fields: [ 'header', 'message' ], |
| 297 | + option: 'Cookie', |
| 298 | + descr: 'Cookies (known as biscuits in the UK) are small baked treats that come in a wide array of flavors, shapes, and sizes.', |
| 299 | + header: 'A cookie for you!', |
| 300 | + image: 'Choco_chip_cookie.png', |
| 301 | + imageSize: '120px' |
| 302 | + }, |
| 303 | + 'coffee': { |
| 304 | + fields: [ 'header', 'message' ], |
| 305 | + option: 'Cup of coffee', |
| 306 | + descr: 'Appreciated the world over, coffee is known for its energizing effect on people.', |
| 307 | + header: 'A cup of coffee for you!', |
| 308 | + image: 'A small cup of coffee.JPG', |
| 309 | + imageSize: '120px' |
| 310 | + }, |
| 311 | + 'tea': { |
| 312 | + fields: [ 'header', 'message' ], |
| 313 | + option: 'Cup of tea', |
| 314 | + descr: 'After water, tea is the most widely consumed beverage in the world. It can be enjoyed hot or cold, with milk or sugar.', |
| 315 | + header: 'A cup of tea for you!', |
| 316 | + image: 'Meissen-teacup pinkrose01.jpg', |
| 317 | + imageSize: '120px' |
| 318 | + }, |
| 319 | + 'cupcake': { |
| 320 | + fields: [ 'header', 'message' ], |
| 321 | + option: 'Cupcake', |
| 322 | + descr: 'A cupcake is a small cake designed to serve one person. They are often served with frosting and sprinkles on top.', |
| 323 | + header: 'A cupcake for you!', |
| 324 | + image: 'Choco-Nut Bake with Meringue Top cropped.jpg', |
| 325 | + imageSize: '120px' |
| 326 | + }, |
| 327 | + 'pie': { |
| 328 | + fields: [ 'header', 'message' ], |
| 329 | + option: 'Pie', |
| 330 | + descr: 'Pies can be filled with a wide variety of sweet or savory ingredients. Popular varieties include apple, cherry, peach, chocolate, and pecan.', |
| 331 | + header: 'A pie for you!', |
| 332 | + image: 'A very beautiful Nectarine Pie.jpg', |
| 333 | + imageSize: '120px' |
| 334 | + }, |
| 335 | + 'strawberries': { |
| 336 | + fields: [ 'header', 'message' ], |
| 337 | + option: 'Strawberries', |
| 338 | + descr: 'The strawberry fruit (which is not actually a berry) is widely appreciated for its characteristic aroma, bright red color, juicy texture, and sweetness.', |
| 339 | + header: 'A bowl of strawberries for you!', |
| 340 | + image: 'Erdbeerteller01.jpg', |
| 341 | + imageSize: '120px' |
| 342 | + }, |
| 343 | + 'stroopwafels': { |
| 344 | + fields: [ 'header', 'message' ], |
| 345 | + option: 'Stroopwafels', |
| 346 | + descr: 'A stroopwafel is a Dutch snack made from two thin layers of baked batter with a caramel-like syrup filling in the middle.', |
| 347 | + header: 'Some stroopwafels for you!', |
| 348 | + image: 'Gaufre biscuit.jpg', |
| 349 | + imageSize: '135px' |
| 350 | + } |
| 351 | + }, |
| 352 | + icon: mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-food.png' |
| 353 | + }, |
| 354 | + 'kitten': { |
| 355 | + name: mw.msg( 'wikilove-type-kittens' ), |
| 356 | + fields: [ 'header', 'message' ], |
| 357 | + header: 'A kitten for you!', |
| 358 | + text: '[[$3|left|150px]]\n$1\n\n~~~~\n<br style="clear: both"/>', // $3 is the image filename |
| 359 | + gallery: { |
| 360 | + imageList: [ 'Cucciolo gatto Bibo.jpg', 'Kitten (06) by Ron.jpg', 'Kitten-stare.jpg', 'Red Kitten 01.jpg', 'Kitten in a helmet.jpg', 'Cute grey kitten.jpg' ], |
| 361 | + width: 145, |
| 362 | + height: 150, |
| 363 | + number: 3 |
| 364 | + }, |
| 365 | + icon: mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-kitten.png' |
| 366 | + }, |
| 367 | + // default type, nice to leave this one in place when adding other types |
| 368 | + 'makeyourown': { |
| 369 | + name: mw.msg( 'wikilove-type-makeyourown' ), |
| 370 | + fields: [ 'header', 'title', 'image', 'message' ], |
| 371 | + icon: mw.config.get( 'wgExtensionAssetsPath' ) + '/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-create.png' |
| 372 | + } |
| 373 | + } |
| 374 | +}; |
| 375 | + |
| 376 | +} )( jQuery ); |
| 377 | +//</nowiki> |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.defaultOptions.js |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 378 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.init.js |
— | — | @@ -0,0 +1 @@ |
| 2 | +mw.loader.using( 'ext.wikiLove.local', jQuery.wikiLove.init ); |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.init.js |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 3 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected-left-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected-left-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
2 | 4 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/spinner.gif |
Cannot display: file marked as a binary type. |
svn:mime-type = image/gif |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/spinner.gif |
___________________________________________________________________ |
Added: svn:mime-type |
3 | 5 | + image/gif |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover.png |
___________________________________________________________________ |
Added: svn:mime-type |
4 | 6 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-blue.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-blue.png |
___________________________________________________________________ |
Added: svn:mime-type |
5 | 7 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected.png |
___________________________________________________________________ |
Added: svn:mime-type |
6 | 8 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/alert.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/alert.png |
___________________________________________________________________ |
Added: svn:mime-type |
7 | 9 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-left-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-left-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
8 | 10 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/select-bg-sprite.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/select-bg-sprite.png |
___________________________________________________________________ |
Added: svn:mime-type |
9 | 11 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover-right-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover-right-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
10 | 12 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box.png |
___________________________________________________________________ |
Added: svn:mime-type |
11 | 13 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected-right-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-selected-right-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
12 | 14 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/get-started-ltr.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/get-started-ltr.png |
___________________________________________________________________ |
Added: svn:mime-type |
13 | 15 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/get-started-rtl.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/get-started-rtl.png |
___________________________________________________________________ |
Added: svn:mime-type |
14 | 16 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/select-sprite.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/select-sprite.png |
___________________________________________________________________ |
Added: svn:mime-type |
15 | 17 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-red.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-red.png |
___________________________________________________________________ |
Added: svn:mime-type |
16 | 18 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-black.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/heart-icons-black.png |
___________________________________________________________________ |
Added: svn:mime-type |
17 | 19 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-create.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-create.png |
___________________________________________________________________ |
Added: svn:mime-type |
18 | 20 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-food.png |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-food.png |
___________________________________________________________________ |
Added: svn:mime-type |
19 | 21 | + application/octet-stream |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-cookie.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-cookie.png |
___________________________________________________________________ |
Added: svn:mime-type |
20 | 22 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-wikiproject.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-wikiproject.png |
___________________________________________________________________ |
Added: svn:mime-type |
21 | 23 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-welcome.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-welcome.png |
___________________________________________________________________ |
Added: svn:mime-type |
22 | 24 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-barnstar.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-barnstar.png |
___________________________________________________________________ |
Added: svn:mime-type |
23 | 25 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-beer.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-beer.png |
___________________________________________________________________ |
Added: svn:mime-type |
24 | 26 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-kitten.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icons/wikilove-icon-kitten.png |
___________________________________________________________________ |
Added: svn:mime-type |
25 | 27 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover-left-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-hover-left-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
26 | 28 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/number.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/number.png |
___________________________________________________________________ |
Added: svn:mime-type |
27 | 29 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/tab-break.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/tab-break.png |
___________________________________________________________________ |
Added: svn:mime-type |
28 | 30 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-right-cap.png |
Cannot display: file marked as a binary type. |
svn:mime-type = image/png |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/images/icon-box-right-cap.png |
___________________________________________________________________ |
Added: svn:mime-type |
29 | 31 | + image/png |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.icon.css |
— | — | @@ -0,0 +1,46 @@ |
| 2 | +/* include fix from r87101 here for older versions; these three blocks can become deprecated later */ |
| 3 | +div.vectorTabs span { |
| 4 | + display: inline-block; |
| 5 | + /* @embed */ |
| 6 | + background-image: url(images/tab-break.png); |
| 7 | + background-position: bottom right; |
| 8 | + background-repeat: no-repeat; |
| 9 | +} |
| 10 | + |
| 11 | +div.vectorTabs li a { |
| 12 | + background-image: none; |
| 13 | +} |
| 14 | + |
| 15 | +div.vectorTabs li#ca-wikilove { |
| 16 | + line-height: 1.4em; /* account for scripts with tall ascenders */ |
| 17 | +} |
| 18 | + |
| 19 | +#ca-unwatch.icon, |
| 20 | +#ca-watch.icon { |
| 21 | + margin-right: 0px; |
| 22 | +} |
| 23 | + |
| 24 | +/* icon style */ |
| 25 | +#ca-wikilove.icon a { |
| 26 | + margin: 0; |
| 27 | + padding: 0; |
| 28 | + outline: none; |
| 29 | + display: block; |
| 30 | + width: 27px; |
| 31 | + /* This hides the text but shows the background image */ |
| 32 | + padding-top: 3.1em; |
| 33 | + margin-top: 0; |
| 34 | + /* Only applied in IE6 */ |
| 35 | + margin-top: -0.8em !ie; |
| 36 | + height: 0; |
| 37 | + overflow: hidden; |
| 38 | + /* @embed */ |
| 39 | + background-image: url(images/heart-icons-red.png); |
| 40 | +} |
| 41 | +#ca-wikilove.icon a { |
| 42 | + background-position: 5px 60%; |
| 43 | +} |
| 44 | +#ca-wikilove.icon a:hover, |
| 45 | +#ca-wikilove.icon a:focus { |
| 46 | + background-position: -19px 60%; |
| 47 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.icon.css |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 48 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js |
— | — | @@ -0,0 +1,915 @@ |
| 2 | +( function( $ ) { |
| 3 | + |
| 4 | +var options = {}, // options modifiable by the user |
| 5 | + $dialog = null, // dialog jQuery object |
| 6 | + currentTypeId = null, // id of the currently selected type (e.g. 'barnstar' or 'makeyourown') |
| 7 | + currentSubtypeId = null, // id of the currently selected subtype (e.g. 'original' or 'special') |
| 8 | + currentTypeOrSubtype = null, // content of the current (sub)type (i.e. an object with title, descr, text, etc.) |
| 9 | + rememberData = null, // input data to remember when switching types or subtypes |
| 10 | + emailable = false, |
| 11 | + gallery = {}; |
| 12 | + |
| 13 | +$.wikiLove = { |
| 14 | + /* |
| 15 | + * Opens the dialog and builds it if necessary. |
| 16 | + */ |
| 17 | + openDialog: function() { |
| 18 | + if ( $dialog === null ) { |
| 19 | + // Test to see if the 'E-mail this user' link exists |
| 20 | + emailable = $( '#t-emailuser' ).length ? true : false; |
| 21 | + |
| 22 | + // Build a type list like this: |
| 23 | + var $typeList = $( '<ul id="mw-wikilove-types"></ul>' ), |
| 24 | + type; |
| 25 | + for ( var typeId in options.types ) { |
| 26 | + type = options.types[typeId]; |
| 27 | + if ( !$.isPlainObject( type ) ) { |
| 28 | + continue; |
| 29 | + } |
| 30 | + var $button = $( '<a href="#"></a>' ), |
| 31 | + $buttonInside = $( '<div class="mw-wikilove-inside"></div>' ); |
| 32 | + |
| 33 | + if ( typeof type.icon == 'string' ) { |
| 34 | + $buttonInside.append( '<div class="mw-wikilove-icon-box"><img src="' |
| 35 | + + mw.html.escape( type.icon ) + '"/></div>' ); |
| 36 | + } else { |
| 37 | + $buttonInside.addClass( 'mw-wikilove-no-icon' ); |
| 38 | + } |
| 39 | + |
| 40 | + $buttonInside.append( '<div class="mw-wikilove-link-text">' + mw.html.escape( type.name ) + '</div>' ); |
| 41 | + |
| 42 | + $button.data( 'typeId', typeId ); |
| 43 | + $button.append( '<div class="mw-wikilove-l-cap"></div>'); |
| 44 | + $button.append( $buttonInside ); |
| 45 | + $button.append( '<div class="mw-wikilove-r-cap"></div>'); |
| 46 | + $typeList.append( $( '<li tabindex="0"></li>' ).append( $button ) ); |
| 47 | + } |
| 48 | + |
| 49 | + $dialog = $( '\ |
| 50 | +<div id="mw-wikilove-dialog">\ |
| 51 | +<div id="mw-wikilove-select-type">\ |
| 52 | + <span class="mw-wikilove-number">1</span>\ |
| 53 | + <h3><html:msg key="wikilove-select-type"/></h3>\ |
| 54 | + <ul id="mw-wikilove-types"></ul>\ |
| 55 | +</div>\ |
| 56 | +<div id="mw-wikilove-get-started">\ |
| 57 | + <h2><html:msg key="wikilove-get-started-header"/></h2>\ |
| 58 | + <ol>\ |
| 59 | + <li><html:msg key="wikilove-get-started-list-1"/></li>\ |
| 60 | + <li><html:msg key="wikilove-get-started-list-2"/></li>\ |
| 61 | + <li><html:msg key="wikilove-get-started-list-3"/></li>\ |
| 62 | + </ol>\ |
| 63 | + <p><a target="_blank" href="http://www.mediawiki.org/wiki/WikiLove">\ |
| 64 | + <html:msg key="wikilove-what-is-this"/>\ |
| 65 | + </a></p>\ |
| 66 | + <p id="mw-wikilove-anon-warning"><strong><html:msg key="wikilove-anon-warning"/></strong></p>\ |
| 67 | +</div>\ |
| 68 | +<div id="mw-wikilove-add-details">\ |
| 69 | + <span class="mw-wikilove-number">2</span>\ |
| 70 | + <h3><html:msg key="wikilove-add-details"/></h3>\ |
| 71 | + <form id="mw-wikilove-preview-form">\ |
| 72 | + <div id="mw-wikilove-image-preview">\ |
| 73 | + <div id="mw-wikilove-image-preview-spinner" class="mw-wikilove-spinner"></div>\ |
| 74 | + <div id="mw-wikilove-image-preview-content"></div>\ |
| 75 | + </div>\ |
| 76 | + <label for="mw-wikilove-subtype" id="mw-wikilove-subtype-label"></label>\ |
| 77 | + <select id="mw-wikilove-subtype"></select>\ |
| 78 | + <div id="mw-wikilove-subtype-description"></div>\ |
| 79 | + <label id="mw-wikilove-gallery-label"><html:msg key="wikilove-select-image"/></label>\ |
| 80 | + <div id="mw-wikilove-gallery">\ |
| 81 | + <div id="mw-wikilove-gallery-error">\ |
| 82 | + <html:msg key="wikilove-err-gallery"/>\ |
| 83 | + <a href="#" id="mw-wikilove-gallery-error-again"><html:msg key="wikilove-err-gallery-again"/></a>\ |
| 84 | + </div>\ |
| 85 | + <div id="mw-wikilove-gallery-spinner" class="mw-wikilove-spinner"></div>\ |
| 86 | + <div id="mw-wikilove-gallery-content"></div>\ |
| 87 | + </div>\ |
| 88 | + <label for="mw-wikilove-header" id="mw-wikilove-header-label"><html:msg key="wikilove-header"/></label>\ |
| 89 | + <input type="text" class="text" id="mw-wikilove-header"/>\ |
| 90 | + <label for="mw-wikilove-title" id="mw-wikilove-title-label"><html:msg key="wikilove-title"/></label>\ |
| 91 | + <input type="text" class="text" id="mw-wikilove-title"/>\ |
| 92 | + <label for="mw-wikilove-image" id="mw-wikilove-image-label"><html:msg key="wikilove-image"/></label>\ |
| 93 | + <span class="mw-wikilove-note" id="mw-wikilove-image-note"><html:msg key="wikilove-image-example"/></span>\ |
| 94 | + <input type="text" class="text" id="mw-wikilove-image"/>\ |
| 95 | + <div id="mw-wikilove-commons-text">\ |
| 96 | + ' + mw.msg( 'wikilove-commons-text', '<a href="' + mw.msg( 'wikilove-commons-url' ) + '" target="_blank">' + mw.msg( 'wikilove-commons-link' ) +'</a>' ) + '\ |
| 97 | + </div>\ |
| 98 | + <label for="mw-wikilove-message" id="mw-wikilove-message-label"><html:msg key="wikilove-enter-message"/></label>\ |
| 99 | + <span class="mw-wikilove-note" id="mw-wikilove-message-note"><html:msg key="wikilove-omit-sig"/></span>\ |
| 100 | + <textarea id="mw-wikilove-message"></textarea>\ |
| 101 | + <div id="mw-wikilove-notify">\ |
| 102 | + <input type="checkbox" id="mw-wikilove-notify-checkbox" name="notify"/>\ |
| 103 | + <label for="mw-wikilove-notify-checkbox"><html:msg key="wikilove-notify"/></label>\ |
| 104 | + </div>\ |
| 105 | + <button class="submit" id="mw-wikilove-button-preview" type="submit"></button>\ |
| 106 | + <div id="mw-wikilove-preview-spinner" class="mw-wikilove-spinner"></div>\ |
| 107 | + </form>\ |
| 108 | +</div>\ |
| 109 | +<div id="mw-wikilove-preview">\ |
| 110 | + <span class="mw-wikilove-number">3</span>\ |
| 111 | + <h3><html:msg key="wikilove-preview"/></h3>\ |
| 112 | + <div id="mw-wikilove-preview-area"></div>\ |
| 113 | + <form id="mw-wikilove-send-form">\ |
| 114 | + <button class="submit" id="mw-wikilove-button-send" type="submit"></button>\ |
| 115 | + <div id="mw-wikilove-send-spinner" class="mw-wikilove-spinner"></div>\ |
| 116 | + </form>\ |
| 117 | +</div>\ |
| 118 | +</div>' ); |
| 119 | + $dialog.localize(); |
| 120 | + |
| 121 | + $dialog.dialog({ |
| 122 | + width: 800, |
| 123 | + position: ['center', 80], |
| 124 | + autoOpen: false, |
| 125 | + title: mw.msg( 'wikilove-dialog-title' ), |
| 126 | + modal: true, |
| 127 | + resizable: false |
| 128 | + }); |
| 129 | + |
| 130 | + if ( mw.config.get( 'skin' ) == 'vector' ) { |
| 131 | + $( '#mw-wikilove-button-preview' ).button( { |
| 132 | + label: mw.msg( 'wikilove-button-preview' ), |
| 133 | + icons: { |
| 134 | + primary:'ui-icon-search' |
| 135 | + } |
| 136 | + } ); |
| 137 | + } else { |
| 138 | + $( '#mw-wikilove-button-preview' ).button( { |
| 139 | + label: mw.msg( 'wikilove-button-preview' ) |
| 140 | + } ); |
| 141 | + } |
| 142 | + $( '#mw-wikilove-button-send' ).button( { |
| 143 | + label: mw.msg( 'wikilove-button-send' ) |
| 144 | + } ); |
| 145 | + $( '#mw-wikilove-add-details' ).hide(); |
| 146 | + $( '#mw-wikilove-preview' ).hide(); |
| 147 | + $( '#mw-wikilove-types' ).replaceWith( $typeList ); |
| 148 | + $( '#mw-wikilove-gallery-error-again' ).click( $.wikiLove.showGallery ); |
| 149 | + $( '#mw-wikilove-types a' ).click( $.wikiLove.clickType ); |
| 150 | + $( '#mw-wikilove-subtype' ).change( $.wikiLove.changeSubtype ); |
| 151 | + $( '#mw-wikilove-preview-form' ).submit( $.wikiLove.validatePreviewForm ); |
| 152 | + $( '#mw-wikilove-send-form' ).click( $.wikiLove.submitSend ); |
| 153 | + $( '#mw-wikilove-message' ).elastic(); // have the message textarea grow automatically |
| 154 | + |
| 155 | + if ( mw.config.get( 'wikilove-anon' ) === 0 ) { |
| 156 | + $( '#mw-wikilove-anon-warning' ).hide(); |
| 157 | + } |
| 158 | + |
| 159 | + // When the image changes, we want to reset the preview and error message. |
| 160 | + $( '#mw-wikilove-image' ).change( function() { |
| 161 | + $( '#mw-wikilove-dialog' ).find( '.mw-wikilove-error' ).remove(); |
| 162 | + $( '#mw-wikilove-preview' ).hide(); |
| 163 | + } ); |
| 164 | + } |
| 165 | + |
| 166 | + $dialog.dialog( 'open' ); |
| 167 | + }, |
| 168 | + |
| 169 | + /* |
| 170 | + * Handler for the left menu. Selects a new type and initialises next section |
| 171 | + * depending on whether or not to show subtypes. |
| 172 | + */ |
| 173 | + clickType: function( e ) { |
| 174 | + e.preventDefault(); |
| 175 | + $.wikiLove.rememberInputData(); // remember previously entered data |
| 176 | + $( '#mw-wikilove-get-started' ).hide(); // always hide the get started section |
| 177 | + |
| 178 | + var newTypeId = $( this ).data( 'typeId' ); |
| 179 | + if( currentTypeId != newTypeId ) { // only do stuff when a different type is selected |
| 180 | + currentTypeId = newTypeId; |
| 181 | + currentSubtypeId = null; // reset the subtype id |
| 182 | + |
| 183 | + $( '#mw-wikilove-types' ).find( 'a' ).removeClass( 'selected' ); |
| 184 | + $( this ).addClass( 'selected' ); // highlight the new type in the menu |
| 185 | + |
| 186 | + if( typeof options.types[currentTypeId].subtypes == 'object' ) { |
| 187 | + // we're dealing with subtypes here |
| 188 | + currentTypeOrSubtype = null; // reset the (sub)type object until a subtype is selected |
| 189 | + $( '#mw-wikilove-subtype' ).html( '' ); // clear the subtype menu |
| 190 | + |
| 191 | + for( var subtypeId in options.types[currentTypeId].subtypes ) { |
| 192 | + // add all the subtypes to the menu while setting their subtype ids in jQuery data |
| 193 | + var subtype = options.types[currentTypeId].subtypes[subtypeId]; |
| 194 | + if ( typeof subtype.option != 'undefined' ) { |
| 195 | + $( '#mw-wikilove-subtype' ).append( |
| 196 | + $( '<option></option>' ).text( subtype.option ).data( 'subtypeId', subtypeId ) |
| 197 | + ); |
| 198 | + } |
| 199 | + } |
| 200 | + $( '#mw-wikilove-subtype' ).show(); |
| 201 | + |
| 202 | + // change and show the subtype label depending on the type |
| 203 | + $( '#mw-wikilove-subtype-label' ).text( options.types[currentTypeId].select || mw.msg( 'wikilove-select-type' ) ); |
| 204 | + $( '#mw-wikilove-subtype-label' ).show(); |
| 205 | + $.wikiLove.changeSubtype(); // update controls depending on the currently selected (i.e. first) subtype |
| 206 | + } |
| 207 | + else { |
| 208 | + // there are no subtypes, just use this type for the current (sub)type |
| 209 | + currentTypeOrSubtype = options.types[currentTypeId]; |
| 210 | + $( '#mw-wikilove-subtype' ).hide(); |
| 211 | + $( '#mw-wikilove-subtype-label' ).hide(); |
| 212 | + $( '#mw-wikilove-image-preview' ).hide(); |
| 213 | + $.wikiLove.updateAllDetails(); // update controls depending on this type |
| 214 | + } |
| 215 | + |
| 216 | + $( '#mw-wikilove-add-details' ).show(); |
| 217 | + $( '#mw-wikilove-preview' ).hide(); |
| 218 | + } |
| 219 | + }, |
| 220 | + |
| 221 | + /* |
| 222 | + * Handler for changing the subtype. |
| 223 | + */ |
| 224 | + changeSubtype: function() { |
| 225 | + $.wikiLove.rememberInputData(); // remember previously entered data |
| 226 | + |
| 227 | + // find out which subtype is selected |
| 228 | + var newSubtypeId = $( '#mw-wikilove-subtype option:selected' ).first().data( 'subtypeId' ); |
| 229 | + if( currentSubtypeId != newSubtypeId ) { // only change stuff when a different subtype is selected |
| 230 | + currentSubtypeId = newSubtypeId; |
| 231 | + currentTypeOrSubtype = options.types[currentTypeId] |
| 232 | + .subtypes[currentSubtypeId]; |
| 233 | + $( '#mw-wikilove-subtype-description' ).html( currentTypeOrSubtype.descr ); |
| 234 | + |
| 235 | + if( currentTypeOrSubtype.gallery === undefined && currentTypeOrSubtype.image ) { // not a gallery |
| 236 | + $.wikiLove.showImagePreview(); |
| 237 | + } else { |
| 238 | + $( '#mw-wikilove-image-preview' ).hide(); |
| 239 | + } |
| 240 | + |
| 241 | + $.wikiLove.updateAllDetails(); |
| 242 | + $( '#mw-wikilove-preview' ).hide(); |
| 243 | + } |
| 244 | + }, |
| 245 | + |
| 246 | + /* |
| 247 | + * Remember data the user entered if it is different from the default. |
| 248 | + */ |
| 249 | + rememberInputData: function() { |
| 250 | + if ( rememberData === null) { |
| 251 | + rememberData = { |
| 252 | + header : '', |
| 253 | + title : '', |
| 254 | + message: '', |
| 255 | + image : '' |
| 256 | + }; |
| 257 | + } |
| 258 | + if ( currentTypeOrSubtype !== null ) { |
| 259 | + if ( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 && |
| 260 | + ( !currentTypeOrSubtype.header || $( '#mw-wikilove-header' ).val() != currentTypeOrSubtype.header ) ) |
| 261 | + { |
| 262 | + rememberData.header = $( '#mw-wikilove-header' ).val(); |
| 263 | + } |
| 264 | + if ( $.inArray( 'title', currentTypeOrSubtype.fields ) >= 0 && |
| 265 | + ( !currentTypeOrSubtype.title || $( '#mw-wikilove-title' ).val() != currentTypeOrSubtype.title ) ) |
| 266 | + { |
| 267 | + rememberData.title = $( '#mw-wikilove-title' ).val(); |
| 268 | + } |
| 269 | + if ( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 && |
| 270 | + ( !currentTypeOrSubtype.message || $( '#mw-wikilove-message' ).val() != currentTypeOrSubtype.message ) ) |
| 271 | + { |
| 272 | + rememberData.message = $( '#mw-wikilove-message' ).val(); |
| 273 | + } |
| 274 | + if ( currentTypeOrSubtype.gallery === undefined && $.inArray( 'image', currentTypeOrSubtype.fields ) >= 0 && |
| 275 | + ( !currentTypeOrSubtype.image || $( '#mw-wikilove-image' ).val() != currentTypeOrSubtype.image ) ) |
| 276 | + { |
| 277 | + rememberData.image = $( '#mw-wikilove-image' ).val(); |
| 278 | + } |
| 279 | + } |
| 280 | + }, |
| 281 | + |
| 282 | + /* |
| 283 | + * Show a preview of the image for a subtype. |
| 284 | + */ |
| 285 | + showImagePreview: function() { |
| 286 | + $( '#mw-wikilove-image-preview' ).show(); |
| 287 | + $( '#mw-wikilove-image-preview-content' ).html( '' ); |
| 288 | + $( '#mw-wikilove-image-preview-spinner' ).fadeIn( 200 ); |
| 289 | + var title = $.wikiLove.normalizeFilename( currentTypeOrSubtype.image ); |
| 290 | + var loadingType = currentTypeOrSubtype; |
| 291 | + $.ajax({ |
| 292 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 293 | + data: { |
| 294 | + 'action' : 'query', |
| 295 | + 'format' : 'json', |
| 296 | + 'prop' : 'imageinfo', |
| 297 | + 'iiprop' : 'mime|url', |
| 298 | + 'titles' : title, |
| 299 | + 'iiurlwidth' : 75, |
| 300 | + 'iiurlheight' : 68 |
| 301 | + }, |
| 302 | + dataType: 'json', |
| 303 | + type: 'POST', |
| 304 | + success: function( data ) { |
| 305 | + if ( !data || !data.query || !data.query.pages ) { |
| 306 | + $( '#mw-wikilove-image-preview-spinner' ).fadeOut( 200 ); |
| 307 | + return; |
| 308 | + } |
| 309 | + if ( loadingType != currentTypeOrSubtype ) { |
| 310 | + return; |
| 311 | + } |
| 312 | + $.each( data.query.pages, function( id, page ) { |
| 313 | + if ( page.imageinfo && page.imageinfo.length ) { |
| 314 | + // build an image tag with the correct url |
| 315 | + var $img = $( '<img/>' ) |
| 316 | + .attr( 'src', page.imageinfo[0].thumburl ) |
| 317 | + .hide() |
| 318 | + .load( function() { |
| 319 | + $( '#mw-wikilove-image-preview-spinner' ).hide(); |
| 320 | + $( this ).css( 'display', 'inline-block' ); |
| 321 | + } ); |
| 322 | + $( '#mw-wikilove-image-preview-content' ).append( $img ); |
| 323 | + } |
| 324 | + }); |
| 325 | + }, |
| 326 | + error: function() { |
| 327 | + $( '#mw-wikilove-image-preview-spinner' ).fadeOut( 200 ); |
| 328 | + } |
| 329 | + }); |
| 330 | + }, |
| 331 | + |
| 332 | + /* |
| 333 | + * Called when type or subtype changes, updates controls. |
| 334 | + */ |
| 335 | + updateAllDetails: function() { |
| 336 | + $( '#mw-wikilove-dialog' ).find( '.mw-wikilove-error' ).remove(); |
| 337 | + |
| 338 | + // use remembered data for fields that can be set by the user |
| 339 | + var currentRememberData = { |
| 340 | + 'header' : ( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 ? rememberData.header : '' ), |
| 341 | + 'title' : ( $.inArray( 'title', currentTypeOrSubtype.fields ) >= 0 ? rememberData.title : '' ), |
| 342 | + 'message': ( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 ? rememberData.message : '' ), |
| 343 | + 'image' : ( $.inArray( 'image', currentTypeOrSubtype.fields ) >= 0 ? rememberData.image : '' ) |
| 344 | + }; |
| 345 | + |
| 346 | + // only show the description if it exists for this type or subtype |
| 347 | + if( typeof currentTypeOrSubtype.descr == 'string' ) { |
| 348 | + $( '#mw-wikilove-subtype-description').show(); |
| 349 | + } else { |
| 350 | + $( '#mw-wikilove-subtype-description').hide(); |
| 351 | + } |
| 352 | + |
| 353 | + // show or hide header label and textbox depending on fields configuration |
| 354 | + $( '#mw-wikilove-header, #mw-wikilove-header-label' ) |
| 355 | + .toggle( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 ); |
| 356 | + |
| 357 | + // set the new text for the header textbox |
| 358 | + $( '#mw-wikilove-header' ).val( currentRememberData.header || currentTypeOrSubtype.header || '' ); |
| 359 | + |
| 360 | + // show or hide title label and textbox depending on fields configuration |
| 361 | + $( '#mw-wikilove-title, #mw-wikilove-title-label') |
| 362 | + .toggle( $.inArray( 'title', currentTypeOrSubtype.fields ) >= 0 ); |
| 363 | + |
| 364 | + // set the new text for the title textbox |
| 365 | + $( '#mw-wikilove-title' ).val( currentRememberData.title || currentTypeOrSubtype.title || '' ); |
| 366 | + |
| 367 | + // show or hide image label and textbox depending on fields configuration |
| 368 | + $( '#mw-wikilove-image, #mw-wikilove-image-label, #mw-wikilove-image-note, #mw-wikilove-commons-text' ) |
| 369 | + .toggle( $.inArray( 'image', currentTypeOrSubtype.fields ) >= 0 ); |
| 370 | + |
| 371 | + // set the new text for the image textbox |
| 372 | + $( '#mw-wikilove-image' ).val( currentRememberData.image || currentTypeOrSubtype.image || '' ); |
| 373 | + |
| 374 | + if( typeof currentTypeOrSubtype.gallery == 'object' |
| 375 | + && $.isArray( currentTypeOrSubtype.gallery.imageList ) |
| 376 | + ) { |
| 377 | + $( '#mw-wikilove-gallery, #mw-wikilove-gallery-label' ).show(); |
| 378 | + $.wikiLove.showGallery(); // build gallery from array of images |
| 379 | + } |
| 380 | + else { |
| 381 | + $( '#mw-wikilove-gallery, #mw-wikilove-gallery-label' ).hide(); |
| 382 | + } |
| 383 | + |
| 384 | + // show or hide message label and textbox depending on fields configuration |
| 385 | + $( '#mw-wikilove-message, #mw-wikilove-message-label, #mw-wikilove-message-note' ) |
| 386 | + .toggle( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 ); |
| 387 | + |
| 388 | + // set the new text for the message textbox |
| 389 | + $( '#mw-wikilove-message' ).val( currentRememberData.message || currentTypeOrSubtype.message || '' ); |
| 390 | + |
| 391 | + if( $.inArray( 'notify', currentTypeOrSubtype.fields ) >= 0 && emailable ) { |
| 392 | + $( '#mw-wikilove-notify' ).show(); |
| 393 | + } else { |
| 394 | + $( '#mw-wikilove-notify' ).hide(); |
| 395 | + $( '#mw-wikilove-notify-checkbox' ).attr('checked', false); |
| 396 | + } |
| 397 | + }, |
| 398 | + |
| 399 | + /* |
| 400 | + * Handler for clicking the preview button. |
| 401 | + */ |
| 402 | + validatePreviewForm: function( e ) { |
| 403 | + e.preventDefault(); |
| 404 | + $( '#mw-wikilove-preview' ).hide(); |
| 405 | + $( '#mw-wikilove-dialog' ).find( '.mw-wikilove-error' ).remove(); |
| 406 | + |
| 407 | + // Check for a header if it is required |
| 408 | + if( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 && $( '#mw-wikilove-header' ).val().length === 0 ) { |
| 409 | + $.wikiLove.showAddDetailsError( 'wikilove-err-header' ); return false; |
| 410 | + } |
| 411 | + |
| 412 | + // Check for a title if it is required, and otherwise use the header text |
| 413 | + if( $.inArray( 'title', currentTypeOrSubtype.fields ) >= 0 && $( '#mw-wikilove-title' ).val().length === 0 ) { |
| 414 | + $( '#mw-wikilove-title' ).val( $( '#mw-wikilove-header' ).val() ); |
| 415 | + } |
| 416 | + |
| 417 | + if( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 ) { |
| 418 | + // Check for a message if it is required |
| 419 | + if ( $( '#mw-wikilove-message' ).val().length <= 0 ) { |
| 420 | + $.wikiLove.showAddDetailsError( 'wikilove-err-msg' ); return false; |
| 421 | + } |
| 422 | + // If there's a signature already in the message, throw an error |
| 423 | + if ( $( '#mw-wikilove-message' ).val().indexOf( '~~~' ) >= 0 ) { |
| 424 | + $.wikiLove.showAddDetailsError( 'wikilove-err-sig' ); return false; |
| 425 | + } |
| 426 | + } |
| 427 | + |
| 428 | + // Split image validation depending on whether or not it is a gallery |
| 429 | + if ( typeof currentTypeOrSubtype.gallery == 'undefined' ) { // not a gallery |
| 430 | + if ( $.inArray( 'image', currentTypeOrSubtype.fields ) >= 0 ) { // asks for an image |
| 431 | + if ( $( '#mw-wikilove-image' ).val().length === 0 ) { // no image entered |
| 432 | + // Give them the default image and continue with preview. |
| 433 | + $( '#mw-wikilove-image' ).val( options.defaultImage ); |
| 434 | + $.wikiLove.submitPreview(); |
| 435 | + } else { // image was entered by user |
| 436 | + // Make sure the image exists |
| 437 | + var imageTitle = $.wikiLove.normalizeFilename( $( '#mw-wikilove-image' ).val() ); |
| 438 | + $( '#mw-wikilove-preview-spinner' ).fadeIn( 200 ); |
| 439 | + |
| 440 | + $.ajax( { |
| 441 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 442 | + data: { |
| 443 | + 'action': 'query', |
| 444 | + 'format': 'json', |
| 445 | + 'titles': imageTitle, |
| 446 | + 'prop': 'imageinfo' |
| 447 | + }, |
| 448 | + dataType: 'json', |
| 449 | + success: function( data ) { |
| 450 | + // See if image exists locally or through InstantCommons |
| 451 | + if ( !data.query.pages[-1] || data.query.pages[-1].imageinfo) { |
| 452 | + // Image exists |
| 453 | + $.wikiLove.submitPreview(); |
| 454 | + $.wikiLove.logCustomImageUse( imageTitle, 1 ); |
| 455 | + } else { |
| 456 | + // Image does not exist |
| 457 | + $.wikiLove.showAddDetailsError( 'wikilove-err-image-bad' ); |
| 458 | + $.wikiLove.logCustomImageUse( imageTitle, 0 ); |
| 459 | + $( '#mw-wikilove-preview-spinner' ).fadeOut( 200 ); |
| 460 | + } |
| 461 | + }, |
| 462 | + error: function() { |
| 463 | + $.wikiLove.showAddDetailsError( 'wikilove-err-image-api' ); |
| 464 | + $( '#mw-wikilove-preview-spinner' ).fadeOut( 200 ); |
| 465 | + } |
| 466 | + } ); |
| 467 | + } |
| 468 | + } else { // doesn't ask for an image |
| 469 | + $.wikiLove.submitPreview(); |
| 470 | + } |
| 471 | + } else { // a gallery |
| 472 | + if ( $( '#mw-wikilove-image' ).val().length === 0 ) { // no image selected |
| 473 | + // Display an error telling them to select an image. |
| 474 | + $.wikiLove.showAddDetailsError( 'wikilove-err-image' ); return false; |
| 475 | + } else { // image was selected |
| 476 | + $.wikiLove.submitPreview(); |
| 477 | + } |
| 478 | + } |
| 479 | + }, |
| 480 | + |
| 481 | + /* |
| 482 | + * After the form is validated, perform preview. |
| 483 | + */ |
| 484 | + submitPreview: function() { |
| 485 | + var text = $.wikiLove.prepareMsg( currentTypeOrSubtype.text || options.types[currentTypeId].text || options.defaultText ); |
| 486 | + $.wikiLove.doPreview( '==' + $( '#mw-wikilove-header' ).val() + "==\n" + text ); |
| 487 | + }, |
| 488 | + |
| 489 | + showAddDetailsError: function( errmsg ) { |
| 490 | + $( '#mw-wikilove-add-details' ).append( $( '<div class="mw-wikilove-error"></div>' ).text( mw.msg( errmsg ) ) ); |
| 491 | + }, |
| 492 | + |
| 493 | + showPreviewError: function( errmsg ) { |
| 494 | + $( '#mw-wikilove-preview' ).append( $( '<div class="mw-wikilove-error"></div>' ).text( mw.msg( errmsg ) ) ); |
| 495 | + }, |
| 496 | + |
| 497 | + /* |
| 498 | + * Prepares a message or e-mail body by replacing placeholders. |
| 499 | + * $1: message entered by the user |
| 500 | + * $2: title of the item |
| 501 | + * $3: title of the image |
| 502 | + * $4: image size |
| 503 | + * $5: background color |
| 504 | + * $6: border color |
| 505 | + * $7: username of the recipient |
| 506 | + */ |
| 507 | + prepareMsg: function( msg ) { |
| 508 | + |
| 509 | + msg = msg.replace( '$1', $( '#mw-wikilove-message' ).val() ); // replace the raw message |
| 510 | + msg = msg.replace( '$2', $( '#mw-wikilove-title' ).val() ); // replace the title |
| 511 | + var imageName = $.wikiLove.normalizeFilename( $( '#mw-wikilove-image' ).val() ); |
| 512 | + msg = msg.replace( '$3', imageName ); // replace the image |
| 513 | + msg = msg.replace( '$4', currentTypeOrSubtype.imageSize || options.defaultImageSize ); // replace the image size |
| 514 | + msg = msg.replace( '$5', currentTypeOrSubtype.backgroundColor || options.defaultBackgroundColor ); // replace the background color |
| 515 | + msg = msg.replace( '$6', currentTypeOrSubtype.borderColor || options.defaultBorderColor ); // replace the border color |
| 516 | + msg = msg.replace( '$7', '<nowiki>' + mw.config.get( 'wikilove-recipient' ) + '</nowiki>' ); // replace the username we're sending to |
| 517 | + |
| 518 | + return msg; |
| 519 | + }, |
| 520 | + |
| 521 | + /* |
| 522 | + * Normalize a filename. |
| 523 | + * This function will extract a filename from a URL or add a "File:" prefix if there isn't |
| 524 | + * already a media namespace prefix. |
| 525 | + */ |
| 526 | + normalizeFilename: function( filename ) { |
| 527 | + // If a URL is given, extract and decode the filename |
| 528 | + var index = filename.lastIndexOf( "/" ) + 1; |
| 529 | + filename = filename.substr( index ); |
| 530 | + if ( index > 0 ) filename = decodeURI( filename ); |
| 531 | + // Can't use mw.Title in 1.17 |
| 532 | + var prefixSplit = filename.split( ':' ), |
| 533 | + // Make sure the we don't fail in case input is like "File.jpg" |
| 534 | + prefix = prefixSplit[1] ? prefixSplit[0] : '', |
| 535 | + normalized = $.trim( prefix ).toLowerCase().replace( /\s/g, '_' ); |
| 536 | + // wgNamespaceIds is missing 'file' in 1.17 on non-English wikis |
| 537 | + if ( mw.config.get( 'wgNamespaceIds' )[normalized] !== 6 && normalized !== 'file' ) { |
| 538 | + filename = 'File:' + filename; |
| 539 | + } |
| 540 | + return filename; |
| 541 | + }, |
| 542 | + |
| 543 | + /* |
| 544 | + * Log each time a user attempts to use a custom image via the Make your own feature. |
| 545 | + */ |
| 546 | + logCustomImageUse: function( imageTitle, success ) { |
| 547 | + $.ajax( { |
| 548 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 549 | + data: { |
| 550 | + 'action': 'wikiloveimagelog', |
| 551 | + 'image': imageTitle, |
| 552 | + 'success': success, |
| 553 | + 'format': 'json' |
| 554 | + }, |
| 555 | + dataType: 'json' |
| 556 | + } ); |
| 557 | + }, |
| 558 | + |
| 559 | + /* |
| 560 | + * Fires AJAX request for previewing wikitext. |
| 561 | + */ |
| 562 | + doPreview: function( wikitext ) { |
| 563 | + $( '#mw-wikilove-preview-spinner' ).fadeIn( 200 ); |
| 564 | + $.ajax({ |
| 565 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 566 | + data: { |
| 567 | + 'action': 'parse', |
| 568 | + 'title': mw.config.get( 'wgPageName' ), |
| 569 | + 'format': 'json', |
| 570 | + 'text': wikitext, |
| 571 | + 'prop': 'text', |
| 572 | + 'pst': true |
| 573 | + }, |
| 574 | + dataType: 'json', |
| 575 | + type: 'POST', |
| 576 | + success: function( data ) { |
| 577 | + $.wikiLove.showPreview( data.parse.text['*'] ); |
| 578 | + $( '#mw-wikilove-preview-spinner' ).fadeOut( 200 ); |
| 579 | + }, |
| 580 | + error: function() { |
| 581 | + $.wikiLove.showAddDetailsError( 'wikilove-err-preview-api' ); |
| 582 | + $( '#mw-wikilove-preview-spinner' ).fadeOut( 200 ); |
| 583 | + } |
| 584 | + }); |
| 585 | + }, |
| 586 | + |
| 587 | + /* |
| 588 | + * Callback for the preview function. Sets the preview area with the HTML and fades it in. |
| 589 | + */ |
| 590 | + showPreview: function( html ) { |
| 591 | + $( '#mw-wikilove-preview-area' ).html( html ); |
| 592 | + $( '#mw-wikilove-preview' ).fadeIn( 200 ); |
| 593 | + }, |
| 594 | + |
| 595 | + /* |
| 596 | + * Handler for the send (final submit) button. Builds the data for the AJAX request. |
| 597 | + * The type sent for statistics is 'typeId-subtypeId' when using subtypes, |
| 598 | + * or simply 'typeId' otherwise. |
| 599 | + */ |
| 600 | + submitSend: function( e ) { |
| 601 | + e.preventDefault(); |
| 602 | + $( '#mw-wikilove-dialog' ).find( '.mw-wikilove-error' ).remove(); |
| 603 | + |
| 604 | + // Check for a header if it is required |
| 605 | + if( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 && $( '#mw-wikilove-header' ).val().length === 0 ) { |
| 606 | + $.wikiLove.showAddDetailsError( 'wikilove-err-header' ); return false; |
| 607 | + } |
| 608 | + |
| 609 | + // Check for a title if it is required, and otherwise use the header text |
| 610 | + if( $.inArray( 'title', currentTypeOrSubtype.fields ) >= 0 && $( '#mw-wikilove-title' ).val().length === 0 ) { |
| 611 | + $( '#mw-wikilove-title' ).val( $( '#mw-wikilove-header' ).val() ); |
| 612 | + } |
| 613 | + |
| 614 | + if( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 ) { |
| 615 | + // If there's a signature already in the message, throw an error |
| 616 | + if ( $( '#mw-wikilove-message' ).val().indexOf( '~~~' ) >= 0 ) { |
| 617 | + $.wikiLove.showAddDetailsError( 'wikilove-err-sig' ); return false; |
| 618 | + } |
| 619 | + } |
| 620 | + |
| 621 | + // We don't need to do any image validation here since its not actually possible to click |
| 622 | + // Send WikiLove without having a valid image entered. |
| 623 | + |
| 624 | + var submitData = { |
| 625 | + 'header': $( '#mw-wikilove-header' ).val(), |
| 626 | + 'text': $.wikiLove.prepareMsg( currentTypeOrSubtype.text || options.types[currentTypeId].text || options.defaultText ), |
| 627 | + 'message': $( '#mw-wikilove-message' ).val(), |
| 628 | + 'type': currentTypeId |
| 629 | + + (currentSubtypeId !== null ? '-' + currentSubtypeId : '') |
| 630 | + }; |
| 631 | + if ( $( '#mw-wikilove-notify-checkbox:checked' ).val() && emailable ) { |
| 632 | + submitData.email = $.wikiLove.prepareMsg( currentTypeOrSubtype.email ); |
| 633 | + } |
| 634 | + $.wikiLove.doSend( submitData.header, submitData.text, |
| 635 | + submitData.message, submitData.type, submitData.email ); |
| 636 | + }, |
| 637 | + |
| 638 | + /* |
| 639 | + * Fires the final AJAX request and then redirects to the talk page where the content is added. |
| 640 | + */ |
| 641 | + doSend: function( subject, wikitext, message, type, email ) { |
| 642 | + $( '#mw-wikilove-send-spinner' ).fadeIn( 200 ); |
| 643 | + |
| 644 | + var sendData = { |
| 645 | + action: 'wikilove', |
| 646 | + format: 'json', |
| 647 | + title: mw.config.get( 'wgPageName' ), |
| 648 | + type: type, |
| 649 | + text: wikitext, |
| 650 | + message: message, |
| 651 | + subject: subject, |
| 652 | + token: mw.config.get( 'wikilove-edittoken' ) // after 1.17 this can become mw.user.tokens.get( 'editToken' ) |
| 653 | + }; |
| 654 | + |
| 655 | + if ( email ) { |
| 656 | + sendData.email = email; |
| 657 | + } |
| 658 | + |
| 659 | + $.ajax( { |
| 660 | + url: mw.config.get( 'wgScriptPath' ) + '/api.php', |
| 661 | + data: sendData, |
| 662 | + dataType: 'json', |
| 663 | + type: 'POST', |
| 664 | + success: function( data ) { |
| 665 | + $( '#mw-wikilove-send-spinner' ).fadeOut( 200 ); |
| 666 | + |
| 667 | + if ( data.error !== undefined ) { |
| 668 | + $.wikiLove.showPreviewError( data.error.info ); |
| 669 | + return; |
| 670 | + } |
| 671 | + |
| 672 | + if ( data.redirect !== undefined ) { |
| 673 | + var targetBaseUrl = mw.util.wikiGetlink( data.redirect.pageName ), |
| 674 | + // currentBaseUrl is the current URL minus the hash fragment |
| 675 | + currentBaseUrl = window.location.href.split("#")[0]; |
| 676 | + |
| 677 | + // Set window location to user talk page URL + WikiLove anchor hash. |
| 678 | + // Unfortunately, in the most common scenario (starting from the user talk |
| 679 | + // page) this won't reload the page since the browser will simply try to jump |
| 680 | + // to the anchor within the existing page (which doesn't exist). This does, |
| 681 | + // however, prepare us for the subsequent reload, making sure that the user is |
| 682 | + // directed to the WikiLove message instead of just being left at the top of |
| 683 | + // the page. In the case that we are starting from a different page, this sends |
| 684 | + // the user immediately to the new WikiLove message on the user talk page. |
| 685 | + window.location = targetBaseUrl + '#' + data.redirect.fragment; // data.redirect.fragment is already encoded |
| 686 | + |
| 687 | + // If we were already on the user talk page, then reload the page so that the |
| 688 | + // new WikiLove message is displayed. |
| 689 | + if ( |
| 690 | + targetBaseUrl === currentBaseUrl |
| 691 | + // Compatibility with 1.17, 1.18 |
| 692 | + || mw.config.get( 'wgServer' ) + targetBaseUrl === currentBaseUrl |
| 693 | + ) { |
| 694 | + window.location.reload(); |
| 695 | + } |
| 696 | + } else { |
| 697 | + $.wikiLove.showPreviewError( 'wikilove-err-send-api' ); |
| 698 | + } |
| 699 | + }, |
| 700 | + error: function() { |
| 701 | + $.wikiLove.showPreviewError( 'wikilove-err-send-api' ); |
| 702 | + $( '#mw-wikilove-send-spinner' ).fadeOut( 200 ); |
| 703 | + } |
| 704 | + }); |
| 705 | + }, |
| 706 | + |
| 707 | + /* |
| 708 | + * This function is called if the gallery is an array of images. It retrieves the image |
| 709 | + * thumbnails from the API, and constructs a thumbnail gallery with them. |
| 710 | + */ |
| 711 | + showGallery: function() { |
| 712 | + $( '#mw-wikilove-gallery-content' ).html( '' ); |
| 713 | + gallery = {}; |
| 714 | + $( '#mw-wikilove-gallery-spinner' ).fadeIn( 200 ); |
| 715 | + $( '#mw-wikilove-gallery-error' ).hide(); |
| 716 | + |
| 717 | + if ( currentTypeOrSubtype.gallery.number === undefined |
| 718 | + || currentTypeOrSubtype.gallery.number <= 0 |
| 719 | + ) { |
| 720 | + currentTypeOrSubtype.gallery.number = currentTypeOrSubtype.gallery.imageList.length; |
| 721 | + } |
| 722 | + |
| 723 | + var titles = ''; |
| 724 | + var imageList = currentTypeOrSubtype.gallery.imageList.slice( 0 ); |
| 725 | + for ( var i=0; i<currentTypeOrSubtype.gallery.number; i++ ) { |
| 726 | + // get a random image from imageList and add it to the list of titles to be retrieved |
| 727 | + var id = Math.floor( Math.random() * imageList.length ); |
| 728 | + titles = titles + $.wikiLove.normalizeFilename( imageList[id] ) + '|'; |
| 729 | + |
| 730 | + // remove the randomly selected image from imageList so that it can't be added twice |
| 731 | + imageList.splice(id, 1); |
| 732 | + } |
| 733 | + |
| 734 | + var index = 0, |
| 735 | + loadingType = currentTypeOrSubtype, |
| 736 | + loadingIndex = 0; |
| 737 | + $.ajax({ |
| 738 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 739 | + data: { |
| 740 | + 'action' : 'query', |
| 741 | + 'format' : 'json', |
| 742 | + 'prop' : 'imageinfo', |
| 743 | + 'iiprop' : 'mime|url', |
| 744 | + 'titles' : titles, |
| 745 | + 'iiurlwidth' : currentTypeOrSubtype.gallery.width, |
| 746 | + 'iiurlheight' : currentTypeOrSubtype.gallery.height |
| 747 | + }, |
| 748 | + dataType: 'json', |
| 749 | + type: 'POST', |
| 750 | + success: function( data ) { |
| 751 | + if ( !data || !data.query || !data.query.pages ) { |
| 752 | + $( '#mw-wikilove-gallery-error' ).show(); |
| 753 | + $( '#mw-wikilove-gallery-spinner' ).fadeOut( 200 ); |
| 754 | + return; |
| 755 | + } |
| 756 | + |
| 757 | + if ( loadingType != currentTypeOrSubtype ) { |
| 758 | + return; |
| 759 | + } |
| 760 | + var galleryNumber = currentTypeOrSubtype.gallery.number; |
| 761 | + |
| 762 | + $.each( data.query.pages, function( id, page ) { |
| 763 | + if ( page.imageinfo && page.imageinfo.length ) { |
| 764 | + // build an image tag with the correct url |
| 765 | + var $img = $( '<img/>' ) |
| 766 | + .attr( 'src', page.imageinfo[0].thumburl ) |
| 767 | + .hide() |
| 768 | + .load( function() { |
| 769 | + $( this ).css( 'display', 'inline-block' ); |
| 770 | + loadingIndex++; |
| 771 | + if ( loadingIndex >= galleryNumber ) { |
| 772 | + $( '#mw-wikilove-gallery-spinner' ).fadeOut( 200 ); |
| 773 | + } |
| 774 | + } ); |
| 775 | + $( '#mw-wikilove-gallery-content' ).append( |
| 776 | + $( '<a href="#"></a>' ) |
| 777 | + .attr( 'id', 'mw-wikilove-gallery-img-' + index ) |
| 778 | + .append( $img ) |
| 779 | + .click( function( e ) { |
| 780 | + e.preventDefault(); |
| 781 | + $( '#mw-wikilove-gallery a' ).removeClass( 'selected' ); |
| 782 | + $( this ).addClass( 'selected' ); |
| 783 | + $( '#mw-wikilove-image' ).val( gallery[$( this ).attr( 'id' )] ); |
| 784 | + }) |
| 785 | + ); |
| 786 | + gallery['mw-wikilove-gallery-img-' + index] = page.title; |
| 787 | + index++; |
| 788 | + } |
| 789 | + } ); |
| 790 | + // Pre-select first image |
| 791 | + /* $('#mw-wikilove-gallery-img-0 img').trigger('click'); */ |
| 792 | + }, |
| 793 | + error: function() { |
| 794 | + $( '#mw-wikilove-gallery-error' ).show(); |
| 795 | + $( '#mw-wikilove-gallery-spinner' ).fadeOut( 200 ); |
| 796 | + } |
| 797 | + }); |
| 798 | + }, |
| 799 | + |
| 800 | + /* |
| 801 | + * Init function which is called upon page load. Binds the WikiLove icon to opening the dialog. |
| 802 | + */ |
| 803 | + init: function() { |
| 804 | + var $wikiLoveLink = $( [] ); |
| 805 | + options = $.wikiLoveOptions; |
| 806 | + |
| 807 | + if ( $( '#ca-wikilove' ).length ) { |
| 808 | + $wikiLoveLink = $( '#ca-wikilove' ).find( 'a' ); |
| 809 | + } else { // legacy skins |
| 810 | + $wikiLoveLink = $( '#topbar a:contains(' + mw.msg( 'wikilove-tab-text' ) + ')' ); |
| 811 | + } |
| 812 | + $wikiLoveLink.unbind( 'click' ); |
| 813 | + $wikiLoveLink.click( function( e ) { |
| 814 | + e.preventDefault(); |
| 815 | + $.wikiLove.openDialog(); |
| 816 | + }); |
| 817 | + } |
| 818 | + |
| 819 | + /* |
| 820 | + * This is a bit of a hack to show some random images. A predefined set of image infos are |
| 821 | + * retrieved using the API. Then we randomise this set ourselves and select some images to |
| 822 | + * show. Eventually we probably want to make a custom API call that does this properly and |
| 823 | + * also allows for using remote galleries such as Commons, which is now prohibited by JS. |
| 824 | + * |
| 825 | + * For now this function is disabled. It also shares code with the current gallery function, |
| 826 | + * so when enabling it again it should be implemented cleaner with a custom API call, and |
| 827 | + * without duplicate code between functions |
| 828 | + */ |
| 829 | + /* |
| 830 | + makeGallery: function() { |
| 831 | + $( '#mw-wikilove-gallery-content' ).html( '' ); |
| 832 | + gallery = {}; |
| 833 | + $( '#mw-wikilove-gallery-spinner' ).fadeIn( 200 ); |
| 834 | + |
| 835 | + $.ajax({ |
| 836 | + url: mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/api.php?', |
| 837 | + data: { |
| 838 | + 'action' : 'query', |
| 839 | + 'format' : 'json', |
| 840 | + 'prop' : 'imageinfo', |
| 841 | + 'iiprop' : 'mime|url', |
| 842 | + 'iiurlwidth' : currentTypeOrSubtype.gallery.width, |
| 843 | + 'generator' : 'categorymembers', |
| 844 | + 'gcmtitle' : currentTypeOrSubtype.gallery.category, |
| 845 | + 'gcmnamespace': 6, |
| 846 | + 'gcmsort' : 'timestamp', |
| 847 | + 'gcmlimit' : currentTypeOrSubtype.gallery.total |
| 848 | + }, |
| 849 | + dataType: 'json', |
| 850 | + type: 'POST', |
| 851 | + success: function( data ) { |
| 852 | + // clear |
| 853 | + $( '#mw-wikilove-gallery-content' ).html( '' ); |
| 854 | + gallery = {}; |
| 855 | + |
| 856 | + // if we have any images at all |
| 857 | + if( data.query) { |
| 858 | + // get the page keys which are just ids |
| 859 | + var keys = Object.keys( data.query.pages ); |
| 860 | + |
| 861 | + // try to find "num" images to show |
| 862 | + for( var i=0; i<currentTypeOrSubtype.gallery.num; i++ ) { |
| 863 | + // continue looking for a new image until we have found one thats valid |
| 864 | + // or until we run out of images |
| 865 | + while( keys.length > 0 ) { |
| 866 | + // get a random page |
| 867 | + var id = Math.floor( Math.random() * keys.length ); |
| 868 | + var page = data.query.pages[keys[id]]; |
| 869 | + |
| 870 | + // remove the random page from the keys array |
| 871 | + keys.splice(id, 1); |
| 872 | + |
| 873 | + // only add the image if it's actually an image |
| 874 | + if( page.imageinfo[0].mime.substr(0,5) == 'image' ) { |
| 875 | + // build an image tag with the correct url and width |
| 876 | + var $img = $( '<img/>' ) |
| 877 | + .attr( 'src', page.imageinfo[0].url ) |
| 878 | + .attr( 'width', currentTypeOrSubtype.gallery.width ) |
| 879 | + .hide() |
| 880 | + .load( function() { $( this ).css( 'display', 'inline-block' ); } ); |
| 881 | + |
| 882 | + // append the image to the gallery and also make sure it's selectable |
| 883 | + $( '#mw-wikilove-gallery-content' ).append( |
| 884 | + $( '<a href="#"></a>' ) |
| 885 | + .attr( 'id', 'mw-wikilove-gallery-img-' + i ) |
| 886 | + .append( $img ) |
| 887 | + .click( function( e ) { |
| 888 | + e.preventDefault(); |
| 889 | + $( '#mw-wikilove-gallery a' ).removeClass( 'selected' ); |
| 890 | + $( this ).addClass( 'selected' ); |
| 891 | + $( '#mw-wikilove-image' ).val( gallery[$( this ).attr( 'id' )] ); |
| 892 | + }) |
| 893 | + ); |
| 894 | + |
| 895 | + // save the page title into an array so we know which image id maps to which title |
| 896 | + gallery['mw-wikilove-gallery-img-' + i] = page.title; |
| 897 | + break; |
| 898 | + } |
| 899 | + } |
| 900 | + } |
| 901 | + } |
| 902 | + if( gallery.length === 0 ) { |
| 903 | + $( '#mw-wikilove-gallery' ).hide(); |
| 904 | + $( '#mw-wikilove-gallery-label' ).hide(); |
| 905 | + } |
| 906 | + |
| 907 | + $( '#mw-wikilove-gallery-spinner' ).fadeOut( 200 ); |
| 908 | + } |
| 909 | + }); |
| 910 | + }, |
| 911 | + */ |
| 912 | +}; |
| 913 | + |
| 914 | + |
| 915 | +$( document ).ready( $.wikiLove.init ); |
| 916 | +} ) ( jQuery ); |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 917 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/ApiWikiLove.php |
— | — | @@ -0,0 +1,179 @@ |
| 2 | +<?php |
| 3 | +class ApiWikiLove extends ApiBase { |
| 4 | + public function execute() { |
| 5 | + global $wgRequest, $wgWikiLoveLogging, $wgParser; |
| 6 | + |
| 7 | + $params = $this->extractRequestParams(); |
| 8 | + |
| 9 | + $title = Title::newFromText( $params['title'] ); |
| 10 | + if ( is_null( $title ) ) { |
| 11 | + $this->dieUsageMsg( array( 'invaliduser', $params['title'] ) ); |
| 12 | + } |
| 13 | + |
| 14 | + $talk = WikiLoveHooks::getUserTalkPage( $title ); |
| 15 | + if ( is_null( $talk ) ) { |
| 16 | + $this->dieUsageMsg( array( 'invaliduser', $params['title'] ) ); |
| 17 | + } |
| 18 | + |
| 19 | + if ( $wgWikiLoveLogging ) { |
| 20 | + $this->saveInDb( $talk, $params['subject'], $params['message'], $params['type'], isset( $params['email'] ) ? 1 : 0 ); |
| 21 | + } |
| 22 | + |
| 23 | + // not using section => 'new' here, as we like to give our own edit summary |
| 24 | + $api = new ApiMain( new FauxRequest( array( |
| 25 | + 'action' => 'edit', |
| 26 | + 'title' => $talk->getFullText(), |
| 27 | + // need to do this, as Article::replaceSection fails for non-existing pages |
| 28 | + 'appendtext' => ( $talk->exists() ? "\n\n" : '' ) . wfMsgForContent( 'newsectionheaderdefaultlevel', $params['subject'] ) |
| 29 | + . "\n\n" . $params['text'], |
| 30 | + 'token' => $params['token'], |
| 31 | + 'summary' => wfMsgForContent( 'wikilove-summary', $wgParser->stripSectionName( $params['subject'] ) ), |
| 32 | + 'notminor' => true, |
| 33 | + ), false, array( 'wsEditToken' => $wgRequest->getSessionData( 'wsEditToken' ) ) ), true ); |
| 34 | + |
| 35 | + $api->execute(); |
| 36 | + |
| 37 | + if ( isset( $params['email'] ) ) { |
| 38 | + $this->emailUser( $talk, $params['subject'], $params['email'], $params['token'] ); |
| 39 | + } |
| 40 | + |
| 41 | + $this->getResult()->addValue( 'redirect', 'pageName', $talk->getPrefixedDBkey() ); |
| 42 | + $this->getResult()->addValue( 'redirect', 'fragment', Title::escapeFragmentForURL( $params['subject'] ) ); |
| 43 | + // note that we cannot use Title::makeTitle here as it doesn't sanitize the fragment |
| 44 | + } |
| 45 | + |
| 46 | + /** |
| 47 | + * @param $talk Title |
| 48 | + * @param $subject |
| 49 | + * @param $message |
| 50 | + * @param $type |
| 51 | + * @param $email |
| 52 | + * @return void |
| 53 | + */ |
| 54 | + private function saveInDb( $talk, $subject, $message, $type, $email ) { |
| 55 | + global $wgUser; |
| 56 | + $dbw = wfGetDB( DB_MASTER ); |
| 57 | + $receiver = User::newFromName( $talk->getSubjectPage()->getBaseText() ); |
| 58 | + if ( $receiver === false || $receiver->isAnon() ) { |
| 59 | + $this->setWarning( 'Not logging unregistered recipients' ); |
| 60 | + return; |
| 61 | + } |
| 62 | + |
| 63 | + $values = array( |
| 64 | + 'wll_timestamp' => $dbw->timestamp(), |
| 65 | + 'wll_sender' => $wgUser->getId(), |
| 66 | + 'wll_sender_editcount' => $wgUser->getEditCount(), |
| 67 | + 'wll_sender_registration' => $wgUser->getRegistration(), |
| 68 | + 'wll_receiver' => $receiver->getId(), |
| 69 | + 'wll_receiver_editcount' => $receiver->getEditCount(), |
| 70 | + 'wll_receiver_registration' => $receiver->getRegistration(), |
| 71 | + 'wll_type' => $type, |
| 72 | + 'wll_subject' => $subject, |
| 73 | + 'wll_message' => $message, |
| 74 | + 'wll_email' => $email, |
| 75 | + ); |
| 76 | + |
| 77 | + try{ |
| 78 | + $dbw->insert( 'wikilove_log', $values, __METHOD__ ); |
| 79 | + } catch( DBQueryError $dbqe ) { |
| 80 | + $this->setWarning( 'Action was not logged' ); |
| 81 | + } |
| 82 | + } |
| 83 | + |
| 84 | + /** |
| 85 | + * @param $talk Title |
| 86 | + * @param $subject string |
| 87 | + * @param $text string |
| 88 | + * @param $token string |
| 89 | + */ |
| 90 | + private function emailUser( $talk, $subject, $text, $token ) { |
| 91 | + global $wgRequest; |
| 92 | + $api = new ApiMain( new FauxRequest( array( |
| 93 | + 'action' => 'emailuser', |
| 94 | + 'target' => User::newFromName( $talk->getSubjectPage()->getBaseText() )->getName(), |
| 95 | + 'subject' => $subject, |
| 96 | + 'text' => $text, |
| 97 | + 'token' => $token, |
| 98 | + ), false, array( 'wsEditToken' => $wgRequest->getSessionData( 'wsEditToken' ) ) ), true ); |
| 99 | + try{ |
| 100 | + $api->execute(); |
| 101 | + } catch( DBQueryError $dbqe ) { |
| 102 | + $this->setWarning( 'E-mail was not sent' ); |
| 103 | + } |
| 104 | + } |
| 105 | + |
| 106 | + public function getAllowedParams() { |
| 107 | + return array( |
| 108 | + 'title' => array( |
| 109 | + ApiBase::PARAM_TYPE => 'string', |
| 110 | + ApiBase::PARAM_REQUIRED => true, |
| 111 | + ), |
| 112 | + 'text' => array( |
| 113 | + ApiBase::PARAM_TYPE => 'string', |
| 114 | + ApiBase::PARAM_REQUIRED => true, |
| 115 | + ), |
| 116 | + 'message' => array( |
| 117 | + ApiBase::PARAM_TYPE => 'string', |
| 118 | + ), |
| 119 | + 'token' => array( |
| 120 | + ApiBase::PARAM_TYPE => 'string', |
| 121 | + ApiBase::PARAM_REQUIRED => true, |
| 122 | + ), |
| 123 | + 'subject' => array( |
| 124 | + ApiBase::PARAM_TYPE => 'string', |
| 125 | + ApiBase::PARAM_REQUIRED => true, |
| 126 | + ), |
| 127 | + 'type' => array( |
| 128 | + ApiBase::PARAM_TYPE => 'string', |
| 129 | + ), |
| 130 | + 'email' => array( |
| 131 | + ApiBase::PARAM_TYPE => 'string', |
| 132 | + ), |
| 133 | + ); |
| 134 | + } |
| 135 | + |
| 136 | + public function getParamDescription() { |
| 137 | + return array( |
| 138 | + 'title' => 'Title of the user or user talk page to send WikiLove to', |
| 139 | + 'text' => 'Raw wikitext to add in the new section', |
| 140 | + 'message' => 'Actual message the user has entered, for logging purposes', |
| 141 | + 'token' => 'Edit token. You can get one of these through prop=info', |
| 142 | + 'subject' => 'Subject header of the new section', |
| 143 | + 'email' => 'Content of the optional e-mail message to send to the user', |
| 144 | + 'type' => array( 'Type of WikiLove (for statistics); this corresponds with a type', |
| 145 | + 'selected in the left menu, and optionally a subtype after that', |
| 146 | + '(e.g. "barnstar-normal" or "kitten")', |
| 147 | + ), |
| 148 | + ); |
| 149 | + } |
| 150 | + |
| 151 | + public function getDescription() { |
| 152 | + return array( |
| 153 | + 'Give WikiLove to another user.', |
| 154 | + "WikiLove is a positive message posted to a user's talk page through a", |
| 155 | + 'convenient interface with preset or locally defined templates. This action', |
| 156 | + 'adds the specified wikitext to a certain talk page. For statistical purposes,', |
| 157 | + 'the type and other data are logged.', |
| 158 | + ); |
| 159 | + } |
| 160 | + |
| 161 | + public function getPossibleErrors() { |
| 162 | + return array_merge( parent::getPossibleErrors(), array( |
| 163 | + array( 'invalidtitle', 'title' ), |
| 164 | + array( |
| 165 | + 'code' => 'nologging', |
| 166 | + 'info' => 'Warning: action was not logged!' |
| 167 | + ), |
| 168 | + ) ); |
| 169 | + } |
| 170 | + |
| 171 | + public function getExamples() { |
| 172 | + return array( |
| 173 | + 'api.php?action=wikilove&title=User:Dummy&text=Love&subject=Hi&token=%2B\\', |
| 174 | + ); |
| 175 | + } |
| 176 | + |
| 177 | + public function getVersion() { |
| 178 | + return __CLASS__ . ': $Id$'; |
| 179 | + } |
| 180 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/ApiWikiLove.php |
___________________________________________________________________ |
Added: svn:keywords |
1 | 181 | + Id |
Added: svn:eol-style |
2 | 182 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/README |
— | — | @@ -0,0 +1,5 @@ |
| 2 | +WikiLove is an extension designed to promote the spread of WikiLove, |
| 3 | +message of positive reinforcement that users can send to each other. |
| 4 | + |
| 5 | +See documentation at the MediaWiki wiki: |
| 6 | + http://www.mediawiki.org/wiki/Extension:WikiLove |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/README |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 7 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.i18n.php |
— | — | @@ -0,0 +1,1732 @@ |
| 2 | +<?php |
| 3 | +/** |
| 4 | + * Internationalisation for WikiLove extension |
| 5 | + * |
| 6 | + * @file |
| 7 | + * @ingroup Extensions |
| 8 | + */ |
| 9 | + |
| 10 | +$messages = array(); |
| 11 | + |
| 12 | +/** English |
| 13 | + * @author Ryan Kaldari, Jan Paul Posma |
| 14 | + */ |
| 15 | +$messages['en'] = array( |
| 16 | + 'wikilove-desc' => 'Adds an interface for facilitating positive user feedback to user talk pages', |
| 17 | + 'wikilove' => 'WikiLove', |
| 18 | + 'wikilove-enable-preference' => 'Enable showing appreciation for other users with the WikiLove tab (experimental)', |
| 19 | + 'wikilove-tab-text' => 'WikiLove', |
| 20 | + 'tooltip-ca-wikilove' => 'Post a message for this user showing your appreciation', |
| 21 | + 'wikilove-dialog-title' => 'WikiLove – Send a message of appreciation to another user', |
| 22 | + 'wikilove-select-type' => 'Select type', |
| 23 | + 'wikilove-get-started-header' => "Let's get started!", |
| 24 | + 'wikilove-get-started-list-1' => 'Select the type of WikiLove you wish to send', |
| 25 | + 'wikilove-get-started-list-2' => 'Add details to your WikiLove', |
| 26 | + 'wikilove-get-started-list-3' => 'Send your WikiLove!', |
| 27 | + 'wikilove-add-details' => 'Add details', |
| 28 | + 'wikilove-image' => 'Enter an image filename:', |
| 29 | + 'wikilove-select-image' => 'Select an image:', |
| 30 | + 'wikilove-header' => 'Enter a header:', |
| 31 | + 'wikilove-title' => 'Enter an award title:', |
| 32 | + 'wikilove-enter-message' => 'Enter a message:', |
| 33 | + 'wikilove-omit-sig' => '(without a signature)', |
| 34 | + 'wikilove-image-example' => '(example: Trophy.png)', |
| 35 | + 'wikilove-button-preview' => 'Preview', |
| 36 | + 'wikilove-preview' => 'Preview', |
| 37 | + 'wikilove-notify' => 'Notify the user by e-mail', |
| 38 | + 'wikilove-button-send' => 'Send WikiLove', |
| 39 | + 'wikilove-type-barnstars' => 'Barnstars', |
| 40 | + 'wikilove-type-food' => 'Food and drink', |
| 41 | + 'wikilove-type-kittens' => 'Kittens', |
| 42 | + 'wikilove-type-makeyourown' => 'Make your own', |
| 43 | + 'wikilove-err-header' => 'Please enter a header.', |
| 44 | + 'wikilove-err-title' => 'Please enter a title.', |
| 45 | + 'wikilove-err-msg' => 'Please enter a personalized message.', |
| 46 | + 'wikilove-err-image' => 'Please select an image.', |
| 47 | + 'wikilove-err-image-bad' => 'Image does not exist.', |
| 48 | + 'wikilove-err-image-api' => 'Something went wrong when retrieving the image. Please try again.', |
| 49 | + 'wikilove-err-sig' => 'Please do not include a signature in the message.', |
| 50 | + 'wikilove-err-gallery' => 'Something went wrong when loading the images.', |
| 51 | + 'wikilove-err-gallery-again' => 'Try again', |
| 52 | + 'wikilove-err-preview-api' => 'Something went wrong during previewing. Please try again.', |
| 53 | + 'wikilove-err-send-api' => 'Something went wrong when sending the message. Please try again.', |
| 54 | + 'wikilove-summary' => '/* $1 */ new WikiLove message', |
| 55 | + 'wikilove-what-is-this' => "What is this?", |
| 56 | + 'wikilove-anon-warning' => 'Note: This user is not registered, he or she may not notice this message.', |
| 57 | + 'wikilove-commons-text' => 'You can find images by browsing $1.', |
| 58 | + 'wikilove-commons-link' => 'Wikimedia Commons', |
| 59 | + 'wikilove-commons-url' => 'http://commons.wikimedia.org', |
| 60 | +); |
| 61 | + |
| 62 | +/** Message documentation (Message documentation) |
| 63 | + * @author EugeneZelenko |
| 64 | + * @author Hamilton Abreu |
| 65 | + * @author McDutchie |
| 66 | + * @author Purodha |
| 67 | + * @author SPQRobin |
| 68 | + */ |
| 69 | +$messages['qqq'] = array( |
| 70 | + 'wikilove-enable-preference' => '', |
| 71 | + 'wikilove-tab-text' => '[[File:Wiki Love 001.png|thumb]]', |
| 72 | + 'tooltip-ca-wikilove' => '[[File:Wiki Love 001.png|thumb]]', |
| 73 | + 'wikilove-dialog-title' => '[[File:Wiki Love 002.png|thumb]]', |
| 74 | + 'wikilove-select-type' => '[[File:Wiki Love 002.png|thumb]]', |
| 75 | + 'wikilove-get-started-header' => '[[File:Wiki Love 002.png|thumb]]', |
| 76 | + 'wikilove-get-started-list-1' => '[[File:Wiki Love 002.png|thumb]]', |
| 77 | + 'wikilove-get-started-list-2' => '[[File:Wiki Love 002.png|thumb]]', |
| 78 | + 'wikilove-get-started-list-3' => '[[File:Wiki Love 002.png|thumb]]', |
| 79 | + 'wikilove-add-details' => '[[File:Wiki Love 003.png|thumb]]', |
| 80 | + 'wikilove-image' => '[[File:Wiki Love 004.png|thumb]]', |
| 81 | + 'wikilove-header' => '[[File:Wiki Love 003.png|thumb]] |
| 82 | +Header is the subject of the added message (so perhaps subject is a better term..), i.e. what gets between == ... ==', |
| 83 | + 'wikilove-title' => '[[File:Wiki Love 004.png|thumb]] |
| 84 | +Title is the title of the wikilove box (e.g. "Barnstar")', |
| 85 | + 'wikilove-enter-message' => '[[File:Wiki Love 003.png|thumb]]', |
| 86 | + 'wikilove-omit-sig' => '[[File:Wiki Love 003.png|thumb]]', |
| 87 | + 'wikilove-image-example' => '[[File:Wiki Love 004.png|thumb]] |
| 88 | +The filename should be an actual image on Wikimedia Commons.', |
| 89 | + 'wikilove-button-preview' => '[[File:Wiki Love 003.png|thumb]] |
| 90 | +Button text. Verb. |
| 91 | +{{Identical|Preview}}', |
| 92 | + 'wikilove-preview' => '[[File:Wiki Love 003.png|thumb]] |
| 93 | +Title. Noun. |
| 94 | +{{Identical|Preview}}', |
| 95 | + 'wikilove-button-send' => '[[File:Wiki Love 003.png|thumb]]', |
| 96 | + 'wikilove-type-barnstars' => '[[File:Wiki Love 002.png|thumb]] |
| 97 | +Label for a button. Should be no longer than 22 characters.', |
| 98 | + 'wikilove-type-food' => '[[File:Wiki Love 002.png|thumb]] |
| 99 | +Label for a button. Should be no longer than 22 characters.', |
| 100 | + 'wikilove-type-kittens' => '[[File:Wiki Love 002.png|thumb]] |
| 101 | +Label for a button. Should be no longer than 22 characters.', |
| 102 | + 'wikilove-type-makeyourown' => '[[File:Wiki Love 002.png|thumb]] |
| 103 | +Label for a button. Should be no longer than 22 characters.', |
| 104 | + 'wikilove-err-header' => '[[File:Wiki Love 004.png|thumb]] |
| 105 | +Use the same translation for "header" as was used for {{msg-mw|wikilove-header}}.', |
| 106 | + 'wikilove-err-title' => ' |
| 107 | +Title is the title of the wikilove box (e.g. "Barnstar")', |
| 108 | + 'wikilove-what-is-this' => '[[File:Wiki Love 002.png|thumb]]', |
| 109 | + 'wikilove-commons-text' => '[[File:Wiki Love 004.png|thumb]] |
| 110 | +$1 gets replaced by a link with {{msg-mw|wikilove-commons-link}} ("Wikimedia Commons") as caption and {{msg-mw|wikilove-commons-url}} as URL.', |
| 111 | + 'wikilove-commons-url' => 'This URL can be changed to point at a localised page on Wikimedia Commons.', |
| 112 | +); |
| 113 | + |
| 114 | +/** Afrikaans (Afrikaans) |
| 115 | + * @author Naudefj |
| 116 | + */ |
| 117 | +$messages['af'] = array( |
| 118 | + 'wikilove-desc' => "Voeg 'n koppelvlak by vir die fasilitering van positiewe terugvoer op gebruikers se besprekingsblaaie", |
| 119 | + 'wikilove' => 'Wikiwaardering', |
| 120 | + 'wikilove-enable-preference' => 'Aktiveer toon van waardering vir ander gebruikers met die Wikiwaardering-oortjie (eksperimenteel)', |
| 121 | + 'wikilove-tab-text' => 'Wikiwaardering', |
| 122 | + 'tooltip-ca-wikilove' => "Plaas 'n boodskap vir hierdie gebruiker om u waardering te wys", |
| 123 | + 'wikilove-dialog-title' => "Wikiwaardering - stuur 'n boodskap van waardering aan 'n ander gebruiker", |
| 124 | + 'wikilove-select-type' => 'Kies tipe', |
| 125 | + 'wikilove-get-started-header' => 'Kom ons begin!', |
| 126 | + 'wikilove-get-started-list-1' => 'Kies die tipe Wikiwaardering wat u wil stuur', |
| 127 | + 'wikilove-get-started-list-2' => 'Voeg besonderhede by u Wikiwaardering by', |
| 128 | + 'wikilove-get-started-list-3' => 'Stuur u Wikiwaardering!', |
| 129 | + 'wikilove-add-details' => 'Voeg besonderhede by', |
| 130 | + 'wikilove-image' => 'Verskaf lêernaam vir beeld:', |
| 131 | + 'wikilove-select-image' => "Kies 'n beeld:", |
| 132 | + 'wikilove-header' => 'Verskaf opskrif:', |
| 133 | + 'wikilove-title' => "Verskaf 'n toekenningtitel:", |
| 134 | + 'wikilove-enter-message' => "Tik 'n boodskap:", |
| 135 | + 'wikilove-omit-sig' => "(sonder 'n handtekening)", |
| 136 | + 'wikilove-image-example' => '(Voorbeeld: Trophy.png)', |
| 137 | + 'wikilove-button-preview' => 'Voorskou', |
| 138 | + 'wikilove-preview' => 'Voorskou', |
| 139 | + 'wikilove-notify' => "Stuur gebruiker 'n kennisgewing via E-pos", |
| 140 | + 'wikilove-button-send' => 'Stuur Wikiwaardering', |
| 141 | + 'wikilove-type-makeyourown' => 'Maak u eie', |
| 142 | + 'wikilove-err-header' => "Verskaf asseblief 'n opskrif.", |
| 143 | + 'wikilove-err-title' => "Verskaf asseblief 'n titel.", |
| 144 | + 'wikilove-err-msg' => "Verskaf asseblief 'n boodskap.", |
| 145 | + 'wikilove-err-image' => "Kies asseblief 'n beeld.", |
| 146 | + 'wikilove-err-image-bad' => 'Beeld bestaan nie.', |
| 147 | + 'wikilove-err-image-api' => 'Laai van beeld het gefaal. Probeer asseblief weer.', |
| 148 | + 'wikilove-err-sig' => "Moet asseblief nie 'n handtekening in die boodskap plaas nie.", |
| 149 | + 'wikilove-err-gallery' => 'Iets het verkeerd geloop met die laai van die beelde.', |
| 150 | + 'wikilove-err-gallery-again' => 'Probeer weer', |
| 151 | + 'wikilove-err-preview-api' => 'Iets het verkeerd geloop met die voorskou. Probeer asseblief weer.', |
| 152 | + 'wikilove-err-send-api' => 'Iets het verkeerd geloop met die stuur van die boodskap. Probeer asseblief weer.', |
| 153 | + 'wikilove-summary' => '/ * $1 * / nuwe Wikiwaardering-boodskap', |
| 154 | + 'wikilove-what-is-this' => 'Wat is dit?', |
| 155 | + 'wikilove-anon-warning' => 'Nota: Hierdie gebruiker is nie geregistreer nie, hy of sy mag moontlik nie die boodskap ontvang nie.', |
| 156 | + 'wikilove-commons-text' => 'U kan beelde vind deur op $1 te blaai.', |
| 157 | +); |
| 158 | + |
| 159 | +/** Arabic (العربية) |
| 160 | + * @author Abanima |
| 161 | + * @author Zack wadghiri |
| 162 | + */ |
| 163 | +$messages['ar'] = array( |
| 164 | + 'wikilove-desc' => 'لإضافة واجهة للإثناء على المستخدم في صفحة نقاشه', |
| 165 | + 'wikilove' => 'ويكي الحب', |
| 166 | + 'wikilove-enable-preference' => 'لفتح باب التقدير لمستخدم بإظهار تبويب ويكي الحب (قيد التجربة)', |
| 167 | + 'wikilove-tab-text' => 'ويكي الحب', |
| 168 | + 'tooltip-ca-wikilove' => 'أرسل رسالة تقدير إلى هذا المستخدم', |
| 169 | + 'wikilove-dialog-title' => 'ويكي الحب - أرسل رسالة تقدير إلى مستخدم آخر', |
| 170 | + 'wikilove-select-type' => 'اختر نوعا', |
| 171 | + 'wikilove-get-started-header' => 'فلنبدأ', |
| 172 | + 'wikilove-get-started-list-1' => 'اختر نوع رسالة ويكي الحب التي تريد إرسالها', |
| 173 | + 'wikilove-get-started-list-2' => 'أضف تفاصيل إلى رسالتك', |
| 174 | + 'wikilove-get-started-list-3' => 'أرسلها', |
| 175 | + 'wikilove-add-details' => 'أضف تفاصيل', |
| 176 | + 'wikilove-image' => 'ضع اسم الصورة:', |
| 177 | + 'wikilove-select-image' => 'اختر صورة:', |
| 178 | + 'wikilove-header' => 'ضع ترويسة:', |
| 179 | + 'wikilove-title' => 'ضع عنوان الجائزة:', |
| 180 | + 'wikilove-enter-message' => 'ضع رسالة:', |
| 181 | + 'wikilove-omit-sig' => '(بدون توقيع)', |
| 182 | + 'wikilove-image-example' => '(مثال: Trophy.png)', |
| 183 | + 'wikilove-button-preview' => 'معاينة', |
| 184 | + 'wikilove-preview' => 'معاينة', |
| 185 | + 'wikilove-notify' => 'أخبر المستخدم برسالة إلكترونية', |
| 186 | + 'wikilove-button-send' => 'أرسالها', |
| 187 | + 'wikilove-type-barnstars' => 'أوسمة', |
| 188 | + 'wikilove-type-food' => 'أغذية', |
| 189 | + 'wikilove-type-kittens' => 'قطط', |
| 190 | + 'wikilove-type-makeyourown' => 'غير ذلك', |
| 191 | + 'wikilove-err-header' => 'ضع ترويسة', |
| 192 | + 'wikilove-err-title' => 'ضع عنوانا', |
| 193 | + 'wikilove-err-msg' => 'ضع رسالتك هنا.', |
| 194 | + 'wikilove-err-image' => 'اختر صورة', |
| 195 | + 'wikilove-err-image-bad' => 'الصورة غير موجودة', |
| 196 | + 'wikilove-err-image-api' => 'وقع خطأ في الإتيان بالصورة. كرر المحاولة.', |
| 197 | + 'wikilove-err-sig' => 'لا توقع الرسالة', |
| 198 | + 'wikilove-err-gallery' => 'وقع خطأ في تحميل الصورة', |
| 199 | + 'wikilove-err-gallery-again' => 'كرر المحاولة', |
| 200 | + 'wikilove-err-preview-api' => 'وقع خطأ في المعاينة. كرر المحاولة.', |
| 201 | + 'wikilove-err-send-api' => 'وقع خطأ في إرسال الرسالة. كرر المحاولة.', |
| 202 | + 'wikilove-summary' => '/* $1 */ رسالة ويكي حب جديدة', |
| 203 | + 'wikilove-what-is-this' => 'ما هذا؟', |
| 204 | + 'wikilove-anon-warning' => 'تنبيه: هذا المستخدم غير مسجل وقد لا ينتبه إلى هذه الرسالة.', |
| 205 | + 'wikilove-commons-text' => 'تجد هذه الصورة في صفحة $1.', |
| 206 | +); |
| 207 | + |
| 208 | +/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) |
| 209 | + * @author EugeneZelenko |
| 210 | + * @author Jim-by |
| 211 | + * @author Wizardist |
| 212 | + */ |
| 213 | +$messages['be-tarask'] = array( |
| 214 | + 'wikilove-desc' => 'Дадае інтэрфэйс для спрашчэньне дадаваньня станоўчых водгукаў на старонках гутарак удзельнікаў', |
| 215 | + 'wikilove' => 'WikiLove', |
| 216 | + 'wikilove-enable-preference' => 'Дазволіць закладку WikiLove для паказу ўдзячнасьці іншым удзельнікам (экспэрымэнтальна)', |
| 217 | + 'wikilove-tab-text' => 'WikiLove', |
| 218 | + 'tooltip-ca-wikilove' => 'Даслаць паведамленьне гэтаму ўдзельніку, паказаць яму сваю ўдзячнасьць', |
| 219 | + 'wikilove-dialog-title' => 'WikiLove — Дашліце паведамленьне іншаму ўдзельніку з выразам удзячнасьці', |
| 220 | + 'wikilove-select-type' => 'Выберыце тып', |
| 221 | + 'wikilove-get-started-header' => 'Пачынаем!', |
| 222 | + 'wikilove-get-started-list-1' => 'Выбраць тып WikiLove, якую Вы жадаеце даслаць', |
| 223 | + 'wikilove-get-started-list-2' => 'Дадаць падрабязнасьці да Вашай WikiLove', |
| 224 | + 'wikilove-get-started-list-3' => 'Даслаць WikiLove!', |
| 225 | + 'wikilove-add-details' => 'Дадаць падрабязнасьці', |
| 226 | + 'wikilove-image' => 'Увядзіце назву выявы:', |
| 227 | + 'wikilove-select-image' => 'Выбар выявы:', |
| 228 | + 'wikilove-header' => 'Увядзіце загаловак:', |
| 229 | + 'wikilove-title' => 'Увядзіце назву ўзнагароды:', |
| 230 | + 'wikilove-enter-message' => 'Увядзіце паведамленьне:', |
| 231 | + 'wikilove-omit-sig' => '(без подпісу)', |
| 232 | + 'wikilove-image-example' => '(прыклад: Trophy.png)', |
| 233 | + 'wikilove-button-preview' => 'Папярэдні прагляд', |
| 234 | + 'wikilove-preview' => 'Папярэдні прагляд', |
| 235 | + 'wikilove-notify' => 'Паведаміць удзельніку праз электронную пошту', |
| 236 | + 'wikilove-button-send' => 'Даслаць WikiLove', |
| 237 | + 'wikilove-type-barnstars' => 'Ордэны', |
| 238 | + 'wikilove-type-food' => 'Ежа і напоі', |
| 239 | + 'wikilove-type-kittens' => 'Кацяняты', |
| 240 | + 'wikilove-type-makeyourown' => 'Зрабіць уласны', |
| 241 | + 'wikilove-err-header' => 'Калі ласка, увядзіце загаловак.', |
| 242 | + 'wikilove-err-title' => 'Калі ласка, увядзіце назву.', |
| 243 | + 'wikilove-err-msg' => 'Калі ласка, увядзіце паведамленьне.', |
| 244 | + 'wikilove-err-image' => 'Калі ласка, выберыце выяву.', |
| 245 | + 'wikilove-err-image-bad' => 'Выява не існуе.', |
| 246 | + 'wikilove-err-image-api' => 'Нешта пайшло ня так, падчас атрыманьня выявы. Калі ласка, паспрабуйце зноў.', |
| 247 | + 'wikilove-err-sig' => 'Калі ласка, не ўключайце подпіс у паведамленьне.', |
| 248 | + 'wikilove-err-gallery' => 'Нешта пайшло ня так падчас загрузкі выяваў.', |
| 249 | + 'wikilove-err-gallery-again' => 'Паспрабаваць зноў', |
| 250 | + 'wikilove-err-preview-api' => 'Нешта пайшло ня так, падчас папярэдняга прагляду. Калі ласка, паспрабуйце зноў.', |
| 251 | + 'wikilove-err-send-api' => 'Нешта пайшло ня так, падчас адпраўкі паведамленьня. Калі ласка, паспрабуйце зноў.', |
| 252 | + 'wikilove-summary' => '/* $1 */ новае WikiLove паведамленьне', |
| 253 | + 'wikilove-what-is-this' => 'Што гэта?', |
| 254 | + 'wikilove-anon-warning' => 'Заўвага: гэты ўдзельнік не зарэгістраваны, ён ці яна ня можа заўважыць гэтае паведамленьне.', |
| 255 | + 'wikilove-commons-text' => 'Вы можаце знайсьці выявы ў праекце $1.', |
| 256 | +); |
| 257 | + |
| 258 | +/** Bulgarian (Български) |
| 259 | + * @author DCLXVI |
| 260 | + */ |
| 261 | +$messages['bg'] = array( |
| 262 | + 'wikilove' => 'УикиОбич', |
| 263 | + 'wikilove-tab-text' => 'УикиОбич', |
| 264 | + 'wikilove-dialog-title' => 'УикиОбич - Изпращане на благодарствено съобщение на друг потребител', |
| 265 | + 'wikilove-add-details' => 'Добавяне на подробности', |
| 266 | + 'wikilove-select-image' => 'Избиране на изображение:', |
| 267 | + 'wikilove-omit-sig' => '(без подпис)', |
| 268 | + 'wikilove-image-example' => '(пример: Trophy.png)', |
| 269 | + 'wikilove-button-preview' => 'Предварителен преглед', |
| 270 | + 'wikilove-preview' => 'Предварителен преглед', |
| 271 | + 'wikilove-notify' => 'Уведомяване на потребителя на електронната поща', |
| 272 | + 'wikilove-button-send' => 'Изпращане на УикиОбич', |
| 273 | + 'wikilove-err-image-bad' => 'Изображението не съществува.', |
| 274 | + 'wikilove-err-sig' => 'В съобщението не трябва да се вклчва подпис.', |
| 275 | + 'wikilove-err-gallery' => 'Възникна грешка при зареждане на изображенията!', |
| 276 | + 'wikilove-err-gallery-again' => 'Опитайте отново', |
| 277 | + 'wikilove-summary' => '/* $1 */ ново съобщение за УикиОбич', |
| 278 | + 'wikilove-what-is-this' => 'Какво е това?', |
| 279 | +); |
| 280 | + |
| 281 | +/** Breton (Brezhoneg) |
| 282 | + * @author Fulup |
| 283 | + */ |
| 284 | +$messages['br'] = array( |
| 285 | + 'wikilove-desc' => 'Ouzhpennañ a ra un etrefas evit aesaat merkañ evezhiadennoù pozitivel war pajenn gaozeal un implijer', |
| 286 | + 'wikilove' => 'WikiLove', |
| 287 | + 'wikilove-enable-preference' => 'Aotren a ra diskouez priziadennoù evit implijerien all gant an ivinell WikiLove (arnodel)', |
| 288 | + 'wikilove-tab-text' => 'WikiLove', |
| 289 | + 'tooltip-ca-wikilove' => 'Lakaat ur gemennadenn evit an implijer-mañ da ziskouez e priziit an traoù', |
| 290 | + 'wikilove-dialog-title' => "WikiLove – Kas ur gemennadenn pe ur soñj bennak d'un implijer all", |
| 291 | + 'wikilove-select-type' => 'Diuzañ ur seurt', |
| 292 | + 'wikilove-get-started-header' => 'Krogomp ganti !', |
| 293 | + 'wikilove-get-started-list-1' => "Diuzit ar seurt WikiLove hoc'h eus c'hoant da gas", |
| 294 | + 'wikilove-get-started-list-2' => "Ouzhpennit titouroù d'ho WikiLove", |
| 295 | + 'wikilove-get-started-list-3' => 'Kasit ho WikiLove !', |
| 296 | + 'wikilove-add-details' => 'Ouzhpennañ titouroù', |
| 297 | + 'wikilove-image' => 'Lakat anv ur skeudenn :', |
| 298 | + 'wikilove-select-image' => 'Diuzañ ur skeudenn :', |
| 299 | + 'wikilove-header' => 'Lakaat un talbenn :', |
| 300 | + 'wikilove-title' => 'Lakaat un titl :', |
| 301 | + 'wikilove-enter-message' => 'Lakaat ur gemennadenn', |
| 302 | + 'wikilove-omit-sig' => '(hep sinadur)', |
| 303 | + 'wikilove-image-example' => '(skouer : Trophy.png)', |
| 304 | + 'wikilove-button-preview' => 'Rakwelet', |
| 305 | + 'wikilove-preview' => 'Rakwelet', |
| 306 | + 'wikilove-notify' => "Kas ur c'hemenn dre bostel d'an implijer", |
| 307 | + 'wikilove-button-send' => 'Kas ar WikiLove', |
| 308 | + 'wikilove-type-makeyourown' => "Krouit ho-hini deoc'h-c'hwi", |
| 309 | + 'wikilove-err-header' => 'Merkit un talbenn.', |
| 310 | + 'wikilove-err-title' => 'Merkit un titl.', |
| 311 | + 'wikilove-err-msg' => 'Merkit ur gemennadenn.', |
| 312 | + 'wikilove-err-image' => 'Diuzit ur skeudenn.', |
| 313 | + 'wikilove-err-image-bad' => "N'eus ket eus ar skeudenn-mañ", |
| 314 | + 'wikilove-err-image-api' => "C'hoarvezet ez eus un dra bennak a-dreuz en ur adpakañ ar skeudenn. Klaskit en-dro.", |
| 315 | + 'wikilove-err-sig' => 'Arabat sinañ ar gemennadenn.', |
| 316 | + 'wikilove-err-gallery' => "Un dra bennak a-dreuz zo c'hoarvezet en ur gargañ ar skeudennoù !", |
| 317 | + 'wikilove-err-gallery-again' => 'Klask en-dro', |
| 318 | + 'wikilove-summary' => '/* $1 */ kemennadenn WikiLove nevez', |
| 319 | + 'wikilove-what-is-this' => 'Petra eo se ?', |
| 320 | +); |
| 321 | + |
| 322 | +/** Bosnian (Bosanski) |
| 323 | + * @author CERminator |
| 324 | + */ |
| 325 | +$messages['bs'] = array( |
| 326 | + 'wikilove-select-type' => 'Odaberite vrstu', |
| 327 | + 'wikilove-add-details' => 'Dodaj detalje', |
| 328 | + 'wikilove-enter-message' => 'Unesite poruku:', |
| 329 | + 'wikilove-button-preview' => 'Pregled', |
| 330 | + 'wikilove-preview' => 'Pregled', |
| 331 | +); |
| 332 | + |
| 333 | +/** German (Deutsch) |
| 334 | + * @author Kghbln |
| 335 | + */ |
| 336 | +$messages['de'] = array( |
| 337 | + 'wikilove-desc' => 'Ergänzt ein Hilfsmittel zum Ausdrücken persönlicher Wertschätzung gegenüber einem Benutzer auf dessen Diskussionsseite', |
| 338 | + 'wikilove' => 'Wertschätzung', |
| 339 | + 'wikilove-enable-preference' => 'Menüreiter für das Hilfsmittel zum Ausdrücken persönlicher Wertschätzung gegenüber einem anderen Benutzer aktivieren (experimentell)', |
| 340 | + 'wikilove-tab-text' => 'Wertschätzen', |
| 341 | + 'tooltip-ca-wikilove' => 'Diesem Benutzer die persönliche Wertschätzung in Form einer Nachricht hinterlassen', |
| 342 | + 'wikilove-dialog-title' => 'Eine Nachricht der Wertschätzung an einen anderen Benutzer senden', |
| 343 | + 'wikilove-select-type' => 'Art auswählen', |
| 344 | + 'wikilove-get-started-header' => 'Los geht’s!', |
| 345 | + 'wikilove-get-started-list-1' => 'Die Art der persönlichen Wertschätzung auswählen, die ausgedrückt werden soll', |
| 346 | + 'wikilove-get-started-list-2' => 'Persönliche Wertschätzung ergänzen', |
| 347 | + 'wikilove-get-started-list-3' => 'Persönliche Wertschätzung senden', |
| 348 | + 'wikilove-add-details' => 'Ergänzungen hinzufügen', |
| 349 | + 'wikilove-image' => 'Gib den Namen der Bilddatei an:', |
| 350 | + 'wikilove-select-image' => 'Wähle ein Bild aus:', |
| 351 | + 'wikilove-header' => 'Gib den Text für die Überschrift ein:', |
| 352 | + 'wikilove-title' => 'Gib den Titel für die Wertschätzung ein:', |
| 353 | + 'wikilove-enter-message' => 'Gibt eine Nachricht ein:', |
| 354 | + 'wikilove-omit-sig' => '(bitte ohne Signatur)', |
| 355 | + 'wikilove-image-example' => '(Beispiel: Drei Sonnenblumen im Feld.JPG)', |
| 356 | + 'wikilove-button-preview' => 'Vorschau', |
| 357 | + 'wikilove-preview' => 'Vorschau', |
| 358 | + 'wikilove-notify' => 'Den Benutzer per E-Mail benachrichtigen', |
| 359 | + 'wikilove-button-send' => 'Persönliche Wertschätzung senden', |
| 360 | + 'wikilove-type-barnstars' => 'Orden', |
| 361 | + 'wikilove-type-food' => 'Essen und Trinken', |
| 362 | + 'wikilove-type-kittens' => 'Schmusekätzchen', |
| 363 | + 'wikilove-type-makeyourown' => 'Eigene erstellen', |
| 364 | + 'wikilove-err-header' => 'Bitte den Inhalt für den Kopfbereich eingeben.', |
| 365 | + 'wikilove-err-title' => 'Bitte einen Titel eingeben.', |
| 366 | + 'wikilove-err-msg' => 'Bitte eine persönliche Nachricht eingeben.', |
| 367 | + 'wikilove-err-image' => 'Bitte ein Bild auswählen.', |
| 368 | + 'wikilove-err-image-bad' => 'Das Bild ist nicht vorhanden.', |
| 369 | + 'wikilove-err-image-api' => 'Während des Abrufens des Bildes ist ein Fehler aufgetreten. Bitte versuche es erneut.', |
| 370 | + 'wikilove-err-sig' => 'Bitte keine Signatur im Nachrichtentext eingeben.', |
| 371 | + 'wikilove-err-gallery' => 'Während des Ladens der Bilder ist ein Fehler aufgetreten.', |
| 372 | + 'wikilove-err-gallery-again' => 'Bitte versuche es erneut.', |
| 373 | + 'wikilove-err-preview-api' => 'Während der Vorschau ist ein Fehler aufgetreten. Bitte versuche es erneut.', |
| 374 | + 'wikilove-err-send-api' => 'Während des Sendens der Wertschätzung ist ein Fehler aufgetreten. Bitte versuche es erneut.', |
| 375 | + 'wikilove-summary' => '/* $1 */ neue persönliche Wertschätzung', |
| 376 | + 'wikilove-what-is-this' => 'Worum handelt es sich?', |
| 377 | + 'wikilove-anon-warning' => 'Hinweis: Es handelt sich um einen Benutzer ohne Benutzerkonto. Daher wird er oder sie die Nachricht wahrscheinlich nicht bemerken.', |
| 378 | + 'wikilove-commons-text' => 'Bilder können gefunden werden, indem man $1 durchsucht.', |
| 379 | +); |
| 380 | + |
| 381 | +/** German (formal address) (Deutsch (Sie-Form)) |
| 382 | + * @author Kghbln |
| 383 | + */ |
| 384 | +$messages['de-formal'] = array( |
| 385 | + 'wikilove-image' => 'Geben Sie den Namen der Bilddatei an:', |
| 386 | + 'wikilove-select-image' => 'Wählen Sie ein Bild aus:', |
| 387 | + 'wikilove-header' => 'Geben Sie den Text für die Überschrift ein:', |
| 388 | + 'wikilove-title' => 'Geben Sie den Titel für die Wertschätzung ein:', |
| 389 | + 'wikilove-enter-message' => 'Geben Sie eine Nachricht ein:', |
| 390 | + 'wikilove-err-image-api' => 'Während des Abrufens des Bildes ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.', |
| 391 | + 'wikilove-err-gallery' => 'Während des Ladens der Bilder ist ein Fehler aufgetreten.', |
| 392 | + 'wikilove-err-gallery-again' => 'Bitte versuchen Sie es erneut.', |
| 393 | + 'wikilove-err-preview-api' => 'Während der Vorschau ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.', |
| 394 | + 'wikilove-err-send-api' => 'Während des Sendens der Wertschätzung ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.', |
| 395 | +); |
| 396 | + |
| 397 | +/** Spanish (Español) |
| 398 | + * @author Fitoschido |
| 399 | + */ |
| 400 | +$messages['es'] = array( |
| 401 | + 'wikilove-desc' => 'Añade una interfaz para facilitar comentarios positivos de los usuarios a las páginas de discusión de otros usuarios', |
| 402 | + 'wikilove' => 'WikiAprecio', |
| 403 | + 'wikilove-enable-preference' => 'Permitir el mostrar agradecimiento a otros usuarios con la pestaña WikiAprecio (experimental)', |
| 404 | + 'wikilove-tab-text' => 'WikiAprecio', |
| 405 | + 'tooltip-ca-wikilove' => 'Publicar un mensaje para este usuario mostrando tu agradecimiento', |
| 406 | + 'wikilove-dialog-title' => 'WikiAprecio – Enviar un mensaje de agradecimiento a otro usuario', |
| 407 | + 'wikilove-select-type' => 'Seleccionar tipo', |
| 408 | + 'wikilove-get-started-header' => '¡Comencemos!', |
| 409 | + 'wikilove-get-started-list-1' => 'Selecciona el tipo de WikiAprecio que quieres enviar', |
| 410 | + 'wikilove-get-started-list-2' => 'Añadir detalles al WikiAprecio', |
| 411 | + 'wikilove-get-started-list-3' => '¡Enviar WikiAprecio!', |
| 412 | + 'wikilove-add-details' => 'Añadir detalles', |
| 413 | + 'wikilove-image' => 'Introduce un nombre de archivo de imagen:', |
| 414 | + 'wikilove-select-image' => 'Selecciona una imagen:', |
| 415 | + 'wikilove-header' => 'Introduce un encabezado:', |
| 416 | + 'wikilove-title' => 'Introduce un título de adjudicación:', |
| 417 | + 'wikilove-enter-message' => 'Escribe un mensaje:', |
| 418 | + 'wikilove-omit-sig' => '(sin firma)', |
| 419 | + 'wikilove-image-example' => '(ejemplo: Trophy.png)', |
| 420 | + 'wikilove-button-preview' => 'Previsualizar', |
| 421 | + 'wikilove-preview' => 'Previsualización', |
| 422 | + 'wikilove-notify' => 'Notificar al usuario por correo-e', |
| 423 | + 'wikilove-button-send' => 'Enviar WikiAprecio', |
| 424 | + 'wikilove-type-barnstars' => 'Reconocimientos', |
| 425 | + 'wikilove-type-food' => 'Comida y bebida', |
| 426 | + 'wikilove-type-kittens' => 'Gatitos', |
| 427 | + 'wikilove-type-makeyourown' => 'Personalizado', |
| 428 | + 'wikilove-err-header' => 'Introduce un encabezado.', |
| 429 | + 'wikilove-err-title' => 'Introduce un título.', |
| 430 | + 'wikilove-err-msg' => 'Introduce un mensaje personal.', |
| 431 | + 'wikilove-err-image' => 'Selecciona una imagen.', |
| 432 | + 'wikilove-err-image-bad' => 'La imagen no existe.', |
| 433 | + 'wikilove-err-image-api' => 'Algo salió mal al recuperar la imagen. Por favor, inténtalo de nuevo.', |
| 434 | + 'wikilove-err-sig' => 'No incluyas tu firma en el mensaje.', |
| 435 | + 'wikilove-err-gallery' => 'Algo salió mal al cargar las imágenes.', |
| 436 | + 'wikilove-err-gallery-again' => 'Reintentar', |
| 437 | + 'wikilove-err-preview-api' => 'Algo salió mal durante la previsualización. Por favor, inténtalo de nuevo.', |
| 438 | + 'wikilove-err-send-api' => 'Algo salió mal al enviar el mensaje. Por favor, inténtalo de nuevo.', |
| 439 | + 'wikilove-summary' => '/* $1 */ mensaje de WikiAprecio nuevo', |
| 440 | + 'wikilove-what-is-this' => '¿Qué es esto?', |
| 441 | + 'wikilove-anon-warning' => 'Nota: Este usuario no está registrado, él o ella pudiera no ver este mensaje.', |
| 442 | + 'wikilove-commons-text' => 'Puedes encontrar imágenes navegando por $1.', |
| 443 | +); |
| 444 | + |
| 445 | +/** French (Français) |
| 446 | + * @author Crochet.david |
| 447 | + * @author Hashar |
| 448 | + * @author IAlex |
| 449 | + * @author Jean-Frédéric |
| 450 | + * @author Kaldari |
| 451 | + * @author Seb35 |
| 452 | + * @author Sherbrooke |
| 453 | + */ |
| 454 | +$messages['fr'] = array( |
| 455 | + 'wikilove-desc' => "Ajoute une interface pour faciliter la rétroaction positive sur la page de discussion d'un utilisateur", |
| 456 | + 'wikilove' => 'WikiLove', |
| 457 | + 'wikilove-enable-preference' => "Active l'onglet WikiLove servant à signifier aux autres contributeurs votre appréciation (expérimental)", |
| 458 | + 'wikilove-tab-text' => 'WikiLove', |
| 459 | + 'tooltip-ca-wikilove' => 'Poster un message à cet utilisateur pour indiquer votre appréciation', |
| 460 | + 'wikilove-dialog-title' => 'WikiLove – Envoyez un message d’appréciation à un autre utilisateur', |
| 461 | + 'wikilove-select-type' => 'Sélectionnez le type', |
| 462 | + 'wikilove-get-started-header' => 'Commençons !', |
| 463 | + 'wikilove-get-started-list-1' => 'Sélectionnez le type de WikiLove que vous souhaitez envoyer', |
| 464 | + 'wikilove-get-started-list-2' => 'Ajoutez des détails à votre WikiLove', |
| 465 | + 'wikilove-get-started-list-3' => 'Envoyez votre WikiLove !', |
| 466 | + 'wikilove-add-details' => 'Ajouter des détails', |
| 467 | + 'wikilove-image' => 'Entrez le nom du fichier image :', |
| 468 | + 'wikilove-select-image' => 'Sélectionnez une image :', |
| 469 | + 'wikilove-header' => 'Entrez un en-tête :', |
| 470 | + 'wikilove-title' => 'Entrez un titre de récompense :', |
| 471 | + 'wikilove-enter-message' => 'Entrez un message :', |
| 472 | + 'wikilove-omit-sig' => '(sans signature)', |
| 473 | + 'wikilove-image-example' => '(exemple : Trophy.png)', |
| 474 | + 'wikilove-button-preview' => 'Prévisualiser', |
| 475 | + 'wikilove-preview' => 'Prévisualiser', |
| 476 | + 'wikilove-notify' => 'Notifier l’utilisateur par courriel', |
| 477 | + 'wikilove-button-send' => 'Envoyer le WikiLove', |
| 478 | + 'wikilove-type-barnstars' => 'Récompenses', |
| 479 | + 'wikilove-type-food' => 'Nourriture et boissons', |
| 480 | + 'wikilove-type-kittens' => 'Chatons', |
| 481 | + 'wikilove-type-makeyourown' => 'Créez votre propre', |
| 482 | + 'wikilove-err-header' => "S'il vous plaît inscrire un en-tête.", |
| 483 | + 'wikilove-err-title' => "S'il vous plaît inscrire un titre.", |
| 484 | + 'wikilove-err-msg' => 'Entrez un message personnalisé.', |
| 485 | + 'wikilove-err-image' => "S'il vous plaît sélectionner une image.", |
| 486 | + 'wikilove-err-image-bad' => 'L’image n’existe pas.', |
| 487 | + 'wikilove-err-image-api' => 'Quelque chose n’a pas fonctionné en récupérant l’image. Veuillez réessayer.', |
| 488 | + 'wikilove-err-sig' => "S'il vous plaît ne pas inclure une signature dans le message.", |
| 489 | + 'wikilove-err-gallery' => "Quelque chose n'a pas fonctionné lors du chargement des images !", |
| 490 | + 'wikilove-err-gallery-again' => 'Essayez à nouveau', |
| 491 | + 'wikilove-err-preview-api' => 'Quelque chose n’a pas fonctionné pendant la prévisualisation. Veuillez réessayer.', |
| 492 | + 'wikilove-err-send-api' => 'Quelque chose n’a pas fonctionné lors de l’envoi du message. Veuillez réessayer.', |
| 493 | + 'wikilove-summary' => '/* $1 */ nouveau message WikiLove', |
| 494 | + 'wikilove-what-is-this' => 'Qu’est-ce que c’est ?', |
| 495 | + 'wikilove-anon-warning' => 'Note : cet utilisateur n’est pas enregistré, il ou elle peut ne pas voir ce message.', |
| 496 | + 'wikilove-commons-text' => 'Vous pouvez trouver des images en surfant sur $1.', |
| 497 | +); |
| 498 | + |
| 499 | +/** Franco-Provençal (Arpetan) |
| 500 | + * @author ChrisPtDe |
| 501 | + * @author Kaldari |
| 502 | + */ |
| 503 | +$messages['frp'] = array( |
| 504 | + 'wikilove' => 'VouiquiAmôr', |
| 505 | + 'wikilove-tab-text' => 'VouiquiAmôr', |
| 506 | + 'wikilove-dialog-title' => 'VouiquiAmôr – Mandâd un mèssâjo de remarciement a un ôtro utilisator', |
| 507 | + 'wikilove-select-type' => 'Chouèsésséd lo tipo', |
| 508 | + 'wikilove-get-started-header' => 'Comencens !', |
| 509 | + 'wikilove-get-started-list-1' => 'Chouèsésséd lo tipo de VouiquiAmôr que vos souhètâd mandar', |
| 510 | + 'wikilove-get-started-list-2' => 'Apondéd des dètalys a voutron VouiquiAmôr', |
| 511 | + 'wikilove-get-started-list-3' => 'Mandâd voutron VouiquiAmôr !', |
| 512 | + 'wikilove-add-details' => 'Apondre des dètalys', |
| 513 | + 'wikilove-image' => 'Buchiéd lo nom d’un fichiér émâge :', |
| 514 | + 'wikilove-select-image' => 'Chouèsir una émâge :', |
| 515 | + 'wikilove-header' => 'Buchiéd un en-téta :', |
| 516 | + 'wikilove-title' => 'Buchiéd lo titro d’un prix :', |
| 517 | + 'wikilove-enter-message' => 'Buchiéd un mèssâjo :', |
| 518 | + 'wikilove-omit-sig' => '(sen signatura)', |
| 519 | + 'wikilove-image-example' => '(ègzemplo : Trophy.png)', |
| 520 | + 'wikilove-button-preview' => 'Prèvisualisar', |
| 521 | + 'wikilove-preview' => 'Prèvisualisacion', |
| 522 | + 'wikilove-notify' => 'Notifiar l’utilisator per mèssageria èlèctronica', |
| 523 | + 'wikilove-button-send' => 'Mandar lo VouiquiAmôr', |
| 524 | + 'wikilove-type-barnstars' => 'Dècoracions', |
| 525 | + 'wikilove-type-food' => 'Megiér et bêre', |
| 526 | + 'wikilove-type-kittens' => 'Minons', |
| 527 | + 'wikilove-type-makeyourown' => 'Féte voutron prôpro', |
| 528 | + 'wikilove-err-header' => 'Volyéd buchiér un en-téta.', |
| 529 | + 'wikilove-err-title' => 'Volyéd buchiér un titro.', |
| 530 | + 'wikilove-err-msg' => 'Volyéd buchiér un mèssâjo pèrsonalisâ.', |
| 531 | + 'wikilove-err-image' => 'Volyéd chouèsir una émâge.', |
| 532 | + 'wikilove-err-image-bad' => 'L’émâge ègziste pas.', |
| 533 | + 'wikilove-err-sig' => 'Volyéd pas encllure una signatura dens lo mèssâjo.', |
| 534 | + 'wikilove-err-gallery-again' => 'Tornâd èprovar', |
| 535 | + 'wikilove-summary' => '/* $1 */ mèssâjo novél VouiquiAmôr', |
| 536 | + 'wikilove-what-is-this' => 'Qu’est-o qu’il est ?', |
| 537 | +); |
| 538 | + |
| 539 | +/** Galician (Galego) |
| 540 | + * @author Kaldari |
| 541 | + * @author Toliño |
| 542 | + */ |
| 543 | +$messages['gl'] = array( |
| 544 | + 'wikilove-desc' => 'Engade unha interface para facilitar a mostra de aprecio cara a un usuario na súa páxina de conversa', |
| 545 | + 'wikilove' => 'Amor wiki', |
| 546 | + 'wikilove-enable-preference' => 'Activar o envío de mostras de aprecio aos outros usuarios mediante a lapela de amor wiki (experimental)', |
| 547 | + 'wikilove-tab-text' => 'Amor wiki', |
| 548 | + 'tooltip-ca-wikilove' => 'Déixelle unha mensaxe a este usuario mostrando o seu aprecio', |
| 549 | + 'wikilove-dialog-title' => 'Amor wiki - Envíe unha mensaxe de aprecio a outro usuario', |
| 550 | + 'wikilove-select-type' => 'Seleccione o tipo', |
| 551 | + 'wikilove-get-started-header' => 'Comecemos!', |
| 552 | + 'wikilove-get-started-list-1' => 'Seleccione tipo de amor wiki que queira enviar', |
| 553 | + 'wikilove-get-started-list-2' => 'Engadir detalles ao seu amor wiki', |
| 554 | + 'wikilove-get-started-list-3' => 'Enviar o seu amor wiki!', |
| 555 | + 'wikilove-add-details' => 'Engadir detalles', |
| 556 | + 'wikilove-image' => 'Insira un nome de ficheiro para a imaxe:', |
| 557 | + 'wikilove-select-image' => 'Seleccione unha imaxe:', |
| 558 | + 'wikilove-header' => 'Insira unha cabeceira:', |
| 559 | + 'wikilove-title' => 'Insira un título para o premio:', |
| 560 | + 'wikilove-enter-message' => 'Escriba unha mensaxe:', |
| 561 | + 'wikilove-omit-sig' => '(sen sinatura)', |
| 562 | + 'wikilove-image-example' => '(exemplo: Trophy.png)', |
| 563 | + 'wikilove-button-preview' => 'Vista previa', |
| 564 | + 'wikilove-preview' => 'Vista previa', |
| 565 | + 'wikilove-notify' => 'Informar ao usuario por correo electrónico', |
| 566 | + 'wikilove-button-send' => 'Enviar o amor wiki', |
| 567 | + 'wikilove-type-makeyourown' => 'Faga o seu', |
| 568 | + 'wikilove-err-header' => 'Escriba unha cabeceira.', |
| 569 | + 'wikilove-err-title' => 'Escriba un título.', |
| 570 | + 'wikilove-err-msg' => 'Escriba unha mensaxe.', |
| 571 | + 'wikilove-err-image' => 'Seleccione unha imaxe.', |
| 572 | + 'wikilove-err-image-bad' => 'A imaxe non existe', |
| 573 | + 'wikilove-err-image-api' => 'Houbo un problema ao acceder á imaxe. Inténteo de novo.', |
| 574 | + 'wikilove-err-sig' => 'Non incluír a sinatura na mensaxe.', |
| 575 | + 'wikilove-err-gallery' => 'Houbo un problema ao cargar as imaxes!', |
| 576 | + 'wikilove-err-gallery-again' => 'Inténteo de novo', |
| 577 | + 'wikilove-err-preview-api' => 'Houbo un problema ao ollar a vista previa. Inténteo de novo.', |
| 578 | + 'wikilove-err-send-api' => 'Houbo un problema ao enviar a mensaxe. Inténteo de novo.', |
| 579 | + 'wikilove-summary' => '/* $1 */ nova mensaxe de amor wiki', |
| 580 | + 'wikilove-what-is-this' => 'Que é isto?', |
| 581 | + 'wikilove-anon-warning' => 'Nota: Este usuario non está rexistrado, el ou ela puido non ver esta mensaxe.', |
| 582 | + 'wikilove-commons-text' => 'Pode atopar imaxes navegando por $1.', |
| 583 | +); |
| 584 | + |
| 585 | +/** Hebrew (עברית) |
| 586 | + * @author Amire80 |
| 587 | + */ |
| 588 | +$messages['he'] = array( |
| 589 | + 'wikilove-desc' => 'הוספת ממשק לשליחת תגובות חיוביות לדפי שיחת משתמש', |
| 590 | + 'wikilove' => 'ויקי־אהבה', |
| 591 | + 'wikilove-enable-preference' => 'הפעלה של הצגת הערכה למשתמשים אחרים באמצעות לשונית ויקי־אהבה (ניסיוני)', |
| 592 | + 'wikilove-tab-text' => 'ויקי־אהבה', |
| 593 | + 'tooltip-ca-wikilove' => 'לשלוח למשתמש הזה הודעה שמראה את הערכתך', |
| 594 | + 'wikilove-dialog-title' => 'ויקי־אהבה – שליחת הודעת הערכה למשתמש אחר', |
| 595 | + 'wikilove-select-type' => 'בחירת סוג', |
| 596 | + 'wikilove-get-started-header' => 'בואו נתחיל!', |
| 597 | + 'wikilove-get-started-list-1' => 'איזה סוג של ויקי־אהבה לשלוח', |
| 598 | + 'wikilove-get-started-list-2' => 'להוסיף פרטים להודעת ויקי־אהבה', |
| 599 | + 'wikilove-get-started-list-3' => 'לשלוח ויקי־אהבה!', |
| 600 | + 'wikilove-add-details' => 'הוספת פרטים', |
| 601 | + 'wikilove-image' => 'שם קובץ תמונה:', |
| 602 | + 'wikilove-select-image' => 'בחירת תמונה:', |
| 603 | + 'wikilove-header' => 'כותרת פסקה:', |
| 604 | + 'wikilove-title' => 'שם הצל"ש:', |
| 605 | + 'wikilove-enter-message' => 'הודעה:', |
| 606 | + 'wikilove-omit-sig' => '(ללא חתימה)', |
| 607 | + 'wikilove-image-example' => '(למשל: Trophy.png)', |
| 608 | + 'wikilove-button-preview' => 'תצוגה מקדימה', |
| 609 | + 'wikilove-preview' => 'תצוגה מקדימה', |
| 610 | + 'wikilove-notify' => 'להודיע למשתמש בדואר אלקטרוני', |
| 611 | + 'wikilove-button-send' => 'לשלוח ויקי־אהבה', |
| 612 | + 'wikilove-type-barnstars' => 'כוכבים', |
| 613 | + 'wikilove-type-food' => 'אוכל ושתייה', |
| 614 | + 'wikilove-type-kittens' => 'חתולים', |
| 615 | + 'wikilove-type-makeyourown' => 'יצירה אישית', |
| 616 | + 'wikilove-err-header' => 'נא להזין כותרת פסקה.', |
| 617 | + 'wikilove-err-title' => 'נא להזין שם לצל"ש.', |
| 618 | + 'wikilove-err-msg' => 'נא להזין הודעה מותאמת אישית.', |
| 619 | + 'wikilove-err-image' => 'נא לבחור תמונה.', |
| 620 | + 'wikilove-err-image-bad' => 'התמונה אינה קיימת.', |
| 621 | + 'wikilove-err-image-api' => 'משהו השתבש בעת אחזור התמונה. נא לנסות שוב.', |
| 622 | + 'wikilove-err-sig' => 'נא לא לכתוב חתימה בהודעה.', |
| 623 | + 'wikilove-err-gallery' => 'משהו השתבש בעת טעינת התמונות.', |
| 624 | + 'wikilove-err-gallery-again' => 'לנסות שוב', |
| 625 | + 'wikilove-err-preview-api' => 'משהו השתבש במהלך תצוגה מקדימה. נא לנסות שוב.', |
| 626 | + 'wikilove-err-send-api' => 'משהו השתבש בעת שליחת ההודעה. נא לנסות שוב.', |
| 627 | + 'wikilove-summary' => '/* $1 */ הודעת ויקי־אהבה חדשה', |
| 628 | + 'wikilove-what-is-this' => 'מה זה?', |
| 629 | + 'wikilove-anon-warning' => 'הערה: משתמש זה אינו רשום ואולי לא יבחין בהודעה זו.', |
| 630 | + 'wikilove-commons-text' => 'אפשר לחפש תמונות באתר $1.', |
| 631 | +); |
| 632 | + |
| 633 | +/** Hindi (हिन्दी) |
| 634 | + * @author Kaldari |
| 635 | + * @author Mayur |
| 636 | + * @author Vibhijain |
| 637 | + */ |
| 638 | +$messages['hi'] = array( |
| 639 | + 'wikilove-desc' => 'उपयोगकर्ता वार्ता पृष्ठो पर सकारात्मक उपयोगकर्ता राय की सुविधा के लिए इंटरफ़ेस जोड़ता है', |
| 640 | + 'wikilove' => 'विकिप्रेम', |
| 641 | + 'wikilove-enable-preference' => 'विकिप्रेम टैब (प्रयोगात्मक) के साथ अन्य उपयोगकर्ताओं के लिए प्रशंसा देखना सक्षम करे', |
| 642 | + 'wikilove-tab-text' => 'विकिप्रेम', |
| 643 | + 'tooltip-ca-wikilove' => 'इस उपयोगकर्ता को अपनी प्रशंसा दिखाने के लिए एक संदेश पोस्ट करे', |
| 644 | + 'wikilove-dialog-title' => 'विकिप्रेम - किसी अन्य उपयोगकर्ता के लिए सराहना की एक संदेश भेजें', |
| 645 | + 'wikilove-select-type' => 'प्रकार का चयन करें', |
| 646 | + 'wikilove-get-started-header' => 'चलो शुरू हो जाओ!', |
| 647 | + 'wikilove-get-started-list-1' => 'विकिप्रेम के जिस प्रकार को आप भेजना चाहते हैं उसका चयन करें', |
| 648 | + 'wikilove-get-started-list-2' => 'अपने विकिप्रेम में विवरण जोड़ें', |
| 649 | + 'wikilove-get-started-list-3' => 'अपना विकिप्रेम भेजे !', |
| 650 | + 'wikilove-add-details' => 'विवरण जोड़ें', |
| 651 | + 'wikilove-image' => 'चित्र नाम दर्ज करें:', |
| 652 | + 'wikilove-select-image' => 'चित्र का चयन करें:', |
| 653 | + 'wikilove-header' => 'शीर्षक दर्ज करें:', |
| 654 | + 'wikilove-title' => 'एक पुरस्कार शीर्षक दर्ज करें:', |
| 655 | + 'wikilove-enter-message' => 'संदेश दर्ज करें:', |
| 656 | + 'wikilove-omit-sig' => '(हस्ताक्षर के बिना)', |
| 657 | + 'wikilove-image-example' => '(उदाहरण: Trophy.png)', |
| 658 | + 'wikilove-button-preview' => 'पूर्वावलोकन', |
| 659 | + 'wikilove-preview' => 'पूर्वावलोकन', |
| 660 | + 'wikilove-notify' => 'ई - मेल द्वारा उपयोगकर्ता को सूचित करें', |
| 661 | + 'wikilove-button-send' => 'विकिप्रेम भेजे', |
| 662 | + 'wikilove-type-barnstars' => 'बार्नस्टार(Barnstars)', |
| 663 | + 'wikilove-type-food' => 'खाद्य और पेय', |
| 664 | + 'wikilove-type-kittens' => 'नन्ही बिल्लियाँ', |
| 665 | + 'wikilove-type-makeyourown' => 'अपना खुद का बनाएँ', |
| 666 | + 'wikilove-err-header' => 'कृपया कोई शीर्षक दर्ज करें।', |
| 667 | + 'wikilove-err-title' => 'कृपया कोई शीर्षक दर्ज करें।', |
| 668 | + 'wikilove-err-msg' => 'कृपया संदेश प्रविष्ट करें।', |
| 669 | + 'wikilove-err-image' => 'कृपया चित्र का चयन करें।', |
| 670 | + 'wikilove-err-image-bad' => 'चित्र अस्तित्व में नहीं हैं।', |
| 671 | + 'wikilove-err-image-api' => 'संदेश को पुन: प्राप्त करते समय कुछ गलत हो गया। कृपया वापिस कोशिश करे।', |
| 672 | + 'wikilove-err-sig' => 'कृपया इस संदेश में हस्ताक्षर शामिल नहीं करे।', |
| 673 | + 'wikilove-err-gallery' => 'चित्र लोड करते समय कुछ गलत हो गया।', |
| 674 | + 'wikilove-err-gallery-again' => 'पुन: प्रयास करें', |
| 675 | + 'wikilove-err-preview-api' => 'पूर्वावलोकन करते समय कुछ गलत हो गया। कृपया वापिस कोशिश करे।', |
| 676 | + 'wikilove-err-send-api' => 'संदेश को भेजते समय कुछ गलत हो गया। कृपया वापिस कोशिश करे।', |
| 677 | + 'wikilove-summary' => '/ * $1 * / नया विकिप्रेम संदेश', |
| 678 | + 'wikilove-what-is-this' => 'यह क्या है?', |
| 679 | + 'wikilove-anon-warning' => 'नोट: यह उपयोगकर्ता पंजीकृत नहीं है, वह शायद यह संदेश नहीं देख सकते हैं।', |
| 680 | + 'wikilove-commons-text' => 'आप $1 को ब्राउज़ करके चित्र खोज सकते है।', |
| 681 | +); |
| 682 | + |
| 683 | +/** Hungarian (Magyar) |
| 684 | + * @author Bdamokos |
| 685 | + * @author Dani |
| 686 | + * @author Kaldari |
| 687 | + * @author Xbspiro |
| 688 | + */ |
| 689 | +$messages['hu'] = array( |
| 690 | + 'wikilove-desc' => 'Létrehoz egy felületet, amely megkönnyíti a pozitív szerkesztői visszajelzéseket a szerkesztők vitalapjain.', |
| 691 | + 'wikilove' => 'Wikibók', |
| 692 | + 'wikilove-enable-preference' => 'Az elismerés (WikiLove) fül engedélyezése szerkesztői lapokon. (kísérleti)', |
| 693 | + 'wikilove-tab-text' => 'Wikibók', |
| 694 | + 'tooltip-ca-wikilove' => 'Elismerő üzenet küldése ennek a felhasználónak', |
| 695 | + 'wikilove-dialog-title' => 'Wikibók – Küldj elismerő üzenetet egy másik felhasználónak', |
| 696 | + 'wikilove-select-type' => 'Válassz típust', |
| 697 | + 'wikilove-get-started-header' => 'Kezdjük!', |
| 698 | + 'wikilove-get-started-list-1' => 'Válaszd ki a wikibók típusát', |
| 699 | + 'wikilove-get-started-list-2' => 'Töltsd ki a részleteket', |
| 700 | + 'wikilove-get-started-list-3' => 'Küldd el a wikibókot!', |
| 701 | + 'wikilove-add-details' => 'Részletek', |
| 702 | + 'wikilove-image' => 'Kép fájlneve:', |
| 703 | + 'wikilove-select-image' => 'Válassz egy képet:', |
| 704 | + 'wikilove-header' => 'A fejléc tartalma:', |
| 705 | + 'wikilove-title' => 'A díj címe:', |
| 706 | + 'wikilove-enter-message' => 'Üzenet:', |
| 707 | + 'wikilove-omit-sig' => '(aláírás nélkül)', |
| 708 | + 'wikilove-image-example' => '(példa: Trophy.png)', |
| 709 | + 'wikilove-button-preview' => 'Előnézet', |
| 710 | + 'wikilove-preview' => 'Előnézet', |
| 711 | + 'wikilove-notify' => 'Felhasználó értesítése e-mailben', |
| 712 | + 'wikilove-button-send' => 'Wikibók elküldése', |
| 713 | + 'wikilove-type-barnstars' => 'Barnstarok', |
| 714 | + 'wikilove-type-food' => 'Étel és ital', |
| 715 | + 'wikilove-type-kittens' => 'Cicák', |
| 716 | + 'wikilove-type-makeyourown' => 'Egyedi készítése', |
| 717 | + 'wikilove-err-header' => 'Add meg a fejlécet!', |
| 718 | + 'wikilove-err-title' => 'Add meg a címet!', |
| 719 | + 'wikilove-err-msg' => 'Ide írd a személyes üzenetedet.', |
| 720 | + 'wikilove-err-image' => 'Válassz egy képet!', |
| 721 | + 'wikilove-err-image-bad' => 'A kép nem létezik.', |
| 722 | + 'wikilove-err-image-api' => 'Valami probléma történt a kép lekérése közben. Próbáld újra!', |
| 723 | + 'wikilove-err-sig' => 'Ne helyezz el aláírást az üzenetben!', |
| 724 | + 'wikilove-err-gallery' => 'Valami hiba történt a képek betöltése közben!', |
| 725 | + 'wikilove-err-gallery-again' => 'Újrapróbálkozás', |
| 726 | + 'wikilove-err-preview-api' => 'Valami probléma történt az előnézet előkészítése közben. Próbáld újra!', |
| 727 | + 'wikilove-err-send-api' => 'Valami probléma történt az üzenet elküldése közben. Próbáld újra!', |
| 728 | + 'wikilove-summary' => '/* $1 */ Új wikibók', |
| 729 | + 'wikilove-what-is-this' => 'Mi ez?', |
| 730 | + 'wikilove-anon-warning' => 'Megjegyzés: ez a felhasználó nem regisztrált, lehet, hogy nem fogja észrevenni az üzenetet.', |
| 731 | + 'wikilove-commons-text' => 'Képeket a $1on kereshetsz.', |
| 732 | + 'wikilove-commons-link' => 'Wikimédia Commons', |
| 733 | +); |
| 734 | + |
| 735 | +/** Interlingua (Interlingua) |
| 736 | + * @author McDutchie |
| 737 | + */ |
| 738 | +$messages['ia'] = array( |
| 739 | + 'wikilove-desc' => 'Adde un interfacie pro exprimer appreciation in le paginas de discussion de usatores', |
| 740 | + 'wikilove' => 'WikiLove', |
| 741 | + 'wikilove-enable-preference' => 'Permitter monstrar appreciation pro altere usatores con le scheda WikiLove (experimental)', |
| 742 | + 'wikilove-tab-text' => 'WikiLove', |
| 743 | + 'tooltip-ca-wikilove' => 'Publicar un message pro iste usator que monstra tu appreciation', |
| 744 | + 'wikilove-dialog-title' => 'WikiLove: Inviar un message de appreciation a un altere usator', |
| 745 | + 'wikilove-select-type' => 'Selige typo', |
| 746 | + 'wikilove-get-started-header' => 'Nos comencia!', |
| 747 | + 'wikilove-get-started-list-1' => 'Selige le typo de WikiLove que tu vole inviar', |
| 748 | + 'wikilove-get-started-list-2' => 'Adde detalios a tu WikiLove', |
| 749 | + 'wikilove-get-started-list-3' => 'Invia tu WikiLove!', |
| 750 | + 'wikilove-add-details' => 'Adder detalios', |
| 751 | + 'wikilove-image' => 'Entra le nomine de file de un imagine:', |
| 752 | + 'wikilove-select-image' => 'Selige un imagine:', |
| 753 | + 'wikilove-header' => 'Entra un texto de capite:', |
| 754 | + 'wikilove-title' => 'Entra le titulo de un premio:', |
| 755 | + 'wikilove-enter-message' => 'Entra un message:', |
| 756 | + 'wikilove-omit-sig' => '(sin signatura)', |
| 757 | + 'wikilove-image-example' => '(exemplo: Stella-Auro-Interlingua.jpg)', |
| 758 | + 'wikilove-button-preview' => 'Previsualisar', |
| 759 | + 'wikilove-preview' => 'Previsualisation', |
| 760 | + 'wikilove-notify' => 'Notificar le usator per e-mail', |
| 761 | + 'wikilove-button-send' => 'Inviar WikiLove', |
| 762 | + 'wikilove-type-barnstars' => 'Medalias', |
| 763 | + 'wikilove-type-food' => 'Mangiar e biber', |
| 764 | + 'wikilove-type-kittens' => 'Cattones', |
| 765 | + 'wikilove-type-makeyourown' => 'Crear le tue', |
| 766 | + 'wikilove-err-header' => 'Per favor entra un capite.', |
| 767 | + 'wikilove-err-title' => 'Per favor entra un titulo.', |
| 768 | + 'wikilove-err-msg' => 'Per favor entra un message personalisate.', |
| 769 | + 'wikilove-err-image' => 'Per favor selige un imagine.', |
| 770 | + 'wikilove-err-image-bad' => 'Le imagine non existe.', |
| 771 | + 'wikilove-err-image-api' => 'Un problema occurreva durante le obtention del imagine. Per favor reproba.', |
| 772 | + 'wikilove-err-sig' => 'Per favor non include un signatura in le message.', |
| 773 | + 'wikilove-err-gallery' => 'Un problema occurreva durante le cargamento del imagines!', |
| 774 | + 'wikilove-err-gallery-again' => 'Reprobar', |
| 775 | + 'wikilove-err-preview-api' => 'Un problema occurreva durante le previsualisation. Per favor reproba.', |
| 776 | + 'wikilove-err-send-api' => 'Un problema occurreva durante le invio del message. Per favor reproba.', |
| 777 | + 'wikilove-summary' => '/* $1 */ nove message de WikiLove', |
| 778 | + 'wikilove-what-is-this' => 'Que es isto?', |
| 779 | + 'wikilove-anon-warning' => 'Nota: Iste usator non es registrate, e ille o illa non recipera notification de iste message.', |
| 780 | + 'wikilove-commons-text' => 'Tu pote trovar imagines in $1.', |
| 781 | + 'wikilove-commons-link' => 'Wikimedia Commons', |
| 782 | + 'wikilove-commons-url' => 'http://commons.wikimedia.org/wiki/Pagina_principal?uselang=ia', |
| 783 | +); |
| 784 | + |
| 785 | +/** Indonesian (Bahasa Indonesia) |
| 786 | + * @author Iwan Novirion |
| 787 | + * @author Kaldari |
| 788 | + */ |
| 789 | +$messages['id'] = array( |
| 790 | + 'wikilove-desc' => 'Menambahkan penghargaan ke halaman pembicaraan pengguna atas kontribusi positifnya', |
| 791 | + 'wikilove' => 'WikiSalut', |
| 792 | + 'wikilove-enable-preference' => 'Aktifkan tab WikiSalut untuk mengirim penghargaan bagi pengguna lain (uji coba)', |
| 793 | + 'wikilove-tab-text' => 'WikiSalut', |
| 794 | + 'wikilove-dialog-title' => 'WikiSalut - Kirim pesan penghargaan kepada pengguna lain', |
| 795 | + 'wikilove-select-type' => 'Pilih jenis', |
| 796 | + 'wikilove-get-started-header' => 'Ayo kita mulai!', |
| 797 | + 'wikilove-select-image' => 'Pilih gambar:', |
| 798 | + 'wikilove-header' => 'Masukkan judul pesan:', |
| 799 | + 'wikilove-title' => 'Masukkan nama penghargaan:', |
| 800 | + 'wikilove-enter-message' => 'Masukkan pesan:', |
| 801 | + 'wikilove-omit-sig' => '(tanpa tanda tangan)', |
| 802 | + 'wikilove-image-example' => '(contoh: Piala.png)', |
| 803 | + 'wikilove-button-preview' => 'Pratayang', |
| 804 | + 'wikilove-preview' => 'Pratayang', |
| 805 | + 'wikilove-notify' => 'Beritahu pengguna dengan e-mail', |
| 806 | + 'wikilove-button-send' => 'Kirim WikiSalut', |
| 807 | + 'wikilove-type-makeyourown' => 'Coba buat sendiri', |
| 808 | + 'wikilove-err-image-bad' => 'Gambar tidak ada.', |
| 809 | + 'wikilove-err-gallery-again' => 'Coba lagi', |
| 810 | + 'wikilove-summary' => '/ * $1 * / pesan WikiSalut baru', |
| 811 | + 'wikilove-what-is-this' => 'Apa ini?', |
| 812 | + 'wikilove-commons-text' => 'Anda dapat menemukan gambar dengan mengunjungi $1.', |
| 813 | +); |
| 814 | + |
| 815 | +/** Italian (Italiano) |
| 816 | + * @author Beta16 |
| 817 | + * @author Kaldari |
| 818 | + * @author Rippitippi |
| 819 | + */ |
| 820 | +$messages['it'] = array( |
| 821 | + 'wikilove-desc' => "Aggiunge un'interfaccia per facilitare il feedback positivo ad un utente nella sua pagina di discussione", |
| 822 | + 'wikilove' => 'WikiLove', |
| 823 | + 'wikilove-enable-preference' => "Abilita la possibilità di mostrarti l'apprezzamento dagli altri utenti con la scheda WikiLove (sperimentale)", |
| 824 | + 'wikilove-tab-text' => 'WikiLove', |
| 825 | + 'tooltip-ca-wikilove' => 'Invia un messaggio a questo utente per mostrare il tuo apprezzamento', |
| 826 | + 'wikilove-dialog-title' => 'WikiLove - Invia un messaggio di apprezzamento ad un altro utente', |
| 827 | + 'wikilove-select-type' => 'Seleziona un tipo', |
| 828 | + 'wikilove-get-started-header' => 'Cominciamo!', |
| 829 | + 'wikilove-get-started-list-1' => 'Seleziona il tipo di WikiLove che vuoi inviare', |
| 830 | + 'wikilove-get-started-list-2' => 'Aggiungi dettagli al tuo WikiLove', |
| 831 | + 'wikilove-get-started-list-3' => 'Invia il tuo WikiLove!', |
| 832 | + 'wikilove-add-details' => 'Aggiungi dettagli', |
| 833 | + 'wikilove-image' => "Inserisci il nome del file con l'immagine", |
| 834 | + 'wikilove-select-image' => "Seleziona un'immagine:", |
| 835 | + 'wikilove-header' => "Inserisci un'intestazione:", |
| 836 | + 'wikilove-title' => 'Inserisci un titolo del premio:', |
| 837 | + 'wikilove-enter-message' => 'Inserisci un messaggio:', |
| 838 | + 'wikilove-omit-sig' => '(senza firma)', |
| 839 | + 'wikilove-image-example' => '(esempio: Trophy.png)', |
| 840 | + 'wikilove-button-preview' => 'Anteprima', |
| 841 | + 'wikilove-preview' => 'Anteprima', |
| 842 | + 'wikilove-notify' => "Notifica all'utente tramite e-mail", |
| 843 | + 'wikilove-button-send' => 'Invia WikiLove', |
| 844 | + 'wikilove-type-makeyourown' => 'Crea il tuo', |
| 845 | + 'wikilove-err-header' => "Inserisci un'intestazione.", |
| 846 | + 'wikilove-err-title' => 'Inserisci un titolo.', |
| 847 | + 'wikilove-err-msg' => 'Inserisci un messaggio.', |
| 848 | + 'wikilove-err-image' => "Seleziona un'immagine.", |
| 849 | + 'wikilove-err-image-bad' => "L'immagine non esiste.", |
| 850 | + 'wikilove-err-image-api' => "Qualcosa è andato storto durante l'inserimento dell'immagine. Per favore riprova.", |
| 851 | + 'wikilove-err-sig' => 'Non includere la firma nel messaggio.', |
| 852 | + 'wikilove-err-gallery' => 'Qualcosa è andato storto nel caricamento delle immagini.', |
| 853 | + 'wikilove-err-gallery-again' => 'Riprova', |
| 854 | + 'wikilove-err-preview-api' => "Qualcosa è andato storto durante l'anteprima. Per favore riprova.", |
| 855 | + 'wikilove-err-send-api' => "Qualcosa è andato storto durante l'invio del messaggio. Per favore riprova.", |
| 856 | + 'wikilove-summary' => '/* $1 */ nuovo messaggio WikiLove', |
| 857 | + 'wikilove-what-is-this' => "Cos'è questo?", |
| 858 | + 'wikilove-anon-warning' => 'Nota: Questo utente non è registrato, lui o lei potrebbe non notare questo messaggio.', |
| 859 | + 'wikilove-commons-text' => 'Potete trovare le immagini cercando in $1.', |
| 860 | +); |
| 861 | + |
| 862 | +/** Japanese (日本語) |
| 863 | + * @author Akaniji |
| 864 | + * @author Whym |
| 865 | + */ |
| 866 | +$messages['ja'] = array( |
| 867 | + 'wikilove-desc' => '利用者の会話ページに前向きな反応を寄せやすくする機能を、追加します', |
| 868 | + 'wikilove' => 'ウィキラブ', |
| 869 | + 'wikilove-enable-preference' => 'ウィキラブのタブによる、他の利用者に対して感謝の意を示す機能を有効にする(試用版)', |
| 870 | + 'wikilove-tab-text' => 'ウィキラブ', |
| 871 | + 'tooltip-ca-wikilove' => 'この利用者に向けた感謝の言葉を書き込む', |
| 872 | + 'wikilove-dialog-title' => 'WikiLove - 他の利用者に感謝の言葉を送る', |
| 873 | + 'wikilove-select-type' => '種類をお選びください', |
| 874 | + 'wikilove-get-started-header' => 'さあ、始めましょう !', |
| 875 | + 'wikilove-get-started-list-1' => '送りたいウィキラブの種類を選択してください', |
| 876 | + 'wikilove-get-started-list-2' => 'そのウィキラブに詳細を加えてください', |
| 877 | + 'wikilove-get-started-list-3' => 'そのウィキラブを送ってください!', |
| 878 | + 'wikilove-add-details' => '詳細をお書きください', |
| 879 | + 'wikilove-image' => '画像のファイル名を入力してください:', |
| 880 | + 'wikilove-select-image' => '画像をお選びください:', |
| 881 | + 'wikilove-header' => '表題を入力してください:', |
| 882 | + 'wikilove-title' => '賞の名前を入力してください:', |
| 883 | + 'wikilove-enter-message' => 'メッセージを入力してください:', |
| 884 | + 'wikilove-omit-sig' => '(署名は不要)', |
| 885 | + 'wikilove-image-example' => '(例: Trophy.png)', |
| 886 | + 'wikilove-button-preview' => 'プレビュー', |
| 887 | + 'wikilove-preview' => 'プレビュー', |
| 888 | + 'wikilove-notify' => '電子メールでこの利用者に通知する', |
| 889 | + 'wikilove-button-send' => 'ウィキラブを送る', |
| 890 | + 'wikilove-type-makeyourown' => '自作する', |
| 891 | + 'wikilove-err-header' => '表題を入力してください。', |
| 892 | + 'wikilove-err-title' => '賞の名前を入力してください。', |
| 893 | + 'wikilove-err-msg' => 'メッセージを入力してください。', |
| 894 | + 'wikilove-err-image' => '画像を選択してください。', |
| 895 | + 'wikilove-err-image-bad' => '画像が存在しません。', |
| 896 | + 'wikilove-err-image-api' => '画像を取得する際に問題が起きました。もう一度お試しください。', |
| 897 | + 'wikilove-err-sig' => 'メッセージに署名を入れないでください。', |
| 898 | + 'wikilove-err-gallery' => '画像を読み込む際に問題が起きました。', |
| 899 | + 'wikilove-err-gallery-again' => 'もう一度お試しください', |
| 900 | + 'wikilove-err-preview-api' => 'プレビュー中に問題が起きました。もう一度お試しください。', |
| 901 | + 'wikilove-err-send-api' => 'メッセージを送る際に問題が起きました。もう一度お試しください。', |
| 902 | + 'wikilove-summary' => '/* $1 */ 新しいウィキラブのメッセージ', |
| 903 | + 'wikilove-what-is-this' => 'これは何?', |
| 904 | + 'wikilove-anon-warning' => '注:この利用者は登録していないので、このメッセージに気づかないかもしれません。', |
| 905 | + 'wikilove-commons-text' => '$1で画像を見つけることができます。', |
| 906 | +); |
| 907 | + |
| 908 | +/** Colognian (Ripoarisch) |
| 909 | + * @author Kaldari |
| 910 | + * @author Purodha |
| 911 | + */ |
| 912 | +$messages['ksh'] = array( |
| 913 | + 'wikilove-desc' => 'Määd et müjjelesch, einem sing Aanäkännong ußzeshpräsche, övver däm sing Klaafsigg em Wiki.', |
| 914 | + 'wikilove' => 'Leev Wiki', |
| 915 | + 'wikilove-enable-preference' => 'Määd et müjjelesch, einem sing Aanäkännong ußzeshpräsche (för zom Ußprobeere)', |
| 916 | + 'wikilove-tab-text' => 'Aanäkännong', |
| 917 | + 'tooltip-ca-wikilove' => 'Donn Ding Aanerkennong en ene päsöönlesche Nohreesch ußdröcke', |
| 918 | + 'wikilove-dialog-title' => 'Donn Ding Aanäkännong em Wiki ußdröcke', |
| 919 | + 'wikilove-select-type' => 'Donn en Zoot ußwähle', |
| 920 | + 'wikilove-get-started-header' => 'Lom_mer ens med aanfange!', |
| 921 | + 'wikilove-get-started-list-1' => 'Donn de Aad udder Zoot vun Dinge Aanäkännong ußwähle, di de över et Wiki schecke wells', |
| 922 | + 'wikilove-get-started-list-2' => 'Donn Einzelheite övver Ding päsöönlesche Aanäkännong dobei', |
| 923 | + 'wikilove-get-started-list-3' => 'Donn Ding Aanäkännong övverjävve', |
| 924 | + 'wikilove-add-details' => 'Don noch Einzelheite dobei', |
| 925 | + 'wikilove-image' => 'Jivv ene Name för en Dattei med enem Beld aan:', |
| 926 | + 'wikilove-select-image' => 'Söhg e Beld uß:', |
| 927 | + 'wikilove-header' => 'Jivv en Övverschreff en för Dinge Täx en:', |
| 928 | + 'wikilove-title' => 'Jivv en Övverschreff för Ding Aanäkännong en:', |
| 929 | + 'wikilove-enter-message' => 'Jiv ene Täx en', |
| 930 | + 'wikilove-omit-sig' => '(der ohne en Ongerschreff)', |
| 931 | + 'wikilove-image-example' => '(För e Beispell: De drei Sunnebloome.jpeg)', |
| 932 | + 'wikilove-button-preview' => 'Vör-Aansesch', |
| 933 | + 'wikilove-preview' => 'Vör-Aansesch', |
| 934 | + 'wikilove-notify' => 'Donn dämm Medmaacher en <i lang="en">e-mail</i> schecke.', |
| 935 | + 'wikilove-button-send' => 'Donn e joot Jeföhl schecke', |
| 936 | + 'wikilove-type-barnstars' => 'Jummibeersche', |
| 937 | + 'wikilove-type-food' => 'Esse un Drenke', |
| 938 | + 'wikilove-type-kittens' => 'Käzje', |
| 939 | + 'wikilove-type-makeyourown' => 'Maach Ding eije', |
| 940 | + 'wikilove-err-header' => 'Bes esu jood un jivv en Övverschreff en.', |
| 941 | + 'wikilove-err-title' => 'Bes esu jood un jivv en Övverschreff en.', |
| 942 | + 'wikilove-err-msg' => 'Bes esu jood un jivv en Nohreesch en.', |
| 943 | + 'wikilove-err-image' => 'Bes esu jood un söhg e Beld uß.', |
| 944 | + 'wikilove-err-image-bad' => 'Dat Beld jidd et nit.', |
| 945 | + 'wikilove-err-image-api' => 'Beim Beld_Laade es_ene Fähler opjetrodde. Bes_esu_jood_un versöhg_ed_norr_ens.', |
| 946 | + 'wikilove-err-sig' => 'Bes esu jood un donn kein „Ongerschrevv“ en Dingem Täx enjävve.', |
| 947 | + 'wikilove-err-gallery' => 'Beim Belder_Laade es_ene Fähler opjetrodde.', |
| 948 | + 'wikilove-err-gallery-again' => 'Bes_esu jood_un versöhg_ed norr_ens.', |
| 949 | + 'wikilove-err-preview-api' => 'Beim vöraf_Beloore es enne Fähler opjetrodde. Bes_esu jood_un versöhg_ed norr_ens.', |
| 950 | + 'wikilove-err-send-api' => 'Beim Nohreesch_Verschecke es_ene Fähler opjetrodde. Bes_esu_jood_un versöhg_ed_norr_ens.', |
| 951 | + 'wikilove-summary' => '/* $1 */ En neuje päsöönlesche Nohreesch för Aanäkännong ußzeshpräsche', |
| 952 | + 'wikilove-what-is-this' => 'Wat sul dat heh bedügge?', |
| 953 | + 'wikilove-anon-warning' => 'Opjepaß: Dat es keine aanjemälldte Metmaacher. Döm es nit domet ze rääschne, dat dä dat lißß.', |
| 954 | + 'wikilove-commons-text' => 'Belder fenk mer op $1.', |
| 955 | + 'wikilove-commons-link' => '<i lang="en">Wikimedia Commons</i>', |
| 956 | + 'wikilove-commons-url' => 'http://commons.wikimedia.org/wiki/Main_Page?uselang=ksh', |
| 957 | +); |
| 958 | + |
| 959 | +/** Luxembourgish (Lëtzebuergesch) |
| 960 | + * @author Robby |
| 961 | + */ |
| 962 | +$messages['lb'] = array( |
| 963 | + 'wikilove' => 'WikiLove', |
| 964 | + 'wikilove-tab-text' => 'WikiLove', |
| 965 | + 'wikilove-dialog-title' => 'WikiLove - Schéckt e Message vun der Wäertschätzung un en anere Benotzer', |
| 966 | + 'wikilove-select-type' => 'Typ eraussichen', |
| 967 | + 'wikilove-get-started-header' => 'Elo geet et lass!', |
| 968 | + 'wikilove-add-details' => 'Detailer derbäisetzen', |
| 969 | + 'wikilove-image' => 'Gitt den Numm vum Fichier vun engem Bild un:', |
| 970 | + 'wikilove-select-image' => 'Sicht e Bild eraus:', |
| 971 | + 'wikilove-header' => 'Eng Iwwerschrëft aginn:', |
| 972 | + 'wikilove-title' => 'Gitt en Titel vun enger Wäertschätzung un:', |
| 973 | + 'wikilove-enter-message' => 'Gitt e Message an:', |
| 974 | + 'wikilove-omit-sig' => '(ouni Ënnerschrëft)', |
| 975 | + 'wikilove-image-example' => '(Beispill: Trophy.png)', |
| 976 | + 'wikilove-button-preview' => 'Kucken ouni ofzespäicheren', |
| 977 | + 'wikilove-preview' => 'Kucken ouni ofzespäicheren', |
| 978 | + 'wikilove-notify' => 'De Benotzer per Mail informéieren', |
| 979 | + 'wikilove-type-barnstars' => 'Medaillen', |
| 980 | + 'wikilove-type-food' => 'Iessen an Drénken', |
| 981 | + 'wikilove-type-makeyourown' => 'Maacht Ären Eegenen', |
| 982 | + 'wikilove-err-header' => 'Gitt w.e.g. eng Iwwerschrëft un.', |
| 983 | + 'wikilove-err-title' => 'Gitt w.e.g. en Titel un.', |
| 984 | + 'wikilove-err-msg' => 'Gitt w.e.g. e perseinleche Message an.', |
| 985 | + 'wikilove-err-image' => 'Sicht w.e.g. e Bild eraus.', |
| 986 | + 'wikilove-err-image-bad' => 'Bild gëtt et net.', |
| 987 | + 'wikilove-err-image-api' => 'Beim Opruffe vum Bild ass eppes schif gaang. Probéiert et w.e.g. nach emol.', |
| 988 | + 'wikilove-err-gallery' => 'Beim Luede vun de Biller huet eppes net fonctionnéiert.', |
| 989 | + 'wikilove-err-gallery-again' => 'Probéiert nach emol', |
| 990 | + 'wikilove-err-send-api' => 'Beim Schécke vun der Noriicht ass eppes schif gaang. Probéiert et w.e.g. nach emol.', |
| 991 | + 'wikilove-summary' => '/* $1 */ neie WikiLove Message', |
| 992 | + 'wikilove-what-is-this' => 'Wat ass dat?', |
| 993 | + 'wikilove-anon-warning' => 'Notiz: Dëse Benotzer ass net registréiert, hien oder si gesäit dëse Message méiglecherweis net.', |
| 994 | +); |
| 995 | + |
| 996 | +/** Macedonian (Македонски) |
| 997 | + * @author Bjankuloski06 |
| 998 | + */ |
| 999 | +$messages['mk'] = array( |
| 1000 | + 'wikilove-desc' => 'Додава посредник за искажување на позитивни мислења и поддршка на кориснички страници за разговор', |
| 1001 | + 'wikilove' => 'ВикиЉубов', |
| 1002 | + 'wikilove-enable-preference' => 'Овозможи оддавање на признанија и заслуги со јазичето ВикиЉубов (експериментално)', |
| 1003 | + 'wikilove-tab-text' => 'ВикиЉубов', |
| 1004 | + 'tooltip-ca-wikilove' => 'Оставете му порака на корисников кажувајќи му дека го цените', |
| 1005 | + 'wikilove-dialog-title' => 'ВикиЉубов - испратете порака на корисник, оддавајќи му признание за работата', |
| 1006 | + 'wikilove-select-type' => 'Одберете тип', |
| 1007 | + 'wikilove-get-started-header' => 'Да почнеме!', |
| 1008 | + 'wikilove-get-started-list-1' => 'Одберете го типот на ВикиЉубов што сакате да ја испратите', |
| 1009 | + 'wikilove-get-started-list-2' => 'Внесете содржина на ВикиЉубов-та', |
| 1010 | + 'wikilove-get-started-list-3' => 'Испратете ја вашата ВикиЉубов', |
| 1011 | + 'wikilove-add-details' => 'Внесете содржина', |
| 1012 | + 'wikilove-image' => 'Внесете име на слика:', |
| 1013 | + 'wikilove-select-image' => 'Одберете слика:', |
| 1014 | + 'wikilove-header' => 'Внесете заглавие:', |
| 1015 | + 'wikilove-title' => 'Внесете назив на наградата:', |
| 1016 | + 'wikilove-enter-message' => 'Внесете порака:', |
| 1017 | + 'wikilove-omit-sig' => '(без потпис)', |
| 1018 | + 'wikilove-image-example' => '(пример: Trophy.png)', |
| 1019 | + 'wikilove-button-preview' => 'Преглед', |
| 1020 | + 'wikilove-preview' => 'Преглед', |
| 1021 | + 'wikilove-notify' => 'Извести го корисникот по е-пошта', |
| 1022 | + 'wikilove-button-send' => 'Испрати ВикиЉубов', |
| 1023 | + 'wikilove-type-barnstars' => 'Одликувања', |
| 1024 | + 'wikilove-type-food' => 'Храна и пијалоци', |
| 1025 | + 'wikilove-type-kittens' => 'Мачиња', |
| 1026 | + 'wikilove-type-makeyourown' => 'Направете своја', |
| 1027 | + 'wikilove-err-header' => 'Внесете заглавие.', |
| 1028 | + 'wikilove-err-title' => 'Внесете наслов.', |
| 1029 | + 'wikilove-err-msg' => 'Внесете ваша порака.', |
| 1030 | + 'wikilove-err-image' => 'Одберете слика.', |
| 1031 | + 'wikilove-err-image-bad' => 'Сликата не постои.', |
| 1032 | + 'wikilove-err-image-api' => 'Се појави проблем при преземањето на сликата. Обидете се повторно.', |
| 1033 | + 'wikilove-err-sig' => 'Не ставајте потпис во пораката.', |
| 1034 | + 'wikilove-err-gallery' => 'Се појави грешка при вчитувањето на сликите!', |
| 1035 | + 'wikilove-err-gallery-again' => 'Обиди се повторно', |
| 1036 | + 'wikilove-err-preview-api' => 'Се појави проблем при прегледувањето. Обидете се повторно.', |
| 1037 | + 'wikilove-err-send-api' => 'Се појави проблем при испраќањето на пораката. Обидете се повторно.', |
| 1038 | + 'wikilove-summary' => '/* $1 */ нова порака (ВикиЉубов)', |
| 1039 | + 'wikilove-what-is-this' => 'Што е ова?', |
| 1040 | + 'wikilove-anon-warning' => 'Напомена: Корисникот не е регистриран, па затоа може да не ја примети поракава.', |
| 1041 | + 'wikilove-commons-text' => 'Слики можете да најдете во проектот $1.', |
| 1042 | + 'wikilove-commons-link' => 'Заедничка Ризница', |
| 1043 | + 'wikilove-commons-url' => 'http://commons.wikimedia.org/wiki/Главна_страница?uselang=mk', |
| 1044 | +); |
| 1045 | + |
| 1046 | +/** Malayalam (മലയാളം) |
| 1047 | + * @author Praveenp |
| 1048 | + */ |
| 1049 | +$messages['ml'] = array( |
| 1050 | + 'wikilove-desc' => 'ഉപയോക്താക്കൾക്ക് സംവാദം താളുകൾ വഴി ഗുണാത്മക അഭിപ്രായങ്ങൾ പ്രകടിപ്പിക്കാനുള്ള സമ്പർക്കമുഖം കൂട്ടിച്ചേർക്കുന്നു', |
| 1051 | + 'wikilove' => 'വിക്കിസ്നേഹം', |
| 1052 | + 'wikilove-enable-preference' => 'വിക്കിസ്നേഹം റ്റാബ് ഉപയോഗിച്ച് മറ്റ് ഉപയോക്താക്കളെ അഭിനന്ദനങ്ങൾ അറിയിക്കൽ സജ്ജമാക്കുക (പരീക്ഷണാടിസ്ഥാനം)', |
| 1053 | + 'wikilove-tab-text' => 'വിക്കിസ്നേഹം', |
| 1054 | + 'tooltip-ca-wikilove' => 'താങ്കളുടെ അഭിനന്ദനം അറിയിക്കാൻ ഈ ഉപയോക്താവിന് ഒരു സന്ദേശയമയ്ക്കുക', |
| 1055 | + 'wikilove-dialog-title' => 'വിക്കിസ്നേഹം - മറ്റൊരു ഉപയോക്താവിനെ അഭിനന്ദനം അറിയിക്കാനൊരു സന്ദേശം നൽകുക', |
| 1056 | + 'wikilove-select-type' => 'ഇനം തിരഞ്ഞെടുക്കുക', |
| 1057 | + 'wikilove-get-started-header' => 'നമുക്ക് തുടങ്ങാം!', |
| 1058 | + 'wikilove-get-started-list-1' => 'താങ്കൾ അയയ്ക്കാനാഗ്രഹിക്കുന്ന തരം വിക്കിസ്നേഹം തിരഞ്ഞെടുക്കുക', |
| 1059 | + 'wikilove-get-started-list-2' => 'താങ്കളുടെ വിക്കിസ്നേഹത്തിലേയ്ക്ക് കൂടുതൽ വിവരങ്ങൾ കൂട്ടിച്ചേർക്കുക', |
| 1060 | + 'wikilove-get-started-list-3' => 'താങ്കളുടെ വിക്കിസ്നേഹം അയയ്ക്കുക!', |
| 1061 | + 'wikilove-add-details' => 'അധികവിവരങ്ങൾ ചേർക്കുക', |
| 1062 | + 'wikilove-image' => 'ഒരു ചിത്രത്തിന്റെ പേര് നൽകുക:', |
| 1063 | + 'wikilove-select-image' => 'ചിത്രം തിരഞ്ഞെടുക്കുക:', |
| 1064 | + 'wikilove-header' => 'തലക്കുറി നൽകുക:', |
| 1065 | + 'wikilove-title' => 'പുരസ്കാരത്തിന്റെ തലക്കെട്ട് നൽകുക:', |
| 1066 | + 'wikilove-enter-message' => 'സന്ദേശം നൽകുക:', |
| 1067 | + 'wikilove-omit-sig' => '(ഒപ്പ് ചേർക്കേണ്ടതില്ല)', |
| 1068 | + 'wikilove-image-example' => '(ഉദാ: Trophy.png)', |
| 1069 | + 'wikilove-button-preview' => 'എങ്ങനെയുണ്ടെന്നു കാണുക', |
| 1070 | + 'wikilove-preview' => 'എങ്ങനെയുണ്ടെന്നു കാണുക', |
| 1071 | + 'wikilove-notify' => 'ഉപയോക്താവിനെ ഇമെയിൽ വഴി അറിയിക്കുക', |
| 1072 | + 'wikilove-button-send' => 'വിക്കിസ്നേഹം അയയ്ക്കുക', |
| 1073 | + 'wikilove-type-barnstars' => 'പ്രവർത്തനതാരകങ്ങൾ', |
| 1074 | + 'wikilove-type-food' => 'ഭക്ഷണപാനീയങ്ങൾ', |
| 1075 | + 'wikilove-type-kittens' => 'പൂച്ചക്കുട്ടികൾ', |
| 1076 | + 'wikilove-type-makeyourown' => 'സ്വന്തമായിട്ടൊന്നുണ്ടാക്കുക', |
| 1077 | + 'wikilove-err-header' => 'ദയവായി ഒരു തലക്കുറി ചേർക്കുക.', |
| 1078 | + 'wikilove-err-title' => 'ദയവായി തലക്കെട്ട് നൽകുക.', |
| 1079 | + 'wikilove-err-msg' => 'ദയവായി ഒരു സന്ദേശം ചേർക്കുക.', |
| 1080 | + 'wikilove-err-image' => 'ദയവായി ചിത്രം തിരഞ്ഞെടുക്കുക.', |
| 1081 | + 'wikilove-err-image-bad' => 'ചിത്രം നിലവിലില്ല.', |
| 1082 | + 'wikilove-err-image-api' => 'ചിത്രം എടുക്കാൻ നോക്കിയപ്പോൾ എന്തോ പിഴവുണ്ടായി. വീണ്ടും ശ്രമിക്കുക.', |
| 1083 | + 'wikilove-err-sig' => 'ദയവായി സന്ദേശത്തിൽ ഒപ്പ് ഉൾപ്പെടുത്തരുത്.', |
| 1084 | + 'wikilove-err-gallery' => 'ചിത്രങ്ങൾ ശേഖരിച്ചുകൊണ്ടിരിക്കെ എന്തോ കുഴപ്പമുണ്ടായി!', |
| 1085 | + 'wikilove-err-gallery-again' => 'വീണ്ടും ശ്രമിക്കുക', |
| 1086 | + 'wikilove-err-preview-api' => 'പ്രിവ്യൂ എടുത്തപ്പോൾ എന്തോ പിഴവുണ്ടായി. ദയവായി വീണ്ടും ശ്രമിക്കുക.', |
| 1087 | + 'wikilove-err-send-api' => 'സന്ദേശം അയയ്ക്കാൻ നോക്കിയപ്പോൾ എന്തോ പിഴവുണ്ടായി. വീണ്ടും ശ്രമിക്കുക.', |
| 1088 | + 'wikilove-summary' => '/* $1 */ പുതിയ വിക്കിസ്നേഹസന്ദേശം', |
| 1089 | + 'wikilove-what-is-this' => 'എന്താണിത്?', |
| 1090 | + 'wikilove-anon-warning' => 'കുറിപ്പ്: ഈ ഉപയോക്താവ് അംഗത്വമെടുത്തിട്ടില്ല, അദ്ദേഹം ഈ സന്ദേശം ശ്രദ്ധിക്കാനിടയില്ല.', |
| 1091 | + 'wikilove-commons-text' => '$1 ബ്രൗസ് ചെയ്ത് ചിത്രങ്ങൾ കണ്ടുപിറ്റിക്കാവുന്നതാണ്.', |
| 1092 | +); |
| 1093 | + |
| 1094 | +/** Malay (Bahasa Melayu) |
| 1095 | + * @author Anakmalaysia |
| 1096 | + */ |
| 1097 | +$messages['ms'] = array( |
| 1098 | + 'wikilove-desc' => 'Menambahkan antara muka untuk memudahkan maklum balas pengguna yang positif kepada laman perbincangan pengguna', |
| 1099 | + 'wikilove' => 'WikiLove', |
| 1100 | + 'wikilove-enable-preference' => 'Membolehkan pengguna saling memberikan penghargaan dengan tab WikiLove (percubaan)', |
| 1101 | + 'wikilove-tab-text' => 'WikiLove', |
| 1102 | + 'tooltip-ca-wikilove' => 'Kirim satu pesanan kepada pengguna ini sebagai tanda penghargaan', |
| 1103 | + 'wikilove-dialog-title' => 'WikiLove – Kirim pesanan penghargaan kepada pengguna lain', |
| 1104 | + 'wikilove-select-type' => 'Pilih jenis', |
| 1105 | + 'wikilove-get-started-header' => 'Mari kita bermula!', |
| 1106 | + 'wikilove-get-started-list-1' => 'Pilih jenis WikiLove yang ingin anda kirim', |
| 1107 | + 'wikilove-get-started-list-2' => 'Tambahkan butiran pada WikiLove anda', |
| 1108 | + 'wikilove-get-started-list-3' => 'Hantar WikiLove anda!', |
| 1109 | + 'wikilove-add-details' => 'Tambah butiran', |
| 1110 | + 'wikilove-image' => 'Isikan nama fail imej:', |
| 1111 | + 'wikilove-select-image' => 'Pilih imej:', |
| 1112 | + 'wikilove-header' => 'Isikan pengatas:', |
| 1113 | + 'wikilove-title' => 'Isikan gelaran anugerah:', |
| 1114 | + 'wikilove-enter-message' => 'Isikan mesej:', |
| 1115 | + 'wikilove-omit-sig' => '(tanpa tandatangan)', |
| 1116 | + 'wikilove-image-example' => '(contoh: Trophy.png)', |
| 1117 | + 'wikilove-button-preview' => 'Pralihat', |
| 1118 | + 'wikilove-preview' => 'Pralihat', |
| 1119 | + 'wikilove-notify' => 'Beritahu pengguna melalui e-mel', |
| 1120 | + 'wikilove-button-send' => 'Hantar WikiLove', |
| 1121 | + 'wikilove-type-barnstars' => 'Barnstar', |
| 1122 | + 'wikilove-type-food' => 'Makanan dan minuman', |
| 1123 | + 'wikilove-type-kittens' => 'Anak kucing', |
| 1124 | + 'wikilove-type-makeyourown' => 'Bikin sendiri', |
| 1125 | + 'wikilove-err-header' => 'Sila isikan pengatas.', |
| 1126 | + 'wikilove-err-title' => 'Sila isikan tajuk.', |
| 1127 | + 'wikilove-err-msg' => 'Sila tuliskan pesanan peribadi.', |
| 1128 | + 'wikilove-err-image' => 'Sila pilih imej.', |
| 1129 | + 'wikilove-err-image-bad' => 'Imej tidak wujud.', |
| 1130 | + 'wikilove-err-image-api' => 'Masalah timbul ketika mendapatkan imej itu. Sila cuba lagi.', |
| 1131 | + 'wikilove-err-sig' => 'Tolong jangan sertakan tandatangan dalam pesanan.', |
| 1132 | + 'wikilove-err-gallery' => 'Masalah timbu ketika memuatkan imej.', |
| 1133 | + 'wikilove-err-gallery-again' => 'Cuba lagi', |
| 1134 | + 'wikilove-err-preview-api' => 'Masalah timbul ketika pralihat. Sila cuba lagi.', |
| 1135 | + 'wikilove-err-send-api' => 'Masalah timbul ketika menghantar pesanan. Sila cuba lagi.', |
| 1136 | + 'wikilove-summary' => '/* $1 */ pesanan WikiLove baru', |
| 1137 | + 'wikilove-what-is-this' => 'Apakah ini?', |
| 1138 | + 'wikilove-anon-warning' => 'Perhatian: Pengguna ini tidak berdaftar, jadi mungkin dia tidak dapat perasan pesanan ini.', |
| 1139 | + 'wikilove-commons-text' => 'Anda boleh mencari imej dengan melayari $1.', |
| 1140 | +); |
| 1141 | + |
| 1142 | +/** Dutch (Nederlands) |
| 1143 | + * @author SPQRobin |
| 1144 | + * @author Siebrand |
| 1145 | + * @author Tjcool007 |
| 1146 | + */ |
| 1147 | +$messages['nl'] = array( |
| 1148 | + 'wikilove-desc' => "Voegt een interface toe voor het geven van positieve terugkoppeling op overlegpagina's van gebruikers", |
| 1149 | + 'wikilove' => 'Wikiwaardering', |
| 1150 | + 'wikilove-enable-preference' => 'Waardering geven aan andere gebruikers via Wikiwaardering inschakelen (experimenteel)', |
| 1151 | + 'wikilove-tab-text' => 'Wikiwaardering', |
| 1152 | + 'tooltip-ca-wikilove' => 'Plaats een bericht voor deze gebruiker om uw waardering te tonen', |
| 1153 | + 'wikilove-dialog-title' => 'Wikiwaardering - stuur een boodschap van waardering naar een andere gebruiker', |
| 1154 | + 'wikilove-select-type' => 'Selecteer type', |
| 1155 | + 'wikilove-get-started-header' => 'Begin ermee!', |
| 1156 | + 'wikilove-get-started-list-1' => 'Selecteer het type Wikiwaardering dat u wilt achterlaten', |
| 1157 | + 'wikilove-get-started-list-2' => 'Voeg gegevens toe aan uw Wikiwaardering', |
| 1158 | + 'wikilove-get-started-list-3' => 'Verzend uw Wikiwaardering!', |
| 1159 | + 'wikilove-add-details' => 'Gegevens toevoegen', |
| 1160 | + 'wikilove-image' => 'Geef de bestandsnaam van een afbeelding op:', |
| 1161 | + 'wikilove-select-image' => 'Kies een afbeelding:', |
| 1162 | + 'wikilove-header' => 'Geef een koptekst op:', |
| 1163 | + 'wikilove-title' => 'Geef een waarderingsnaam op:', |
| 1164 | + 'wikilove-enter-message' => 'Voer een bericht in:', |
| 1165 | + 'wikilove-omit-sig' => '(zonder ondertekening)', |
| 1166 | + 'wikilove-image-example' => '(Voorbeeld: Trophy.png)', |
| 1167 | + 'wikilove-button-preview' => 'Voorvertoning', |
| 1168 | + 'wikilove-preview' => 'Voorvertoning', |
| 1169 | + 'wikilove-notify' => 'De gebruiker een bericht sturen via e-mail', |
| 1170 | + 'wikilove-button-send' => 'Wikiwaardering versturen', |
| 1171 | + 'wikilove-type-barnstars' => 'Sterren', |
| 1172 | + 'wikilove-type-food' => 'Eten en drinken', |
| 1173 | + 'wikilove-type-kittens' => 'Katjes', |
| 1174 | + 'wikilove-type-makeyourown' => 'Uw eigen maken', |
| 1175 | + 'wikilove-err-header' => 'Geef een koptekst op.', |
| 1176 | + 'wikilove-err-title' => 'Geef een naam op.', |
| 1177 | + 'wikilove-err-msg' => 'Geef een persoonlijk bericht op.', |
| 1178 | + 'wikilove-err-image' => 'Selecteer een afbeelding.', |
| 1179 | + 'wikilove-err-image-bad' => 'Afbeelding bestaat niet.', |
| 1180 | + 'wikilove-err-image-api' => 'Er is iets misgegaan bij het ophalen van de afbeelding. Probeer het opnieuw.', |
| 1181 | + 'wikilove-err-sig' => 'Neem geen ondertekening op in dit bericht.', |
| 1182 | + 'wikilove-err-gallery' => 'Er iets misgegaan bij het laden van de afbeeldingen.', |
| 1183 | + 'wikilove-err-gallery-again' => 'Probeer het opnieuw', |
| 1184 | + 'wikilove-err-preview-api' => 'Er is iets misgegaan tijdens de voorvertoning. Probeer het opnieuw.', |
| 1185 | + 'wikilove-err-send-api' => 'Er is iets misgegaan bij het verzenden van de afbeelding. Probeer het opnieuw.', |
| 1186 | + 'wikilove-summary' => '/* $1 */ nieuw Wikiwaarderingbericht', |
| 1187 | + 'wikilove-what-is-this' => 'Wat is dit?', |
| 1188 | + 'wikilove-anon-warning' => 'Opmerking: Deze gebruiker is niet geregistreerd, hij of zij ziet dit bericht misschien niet.', |
| 1189 | + 'wikilove-commons-text' => 'U kunt afbeeldingen vinden door op $1 te bladeren.', |
| 1190 | +); |
| 1191 | + |
| 1192 | +/** Norwegian (bokmål) (Norsk (bokmål)) |
| 1193 | + * @author Cocu |
| 1194 | + * @author Stigmj |
| 1195 | + */ |
| 1196 | +$messages['no'] = array( |
| 1197 | + 'wikilove-desc' => 'Legger til et grensesnitt for å forenkle positive tilbakemeldinger til brukeres diskusjonssider', |
| 1198 | + 'wikilove' => 'WikiLove', |
| 1199 | + 'wikilove-enable-preference' => 'Aktiver muligheten for å vise takknemlighet til andre brukere med WikiLove-fanen (eksperimentell)', |
| 1200 | + 'wikilove-tab-text' => 'WikiLove', |
| 1201 | + 'tooltip-ca-wikilove' => 'Legg inn en melding til denne brukeren som viser din takknemlighet', |
| 1202 | + 'wikilove-dialog-title' => 'WikiLove - Send en takknemlighetsmelding til en annen bruker', |
| 1203 | + 'wikilove-select-type' => 'Velg type', |
| 1204 | + 'wikilove-get-started-header' => 'La oss sette i gang!', |
| 1205 | + 'wikilove-get-started-list-1' => 'Velg WikiLove-typen du vil sende', |
| 1206 | + 'wikilove-get-started-list-2' => 'Legg til detaljer i WikiLove-meldingen din', |
| 1207 | + 'wikilove-get-started-list-3' => 'Send din WikiLove!', |
| 1208 | + 'wikilove-add-details' => 'Legg til detaljer', |
| 1209 | + 'wikilove-image' => 'Skriv inn filnavnet til et bilde:', |
| 1210 | + 'wikilove-select-image' => 'Velg et bilde:', |
| 1211 | + 'wikilove-header' => 'Angi en topptekst:', |
| 1212 | + 'wikilove-title' => 'Skriv inn en tittel for tildelingen:', |
| 1213 | + 'wikilove-enter-message' => 'Skriv inn en melding:', |
| 1214 | + 'wikilove-omit-sig' => '(uten signatur)', |
| 1215 | + 'wikilove-image-example' => '(eksempel: Trophy.png)', |
| 1216 | + 'wikilove-button-preview' => 'Forhåndsvisning', |
| 1217 | + 'wikilove-preview' => 'Forhåndsvis', |
| 1218 | + 'wikilove-notify' => 'Varsle brukeren via e-post', |
| 1219 | + 'wikilove-button-send' => 'Send WikiLove', |
| 1220 | + 'wikilove-type-food' => 'Mat og drikke', |
| 1221 | + 'wikilove-type-makeyourown' => 'Lag din egen', |
| 1222 | + 'wikilove-err-header' => 'Vennligst skriv inn en overskrift.', |
| 1223 | + 'wikilove-err-title' => 'Vennligst skriv inn en tittel.', |
| 1224 | + 'wikilove-err-msg' => 'Vennligst skriv inn en melding.', |
| 1225 | + 'wikilove-err-image' => 'Vennligst velg et bilde.', |
| 1226 | + 'wikilove-err-image-bad' => 'Bildet finnes ikke.', |
| 1227 | + 'wikilove-err-image-api' => 'Noe gikk galt under henting av bildet. Vennligst prøv igjen.', |
| 1228 | + 'wikilove-err-sig' => 'Vennligst ikke inkluder en signatur i meldingen.', |
| 1229 | + 'wikilove-err-gallery' => 'Noe gikk galt ved innlasting av bilder.', |
| 1230 | + 'wikilove-err-gallery-again' => 'Prøv igjen', |
| 1231 | + 'wikilove-err-preview-api' => 'Noe gikk galt under forhåndsvisningen. Vennligst prøv igjen.', |
| 1232 | + 'wikilove-err-send-api' => 'Noe gikk galt under sending av meldingen. Vennligst prøv igjen.', |
| 1233 | + 'wikilove-summary' => '/ * $1 * / ny WikiLove-melding', |
| 1234 | + 'wikilove-what-is-this' => 'Hva er dette?', |
| 1235 | + 'wikilove-anon-warning' => 'Merk: Denne brukeren er ikke registrert, det kan derfor hende at vedkommende ikke legger merke til denne meldingen.', |
| 1236 | + 'wikilove-commons-text' => 'Du kan finne bilder ved å bla gjennom $1.', |
| 1237 | +); |
| 1238 | + |
| 1239 | +/** Polish (Polski) |
| 1240 | + * @author Sp5uhe |
| 1241 | + */ |
| 1242 | +$messages['pl'] = array( |
| 1243 | + 'wikilove-desc' => 'Dodaje interfejs ułatwiający dodawanie pozytywnych opinii do stron dyskusji innych użytkowników.', |
| 1244 | + 'wikilove' => 'WikiLove', |
| 1245 | + 'wikilove-enable-preference' => 'Wyświetlaj innym użytkownikom zakładkę WikiLove umożliwiającą wysłanie wiadomości wyrażającej uznanie (eksperymentalne)', |
| 1246 | + 'wikilove-tab-text' => 'WikiLove', |
| 1247 | + 'tooltip-ca-wikilove' => 'Napisz wiadomość do tego użytkownika, wyrażając swoje uznanie', |
| 1248 | + 'wikilove-dialog-title' => 'WikiLove – wyślij do innego użytkownika wiadomość wyrażającą uznanie', |
| 1249 | + 'wikilove-select-type' => 'Wybierz typ', |
| 1250 | + 'wikilove-get-started-header' => 'Zaczynamy!', |
| 1251 | + 'wikilove-get-started-list-1' => 'Wybierz typ wiadomości WikiLove, którą chcesz wysłać', |
| 1252 | + 'wikilove-get-started-list-2' => 'Dodaj szczegółowe informacje do WikiLove', |
| 1253 | + 'wikilove-get-started-list-3' => 'Wyślij WikiLove!', |
| 1254 | + 'wikilove-add-details' => 'Dodaj szczegółowe informacje', |
| 1255 | + 'wikilove-image' => 'Nazwa pliku obrazka', |
| 1256 | + 'wikilove-select-image' => 'Wybierz obrazek', |
| 1257 | + 'wikilove-header' => 'Nagłówek', |
| 1258 | + 'wikilove-title' => 'Powód wyrażenia uznania', |
| 1259 | + 'wikilove-enter-message' => 'Wiadomość', |
| 1260 | + 'wikilove-omit-sig' => '(bez podpisu)', |
| 1261 | + 'wikilove-image-example' => '(przykład: Trophy.png)', |
| 1262 | + 'wikilove-button-preview' => 'Podgląd', |
| 1263 | + 'wikilove-preview' => 'Podgląd', |
| 1264 | + 'wikilove-notify' => 'Poinformuj użytkownika przez e‐mail', |
| 1265 | + 'wikilove-button-send' => 'Wyślij', |
| 1266 | + 'wikilove-type-barnstars' => 'Gwiazdy', |
| 1267 | + 'wikilove-type-food' => 'Jedzenie i picie', |
| 1268 | + 'wikilove-type-kittens' => 'Kociaki', |
| 1269 | + 'wikilove-type-makeyourown' => 'Stwórz własne', |
| 1270 | + 'wikilove-err-header' => 'Wpisz nagłówek', |
| 1271 | + 'wikilove-err-title' => 'Należy wpisać tytuł.', |
| 1272 | + 'wikilove-err-msg' => 'Wpisz spersonalizowaną wiadomość.', |
| 1273 | + 'wikilove-err-image' => 'Wybierz obrazek.', |
| 1274 | + 'wikilove-err-image-bad' => 'Taki obrazek nie istnieje.', |
| 1275 | + 'wikilove-err-image-api' => 'Coś poszło nie tak podczas pobierania obrazka. Spróbuj ponownie.', |
| 1276 | + 'wikilove-err-sig' => 'Nie podpisuj wiadomości.', |
| 1277 | + 'wikilove-err-gallery' => 'Coś poszło nie tak podczas ładowania obrazków.', |
| 1278 | + 'wikilove-err-gallery-again' => 'Spróbuj ponownie', |
| 1279 | + 'wikilove-err-preview-api' => 'Coś poszło nie tak podczas wyświetlania podglądu. Spróbuj ponownie.', |
| 1280 | + 'wikilove-err-send-api' => 'Coś poszło nie tak podczas wysyłania wiadomości. Spróbuj ponownie.', |
| 1281 | + 'wikilove-summary' => '/* $1 */ nowa wiadomość WikiLove', |
| 1282 | + 'wikilove-what-is-this' => 'Co to jest?', |
| 1283 | + 'wikilove-anon-warning' => 'Uwaga! Ten użytkownik nie jest zarejestrowany, on lub ona może nie zauważyć tej wiadomości.', |
| 1284 | + 'wikilove-commons-text' => 'Możesz znaleźć obrazki przeglądając $1.', |
| 1285 | +); |
| 1286 | + |
| 1287 | +/** Pashto (پښتو) |
| 1288 | + * @author Ahmed-Najib-Biabani-Ibrahimkhel |
| 1289 | + */ |
| 1290 | +$messages['ps'] = array( |
| 1291 | + 'wikilove-image' => 'انځور:', |
| 1292 | + 'wikilove-title' => 'سرليک:', |
| 1293 | +); |
| 1294 | + |
| 1295 | +/** Portuguese (Português) |
| 1296 | + * @author Hamilton Abreu |
| 1297 | + */ |
| 1298 | +$messages['pt'] = array( |
| 1299 | + 'wikilove-desc' => 'Adiciona uma interface para facilitar a colocação de demonstrações de apreço nas páginas de discussão dos utilizadores', |
| 1300 | + 'wikilove' => 'WikiApreço', |
| 1301 | + 'wikilove-enable-preference' => 'Permite enviar demonstrações de apreço a outros utilizadores usando o separador "WikiApreço" (experimental)', |
| 1302 | + 'wikilove-tab-text' => 'WikiApreço', |
| 1303 | + 'tooltip-ca-wikilove' => 'Envie uma mensagem a este utilizador demonstrando o seu apreço', |
| 1304 | + 'wikilove-dialog-title' => 'WikiApreço - Envie uma mensagem de apreço a outro utilizador', |
| 1305 | + 'wikilove-select-type' => 'Escolha o tipo', |
| 1306 | + 'wikilove-get-started-header' => 'Vamos começar!', |
| 1307 | + 'wikilove-get-started-list-1' => 'Escolha o tipo de WikiApreço que pretende enviar', |
| 1308 | + 'wikilove-get-started-list-2' => 'Acrescente detalhes ao seu WikiApreço', |
| 1309 | + 'wikilove-get-started-list-3' => 'Envie o seu WikiApreço!', |
| 1310 | + 'wikilove-add-details' => 'Adicionar detalhes', |
| 1311 | + 'wikilove-image' => 'Introduza o nome de uma imagem:', |
| 1312 | + 'wikilove-select-image' => 'Seleccione uma imagem:', |
| 1313 | + 'wikilove-header' => 'Introduza um cabeçalho:', |
| 1314 | + 'wikilove-title' => 'Introduza o título de um prémio:', |
| 1315 | + 'wikilove-enter-message' => 'Introduza uma mensagem:', |
| 1316 | + 'wikilove-omit-sig' => '(sem assinatura)', |
| 1317 | + 'wikilove-image-example' => '(exemplo: Trophy.png)', |
| 1318 | + 'wikilove-button-preview' => 'Antever', |
| 1319 | + 'wikilove-preview' => 'Antevisão', |
| 1320 | + 'wikilove-notify' => 'Notificar o utilizador por correio electrónico', |
| 1321 | + 'wikilove-button-send' => 'Enviar WikiApreço', |
| 1322 | + 'wikilove-type-barnstars' => 'Distinções', |
| 1323 | + 'wikilove-type-food' => 'Comes e bebes', |
| 1324 | + 'wikilove-type-kittens' => 'Gatinhos', |
| 1325 | + 'wikilove-type-makeyourown' => 'Crie o seu', |
| 1326 | + 'wikilove-err-header' => 'Introduza um cabeçalho, por favor.', |
| 1327 | + 'wikilove-err-title' => 'Introduza um título, por favor.', |
| 1328 | + 'wikilove-err-msg' => 'Introduza uma mensagem personalizada, por favor.', |
| 1329 | + 'wikilove-err-image' => 'Escolha uma imagem, por favor.', |
| 1330 | + 'wikilove-err-image-bad' => 'A imagem não existe.', |
| 1331 | + 'wikilove-err-image-api' => 'Ocorreu um erro ao aceder à imagem. Tente novamente, por favor.', |
| 1332 | + 'wikilove-err-sig' => 'Não inclua uma assinatura na mensagem, por favor.', |
| 1333 | + 'wikilove-err-gallery' => 'Ocorreu um erro ao carregar as imagens!', |
| 1334 | + 'wikilove-err-gallery-again' => 'Tente novamente', |
| 1335 | + 'wikilove-err-preview-api' => 'Ocorreu um erro durante a antevisão. Tente novamente, por favor.', |
| 1336 | + 'wikilove-err-send-api' => 'Ocorreu um erro ao enviar a mensagem. Tente novamente, por favor.', |
| 1337 | + 'wikilove-summary' => '/* $1 */ nova mensagem de WikiApreço', |
| 1338 | + 'wikilove-what-is-this' => 'O que é isto?', |
| 1339 | + 'wikilove-anon-warning' => 'Nota: Este utilizador não está registado e poderá não se aperceber desta mensagem.', |
| 1340 | + 'wikilove-commons-text' => 'Pode encontrar imagens na $1.', |
| 1341 | +); |
| 1342 | + |
| 1343 | +/** Brazilian Portuguese (Português do Brasil) |
| 1344 | + * @author Kaldari |
| 1345 | + * @author Raylton P. Sousa |
| 1346 | + */ |
| 1347 | +$messages['pt-br'] = array( |
| 1348 | + 'wikilove-desc' => 'Adiciona uma interface para facilitar a demonstrações de apreço nas páginas de discussão dos utilizadores', |
| 1349 | + 'wikilove' => 'WikiApreço', |
| 1350 | + 'wikilove-enable-preference' => 'Permite enviar demonstrações de apreço a outros utilizadores usando o separador "WikiApreço" (experimental)', |
| 1351 | + 'wikilove-tab-text' => 'WikiApreço', |
| 1352 | + 'tooltip-ca-wikilove' => 'Envie uma mensagem a este utilizador demonstrando o seu apreço', |
| 1353 | + 'wikilove-dialog-title' => 'WikiApreço - Envie uma mensagem de apreço a outro utilizador', |
| 1354 | + 'wikilove-select-type' => 'Escolha o tipo', |
| 1355 | + 'wikilove-get-started-header' => 'Vamos começar!', |
| 1356 | + 'wikilove-get-started-list-1' => 'Escolha o tipo de WikiApreço que pretende enviar', |
| 1357 | + 'wikilove-get-started-list-2' => 'Acrescente detalhes ao seu WikiApreço', |
| 1358 | + 'wikilove-get-started-list-3' => 'Enviar o seu WikiApreço!', |
| 1359 | + 'wikilove-add-details' => 'Adicionar detalhes', |
| 1360 | + 'wikilove-image' => 'Introduza o nome de uma imagem:', |
| 1361 | + 'wikilove-select-image' => 'Selecione uma imagem:', |
| 1362 | + 'wikilove-header' => 'Introduza um cabeçalho:', |
| 1363 | + 'wikilove-title' => 'Introduza o título de um prémio:', |
| 1364 | + 'wikilove-enter-message' => 'Introduza uma mensagem:', |
| 1365 | + 'wikilove-omit-sig' => '(sem assinatura)', |
| 1366 | + 'wikilove-image-example' => '(exemplo: Troféu.png)', |
| 1367 | + 'wikilove-button-preview' => 'Antever', |
| 1368 | + 'wikilove-preview' => 'Antevisão', |
| 1369 | + 'wikilove-notify' => 'Notificar o utilizador por correio eletrônico', |
| 1370 | + 'wikilove-button-send' => 'Enviar WikiApreço', |
| 1371 | + 'wikilove-type-barnstars' => 'Distinções', |
| 1372 | + 'wikilove-type-food' => 'Comes e bebes', |
| 1373 | + 'wikilove-type-kittens' => 'Gatinhos', |
| 1374 | + 'wikilove-type-makeyourown' => 'Crie o seu', |
| 1375 | + 'wikilove-err-header' => 'Introduza um cabeçalho, por favor.', |
| 1376 | + 'wikilove-err-title' => 'Introduza um título, por favor.', |
| 1377 | + 'wikilove-err-msg' => 'Introduza uma mensagem, por favor.', |
| 1378 | + 'wikilove-err-image' => 'Escolha uma imagem, por favor.', |
| 1379 | + 'wikilove-err-image-bad' => 'A imagem não existe.', |
| 1380 | + 'wikilove-err-image-api' => 'Ocorreu um erro ao tentar recuperar à imagem. Tente novamente, por favor.', |
| 1381 | + 'wikilove-err-sig' => 'Não inclua uma assinatura na mensagem, por favor.', |
| 1382 | + 'wikilove-err-gallery' => 'Ocorreu um erro ao carregar as imagens!', |
| 1383 | + 'wikilove-err-gallery-again' => 'Tente novamente', |
| 1384 | + 'wikilove-err-preview-api' => 'Ocorreu um erro durante a antevisão. Tente novamente, por favor.', |
| 1385 | + 'wikilove-err-send-api' => 'Ocorreu um erro ao enviar a mensagem. Tente novamente, por favor.', |
| 1386 | + 'wikilove-summary' => '/* $1 */ nova mensagem de WikiApreço', |
| 1387 | + 'wikilove-what-is-this' => 'O que é isto?', |
| 1388 | + 'wikilove-anon-warning' => 'Nota: Este utilizador não está registado e poderá não perceber esta mensagem.', |
| 1389 | + 'wikilove-commons-text' => 'Pode encontrar imagens pesquisando-as em $1.', |
| 1390 | +); |
| 1391 | + |
| 1392 | +/** Tarandíne (Tarandíne) |
| 1393 | + * @author Joetaras |
| 1394 | + */ |
| 1395 | +$messages['roa-tara'] = array( |
| 1396 | + 'wikilove-err-gallery-again' => 'Pruève arrete', |
| 1397 | +); |
| 1398 | + |
| 1399 | +/** Russian (Русский) |
| 1400 | + * @author Александр Сигачёв |
| 1401 | + */ |
| 1402 | +$messages['ru'] = array( |
| 1403 | + 'wikilove-desc' => 'Добавляет интерфейс для упрощения добавления положительных отзывов на страницы обсуждения участников', |
| 1404 | + 'wikilove' => 'ВикиСимпатия', |
| 1405 | + 'wikilove-enable-preference' => 'Включить вкладку ВикиСимпатия для выражения признательности другим пользователям (экспериментальная)', |
| 1406 | + 'wikilove-tab-text' => 'ВикиСимпатия', |
| 1407 | + 'tooltip-ca-wikilove' => 'Отправить сообщение для этого участника, выразить ему признательность', |
| 1408 | + 'wikilove-dialog-title' => 'ВикиСимпатия — выразите признательность другому участнику', |
| 1409 | + 'wikilove-select-type' => 'Выберите тип', |
| 1410 | + 'wikilove-get-started-header' => 'Давайте начнём!', |
| 1411 | + 'wikilove-get-started-list-1' => 'Выберите тип ВикиСимпатии, которую вы хотите выразить', |
| 1412 | + 'wikilove-get-started-list-2' => 'Добавьте подробности к вашей ВикиСимпатии', |
| 1413 | + 'wikilove-get-started-list-3' => 'Отправьте вашу ВикиСимпатию!', |
| 1414 | + 'wikilove-add-details' => 'Добавить подробности', |
| 1415 | + 'wikilove-image' => 'Введите имя файла с изображением:', |
| 1416 | + 'wikilove-select-image' => 'Выберите изображение:', |
| 1417 | + 'wikilove-header' => 'Введите заголовок:', |
| 1418 | + 'wikilove-title' => 'Введите название награды:', |
| 1419 | + 'wikilove-enter-message' => 'Введите сообщение:', |
| 1420 | + 'wikilove-omit-sig' => '(без подписи)', |
| 1421 | + 'wikilove-image-example' => '(например: Trophy.png)', |
| 1422 | + 'wikilove-button-preview' => 'Предпросмотр', |
| 1423 | + 'wikilove-preview' => 'Предпросмотр', |
| 1424 | + 'wikilove-notify' => 'Уведомить участника по электронной почте', |
| 1425 | + 'wikilove-button-send' => 'Отправить ВикиСимпатию', |
| 1426 | + 'wikilove-type-barnstars' => 'Ордена', |
| 1427 | + 'wikilove-type-food' => 'Еда и напитки', |
| 1428 | + 'wikilove-type-kittens' => 'Котята', |
| 1429 | + 'wikilove-type-makeyourown' => 'Сделать собственный', |
| 1430 | + 'wikilove-err-header' => 'Пожалуйста, введите заголовок.', |
| 1431 | + 'wikilove-err-title' => 'Пожалуйста, введите название.', |
| 1432 | + 'wikilove-err-msg' => 'Пожалуйста, введите персонализированное сообщение.', |
| 1433 | + 'wikilove-err-image' => 'Пожалуйста, выберите изображение.', |
| 1434 | + 'wikilove-err-image-bad' => 'Нет такого изображения.', |
| 1435 | + 'wikilove-err-image-api' => 'Что-то пошло не так, при получении изображения. Пожалуйста, попробуйте ещё раз.', |
| 1436 | + 'wikilove-err-sig' => 'Пожалуйста, не включайте подпись в сообщение.', |
| 1437 | + 'wikilove-err-gallery' => 'Что-то пошло не так при загрузке изображений!', |
| 1438 | + 'wikilove-err-gallery-again' => 'Попробуйте ещё раз', |
| 1439 | + 'wikilove-err-preview-api' => 'Что-то пошло не так во время предпросмотра. Пожалуйста, попробуйте ещё раз.', |
| 1440 | + 'wikilove-err-send-api' => 'Что-то пошло не так при отправке сообщения. Пожалуйста, попробуйте ещё раз.', |
| 1441 | + 'wikilove-summary' => '/ * $1 * / новая ВикиСимпатия', |
| 1442 | + 'wikilove-what-is-this' => 'Что это?', |
| 1443 | + 'wikilove-anon-warning' => 'Примечание. Этот участник не зарегистрирован, он или она может не заметить это сообщение.', |
| 1444 | + 'wikilove-commons-text' => 'Вы можете найти изображения в проекте $1.', |
| 1445 | + 'wikilove-commons-link' => 'Викисклад', |
| 1446 | + 'wikilove-commons-url' => 'http://commons.wikimedia.org/wiki/Main_Page?uselang=ru', |
| 1447 | +); |
| 1448 | + |
| 1449 | +/** Slovenian (Slovenščina) |
| 1450 | + * @author Dbc334 |
| 1451 | + */ |
| 1452 | +$messages['sl'] = array( |
| 1453 | + 'wikilove-desc' => 'Doda vmesnik za olajšanje pozitivne povratne informacije uporabnika na uporabniških pogovornih straneh', |
| 1454 | + 'wikilove' => 'WikiLjubezen', |
| 1455 | + 'wikilove-enable-preference' => 'Omogoči izkazovanje hvaležnosti drugim uporabnikom z zavihkom WikiLjubezen (preizkusno)', |
| 1456 | + 'wikilove-tab-text' => 'WikiLjubezen', |
| 1457 | + 'tooltip-ca-wikilove' => 'Objavite sporočilo za tega uporabnika, s katerim boste izkazali svojo hvaležnost', |
| 1458 | + 'wikilove-dialog-title' => 'WikiLjubezen – Pošljite drugemu uporabniku sporočilo hvaležnosti', |
| 1459 | + 'wikilove-select-type' => 'Izberite vrsto', |
| 1460 | + 'wikilove-get-started-header' => 'Začnimo!', |
| 1461 | + 'wikilove-get-started-list-1' => 'Izberite vrsto WikiLjubezni, ki jo želite poslati', |
| 1462 | + 'wikilove-get-started-list-2' => 'Dodajte podrobnosti svoji WikiLjubezni', |
| 1463 | + 'wikilove-get-started-list-3' => 'Pošljite svojo WikiLjubezen!', |
| 1464 | + 'wikilove-add-details' => 'Dodaj podrobnosti', |
| 1465 | + 'wikilove-image' => 'Vnesite ime datoteke slike:', |
| 1466 | + 'wikilove-select-image' => 'Izberite sliko:', |
| 1467 | + 'wikilove-header' => 'Vnesite glavo:', |
| 1468 | + 'wikilove-title' => 'Vnesite naslov nagrade:', |
| 1469 | + 'wikilove-enter-message' => 'Vnesite sporočilo:', |
| 1470 | + 'wikilove-omit-sig' => '(brez podpisa)', |
| 1471 | + 'wikilove-image-example' => '(primer: Trophy.png)', |
| 1472 | + 'wikilove-button-preview' => 'Predoglej', |
| 1473 | + 'wikilove-preview' => 'Predogled', |
| 1474 | + 'wikilove-notify' => 'Obvesti uporabnika po e-pošti', |
| 1475 | + 'wikilove-button-send' => 'Pošljite WikiLjubezen', |
| 1476 | + 'wikilove-type-barnstars' => 'Zvezde', |
| 1477 | + 'wikilove-type-food' => 'Hrana in pijača', |
| 1478 | + 'wikilove-type-kittens' => 'Mucke', |
| 1479 | + 'wikilove-type-makeyourown' => 'Naredite svojo', |
| 1480 | + 'wikilove-err-header' => 'Prosimo, vnesite glavo.', |
| 1481 | + 'wikilove-err-title' => 'Prosimo, vnesite naslov.', |
| 1482 | + 'wikilove-err-msg' => 'Prosimo, vnesite osebno sporočilo.', |
| 1483 | + 'wikilove-err-image' => 'Prosimo, izberite sliko.', |
| 1484 | + 'wikilove-err-image-bad' => 'Slika ne obstaja.', |
| 1485 | + 'wikilove-err-image-api' => 'Med pridobivanjem slike je nekaj šlo narobe. Prosimo, poskusite znova.', |
| 1486 | + 'wikilove-err-sig' => 'Prosimo, da v sporočilo ne vključite svojega podpisa.', |
| 1487 | + 'wikilove-err-gallery' => 'Nekaj je šlo narobe pri nalaganju slik!', |
| 1488 | + 'wikilove-err-gallery-again' => 'Poskusite znova', |
| 1489 | + 'wikilove-err-preview-api' => 'Med predogledom je nekaj šlo narobe. Prosimo, poskusite znova.', |
| 1490 | + 'wikilove-err-send-api' => 'Med pošiljanjem sporočila je nekaj šlo narobe. Prosimo, poskusite znova.', |
| 1491 | + 'wikilove-summary' => '/* $1 */ novo sporočilo WikiLjubezen', |
| 1492 | + 'wikilove-what-is-this' => 'Kaj je to?', |
| 1493 | + 'wikilove-anon-warning' => 'Opomba: Uporabnik ni registriran, zato sporočila morda ne bo opazil.', |
| 1494 | + 'wikilove-commons-text' => 'Slike lahko najdete z brskanjem po $1.', |
| 1495 | +); |
| 1496 | + |
| 1497 | +/** Swedish (Svenska) |
| 1498 | + * @author Ainali |
| 1499 | + */ |
| 1500 | +$messages['sv'] = array( |
| 1501 | + 'wikilove-desc' => 'Lägger till ett gränssnitt för att förenkla positiv feedback från användarna till Användardiskussionssidor', |
| 1502 | + 'wikilove' => 'WikiLove', |
| 1503 | + 'wikilove-enable-preference' => 'Gör det möjligt att visa uppskattning till andra användare med WikiLove-fliken (experimentell)', |
| 1504 | + 'wikilove-tab-text' => 'WikiLove', |
| 1505 | + 'tooltip-ca-wikilove' => 'Skicka ett meddelande till den här användaren för att visa din uppskattning', |
| 1506 | + 'wikilove-dialog-title' => 'WikiLove - Skicka ett meddelande för att visa uppskattning till en annan användare', |
| 1507 | + 'wikilove-select-type' => 'Välj typ', |
| 1508 | + 'wikilove-get-started-header' => 'Sätt igång!', |
| 1509 | + 'wikilove-get-started-list-1' => 'Välj typ av WikiLove du vill skicka', |
| 1510 | + 'wikilove-get-started-list-2' => 'Lägg till information till din WikiLove', |
| 1511 | + 'wikilove-get-started-list-3' => 'Skicka din WikiLove!', |
| 1512 | + 'wikilove-add-details' => 'Lägg till information', |
| 1513 | + 'wikilove-image' => 'Skriv in ett filnamn på en bild:', |
| 1514 | + 'wikilove-select-image' => 'Välj en bild:', |
| 1515 | + 'wikilove-header' => 'Ange en rubrik:', |
| 1516 | + 'wikilove-title' => 'Ange en rubrik för utmärkelsen:', |
| 1517 | + 'wikilove-enter-message' => 'Ange ett meddelande:', |
| 1518 | + 'wikilove-omit-sig' => '(utan signatur)', |
| 1519 | + 'wikilove-image-example' => '(exempel: Trophy.png)', |
| 1520 | + 'wikilove-button-preview' => 'Förhandsgranska', |
| 1521 | + 'wikilove-preview' => 'Förhandsgranskning', |
| 1522 | + 'wikilove-notify' => 'Meddela användaren via e-post', |
| 1523 | + 'wikilove-button-send' => 'Skicka WikiLove', |
| 1524 | + 'wikilove-type-barnstars' => 'Barnstars', |
| 1525 | + 'wikilove-type-food' => 'Mat och dryck', |
| 1526 | + 'wikilove-type-kittens' => 'Kattungar', |
| 1527 | + 'wikilove-type-makeyourown' => 'Skapa en egen', |
| 1528 | + 'wikilove-err-header' => 'Ange en rubrik.', |
| 1529 | + 'wikilove-err-title' => 'Ange en titel.', |
| 1530 | + 'wikilove-err-msg' => 'Ange ett personligt meddelande.', |
| 1531 | + 'wikilove-err-image' => 'Välj en bild.', |
| 1532 | + 'wikilove-err-image-bad' => 'Bilden finns inte.', |
| 1533 | + 'wikilove-err-image-api' => 'Något gick fel vid hämtning av bilden. Försök igen.', |
| 1534 | + 'wikilove-err-sig' => 'Skriv inte en signatur i meddelandet.', |
| 1535 | + 'wikilove-err-gallery' => 'Något gick fel vid inläsning av bilderna.', |
| 1536 | + 'wikilove-err-gallery-again' => 'Försök igen', |
| 1537 | + 'wikilove-err-preview-api' => 'Något gick fel vid förhandsgranskningen. Försök igen.', |
| 1538 | + 'wikilove-err-send-api' => 'Något gick fel när meddelandet skickades. Försök igen.', |
| 1539 | + 'wikilove-summary' => '/ * $1 * / nytt WikiLove-meddelande', |
| 1540 | + 'wikilove-what-is-this' => 'Vad är det här?', |
| 1541 | + 'wikilove-anon-warning' => 'Obs: Den här användaren är inte registrerad, han eller hon kanske inte kommer att upptäcka detta meddelande.', |
| 1542 | + 'wikilove-commons-text' => 'Du kan hitta bilder genom att söka i $1.', |
| 1543 | +); |
| 1544 | + |
| 1545 | +/** Telugu (తెలుగు) |
| 1546 | + * @author Veeven |
| 1547 | + */ |
| 1548 | +$messages['te'] = array( |
| 1549 | + 'wikilove-add-details' => 'వివరాలను చేర్చు', |
| 1550 | + 'wikilove-title' => 'ఒక శీర్షికను ఇవ్వండి:', |
| 1551 | +); |
| 1552 | + |
| 1553 | +/** Tagalog (Tagalog) |
| 1554 | + * @author AnakngAraw |
| 1555 | + * @author Kaldari |
| 1556 | + */ |
| 1557 | +$messages['tl'] = array( |
| 1558 | + 'wikilove-desc' => 'Nagdaragdag ng isang ugnayang-mukha para sa pagpapadali ng positibong puna ng tagagamit sa mga pahina ng usapan', |
| 1559 | + 'wikilove' => 'WikiLove', |
| 1560 | + 'wikilove-enable-preference' => 'Paganahin ang pagpapakita ng pagpapahalaga para sa iba pang mga tagagamit sa pamamagitan ng panglaylay na WikiLove (sinusubukan)', |
| 1561 | + 'wikilove-tab-text' => 'Magpakita ng pagpapahalaga', |
| 1562 | + 'tooltip-ca-wikilove' => 'Magpaskil ng isang mensahe para sa tagagamit na ito na nagpapakita ng pagpapahalaga mo', |
| 1563 | + 'wikilove-dialog-title' => 'WikiLove', |
| 1564 | + 'wikilove-select-type' => 'Piliin ang uri', |
| 1565 | + 'wikilove-get-started-header' => 'Magsimula na tayo!', |
| 1566 | + 'wikilove-get-started-list-1' => 'Piliin ang uri ng WikiLove na nais mong ipadala', |
| 1567 | + 'wikilove-get-started-list-2' => 'Magdagdag ng mga detalye sa WikiLove mo', |
| 1568 | + 'wikilove-get-started-list-3' => 'Ipadala ang WikiLove mo!', |
| 1569 | + 'wikilove-add-details' => 'Magdagdag ng mga detalye', |
| 1570 | + 'wikilove-title' => 'Pamagat:', |
| 1571 | + 'wikilove-enter-message' => 'Magpasok ng isang mensahe:', |
| 1572 | + 'wikilove-omit-sig' => '(walang lagda)', |
| 1573 | + 'wikilove-button-preview' => 'Paunang tingin', |
| 1574 | + 'wikilove-preview' => 'Paunang tingin', |
| 1575 | + 'wikilove-button-send' => 'Ipadala ang WikiLove', |
| 1576 | + 'wikilove-type-makeyourown' => 'Gumawa ng sarili mo', |
| 1577 | +); |
| 1578 | + |
| 1579 | +/** Ukrainian (Українська) |
| 1580 | + * @author Microcell |
| 1581 | + */ |
| 1582 | +$messages['uk'] = array( |
| 1583 | + 'wikilove' => 'Вікісимпатія', |
| 1584 | +); |
| 1585 | + |
| 1586 | +/** Vietnamese (Tiếng Việt) |
| 1587 | + * @author Minh Nguyen |
| 1588 | + */ |
| 1589 | +$messages['vi'] = array( |
| 1590 | + 'wikilove-desc' => 'Thêm một giao diện cho phép gửi phản hồi khen ngợi cho người dùng khác qua các trang thảo luận cá nhân', |
| 1591 | + 'wikilove' => 'WikiLove', |
| 1592 | + 'wikilove-enable-preference' => 'Cho phép bày tỏ sự biết ơn cho người dùng khác qua thẻ WikiLove (thử nghiệm)', |
| 1593 | + 'wikilove-tab-text' => 'WikiLove', |
| 1594 | + 'tooltip-ca-wikilove' => 'Đăng một thông điệp cho người dùng này để cho biết sự đánh giá cao của bạn', |
| 1595 | + 'wikilove-dialog-title' => 'WikiLove – Gửi thông điệp bày tỏ sự đánh giá cao cho người dùng khác', |
| 1596 | + 'wikilove-select-type' => 'Chọn loại', |
| 1597 | + 'wikilove-get-started-header' => 'Hãy bắt đầu!', |
| 1598 | + 'wikilove-get-started-list-1' => 'Chọn loại WikiLove để gửi', |
| 1599 | + 'wikilove-get-started-list-2' => 'Thêm chi tiết vào WikiLove của bạn', |
| 1600 | + 'wikilove-get-started-list-3' => 'Gửi WikiLove!', |
| 1601 | + 'wikilove-add-details' => 'Thêm chi tiết', |
| 1602 | + 'wikilove-image' => 'Nhập một tên hình:', |
| 1603 | + 'wikilove-select-image' => 'Chọn một hình ảnh:', |
| 1604 | + 'wikilove-header' => 'Nhập đầu đề:', |
| 1605 | + 'wikilove-title' => 'Nhập một tên giải thưởng:', |
| 1606 | + 'wikilove-enter-message' => 'Nhập tin nhắn:', |
| 1607 | + 'wikilove-omit-sig' => '(không ký tên)', |
| 1608 | + 'wikilove-image-example' => '(ví dụ: Trophy.png)', |
| 1609 | + 'wikilove-button-preview' => 'Xem trước', |
| 1610 | + 'wikilove-preview' => 'Xem trước', |
| 1611 | + 'wikilove-notify' => 'Báo người dùng qua thư điện tử', |
| 1612 | + 'wikilove-button-send' => 'Gửi WikiLove', |
| 1613 | + 'wikilove-type-barnstars' => 'Huy chương', |
| 1614 | + 'wikilove-type-food' => 'Đồ ăn uống', |
| 1615 | + 'wikilove-type-kittens' => 'Mèo', |
| 1616 | + 'wikilove-type-makeyourown' => 'Làm lấy', |
| 1617 | + 'wikilove-err-header' => 'Vui lòng đưa vào đầu đề.', |
| 1618 | + 'wikilove-err-title' => 'Vui lòng đưa vào tựa đề.', |
| 1619 | + 'wikilove-err-msg' => 'Vui lòng đưa vào thông điệp tùy biến.', |
| 1620 | + 'wikilove-err-image' => 'Vui lòng chọn một hình ảnh.', |
| 1621 | + 'wikilove-err-image-bad' => 'Hình không tồn tại.', |
| 1622 | + 'wikilove-err-image-api' => 'Đã gặp một lỗi bất ngờ trong việc lấy hình ảnh. Hãy thử lại.', |
| 1623 | + 'wikilove-err-sig' => 'Xin vui lòng đừng đưa một chữ ký vào tin nhắn.', |
| 1624 | + 'wikilove-err-gallery' => 'Đã gặp lỗi khi tải các hình ảnh!', |
| 1625 | + 'wikilove-err-gallery-again' => 'Thử lại', |
| 1626 | + 'wikilove-err-preview-api' => 'Đã gặp một lỗi bất ngờ trong việc xem trước. Hãy thử lại.', |
| 1627 | + 'wikilove-err-send-api' => 'Đã gặp một lỗi bất ngờ trong việc gửi thông điệp. Hãy thử lại.', |
| 1628 | + 'wikilove-summary' => '/* $1 */ thông điệp WikiLove mới', |
| 1629 | + 'wikilove-what-is-this' => 'Này là gì?', |
| 1630 | + 'wikilove-anon-warning' => 'Lưu ý: Người dùng này chưa đăng ký, nên họ có thể không nhận thấy được thông điệp này.', |
| 1631 | + 'wikilove-commons-text' => 'Có thể tìm kiếm hình ảnh tại $1.', |
| 1632 | +); |
| 1633 | + |
| 1634 | +/** Simplified Chinese (中文(简体)) |
| 1635 | + * @author Kaldari |
| 1636 | + * @author PhiLiP |
| 1637 | + * @author Shizhao |
| 1638 | + * @author Tommyang |
| 1639 | + */ |
| 1640 | +$messages['zh-hans'] = array( |
| 1641 | + 'wikilove-desc' => '添加一个界面,用于促进在用户讨论页上进行积极反馈', |
| 1642 | + 'wikilove' => '维基友爱', |
| 1643 | + 'wikilove-enable-preference' => '启用维基友爱选项卡赞扬其他用户 (实验性)', |
| 1644 | + 'wikilove-tab-text' => '维基友爱', |
| 1645 | + 'tooltip-ca-wikilove' => '给这个用户留言来表达你的欣赏', |
| 1646 | + 'wikilove-dialog-title' => '维基有爱——发送信息赞赏其他用户', |
| 1647 | + 'wikilove-select-type' => '选择类型', |
| 1648 | + 'wikilove-get-started-header' => '开始吧 !', |
| 1649 | + 'wikilove-get-started-list-1' => '选择要发送的维基友爱的类型', |
| 1650 | + 'wikilove-get-started-list-2' => '在你的维基友爱添加详细信息', |
| 1651 | + 'wikilove-get-started-list-3' => '发送您的友爱!', |
| 1652 | + 'wikilove-add-details' => '添加详细信息', |
| 1653 | + 'wikilove-image' => '输入图像文件名:', |
| 1654 | + 'wikilove-select-image' => '选择一个图像:', |
| 1655 | + 'wikilove-header' => '输入一个标题:', |
| 1656 | + 'wikilove-title' => '输入奖励标题:', |
| 1657 | + 'wikilove-enter-message' => '输入留言:', |
| 1658 | + 'wikilove-omit-sig' => '(不要包含~~~~签名)', |
| 1659 | + 'wikilove-image-example' => '(例: Trophy.png)', |
| 1660 | + 'wikilove-button-preview' => '预览', |
| 1661 | + 'wikilove-preview' => '预览', |
| 1662 | + 'wikilove-notify' => '通过电子邮件通知用户', |
| 1663 | + 'wikilove-button-send' => '发送友爱', |
| 1664 | + 'wikilove-type-barnstars' => '星章', |
| 1665 | + 'wikilove-type-food' => '食品和饮料', |
| 1666 | + 'wikilove-type-kittens' => '小猫', |
| 1667 | + 'wikilove-type-makeyourown' => '制作你自己的维基友爱', |
| 1668 | + 'wikilove-err-header' => '请输入标题。', |
| 1669 | + 'wikilove-err-title' => '请输入奖励标题。', |
| 1670 | + 'wikilove-err-msg' => '请输入一条个性化的消息。', |
| 1671 | + 'wikilove-err-image' => '请选择图像。', |
| 1672 | + 'wikilove-err-image-bad' => '图像不存在。', |
| 1673 | + 'wikilove-err-image-api' => '获取图像时出错。请重试。', |
| 1674 | + 'wikilove-err-sig' => '請不要在留言中包含签名。', |
| 1675 | + 'wikilove-err-gallery' => '加载图像时出现了错误。', |
| 1676 | + 'wikilove-err-gallery-again' => '再试一次', |
| 1677 | + 'wikilove-err-preview-api' => '预览过程中发生错误。请重试。', |
| 1678 | + 'wikilove-err-send-api' => '发送留言时出现了错误。请重试。', |
| 1679 | + 'wikilove-summary' => '/* $1 */ 新的维基有爱留言', |
| 1680 | + 'wikilove-what-is-this' => '这是什么?', |
| 1681 | + 'wikilove-anon-warning' => '注意: 此用户未注册,他或她可能不会注意到此消息。', |
| 1682 | + 'wikilove-commons-text' => '您可以通过浏览$1找到图像。', |
| 1683 | +); |
| 1684 | + |
| 1685 | +/** Traditional Chinese (中文(繁體)) |
| 1686 | + * @author Kaldari |
| 1687 | + * @author Waihorace |
| 1688 | + */ |
| 1689 | +$messages['zh-hant'] = array( |
| 1690 | + 'wikilove-desc' => '加入一個界面以使用戶向其他用戶提供正面的意見', |
| 1691 | + 'wikilove' => '維基友愛', |
| 1692 | + 'wikilove-enable-preference' => '顯示維基友愛標籤以便讚賞其他用戶(試驗性)', |
| 1693 | + 'wikilove-tab-text' => '維基友愛', |
| 1694 | + 'tooltip-ca-wikilove' => '張貼一條信息以表示你的欣賞', |
| 1695 | + 'wikilove-dialog-title' => '維基友愛-向其他用戶發送欣賞信息', |
| 1696 | + 'wikilove-select-type' => '選擇類型', |
| 1697 | + 'wikilove-get-started-header' => '開始吧!', |
| 1698 | + 'wikilove-get-started-list-1' => '選擇想發送的維基友愛類型', |
| 1699 | + 'wikilove-get-started-list-2' => '對你的維基友愛加入細節', |
| 1700 | + 'wikilove-get-started-list-3' => '發送你的友愛!', |
| 1701 | + 'wikilove-add-details' => '加入詳情', |
| 1702 | + 'wikilove-image' => '輸入圖像文件名:', |
| 1703 | + 'wikilove-select-image' => '選擇一個圖片:', |
| 1704 | + 'wikilove-header' => '輸入頭部:', |
| 1705 | + 'wikilove-title' => '輸入獎勵標題:', |
| 1706 | + 'wikilove-enter-message' => '輸入信息:', |
| 1707 | + 'wikilove-omit-sig' => '(沒有簽名)', |
| 1708 | + 'wikilove-image-example' => '(例:Trophy.png)', |
| 1709 | + 'wikilove-button-preview' => '預覽', |
| 1710 | + 'wikilove-preview' => '預覽', |
| 1711 | + 'wikilove-notify' => '通過電郵通知這位用戶', |
| 1712 | + 'wikilove-button-send' => '發送友愛', |
| 1713 | + 'wikilove-type-barnstars' => '星章', |
| 1714 | + 'wikilove-type-food' => '食物及飲品', |
| 1715 | + 'wikilove-type-kittens' => '小貓', |
| 1716 | + 'wikilove-type-makeyourown' => '製作你自己的', |
| 1717 | + 'wikilove-err-header' => '請輸入頭部。', |
| 1718 | + 'wikilove-err-title' => '請輸入標題。', |
| 1719 | + 'wikilove-err-msg' => '請輸入一條個性化的信息。', |
| 1720 | + 'wikilove-err-image' => '請選擇圖片。', |
| 1721 | + 'wikilove-err-image-bad' => '圖像不存在。', |
| 1722 | + 'wikilove-err-image-api' => '獲取圖像時出錯,請重試。', |
| 1723 | + 'wikilove-err-sig' => '請不要在信息中包含簽名。', |
| 1724 | + 'wikilove-err-gallery' => '加載圖片時發生了錯誤。', |
| 1725 | + 'wikilove-err-gallery-again' => '再試一次', |
| 1726 | + 'wikilove-err-preview-api' => '預覽過程發生錯誤,請重試。', |
| 1727 | + 'wikilove-err-send-api' => '發送信息時發生錯誤,請重試。', |
| 1728 | + 'wikilove-summary' => '/* $1 */ 新的維基友愛信息', |
| 1729 | + 'wikilove-what-is-this' => '這是甚麼?', |
| 1730 | + 'wikilove-anon-warning' => '注意:此用戶未註冊,他或她可能未能注意到此信息。', |
| 1731 | + 'wikilove-commons-text' => '你可以瀏覽$1找到合適圖像。', |
| 1732 | +); |
| 1733 | + |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/WikiLove.i18n.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 1734 | + native |
Index: branches/wmf/1.17wmf1/extensions/WikiLove/ApiWikiLoveImageLog.php |
— | — | @@ -0,0 +1,64 @@ |
| 2 | +<?php |
| 3 | + |
| 4 | +/** |
| 5 | + * This API is for logging each time a user attempts to use a custom image via the Make your own |
| 6 | + * feature. This is basically just to see if users can grok the concept. Once usage analysis is |
| 7 | + * complete, this API can be deleted. |
| 8 | + */ |
| 9 | +class ApiWikiLoveImageLog extends ApiBase { |
| 10 | + public function execute() { |
| 11 | + global $wgRequest, $wgWikiLoveLogging, $wgParser; |
| 12 | + |
| 13 | + $params = $this->extractRequestParams(); |
| 14 | + |
| 15 | + if ( $wgWikiLoveLogging ) { |
| 16 | + $this->saveInDb( $params['image'], $params['success'] ); |
| 17 | + } |
| 18 | + } |
| 19 | + |
| 20 | + /** |
| 21 | + * @param $user User ID |
| 22 | + * @param $image string |
| 23 | + * @param $success integer |
| 24 | + */ |
| 25 | + private function saveInDb( $image, $success ) { |
| 26 | + global $wgUser; |
| 27 | + $dbw = wfGetDB( DB_MASTER ); |
| 28 | + |
| 29 | + $values = array( |
| 30 | + 'wlil_timestamp' => $dbw->timestamp(), |
| 31 | + 'wlil_user_id' => $wgUser->getId(), |
| 32 | + 'wlil_image' => $image, |
| 33 | + 'wlil_success' => $success, |
| 34 | + ); |
| 35 | + |
| 36 | + try{ |
| 37 | + $dbw->insert( 'wikilove_image_log', $values, __METHOD__ ); |
| 38 | + } catch( DBQueryError $dbqe ) { |
| 39 | + $this->setWarning( 'Action was not logged' ); |
| 40 | + } |
| 41 | + } |
| 42 | + |
| 43 | + public function getDescription() { |
| 44 | + return array( |
| 45 | + 'This API is for logging each time a user attempts to use a custom image via WikiLove.', |
| 46 | + ); |
| 47 | + } |
| 48 | + |
| 49 | + public function getAllowedParams() { |
| 50 | + return array( |
| 51 | + 'image' => array( |
| 52 | + ApiBase::PARAM_TYPE => 'string', |
| 53 | + ApiBase::PARAM_REQUIRED => true, |
| 54 | + ), |
| 55 | + 'success' => array( |
| 56 | + ApiBase::PARAM_TYPE => 'integer', |
| 57 | + ApiBase::PARAM_REQUIRED => true, |
| 58 | + ) |
| 59 | + ); |
| 60 | + } |
| 61 | + |
| 62 | + public function getVersion() { |
| 63 | + return __CLASS__ . ': $Id$'; |
| 64 | + } |
| 65 | +} |
Property changes on: branches/wmf/1.17wmf1/extensions/WikiLove/ApiWikiLoveImageLog.php |
___________________________________________________________________ |
Added: svn:keywords |
1 | 66 | + Id |
Added: svn:eol-style |
2 | 67 | + native |