pax_global_header00006660000000000000000000000064110374231470014514gustar00rootroot0000000000000052 comment=6791d03706feff6b27003090c8a62d098c98188e scuttle-0.7.4/000077500000000000000000000000001103742314700132075ustar00rootroot00000000000000scuttle-0.7.4/.cvsignore000066400000000000000000000000431103742314700152040ustar00rootroot00000000000000*.~*~ #*# *.project config.inc.php scuttle-0.7.4/.htaccess000066400000000000000000000005251103742314700150070ustar00rootroot00000000000000# Rewrite clean URLs onto real files Options +FollowSymlinks AcceptPathInfo On RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^([^/]+)/?(.*) $1.php/$2 [L] scuttle-0.7.4/AUTHORS000066400000000000000000000005641103742314700142640ustar00rootroot00000000000000Scuttle contains code from the following applications: ------------ GPL Licenced ------------ phpBB2 (database abstraction layer) http://www.phpbb.com/ php-gettext Danilo Segan http://savannah.nongnu.org/projects/php-gettext/ UTF8 Helper Functions Andreas Gohr XSPF Web Music Player (Flash) http://musicplayer.sourceforge.net/scuttle-0.7.4/about.php000066400000000000000000000021651103742314700150360ustar00rootroot00000000000000loadTemplate('about.tpl', $tplVars); ?>scuttle-0.7.4/ajaxDelete.php000066400000000000000000000031001103742314700157600ustar00rootroot00000000000000editAllowed($bookmark)) { $result = T_('You are not allowed to delete this bookmark'); } elseif ($bookmarkservice->deleteBookmark($bookmark)) { $result = 'true'; } else { $result = T_('Failed to delete bookmark'); } ?> deleteConfirmed scuttle-0.7.4/ajaxGetTitle.php000066400000000000000000000043041103742314700163060ustar00rootroot00000000000000(.*)<\/title>/si', $html, $matches); $title = $matches[1][0]; // Get encoding from charset attribute preg_match_all('//i', $html, $matches); $encoding = strtoupper($matches[1][0]); // Convert to UTF-8 from the original encoding if (function_exists('mb_convert_encoding')) { $title = @mb_convert_encoding($title, 'UTF-8', $encoding); } if (utf8_strlen($title) > 0) { return $title; } else { // No title, so return filename $uriparts = explode('/', $url); $filename = end($uriparts); unset($uriparts); return $filename; } } else { return false; } } echo ''; ?> getTitle scuttle-0.7.4/ajaxIsAvailable.php000066400000000000000000000026731103742314700167500ustar00rootroot00000000000000isReserved($_GET['username'])) { $result = 'false'; } else { $result = $userservice->getUserByUsername($_GET['username']) ? 'false' : 'true'; } ?> isAvailable scuttle-0.7.4/alltags.php000066400000000000000000000053471103742314700153600ustar00rootroot00000000000000isLoggedOn()) { $hashtext .= $userservice->getCurrentUserID(); } $hash = md5($hashtext); // Cache for an hour $cacheservice->Start($hash, 3600); } // Header variables $tplvars = array(); $pagetitle = T_('All Tags'); if (isset($user) && $user != '') { if (is_int($user)) { $userid = intval($user); } else { if ($userinfo = $userservice->getUserByUsername($user)) { $userid =& $userinfo[$userservice->getFieldName('primary')]; } else { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); //throw a 404 error exit(); } } $pagetitle .= ': '. ucfirst($user); } else { $userid = NULL; } $tags =& $tagservice->getTags($userid); $tplVars['tags'] =& $tagservice->tagCloud($tags, 5, 90, 225, getSortOrder()); $tplVars['user'] = $user; if (isset($userid)) { $tplVars['cat_url'] = createURL('bookmarks', '%s/%s'); } else { $tplVars['cat_url'] = createURL('tags', '%2$s'); } $tplVars['subtitle'] = $pagetitle; $templateservice->loadTemplate('tags.tpl', $tplVars); if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?> scuttle-0.7.4/api/000077500000000000000000000000001103742314700137605ustar00rootroot00000000000000scuttle-0.7.4/api/.htaccess000066400000000000000000000005651103742314700155640ustar00rootroot00000000000000RewriteEngine On RewriteRule ^tags/get tags_get.php RewriteRule ^posts/dates posts_dates.php RewriteRule ^posts/get posts_get.php RewriteRule ^posts/recent posts_recent.php RewriteRule ^posts/all posts_all.php RewriteRule ^posts/update posts_update.php RewriteRule ^posts/add posts_add.php RewriteRule ^posts/delete posts_delete.php RewriteRule ^tags/rename tags_rename.phpscuttle-0.7.4/api/httpauth.inc.php000066400000000000000000000011751103742314700171060ustar00rootroot00000000000000login($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); if (!$login) { authenticate(); } } ?>scuttle-0.7.4/api/posts_add.php000066400000000000000000000045611103742314700164570ustar00rootroot00000000000000 2) { $status = 0; } } else { switch ($status_str) { case 'private': $status = 2; break; case 'shared': $status = 1; break; default: $status = 0; break; } } } // Error out if there's no address or description if (is_null($url) || is_null($description)) { $added = false; } else { // We're good with info; now insert it! if ($bookmarkservice->bookmarkExists($url, $userservice->getCurrentUserId())) $added = false; else $added = $bookmarkservice->addBookmark($url, $description, $extended, $status, $tags, $dt, true); } // Set up the XML file and output the result. header('Content-Type: text/xml'); echo '\r\n"; echo ''; ?>scuttle-0.7.4/api/posts_all.php000066400000000000000000000036771103742314700165060ustar00rootroot00000000000000getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag); $currentuser = $userservice->getCurrentUser(); $currentusername = $currentuser[$userservice->getFieldName('username')]; // Set up the XML file and output all the posts. header('Content-Type: text/xml'); echo '\r\n"; echo '\r\n"; foreach($bookmarks['bookmarks'] as $row) { if (is_null($row['bDescription']) || (trim($row['bDescription']) == '')) $description = ''; else $description = 'extended="'. filter($row['bDescription'], 'xml') .'" '; $taglist = ''; if (count($row['tags']) > 0) { foreach($row['tags'] as $tag) $taglist .= convertTag($tag) .' '; $taglist = substr($taglist, 0, -1); } else { $taglist = 'system:unfiled'; } echo "\t\r\n"; } echo ''; ?>scuttle-0.7.4/api/posts_dates.php000066400000000000000000000026171103742314700170270ustar00rootroot00000000000000getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag); $currentuser = $userservice->getCurrentUser(); $currentusername = $currentuser[$userservice->getFieldName('username')]; // Set up the XML file and output all the tags. header('Content-Type: text/xml'); echo '\r\n"; echo '\r\n"; $lastdate = NULL; foreach($bookmarks['bookmarks'] as $row) { $thisdate = gmdate('Y-m-d', strtotime($row['bDatetime'])); if ($thisdate != $lastdate && $lastdate != NULL) { echo "\t\r\n"; $count = 1; } else { $count = $count + 1; } $lastdate = $thisdate; } echo ""; ?>scuttle-0.7.4/api/posts_delete.php000066400000000000000000000021611103742314700171630ustar00rootroot00000000000000getBookmarkByAddress($_REQUEST['url']); $bid = $bookmark['bId']; $delete = $bookmarkservice->deleteBookmark($bid); $deleted = true; } // Set up the XML file and output the result. header('Content-Type: text/xml'); echo '\r\n"; echo ''; ?>scuttle-0.7.4/api/posts_get.php000066400000000000000000000050141103742314700165000ustar00rootroot00000000000000getBookmarks(0, NULL, $userservice->getCurrentUserId(), $tag, NULL, NULL, NULL, $dtstart, $dtend); $currentuser = $userservice->getCurrentUser(); $currentusername = $currentuser[$userservice->getFieldName('username')]; // Set up the XML file and output all the tags. header('Content-Type: text/xml'); echo '\r\n"; echo '\r\n"; foreach($bookmarks['bookmarks'] as $row) { if (is_null($row['bDescription']) || (trim($row['bDescription']) == '')) $description = ''; else $description = 'extended="'. filter($row['bDescription'], 'xml') .'" '; $taglist = ''; if (count($row['tags']) > 0) { foreach($row['tags'] as $tag) $taglist .= convertTag($tag) .' '; $taglist = substr($taglist, 0, -1); } else { $taglist = 'system:unfiled'; } echo "\t\r\n"; } echo ''; ?>scuttle-0.7.4/api/posts_recent.php000066400000000000000000000043401103742314700172020ustar00rootroot00000000000000 $countMax) $count = $countMax; elseif ($count < 0) $count = 0; } else { $count = $countDefault; } // Get the posts relevant to the passed-in variables. $bookmarks =& $bookmarkservice->getBookmarks(0, $count, $userservice->getCurrentUserId(), $tag); $currentuser = $userservice->getCurrentUser(); $currentusername = $currentuser[$userservice->getFieldName('username')]; // Set up the XML file and output all the tags. header('Content-Type: text/xml'); echo '\r\n"; echo '\r\n"; foreach($bookmarks['bookmarks'] as $row) { if (is_null($row['bDescription']) || (trim($row['bDescription']) == '')) $description = ''; else $description = 'extended="'. filter($row['bDescription'], 'xml') .'" '; $taglist = ''; if (count($row['tags']) > 0) { foreach($row['tags'] as $tag) $taglist .= convertTag($tag) .' '; $taglist = substr($taglist, 0, -1); } else { $taglist = 'system:unfiled'; } echo "\t\r\n"; } echo ''; ?>scuttle-0.7.4/api/posts_update.php000066400000000000000000000016741103742314700172130ustar00rootroot00000000000000getBookmarks(0, 1, $userservice->getCurrentUserId()); $currentuser = $userservice->getCurrentUser(); $currentusername = $currentuser[$userservice->getFieldName('username')]; // Set up the XML file and output all the tags. header('Content-Type: text/xml'); echo '\r\n"; foreach($bookmarks['bookmarks'] as $row) { echo ''; } ?>scuttle-0.7.4/api/tags_get.php000066400000000000000000000014401103742314700162650ustar00rootroot00000000000000getTags($userservice->getCurrentUserId()); // Set up the XML file and output all the tags. header('Content-Type: text/xml'); echo '\r\n"; echo "\r\n"; foreach($tags as $row) { echo "\t\r\n"; } echo ""; ?>scuttle-0.7.4/api/tags_rename.php000066400000000000000000000021371103742314700167610ustar00rootroot00000000000000) than the other API calls. // Force HTTP authentication first! require_once('httpauth.inc.php'); require_once('../header.inc.php'); $tagservice =& ServiceFactory::getServiceInstance('TagService'); $userservice =& ServiceFactory::getServiceInstance('UserService'); // Get the tag info. if (isset($_REQUEST['old']) && (trim($_REQUEST['old']) != '')) $old = trim($_REQUEST['old']); else $old = NULL; if (isset($_REQUEST['new']) && (trim($_REQUEST['new']) != '')) $new = trim($_REQUEST['new']); else $new = NULL; if (is_null($old) || is_null($new)) { $renamed = false; } else { // Rename the tag. $result = $tagservice->renameTag($userservice->getCurrentUserId(), $old, $new, true); $renamed = $result; } // Set up the XML file and output the result. header('Content-Type: text/xml'); echo '\r\n"; echo ''. ($renamed ? 'done' : 'something went wrong') .''; ?> scuttle-0.7.4/bg_bar.png000066400000000000000000000015511103742314700151330ustar00rootroot00000000000000PNG  IHDR  pHYs  tIME.!tEXtCommentCreated with GIMPWIDATHA#9D_*tמ@oћލp 3W@!Rϳ񲊴 zn[ $AIregBѸep%i I:,>a{%$;)]P2Š*ܠ{Ko(uy}{@W$d}СaAl__}VAVu#;$ MЬu%>,JW62$p$, ɱ&07Uɰ $|ì|0!EvMv ˂1|o _~{,Fe^$;-5+e,֘2Cf-BzJJ yeE1Y]nJ=ˀ_uJW).tօDNEyQTvyXs.:v4.(Z|2[=b/E-< .>T:GzcbY(>ϹSK{qhM7ޒPu 9j{]= ?9IENDB`scuttle-0.7.4/bg_header.png000066400000000000000000000012541103742314700156170ustar00rootroot00000000000000PNG  IHDR2 pHYs  tIME׬tEXtCommentCreated with GIMPW&IDATH;rA Ca׫r7jI/?9,$c Y5Ku}@zDJ2E Y L+,9?#5OLwI D ~f`KTXBI+G $xX$I 727 jݽȝs"r]wj"\SՔd}5֒؅[)P-$Z{T cF6r<=U$yq ) ]Y2KzdkTn# ڶϚ\#t[Fc*6BQe>FB]Dnj׻o$\>۞GoTN2#Kmbc&1нQ5`z)L~Q=$i޷E=ɏB~y*l[Ҡ?۷څ.uIENDB`scuttle-0.7.4/bookmarks.php000066400000000000000000000204301103742314700157070ustar00rootroot00000000000000isLoggedOn()) { $loginqry = str_replace("'", '%27', stripslashes($_SERVER['QUERY_STRING'])); header('Location: '. createURL('login', '?'. $loginqry)); exit(); } @list($url, $user, $cat) = isset($_SERVER['PATH_INFO']) ? explode('/', $_SERVER['PATH_INFO']) : NULL; $loggedon = false; if ($userservice->isLoggedOn()) { $loggedon = true; $currentUser = $userservice->getCurrentUser(); $currentUserID = $userservice->getCurrentUserId(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; } $endcache = false; if ($usecache) { // Generate hash for caching on $hash = md5($_SERVER['REQUEST_URI'] . $user); // Don't cache if its users' own bookmarks if ($loggedon) { if ($currentUsername != $user) { // Cache for 5 minutes $cacheservice->Start($hash); $endcache = true; } } else { // Cache for 30 minutes $cacheservice->Start($hash, 1800); $endcache = true; } } $pagetitle = $rssCat = $catTitle = ''; if ($user) { if (is_int($user)) { $userid = intval($user); } else { if (!($userinfo = $userservice->getUserByUsername($user))) { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { $userid =& $userinfo['uId']; } } $pagetitle .= ': '. $user; } if ($cat) { $catTitle = ': '. str_replace('+', ' + ', $cat); $pagetitle .= $catTitle; } $pagetitle = substr($pagetitle, 2); // Header variables $tplVars['loadjs'] = true; // ADD A BOOKMARK $saved = false; $templatename = 'bookmarks.tpl'; if ($loggedon && isset($_POST['submitted'])) { if (!$_POST['title'] || !$_POST['address']) { $tplVars['error'] = T_('Your bookmark must have a title and an address'); $templatename = 'editbookmark.tpl'; } else { $address = trim($_POST['address']); // If the bookmark exists already, edit the original if ($bookmarkservice->bookmarkExists($address, $currentUserID)) { $bookmark =& $bookmarkservice->getBookmarkByAddress($address); header('Location: '. createURL('edit', $bookmark['bId'])); exit(); // If it's new, save it } else { $title = trim($_POST['title']); $description = trim($_POST['description']); $status = intval($_POST['status']); $categories = trim($_POST['tags']); $saved = true; if ($bookmarkservice->addBookmark($address, $title, $description, $status, $categories)) { if (isset($_POST['popup'])) { $tplVars['msg'] = ''; } else { $tplVars['msg'] = T_('Bookmark saved'); // Redirection option if ($GLOBALS['useredir']) { $address = $GLOBALS['url_redir'] . $address; } header('Location: '. $address); } } else { $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); $templatename = 'editbookmark.tpl'; $saved = false; } } } } if (isset($_GET['action']) && ($_GET['action'] == "add")) { // If the bookmark exists already, edit the original if ($bookmarkservice->bookmarkExists(stripslashes($_GET['address']), $currentUserID)) { $bookmark =& $bookmarkservice->getBookmarkByAddress(stripslashes($_GET['address'])); $popup = (isset($_GET['popup'])) ? '?popup=1' : ''; header('Location: '. createURL('edit', $bookmark['bId'] . $popup)); exit(); } $templatename = 'editbookmark.tpl'; } if ($templatename == 'editbookmark.tpl') { if ($loggedon) { $tplVars['formaction'] = createURL('bookmarks', $currentUsername); if (isset($_POST['submitted'])) { $tplVars['row'] = array( 'bTitle' => stripslashes($_POST['title']), 'bAddress' => stripslashes($_POST['address']), 'bDescription' => stripslashes($_POST['description']), 'tags' => ($_POST['tags'] ? explode(',', stripslashes($_POST['tags'])) : array()) ); $tplVars['tags'] = $_POST['tags']; } else { $tplVars['row'] = array( 'bTitle' => stripslashes($_GET['title']), 'bAddress' => stripslashes($_GET['address']), 'bDescription' => stripslashes($_GET['description']), 'tags' => ($_GET['tags'] ? explode(',', stripslashes($_GET['tags'])) : array()) ); } $title = T_('Add a Bookmark'); $tplVars['pagetitle'] = $title; $tplVars['subtitle'] = $title; $tplVars['btnsubmit'] = T_('Add Bookmark'); $tplVars['popup'] = (isset($_GET['popup'])) ? $_GET['popup'] : null; } else { $tplVars['error'] = T_('You must be logged in before you can add bookmarks.'); } } else if ($user && !isset($_GET['popup'])) { $tplVars['sidebar_blocks'] = array('profile', 'watchstatus'); if (!$cat) { $cat = NULL; $tplVars['currenttag'] = NULL; } else { $rssCat = '/'. filter($cat, 'url'); $tplVars['currenttag'] = $cat; $tplVars['sidebar_blocks'][] = 'related'; $tplVars['sidebar_blocks'][] = 'tagactions'; } $tplVars['popCount'] = 30; $tplVars['sidebar_blocks'][] = 'popular'; $tplVars['userid'] = $userid; $tplVars['userinfo'] =& $userinfo; $tplVars['user'] = $user; $tplVars['range'] = 'user'; // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } // Set template vars $tplVars['rsschannels'] = array( array(filter($sitename .': '. $pagetitle), createURL('rss', filter($user, 'url') . $rssCat)) ); $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['bookmarkCount'] = $start + 1; $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $userid, $cat, $terms, getSortOrder()); $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['cat_url'] = createURL('bookmarks', '%s/%s'); $tplVars['nav_url'] = createURL('bookmarks', '%s/%s%s'); if ($user == $currentUsername) { $title = T_('My Bookmarks') . filter($catTitle); } else { $title = filter($pagetitle); } $tplVars['pagetitle'] = $title; $tplVars['subtitle'] = $title; } $templateservice->loadTemplate($templatename, $tplVars); if ($usecache && $endcache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?> scuttle-0.7.4/cache/000077500000000000000000000000001103742314700142525ustar00rootroot00000000000000scuttle-0.7.4/cache/.cvsignore000066400000000000000000000000071103742314700162470ustar00rootroot00000000000000*.cachescuttle-0.7.4/cache/.htaccess000066400000000000000000000000361103742314700160470ustar00rootroot00000000000000order allow,deny deny from allscuttle-0.7.4/config.inc.php.example000066400000000000000000000120531103742314700173700ustar00rootroot00000000000000 array('mp3', 'ogg', 'wav'), 'document' => array('doc', 'odt', 'pdf'), 'image' => array('gif', 'jpeg', 'jpg', 'png'), 'video' => array('avi', 'mov', 'mp4', 'mpeg', 'mpg', 'wmv') ); $reservedusers = array('all', 'watchlist'); include_once('debug.inc.php'); ?> scuttle-0.7.4/debug.inc.php000066400000000000000000000006231103742314700155570ustar00rootroot00000000000000scuttle-0.7.4/edit.php000066400000000000000000000101171103742314700146450ustar00rootroot00000000000000getBookmark(intval($bookmark), true))) { $tplVars['error'] = sprintf(T_('Bookmark with id %s not was not found'), $bookmark); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { if (!$bookmarkservice->editAllowed($row)) { $tplVars['error'] = T_('You are not allowed to edit this bookmark'); $templateservice->loadTemplate('error.500.tpl', $tplVars); exit(); } else if ($_POST['submitted']) { if (!$_POST['title'] || !$_POST['address']) { $tplVars['error'] = T_('Your bookmark must have a title and an address'); } else { // Update bookmark $bId = intval($bookmark); $address = trim($_POST['address']); $title = trim($_POST['title']); $description = trim($_POST['description']); $status = intval($_POST['status']); $tags = trim($_POST['tags']); $logged_on_user = $userservice->getCurrentUser(); if (!$bookmarkservice->updateBookmark($bId, $address, $title, $description, $status, $tags)) { $tplvars['error'] = T_('Error while saving your bookmark'); } else { if (isset($_POST['popup'])) { $tplVars['msg'] = (isset($_POST['popup'])) ? '' : T_('Bookmark saved'); } elseif (isset($_POST['referrer'])) { header('Location: '. $_POST['referrer']); } else { header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')])); } } } } else { if ($_POST['delete']) { // Delete bookmark if ($bookmarkservice->deleteBookmark($bookmark)) { $logged_on_user = $userservice->getCurrentUser(); if (isset($_POST['referrer'])) { header('Location: '. $_POST['referrer']); } else { header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')])); } exit(); } else { $tplVars['error'] = T_('Failed to delete the bookmark'); $templateservice->loadTemplate('error.500.tpl', $tplVars); exit(); } } } $tplVars['popup'] = (isset($_GET['popup'])) ? $_GET['popup'] : null; $tplVars['row'] =& $row; $tplVars['formaction'] = createURL('edit', $bookmark); $tplVars['btnsubmit'] = T_('Save Changes'); $tplVars['showdelete'] = true; $tplVars['referrer'] = $_SERVER['HTTP_REFERER']; $templateservice->loadTemplate('editbookmark.tpl', $tplVars); } ?> scuttle-0.7.4/functions.inc.php000066400000000000000000000107101103742314700164770ustar00rootroot00000000000000sql_error(); $debug_text = ''; if ($sql_error['message'] != '') $debug_text .= '

'. T_('SQL Error') .' : '. $sql_error['code'] .' '. $sql_error['message']; if ($sql_store != '') $debug_text .= '

'. $sql_store; if ($err_line != '' && $err_file != '') $debug_text .= '

'. T_('Line') .' : '. $err_line .'
'. T_('File') .' :'. $err_file; } switch($msg_code) { case GENERAL_MESSAGE: if ($msg_title == '') $msg_title = T_('Information'); break; case CRITICAL_MESSAGE: if ($msg_title == '') $msg_title = T_('Critical Information'); break; case GENERAL_ERROR: if ($msg_text == '') $msg_text = T_('An error occured'); if ($msg_title == '') $msg_title = T_('General Error'); break; case CRITICAL_ERROR: // Critical errors mean we cannot rely on _ANY_ DB information being // available so we're going to dump out a simple echo'd statement if ($msg_text == '') $msg_text = T_('An critical error occured'); if ($msg_title == '') $msg_title = T_('Critical Error'); break; } // Add on DEBUG info if we've enabled debug mode and this is an error. This // prevents debug info being output for general messages should DEBUG be // set TRUE by accident (preventing confusion for the end user!) if (DEBUG && ($msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR)) { if ($debug_text != '') $msg_text = $msg_text . '

'. T_('DEBUG MODE') .''. $debug_text; } echo "\n\n". $msg_title ."\n

\n". $msg_text ."\n"; exit; } ?> scuttle-0.7.4/header.inc.php000066400000000000000000000015641103742314700157260ustar00rootroot00000000000000scuttle-0.7.4/history.php000066400000000000000000000062471103742314700154320ustar00rootroot00000000000000isLoggedOn()) { $loggedon = true; $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; } if ($usecache) { // Generate hash for caching on $hashtext = $_SERVER['REQUEST_URI']; if ($userservice->isLoggedOn()) { $hashtext .= $currentUsername; } $cachehash = md5($hashtext); // Cache for 30 minutes $cacheservice->Start($cachehash, 1800); } // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } if ($bookmark =& $bookmarkservice->getBookmarkByHash($hash)) { // Template variables $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, NULL, NULL, NULL, getSortOrder(), NULL, NULL, NULL, $hash); $tplVars['pagetitle'] = T_('History') .': '. $bookmark['bAddress']; $tplVars['subtitle'] = sprintf(T_('History for %s'), $bookmark['bAddress']); $tplVars['loadjs'] = true; $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['bookmarkCount'] = $start + 1; $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['hash'] = $hash; $tplVars['popCount'] = 50; $tplVars['sidebar_blocks'] = array('common'); $tplVars['cat_url'] = createURL('tags', '%2$s'); $tplVars['nav_url'] = createURL('history', $hash .'/%3$s'); $templateservice->loadTemplate('bookmarks.tpl', $tplVars); } else { // Throw a 404 error $tplVars['error'] = T_('Address was not found'); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($cachehash); } ?>scuttle-0.7.4/icon.png000066400000000000000000000014031103742314700146430ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<IDAT8KTQƟs܏q3iNhJjNVD1vA&ڍ6P(}PZGf 2N:Lq~Esws "BB69 ̈EZku1=:^N<@=xhn' aJp߀o*3kob+wc&gDX1rzj"7p lYJ/fI' !Y JjLt-l.ӹb.>s_v :U٭H@8!n IBUWpzFvU&`< 173߿ŷyprîS~Q4@Jc@~-&c=׋ . cËs O;t(.qpP9T%-z1"Jk?&0t7J;9c&D},1qF.ߩ%+LILl33y+[z[Ȫe0jG"+0lcoWh^:9֖VX0 teK"`)&H?^P :IENDB`scuttle-0.7.4/import.php000066400000000000000000000102141103742314700152300ustar00rootroot00000000000000isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['size'] > 0) { $userinfo = $userservice->getCurrentUser(); if (isset($_POST['status']) && is_numeric($_POST['status'])) { $status = intval($_POST['status']); } else { $status = 2; } $depth = array(); $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); if (!($fp = fopen($_FILES['userfile']['tmp_name'], "r"))) die(T_("Could not open XML input")); while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf(T_("XML error: %s at line %d"), xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); header('Location: '. createURL('bookmarks', $userinfo[$userservice->getFieldName('username')])); } else { $templatename = 'importDelicious.tpl'; $tplVars['subtitle'] = T_('Import Bookmarks from del.icio.us'); $tplVars['formaction'] = createURL('import'); $templateservice->loadTemplate($templatename, $tplVars); } function startElement($parser, $name, $attrs) { global $depth, $status, $tplVars, $userservice; $bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); $userservice =& ServiceFactory::getServiceInstance('UserService'); if ($name == 'POST') { while(list($attrTitle, $attrVal) = each($attrs)) { switch ($attrTitle) { case 'HREF': $bAddress = $attrVal; break; case 'DESCRIPTION': $bTitle = $attrVal; break; case 'EXTENDED': $bDescription = $attrVal; break; case 'TIME': $bDatetime = $attrVal; break; case 'TAG': $tags = strtolower($attrVal); break; } } if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) { $tplVars['error'] = T_('You have already submitted this bookmark.'); } else { // Strangely, PHP can't work out full ISO 8601 dates, so we have to chop off the Z. $bDatetime = substr($bDatetime, 0, -1); // If bookmark claims to be from the future, set it to be now instead if (strtotime($bDatetime) > time()) { $bDatetime = gmdate('Y-m-d H:i:s'); } if ($bookmarkservice->addBookmark($bAddress, $bTitle, $bDescription, $status, $tags, $bDatetime, true, true)) $tplVars['msg'] = T_('Bookmark imported.'); else $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); } } $depth[$parser]++; } function endElement($parser, $name) { global $depth; $depth[$parser]--; } ?> scuttle-0.7.4/importNetscape.php000066400000000000000000000067311103742314700167240ustar00rootroot00000000000000isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['size'] > 0) { $userinfo = $userservice->getCurrentUser(); if (isset($_POST['status']) && is_numeric($_POST['status'])) { $status = intval($_POST['status']); } else { $status = 2; } // File handle $html = file_get_contents($_FILES['userfile']['tmp_name']); // Create link array preg_match_all('/([^<]*)/si', $html, $matches); $links = $matches[1]; $titles = $matches[2]; $size = count($links); for ($i = 0; $i < $size; $i++) { $attributes = preg_split('/\s+/s', $links[$i]); foreach ($attributes as $attribute) { $att = preg_split('/\s*=\s*/s', $attribute, 2); $attrTitle = $att[0]; $attrVal = eregi_replace('"', '"', preg_replace('/([\'"]?)(.*)\1/', '$2', $att[1])); switch ($attrTitle) { case "HREF": $bAddress = $attrVal; break; case "ADD_DATE": $bDatetime = gmdate('Y-m-d H:i:s', $attrVal); break; } } $bTitle = eregi_replace('"', '"', trim($titles[$i])); if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) { $tplVars['error'] = T_('You have already submitted this bookmark.'); } else { // If bookmark claims to be from the future, set it to be now instead if (strtotime($bDatetime) > time()) { $bDatetime = gmdate('Y-m-d H:i:s'); } if ($bookmarkservice->addBookmark($bAddress, $bTitle, NULL, $status, NULL, $bDatetime, false, true)) { $tplVars['msg'] = T_('Bookmark imported.'); } else { $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); } } } header('Location: '. createURL('bookmarks', $userinfo[$userservice->getFieldName('username')])); } else { $templatename = 'importNetscape.tpl'; $tplVars['subtitle'] = T_('Import Bookmarks from Browser File'); $tplVars['formaction'] = createURL('importNetscape'); $templateservice->loadTemplate($templatename, $tplVars); } ?> scuttle-0.7.4/includes/000077500000000000000000000000001103742314700150155ustar00rootroot00000000000000scuttle-0.7.4/includes/db/000077500000000000000000000000001103742314700154025ustar00rootroot00000000000000scuttle-0.7.4/includes/db/db2.php000066400000000000000000000161751103742314700165740ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->password = $sqlpassword; $this->dbname = $database; $this->server = $sqlserver; if($this->persistency) { $this->db_connect_id = odbc_pconnect($this->server, "", ""); } else { $this->db_connect_id = odbc_connect($this->server, "", ""); } if($this->db_connect_id) { @odbc_autocommit($this->db_connect_id, off); return $this->db_connect_id; } else { return false; } } // // Other base methods // function sql_close() { if($this->db_connect_id) { if($this->query_result) { @odbc_free_result($this->query_result); } $result = @odbc_close($this->db_connect_id); return $result; } else { return false; } } // // Query method // function sql_query($query = "", $transaction = FALSE) { // // Remove any pre-existing queries // unset($this->query_result); unset($this->row); if($query != "") { $this->num_queries++; if(!eregi("^INSERT ",$query)) { if(eregi("LIMIT", $query)) { preg_match("/^(.*)LIMIT ([0-9]+)[, ]*([0-9]+)*/s", $query, $limits); $query = $limits[1]; if($limits[3]) { $row_offset = $limits[2]; $num_rows = $limits[3]; } else { $row_offset = 0; $num_rows = $limits[2]; } $query .= " FETCH FIRST ".($row_offset+$num_rows)." ROWS ONLY OPTIMIZE FOR ".($row_offset+$num_rows)." ROWS"; $this->query_result = odbc_exec($this->db_connect_id, $query); $query_limit_offset = $row_offset; $this->result_numrows[$this->query_result] = $num_rows; } else { $this->query_result = odbc_exec($this->db_connect_id, $query); $row_offset = 0; $this->result_numrows[$this->query_result] = 5E6; } $result_id = $this->query_result; if($this->query_result && eregi("^SELECT", $query)) { for($i = 1; $i < odbc_num_fields($result_id)+1; $i++) { $this->result_field_names[$result_id][] = odbc_field_name($result_id, $i); } $i = $row_offset + 1; $k = 0; while(odbc_fetch_row($result_id, $i) && $k < $this->result_numrows[$result_id]) { for($j = 1; $j < count($this->result_field_names[$result_id])+1; $j++) { $this->result_rowset[$result_id][$k][$this->result_field_names[$result_id][$j-1]] = odbc_result($result_id, $j); } $i++; $k++; } $this->result_numrows[$result_id] = $k; $this->row_index[$result_id] = 0; } else { $this->result_numrows[$result_id] = @odbc_num_rows($result_id); $this->row_index[$result_id] = 0; } } else { if(eregi("^(INSERT|UPDATE) ", $query)) { $query = preg_replace("/\\\'/s", "''", $query); } $this->query_result = odbc_exec($this->db_connect_id, $query); if($this->query_result) { $sql_id = "VALUES(IDENTITY_VAL_LOCAL())"; $id_result = odbc_exec($this->db_connect_id, $sql_id); if($id_result) { $row_result = odbc_fetch_row($id_result); if($row_result) { $this->next_id[$this->query_result] = odbc_result($id_result, 1); } } } odbc_commit($this->db_connect_id); $this->query_limit_offset[$this->query_result] = 0; $this->result_numrows[$this->query_result] = 0; } return $this->query_result; } else { return false; } } // // Other query methods // function sql_numrows($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { return $this->result_numrows[$query_id]; } else { return false; } } function sql_affectedrows($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { return $this->result_numrows[$query_id]; } else { return false; } } function sql_numfields($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = count($this->result_field_names[$query_id]); return $result; } else { return false; } } function sql_fieldname($offset, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = $this->result_field_names[$query_id][$offset]; return $result; } else { return false; } } function sql_fieldtype($offset, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @odbc_field_type($query_id, $offset); return $result; } else { return false; } } function sql_fetchrow($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { if($this->row_index[$query_id] < $this->result_numrows[$query_id]) { $result = $this->result_rowset[$query_id][$this->row_index[$query_id]]; $this->row_index[$query_id]++; return $result; } else { return false; } } else { return false; } } function sql_fetchrowset($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $this->row_index[$query_id] = $this->result_numrows[$query_id]; return $this->result_rowset[$query_id]; } else { return false; } } function sql_fetchfield($field, $row = -1, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { if($row < $this->result_numrows[$query_id]) { if($row == -1) { $getrow = $this->row_index[$query_id]-1; } else { $getrow = $row; } return $this->result_rowset[$query_id][$getrow][$this->result_field_names[$query_id][$field]]; } else { return false; } } else { return false; } } function sql_rowseek($offset, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $this->row_index[$query_id] = 0; return true; } else { return false; } } function sql_nextid($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { return $this->next_id[$query_id]; } else { return false; } } function sql_freeresult($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @odbc_free_result($query_id); return $result; } else { return false; } } function sql_error($query_id = 0) { // $result['code'] = @odbc_error($this->db_connect_id); // $result['message'] = @odbc_errormsg($this->db_connect_id); return ""; } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/firebird.php000066400000000000000000000331701103742314700177050ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @ibase_pconnect($this->server . ':' . $this->dbname, $this->user, $sqlpassword, false, false, 3) : @ibase_connect($this->server . ':' . $this->dbname, $this->user, $sqlpassword, false, false, 3); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if ($this->transaction) { @ibase_commit($this->db_connect_id); } if (sizeof($this->open_queries)) { foreach ($this->open_queries as $i_query_id => $query_id) { @ibase_free_query($query_id); } } return @ibase_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $this->transaction = true; break; case 'commit': $result = @ibase_commit(); $this->transaction = false; if (!$result) { @ibase_rollback(); } break; case 'rollback': $result = @ibase_rollback(); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; $this->last_query_text = $query; $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = @ibase_query($this->db_connect_id, $query)) === false) { $this->sql_error($query); } // TODO: have to debug the commit states in firebird if (!$this->transaction) { @ibase_commit_ret(); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $cache->sql_save($query, $this->query_result, $cache_ttl); } } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; $query = 'SELECT FIRST ' . $total . ((!empty($offset)) ? ' SKIP ' . $offset : '') . substr($query, 6); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { return FALSE; } function sql_affectedrows() { // TODO: hmm, maybe doing something similar as in mssql-odbc.php? return ($this->query_result) ? true : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } $row = array(); $cur_row = @ibase_fetch_object($query_id, IBASE_TEXT); if (!$cur_row) { return false; } foreach (get_object_vars($cur_row) as $key => $value) { $row[strtolower($key)] = trim(str_replace("\\0", "\0", str_replace("\\n", "\n", $value))); } return ($query_id) ? $row : false; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); $result = array(); while ($this->rowset[$query_id] = get_object_vars(@ibase_fetch_object($query_id, IBASE_TEXT))) { $result[] = $this->rowset[$query_id]; } return $result; } else { return false; } } function sql_fetchfield($field, $rownum = -1, $query_id = 0) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { // erm... ok, my bad, we always use zero. :/ for ($i = 0; $i <= $rownum; $i++) { $row = $this->sql_fetchrow($query_id); } return $row[$field]; } else { if (empty($this->row[$query_id]) && empty($this->rowset[$query_id])) { if ($this->sql_fetchrow($query_id)) { $result = $this->row[$query_id][$field]; } } else { if ($this->rowset[$query_id]) { $result = $this->rowset[$query_id][$field]; } else if ($this->row[$query_id]) { $result = $this->row[$query_id][$field]; } } } return $result; } else { return false; } } function sql_rowseek($rownum, $query_id = 0) { if (!$query_id) { $query_id = $this->query_result; } for($i = 1; $i < $rownum; $i++) { if (!$this->sql_fetchrow($query_id)) { return false; } } return true; } function sql_nextid() { if ($this->query_result && preg_match('#^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)#is', $this->last_query_text, $tablename)) { $query = "SELECT GEN_ID('" . $tablename[1] . "_gen', 0) AS new_id FROM RDB\$DATABASE"; if (!($temp_q_id = @ibase_query($this->db_connect_id, $query))) { return false; } $temp_result = @ibase_fetch_object($temp_q_id); $this->sql_freeresult($temp_q_id); return ($temp_result) ? $temp_result->last_value : false; } } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (!$this->transaction && $query_id) { @ibase_commit(); } return ($query_id) ? @ibase_free_result($query_id) : false; } function sql_escape($msg) { return (@ini_get('magic_quotes_sybase') || strtolower(@ini_get('magic_quotes_sybase')) == 'on') ? str_replace('\\\'', '\'', addslashes($msg)) : str_replace('\'', '\'\'', stripslashes($msg)); } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page =(!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' .((!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : $_ENV['QUERY_STRING']); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @ibase_errmsg() . '

CALLING PAGE

' . $this_page .(($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result['message'] = @ibase_errmsg(); $result['code'] = ''; return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $this->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = @ibase_query($this->db_connect_id, $query); while ($void = @ibase_fetch_object($result, IBASE_TEXT)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; @ibase_freeresult($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - ' . SQL_LAYER . ' Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/index.htm000066400000000000000000000002511103742314700172210ustar00rootroot00000000000000 scuttle-0.7.4/includes/db/mssql-odbc.php000066400000000000000000000367251103742314700201740ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @odbc_pconnect($this->server, $this->user, $sqlpassword) : @odbc_connect($this->server, $this->user, $sqlpassword); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if ($this->transaction) { @odbc_commit($this->db_connect_id); } if (sizeof($this->result_rowset)) { unset($this->result_rowset); unset($this->field_names); unset($this->field_types); unset($this->num_rows); unset($this->current_row); } if (sizeof($this->open_queries)) { foreach ($this->open_queries as $i_query_id => $query_id) { @odbc_free_result($query_id); } } return @odbc_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @odbc_autocommit($this->db_connect_id, false); $this->transaction = true; break; case 'commit': $result = @odbc_commit($this->db_connect_id); @odbc_autocommit($this->db_connect_id, true); $this->transaction = false; if (!$result) { @odbc_rollback($this->db_connect_id); @odbc_autocommit($this->db_connect_id, true); } break; case 'rollback': $result = @odbc_rollback($this->db_connect_id); @odbc_autocommit($this->db_connect_id, true); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = $this->_odbc_execute_query($query)) === false) { $this->sql_error($query); } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $this->open_queries[(int) $this->query_result] = $this->query_result; $cache->sql_save($query, $this->query_result, $cache_ttl); // odbc_free_result called within sql_save() } else if (strpos($query, 'SELECT') !== false && $this->query_result) { $this->open_queries[(int) $this->query_result] = $this->query_result; } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function _odbc_execute_query($query) { $result = false; if (eregi("^SELECT ", $query)) { $result = @odbc_exec($this->db_connect_id, $query); if ($result) { if (empty($this->field_names[$result])) { for ($i = 1, $j = @odbc_num_fields($result) + 1; $i < $j; $i++) { $this->field_names[$result][] = @odbc_field_name($result, $i); $this->field_types[$result][] = @odbc_field_type($result, $i); } } $this->current_row[$result] = 0; $this->result_rowset[$result] = array(); $row_outer = (isset($row_offset)) ? $row_offset + 1 : 1; $row_outer_max = (isset($num_rows)) ? $row_offset + $num_rows + 1 : 1E9; $row_inner = 0; while (@odbc_fetch_row($result, $row_outer) && $row_outer < $row_outer_max) { for ($i = 0, $j = sizeof($this->field_names[$result]); $i < $j; $i++) { $this->result_rowset[$result][$row_inner][$this->field_names[$result][$i]] = stripslashes(@odbc_result($result, $i + 1)); } $row_outer++; $row_inner++; } $this->num_rows[$result] = sizeof($this->result_rowset[$result]); } } else if (eregi("^INSERT ", $query)) { $result = @odbc_exec($this->db_connect_id, $query); if ($result) { $result_id = @odbc_exec($this->db_connect_id, 'SELECT @@IDENTITY'); if ($result_id) { if (@odbc_fetch_row($result_id)) { $this->next_id[$this->db_connect_id] = @odbc_result($result_id, 1); $this->affected_rows[$this->db_connect_id] = @odbc_num_rows($result); } } } } else { $result = @odbc_exec($this->db_connect_id, $query); if ($result) { $this->affected_rows[$this->db_connect_id] = @odbc_num_rows($result); } } return $result; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // if $total is set to 0 we do not want to limit the number of rows if ($total == 0) { $total = -1; } $row_offset = ($total) ? $offset : ''; $num_rows = ($total) ? $total : $offset; $query = 'SELECT TOP ' . ($row_offset + $num_rows) . ' ' . substr($query, 6); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @$this->num_rows($query_id) : false; } function sql_affectedrows() { return ($this->affected_rows[$this->db_connect_id]) ? $this->affected_rows[$this->db_connect_id] : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } return ($this->num_rows[$query_id] && $this->current_row[$query_id] < $this->num_rows[$query_id]) ? $this->result_rowset[$query_id][$this->current_row[$query_id]++] : false; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($this->num_rows[$query_id]) ? $this->result_rowset[$query_id] : false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum < $this->num_rows[$query_id]) { $getrow = ($rownum == -1) ? $this->current_row[$query_id] - 1 : $rownum; return $this->result_rowset[$query_id][$getrow][$this->field_names[$query_id][$field]]; } } return false; } function sql_rowseek($rownum, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->current_row[$query_id])) { $this->current_row[$query_id] = $rownum; return true; } return false; } function sql_nextid() { return ($this->next_id[$this->db_connect_id]) ? $this->next_id[$this->db_connect_id] : false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->open_queries[(int) $query_id])) { unset($this->open_queries[(int) $query_id]); unset($this->num_rows[$query_id]); unset($this->current_row[$query_id]); unset($this->result_rowset[$query_id]); unset($this->field_names[$query_id]); unset($this->field_types[$query_id]); return @odbc_free_result($query_id); } return false; } function sql_escape($msg) { return str_replace("'", "''", str_replace('\\', '\\\\', $msg)); } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @odbc_errormsg() . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @odbc_errormsg(), 'code' => @odbc_error() ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $this->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = $this->_odbc_execute_query($query); $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; @odbc_free_result($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - ' . SQL_LAYER . ' Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/mssql.php000066400000000000000000000351351103742314700172610ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @mssql_pconnect($this->server, $this->user, $sqlpassword) : @mssql_connect($this->server, $this->user, $sqlpassword); if ($this->db_connect_id && $this->dbname != '') { if (!@mssql_select_db($this->dbname, $this->db_connect_id)) { @mssql_close($this->db_connect_id); return false; } } return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } function sql_close() { if (!$this->db_connect_id) { return false; } if ($this->transaction) { @mssql_query('COMMIT', $this->db_connect_id); } if (sizeof($this->open_queries)) { foreach ($this->open_queries as $i_query_id => $query_id) { @mssql_free_result($query_id); } } return @mssql_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @mssql_query('BEGIN TRANSACTION', $this->db_connect_id); $this->transaction = true; break; case 'commit': $result = @mssql_query('commit', $this->db_connect_id); $this->transaction = false; if (!$result) { @mssql_query('ROLLBACK', $this->db_connect_id); } break; case 'rollback': $result = @mssql_query('ROLLBACK', $this->db_connect_id); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = @mssql_query($query, $this->db_connect_id)) === false) { $this->sql_error($query); } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $this->open_queries[(int) $this->query_result] = $this->query_result; $cache->sql_save($query, $this->query_result, $cache_ttl); // sql_freeresult called within sql_save() } else if (strpos($query, 'SELECT') !== false && $this->query_result) { $this->open_queries[(int) $this->query_result] = $this->query_result; } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // if $total is set to 0 we do not want to limit the number of rows if ($total == 0) { $total = -1; } $row_offset = ($total) ? $offset : ''; $num_rows = ($total) ? $total : $offset; $query = 'SELECT TOP ' . ($row_offset + $num_rows) . ' ' . substr($query, 6); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } // return (isset($this->limit_offset[$query_id])) ? @mssql_num_rows($query_id) - $this->limit_offset[$query_id] : @mssql_num_rows($query_id); return ($query_id) ? @mssql_num_rows($query_id) : false; } function sql_affectedrows() { return ($this->db_connect_id) ? @mssql_rows_affected($this->db_connect_id) : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } $row = @mssql_fetch_array($query_id, MSSQL_ASSOC); if ($row) { foreach ($row as $key => $value) { $row[$key] = ($value === ' ') ? trim($value) : $value; } } return $row; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); $result = array(); while ($this->rowset[$query_id] = $this->sql_fetchrow($query_id)) { $result[] = $this->rowset[$query_id]; } return $result; } return false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { // (!empty($this->limit_offset[$query_id])) ? @mssql_data_seek($query_id, ($this->limit_offset[$query_id] + $rownum)) : @mssql_data_seek($query_id, $rownum); @mssql_data_seek($query_id, $rownum); $row = @mssql_fetch_array($query_id, MSSQL_ASSOC); $result = isset($row[$field]) ? $row[$field] : false; } else { if (empty($this->row[$query_id]) && empty($this->rowset[$query_id])) { if ($this->sql_fetchrow($query_id)) { $result = $this->row[$query_id][$field]; } } else { if ($this->rowset[$query_id]) { $result = $this->rowset[$query_id][$field]; } elseif ($this->row[$query_id]) { $result = $this->row[$query_id][$field]; } } } return $result; } return false; } function sql_rowseek($rownum, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->current_row[$query_id])) { // (!empty($this->limit_offset[$query_id])) ? @mssql_data_seek($query_id, ($this->limit_offset[$query_id] + $rownum)) : @mssql_data_seek($query_id, $rownum); @mssql_data_seek($query_id, $rownum); return true; } return false; } function sql_nextid() { $result_id = @mssql_query('SELECT @@IDENTITY', $this->db_connect_id); if ($result_id) { if (@mssql_fetch_array($result_id, MSSQL_ASSOC)) { return @mssql_result($result_id, 1); } } return false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->open_queries[$query_id])) { unset($this->open_queries[$query_id]); unset($this->result_rowset[$query_id]); return @mssql_free_result($query_id); } return false; } function sql_escape($msg) { return str_replace("'", "''", str_replace('\\', '\\\\', $msg)); } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @mssql_get_last_message() . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @mssql_get_last_message($this->db_connect_id), 'code' => '' ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $this->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = @mssql_query($query, $this->db_connect_id); while ($void = @mssql_fetch_array($result, MSSQL_ASSOC)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; @mssql_free_result($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - ' . SQL_LAYER . ' Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/mysql.php000066400000000000000000000355131103742314700172670ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @mysql_pconnect($this->server, $this->user, $sqlpassword) : @mysql_connect($this->server, $this->user, $sqlpassword); if ($this->db_connect_id && $this->dbname != '') { if (@mysql_select_db($this->dbname)) { return $this->db_connect_id; } } return $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if (sizeof($this->open_queries)) { foreach ($this->open_queries as $i_query_id => $query_id) { @mysql_free_result($query_id); } } return @mysql_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @mysql_query('BEGIN', $this->db_connect_id); $this->transaction = true; break; case 'commit': $result = @mysql_query('COMMIT', $this->db_connect_id); $this->transaction = false; if (!$result) { @mysql_query('ROLLBACK', $this->db_connect_id); } break; case 'rollback': $result = @mysql_query('ROLLBACK', $this->db_connect_id); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = @mysql_query($query, $this->db_connect_id)) === false) { $this->sql_error($query); } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $this->open_queries[(int) $this->query_result] = $this->query_result; $cache->sql_save($query, $this->query_result, $cache_ttl); // mysql_free_result called within sql_save() } else if (strpos($query, 'SELECT') !== false && $this->query_result) { $this->open_queries[(int) $this->query_result] = $this->query_result; } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // only limit the number of rows if $total is greater than 0 if ($total > 0) $query .= "\n LIMIT " . ((!empty($offset)) ? $offset . ', ' . $total : $total); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysql_num_rows($query_id) : false; } function sql_affectedrows() { return ($this->db_connect_id) ? @mysql_affected_rows($this->db_connect_id) : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } return ($query_id) ? @mysql_fetch_assoc($query_id) : false; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); $result = array(); while ($this->rowset[$query_id] = $this->sql_fetchrow($query_id)) { $result[] = $this->rowset[$query_id]; } return $result; } return false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { $result = @mysql_result($query_id, $rownum, $field); } else { if (empty($this->row[$query_id]) && empty($this->rowset[$query_id])) { if ($this->sql_fetchrow($query_id)) { $result = $this->row[$query_id][$field]; } } else { if ($this->rowset[$query_id]) { $result = $this->rowset[$query_id][$field]; } elseif ($this->row[$query_id]) { $result = $this->row[$query_id][$field]; } } } return $result; } return false; } function sql_rowseek($rownum, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysql_data_seek($query_id, $rownum) : false; } function sql_nextid() { return ($this->db_connect_id) ? @mysql_insert_id($this->db_connect_id) : false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->open_queries[(int) $query_id])) { unset($this->open_queries[(int) $query_id]); return @mysql_free_result($query_id); } return false; } function sql_escape($msg) { if (function_exists('mysql_real_escape_string')) { return @mysql_real_escape_string($msg, $this->db_connect_id); } else { return mysql_escape_string($msg); } } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @mysql_error() . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @mysql_error(), 'code' => @mysql_errno() ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $db, $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $db->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $explain_query = $query; if (preg_match('/UPDATE ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } elseif (preg_match('/DELETE FROM ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } if (preg_match('/^SELECT/', $explain_query)) { $html_table = FALSE; if ($result = mysql_query("EXPLAIN $explain_query", $this->db_connect_id)) { while ($row = mysql_fetch_assoc($result)) { if (!$html_table && sizeof($row)) { $html_table = TRUE; $html_hold .= ''; foreach (array_keys($row) as $val) { $html_hold .= ''; } $html_hold .= ''; } $html_hold .= ''; $class = 'row1'; foreach (array_values($row) as $val) { $class = ($class == 'row1') ? 'row2' : 'row1'; $html_hold .= ''; } $html_hold .= ''; } } if ($html_table) { $html_hold .= '
' . (($val) ? ucwords(str_replace('_', ' ', $val)) : ' ') . '
' . (($val) ? $val : ' ') . '
'; } } $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = mysql_query($query, $this->db_connect_id); while ($void = mysql_fetch_assoc($result)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; mysql_free_result($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - MySQL Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/mysql4.php000066400000000000000000000355121103742314700173520ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @mysql_pconnect($this->server, $this->user, $sqlpassword) : @mysql_connect($this->server, $this->user, $sqlpassword); if ($this->db_connect_id && $this->dbname != '') { if (@mysql_select_db($this->dbname)) { return $this->db_connect_id; } } return $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if (sizeof($this->open_queries)) { foreach ($this->open_queries as $i_query_id => $query_id) { @mysql_free_result($query_id); } } return @mysql_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @mysql_query('BEGIN', $this->db_connect_id); $this->transaction = true; break; case 'commit': $result = @mysql_query('COMMIT', $this->db_connect_id); $this->transaction = false; if (!$result) { @mysql_query('ROLLBACK', $this->db_connect_id); } break; case 'rollback': $result = @mysql_query('ROLLBACK', $this->db_connect_id); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = @mysql_query($query, $this->db_connect_id)) === false) { $this->sql_error($query); } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $this->open_queries[(int) $this->query_result] = $this->query_result; $cache->sql_save($query, $this->query_result, $cache_ttl); // mysql_free_result called within sql_save() } else if (strpos($query, 'SELECT') !== false && $this->query_result) { $this->open_queries[(int) $this->query_result] = $this->query_result; } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // only limit the number of rows if $total is greater than 0 if ($total > 0) $query .= "\n LIMIT " . ((!empty($offset)) ? $offset . ', ' . $total : $total); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysql_num_rows($query_id) : false; } function sql_affectedrows() { return ($this->db_connect_id) ? @mysql_affected_rows($this->db_connect_id) : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } return ($query_id) ? @mysql_fetch_assoc($query_id) : false; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); $result = array(); while ($this->rowset[$query_id] = $this->sql_fetchrow($query_id)) { $result[] = $this->rowset[$query_id]; } return $result; } return false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { $result = @mysql_result($query_id, $rownum, $field); } else { if (empty($this->row[$query_id]) && empty($this->rowset[$query_id])) { if ($this->sql_fetchrow($query_id)) { $result = $this->row[$query_id][$field]; } } else { if ($this->rowset[$query_id]) { $result = $this->rowset[$query_id][$field]; } elseif ($this->row[$query_id]) { $result = $this->row[$query_id][$field]; } } } return $result; } return false; } function sql_rowseek($rownum, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysql_data_seek($query_id, $rownum) : false; } function sql_nextid() { return ($this->db_connect_id) ? @mysql_insert_id($this->db_connect_id) : false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if (isset($this->open_queries[(int) $query_id])) { unset($this->open_queries[(int) $query_id]); return @mysql_free_result($query_id); } return false; } function sql_escape($msg) { if (function_exists('mysql_real_escape_string')) { return @mysql_real_escape_string($msg, $this->db_connect_id); } else { return mysql_escape_string($msg); } } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @mysql_error() . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @mysql_error(), 'code' => @mysql_errno() ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $db, $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $db->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $explain_query = $query; if (preg_match('/UPDATE ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } elseif (preg_match('/DELETE FROM ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } if (preg_match('/^SELECT/', $explain_query)) { $html_table = FALSE; if ($result = mysql_query("EXPLAIN $explain_query", $this->db_connect_id)) { while ($row = mysql_fetch_assoc($result)) { if (!$html_table && sizeof($row)) { $html_table = TRUE; $html_hold .= ''; foreach (array_keys($row) as $val) { $html_hold .= ''; } $html_hold .= ''; } $html_hold .= ''; $class = 'row1'; foreach (array_values($row) as $val) { $class = ($class == 'row1') ? 'row2' : 'row1'; $html_hold .= ''; } $html_hold .= ''; } } if ($html_table) { $html_hold .= '
' . (($val) ? ucwords(str_replace('_', ' ', $val)) : ' ') . '
' . (($val) ? $val : ' ') . '
'; } } $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = mysql_query($query, $this->db_connect_id); while ($void = mysql_fetch_assoc($result)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; mysql_free_result($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - MySQL Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/mysqli.php000066400000000000000000000364151103742314700174420ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @mysqli_pconnect($this->server, $this->user, $sqlpassword) : @mysqli_connect($this->server, $this->user, $sqlpassword); if ($this->db_connect_id && $this->dbname != '') { if (@mysqli_select_db($this->db_connect_id, $this->dbname)) { return $this->db_connect_id; } } return $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if ($this->transaction) { @mysqli_commit($this->db_connect_id); } return @mysqli_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @mysqli_autocommit($this->db_connect_id, false); $this->transaction = true; break; case 'commit': $result = @mysqli_commit($this->db_connect_id); @mysqli_autocommit($this->db_connect_id, true); $this->transaction = false; if (!$result) { @mysqli_rollback($this->db_connect_id); @mysqli_autocommit($this->db_connect_id, true); } break; case 'rollback': $result = @mysqli_rollback($this->db_connect_id); @mysqli_autocommit($this->db_connect_id, true); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; if (($this->query_result = @mysqli_query($this->db_connect_id, $query)) === false) { $this->sql_error($query); } if (is_object($this->query_result)) { $this->query_result->cur_index = $this->indexed++; } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $cache->sql_save($query, $this->query_result, $cache_ttl); } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // only limit the number of rows if $total is greater than 0 if ($total > 0) $query .= "\n LIMIT " . ((!empty($offset)) ? $offset . ', ' . $total : $total); return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysqli_num_rows($query_id) : false; } function sql_affectedrows() { return ($this->db_connect_id) ? @mysqli_affected_rows($this->db_connect_id) : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (!is_object($query_id) && isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } return ($query_id) ? @mysqli_fetch_assoc($query_id) : false; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { $cur_index = (is_object($query_id)) ? $query_id->cur_index : $query_id; unset($this->rowset[$cur_index]); unset($this->row[$cur_index]); $result = array(); while ($this->rowset[$cur_index] = $this->sql_fetchrow($query_id)) { $result[] = $this->rowset[$cur_index]; } return $result; } return false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { @mysqli_data_seek($query_id, $rownum); $row = @mysqli_fetch_assoc($query_id); $result = isset($row[$field]) ? $row[$field] : false; } else { $cur_index = (is_object($query_id)) ? $query_id->cur_index : $query_id; if (empty($this->row[$cur_index]) && empty($this->rowset[$cur_index])) { if ($this->row[$cur_index] = $this->sql_fetchrow($query_id)) { $result = $this->row[$cur_index][$field]; } } else { if ($this->rowset[$cur_index]) { $result = $this->rowset[$cur_index][$field]; } elseif ($this->row[$cur_index]) { $result = $this->row[$cur_index][$field]; } } } return $result; } return false; } function sql_rowseek($rownum, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @mysqli_data_seek($query_id, $rownum) : false; } function sql_nextid() { return ($this->db_connect_id) ? @mysqli_insert_id($this->db_connect_id) : false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } $cur_index = (is_object($query_id)) ? $query_id->cur_index : $query_id; unset($this->rowset[$cur_index]); unset($this->row[$cur_index]); if (is_object($query_id)) { $this->indexed--; return @mysqli_free_result($query_id); } else { return false; } } function sql_escape($msg) { if (function_exists('mysql_real_escape_string')) { return @mysql_real_escape_string($msg, $this->db_connect_id); } else { return mysql_escape_string($msg); } } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @mysqli_error($this->db_connect_id) . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @mysqli_error($this->db_connect_id), 'code' => @mysqli_errno($this->db_connect_id) ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $db, $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $db->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $explain_query = $query; if (preg_match('/UPDATE ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } elseif (preg_match('/DELETE FROM ([a-z0-9_]+).*?WHERE(.*)/s', $query, $m)) { $explain_query = 'SELECT * FROM ' . $m[1] . ' WHERE ' . $m[2]; } if (preg_match('/^SELECT/', $explain_query)) { $html_table = FALSE; if ($result = @mysqli_query($this->db_connect_id, "EXPLAIN $explain_query")) { while ($row = @mysqli_fetch_assoc($result)) { if (!$html_table && sizeof($row)) { $html_table = TRUE; $html_hold .= ''; foreach (array_keys($row) as $val) { $html_hold .= ''; } $html_hold .= ''; } $html_hold .= ''; $class = 'row1'; foreach (array_values($row) as $val) { $class = ($class == 'row1') ? 'row2' : 'row1'; $html_hold .= ''; } $html_hold .= ''; } } if ($html_table) { $html_hold .= '
' . (($val) ? ucwords(str_replace('_', ' ', $val)) : ' ') . '
' . (($val) ? $val : ' ') . '
'; } } $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = @mysqli_query($this->db_connect_id, $query); while ($void = @mysqli_fetch_assoc($result)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; @mysqli_free_result($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - MySQL Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/oracle.php000066400000000000000000000212071103742314700173620ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->password = $sqlpassword; $this->server = $sqlserver; $this->dbname = $database; if($this->persistency) { $this->db_connect_id = @OCIPLogon($this->user, $this->password, $this->server); } else { $this->db_connect_id = @OCINLogon($this->user, $this->password, $this->server); } if($this->db_connect_id) { return $this->db_connect_id; } else { return false; } } // // Other base methods // function sql_close() { if($this->db_connect_id) { // Commit outstanding transactions if($this->in_transaction) { OCICommit($this->db_connect_id); } if($this->query_result) { @OCIFreeStatement($this->query_result); } $result = @OCILogoff($this->db_connect_id); return $result; } else { return false; } } // // Base query method // function sql_query($query = "", $transaction = FALSE) { // Remove any pre-existing queries unset($this->query_result); // Put us in transaction mode because with Oracle as soon as you make a query you're in a transaction $this->in_transaction = TRUE; if($query != "") { $this->last_query = $query; $this->num_queries++; if(eregi("LIMIT", $query)) { preg_match("/^(.*)LIMIT ([0-9]+)[, ]*([0-9]+)*/s", $query, $limits); $query = $limits[1]; if($limits[3]) { $row_offset = $limits[2]; $num_rows = $limits[3]; } else { $row_offset = 0; $num_rows = $limits[2]; } } if(eregi("^(INSERT|UPDATE) ", $query)) { $query = preg_replace("/\\\'/s", "''", $query); } $this->query_result = @OCIParse($this->db_connect_id, $query); $success = @OCIExecute($this->query_result, OCI_DEFAULT); } if($success) { if($transaction == END_TRANSACTION) { OCICommit($this->db_connect_id); $this->in_transaction = FALSE; } unset($this->row[$this->query_result]); unset($this->rowset[$this->query_result]); $this->last_query_text[$this->query_result] = $query; return $this->query_result; } else { if($this->in_transaction) { OCIRollback($this->db_connect_id); } return false; } } // // Other query methods // function sql_numrows($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @OCIFetchStatement($query_id, $this->rowset); // OCIFetchStatment kills our query result so we have to execute the statment again // if we ever want to use the query_id again. @OCIExecute($query_id, OCI_DEFAULT); return $result; } else { return false; } } function sql_affectedrows($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @OCIRowCount($query_id); return $result; } else { return false; } } function sql_numfields($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @OCINumCols($query_id); return $result; } else { return false; } } function sql_fieldname($offset, $query_id = 0) { // OCIColumnName uses a 1 based array so we have to up the offset by 1 in here to maintain // full abstraction compatibitly $offset += 1; if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = strtolower(@OCIColumnName($query_id, $offset)); return $result; } else { return false; } } function sql_fieldtype($offset, $query_id = 0) { // This situation is the same as fieldname $offset += 1; if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @OCIColumnType($query_id, $offset); return $result; } else { return false; } } function sql_fetchrow($query_id = 0, $debug = FALSE) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result_row = ""; $result = @OCIFetchInto($query_id, $result_row, OCI_ASSOC+OCI_RETURN_NULLS); if($debug) { echo "Query was: ".$this->last_query . "
"; echo "Result: $result
"; echo "Query ID: $query_id
"; echo "
";
				var_dump($result_row);
				echo "
"; } if($result_row == "") { return false; } for($i = 0; $i < count($result_row); $i++) { list($key, $val) = each($result_row); $return_arr[strtolower($key)] = $val; } $this->row[$query_id] = $return_arr; return $this->row[$query_id]; } else { return false; } } // This function probably isn't as efficant is it could be but any other way I do it // I end up losing 1 row... function sql_fetchrowset($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $rows = @OCIFetchStatement($query_id, $results); @OCIExecute($query_id, OCI_DEFAULT); for($i = 0; $i <= $rows; $i++) { @OCIFetchInto($query_id, $tmp_result, OCI_ASSOC+OCI_RETURN_NULLS); for($j = 0; $j < count($tmp_result); $j++) { list($key, $val) = each($tmp_result); $return_arr[strtolower($key)] = $val; } $result[] = $return_arr; } return $result; } else { return false; } } function sql_fetchfield($field, $rownum = -1, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { if($rownum > -1) { // Reset the internal rownum pointer. @OCIExecute($query_id, OCI_DEFAULT); for($i = 0; $i < $rownum; $i++) { // Move the interal pointer to the row we want @OCIFetch($query_id); } // Get the field data. $result = @OCIResult($query_id, strtoupper($field)); } else { // The internal pointer should be where we want it // so we just grab the field out of the current row. $result = @OCIResult($query_id, strtoupper($field)); } return $result; } else { return false; } } function sql_rowseek($rownum, $query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { @OCIExecute($query_id, OCI_DEFAULT); for($i = 0; $i < $rownum; $i++) { @OCIFetch($query_id); } $result = @OCIFetch($query_id); return $result; } else { return false; } } function sql_nextid($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id && $this->last_query_text[$query_id] != "") { if( eregi("^(INSERT{1}|^INSERT INTO{1})[[:space:]][\"]?([a-zA-Z0-9\_\-]+)[\"]?", $this->last_query_text[$query_id], $tablename)) { $query = "SELECT ".$tablename[2]."_id_seq.currval FROM DUAL"; $stmt = @OCIParse($this->db_connect_id, $query); @OCIExecute($stmt,OCI_DEFAULT ); $temp_result = @OCIFetchInto($stmt, $temp_result, OCI_ASSOC+OCI_RETURN_NULLS); if($temp_result) { return $temp_result['CURRVAL']; } else { return false; } } else { return false; } } else { return false; } } function sql_nextid($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id && $this->last_query_text[$query_id] != "") { if( eregi("^(INSERT{1}|^INSERT INTO{1})[[:space:]][\"]?([a-zA-Z0-9\_\-]+)[\"]?", $this->last_query_text[$query_id], $tablename)) { $query = "SELECT ".$tablename[2]."_id_seq.CURRVAL FROM DUAL"; $temp_q_id = @OCIParse($this->db_connect_id, $query); @OCIExecute($temp_q_id, OCI_DEFAULT); @OCIFetchInto($temp_q_id, $temp_result, OCI_ASSOC+OCI_RETURN_NULLS); if($temp_result) { return $temp_result['CURRVAL']; } else { return false; } } else { return false; } } else { return false; } } function sql_freeresult($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } if($query_id) { $result = @OCIFreeStatement($query_id); return $result; } else { return false; } } function sql_error($query_id = 0) { if(!$query_id) { $query_id = $this->query_result; } $result = @OCIError($query_id); return $result; } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/db/postgres.php000066400000000000000000000352101103742314700177620ustar00rootroot00000000000000connect_string = ''; if ($sqluser) { $this->connect_string .= "user=$sqluser "; } if ($sqlpassword) { $this->connect_string .= "password=$sqlpassword "; } if ($sqlserver) { if (ereg(":", $sqlserver)) { list($sqlserver, $sqlport) = split(":", $sqlserver); $this->connect_string .= "host=$sqlserver port=$sqlport "; } else { if ($sqlserver != "localhost") { $this->connect_string .= "host=$sqlserver "; } if ($port) { $this->connect_string .= "port=$port "; } } } if ($database) { $this->dbname = $database; $this->connect_string .= "dbname=$database"; } $this->persistency = $persistency; $this->db_connect_id = ($this->persistency) ? @pg_pconnect($this->connect_string) : @pg_connect($this->connect_string); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } // // Other base methods // function sql_close() { if (!$this->db_connect_id) { return false; } if ($this->transaction) { @pg_exec($this->db_connect_id, 'COMMIT'); } return @pg_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $result = @pg_exec($this->db_connect_id, 'BEGIN'); $this->transaction = true; break; case 'commit': $result = @pg_exec($this->db_connect_id, 'COMMIT'); $this->transaction = false; if (!$result) { @pg_exec($this->db_connect_id, 'ROLLBACK'); } break; case 'rollback': $result = @pg_exec($this->db_connect_id, 'ROLLBACK'); $this->transaction = false; break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $cache_ttl = 0) { if ($query != '') { global $cache; // EXPLAIN only in extra debug mode if (defined('DEBUG_EXTRA')) { $this->sql_report('start', $query); } $this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false; if (!$this->query_result) { $this->num_queries++; $this->last_query_text = $query; if (($this->query_result = @pg_exec($this->db_connect_id, $query)) === false) { $this->sql_error($query); } if (defined('DEBUG_EXTRA')) { $this->sql_report('stop', $query); } if ($cache_ttl && method_exists($cache, 'sql_save')) { $cache->sql_save($query, $this->query_result, $cache_ttl); } } else if (defined('DEBUG_EXTRA')) { $this->sql_report('fromcache', $query); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $cache_ttl = 0) { if ($query != '') { $this->query_result = false; // if $total is set to 0 we do not want to limit the number of rows if ($total == 0) { $total = -1; } $query .= "\n LIMIT $total OFFSET $offset"; return $this->sql_query($query, $cache_ttl); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE' || $query == 'SELECT') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(($query == 'UPDATE') ? ', ' : ' AND ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @pg_numrows($query_id) : false; } function sql_affectedrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @pg_cmdtuples($query_id) : false; } function sql_fetchrow($query_id = false) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if (!isset($this->rownum[$query_id])) { $this->rownum[$query_id] = 0; } if (isset($cache->sql_rowset[$query_id])) { return $cache->sql_fetchrow($query_id); } $result = @pg_fetch_array($query_id, NULL, PGSQL_ASSOC); if ($result) { $this->rownum[$query_id]++; } return $result; } function sql_fetchrowset($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } $result = array(); if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); $result = array(); while ($this->rowset[$query_id] = $this->sql_fetchrow($query_id)) { $result[] = $this->rowset[$query_id]; } return $result; } return false; } function sql_fetchfield($field, $rownum = -1, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($rownum > -1) { if (@function_exists('pg_result_seek')) { @pg_result_seek($query_id, $rownum); $row = @pg_fetch_assoc($query_id); $result = isset($row[$field]) ? $row[$field] : false; } else { $this->sql_rowseek($offset, $query_id); $row = $this->sql_fetchrow($query_id); $result = isset($row[$field]) ? $row[$field] : false; } } else { if (empty($this->row[$query_id]) && empty($this->rowset[$query_id])) { if ($this->sql_fetchrow($query_id)) { $result = $this->row[$query_id][$field]; } } else { if ($this->rowset[$query_id]) { $result = $this->rowset[$query_id][$field]; } elseif ($this->row[$query_id]) { $result = $this->row[$query_id][$field]; } } } return $result; } return false; } function sql_rowseek($offset, $query_id = false) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { if ($offset > -1) { if (@function_exists('pg_result_seek')) { @pg_result_seek($query_id, $rownum); } else { for ($i = $this->rownum[$query_id]; $i < $offset; $i++) { $this->sql_fetchrow($query_id); } } return true; } else { return false; } } return false; } function sql_nextid() { $query_id = $this->query_result; if ($query_id && $this->last_query_text != '') { if (preg_match("/^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)/is", $this->last_query_text, $tablename)) { $query = "SELECT currval('" . $tablename[1] . "_id_seq') AS last_value"; $temp_q_id = @pg_exec($this->db_connect_id, $query); if (!$temp_q_id) { return false; } $temp_result = @pg_fetch_array($temp_q_id, NULL, PGSQL_ASSOC); return ($temp_result) ? $temp_result['last_value'] : false; } } return false; } function sql_freeresult($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return (is_resource($query_id)) ? @pg_freeresult($query_id) : false; } function sql_escape($msg) { return str_replace("'", "''", str_replace('\\', '\\\\', $msg)); } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : (isset($_ENV['QUERY_STRING']) ? $_ENV['QUERY_STRING'] : '')); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @pg_errormessage() . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @pg_errormessage(), 'code' => '' ); return $result; } function sql_report($mode, $query = '') { if (empty($_GET['explain'])) { return; } global $cache, $starttime, $phpbb_root_path; static $curtime, $query_hold, $html_hold; static $sql_report = ''; static $cache_num_queries = 0; if (!$query && !empty($query_hold)) { $query = $query_hold; } switch ($mode) { case 'display': if (!empty($cache)) { $cache->unload(); } $this->sql_close(); $mtime = explode(' ', microtime()); $totaltime = $mtime[0] + $mtime[1] - $starttime; echo '' . $msg_title . ''; echo '
phpBB LogoSQL Report      

Page generated in ' . round($totaltime, 4) . " seconds with {$this->num_queries} queries" . (($cache_num_queries) ? " + $cache_num_queries " . (($cache_num_queries == 1) ? 'query' : 'queries') . ' returning data from cache' : '') . '
Time spent on MySQL queries: ' . round($this->sql_time, 5) . 's | Time spent on PHP: ' . round($totaltime - $this->sql_time, 5) . 's
'; echo $sql_report; echo '

'; exit; break; case 'start': $query_hold = $query; $html_hold = ''; $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1]; break; case 'fromcache': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $result = @pg_exec($this->db_connect_id, $query); while ($void = @pg_fetch_array($result, NULL, PGSQL_ASSOC)) { // Take the time spent on parsing rows into account } $splittime = explode(' ', microtime()); $splittime = $splittime[0] + $splittime[1]; $time_cache = $endtime - $curtime; $time_db = $splittime - $endtime; $color = ($time_db > $time_cache) ? 'green' : 'red'; $sql_report .= '

Query results obtained from the cache

'; $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed [cache]: ' . sprintf('%.5f', ($time_cache)) . 's | Elapsed [db]: ' . sprintf('%.5f', $time_db) . 's

'; // Pad the start time to not interfere with page timing $starttime += $time_db; @pg_freeresult($result); $cache_num_queries++; break; case 'stop': $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1]; $sql_report .= '

Query #' . $this->num_queries . '
' . $html_hold . '

'; if ($this->query_result) { if (preg_match('/^(UPDATE|DELETE|REPLACE)/', $query)) { $sql_report .= "Affected rows: " . $this->sql_affectedrows($this->query_result) . ' | '; } $sql_report .= 'Before: ' . sprintf('%.5f', $curtime - $starttime) . 's | After: ' . sprintf('%.5f', $endtime - $starttime) . 's | Elapsed: ' . sprintf('%.5f', $endtime - $curtime) . 's'; } else { $error = $this->sql_error(); $sql_report .= 'FAILED - ' . SQL_LAYER . ' Error ' . $error['code'] . ': ' . htmlspecialchars($error['message']); } $sql_report .= '

'; $this->sql_time += $endtime - $curtime; break; } } } // class ... db_sql } // if ... defined ?>scuttle-0.7.4/includes/db/sqlite.php000066400000000000000000000204451103742314700174210ustar00rootroot00000000000000persistency = $persistency; $this->user = $sqluser; $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; $this->db_connect_id = ($this->persistency) ? @sqlite_popen($this->server, 0, $error) : @sqlite_open($this->server, 0, $error); return ($this->db_connect_id) ? true : $error; } // Other base methods function sql_close() { if (!$this->db_connect_id) { return false; } return @sqlite_close($this->db_connect_id); } function sql_return_on_error($fail = false) { $this->return_on_error = $fail; } function sql_num_queries() { return $this->num_queries; } function sql_transaction($status = 'begin') { switch ($status) { case 'begin': $this->transaction = true; $result = @sqlite_query('BEGIN', $this->db_connect_id); break; case 'commit': $this->transaction = false; $result = @sqlite_query('COMMIT', $this->db_connect_id); break; case 'rollback': $this->transaction = false; $result = @sqlite_query('ROLLBACK', $this->db_connect_id); break; default: $result = true; } return $result; } // Base query method function sql_query($query = '', $expire_time = 0) { if ($query != '') { global $cache; $query = preg_replace('#FROM \((.*?)\)(,|[\n\t ]+?WHERE) #s', 'FROM \1\2 ', $query); if (!$expire_time || !$cache->sql_load($query, $expire_time)) { if ($expire_time) { $cache_result = true; } $this->query_result = false; $this->num_queries++; if (!empty($_GET['explain'])) { global $starttime; $curtime = explode(' ', microtime()); $curtime = $curtime[0] + $curtime[1] - $starttime; } if (!($this->query_result = @sqlite_query($query, $this->db_connect_id))) { $this->sql_error($query); } if (!empty($_GET['explain'])) { $endtime = explode(' ', microtime()); $endtime = $endtime[0] + $endtime[1] - $starttime; $this->sql_report .= "
Query:\t" . htmlspecialchars(preg_replace('/[\s]*[\n\r\t]+[\n\r\s\t]*/', "\n\t", $query)) . "\n\n";

					if ($this->query_result)
					{
						$this->sql_report .= "Time before:  $curtime\nTime after:   $endtime\nElapsed time: " . ($endtime - $curtime) . "\n
"; } else { $error = $this->sql_error(); $this->sql_report .= 'FAILED - SQLite ' . $error['code'] . ': ' . htmlspecialchars($error['message']) . '

';
					}

					$this->sql_time += $endtime - $curtime;

					if (preg_match('#^SELECT#', $query))
					{
						$html_table = FALSE;
						if ($result = @sqlite_query("EXPLAIN $query", $this->db_connect_id))
						{
							while ($row = @sqlite_fetch_array($result, @sqlite_ASSOC))
							{
								if (!$html_table && sizeof($row))
								{
									$html_table = TRUE;
									$this->sql_report .= "\n";
									$this->sql_report .= "\n\n\n\n";
								}
								$this->sql_report .= "\n\n\n\n";
							}
						}

						if ($html_table)
						{
							$this->sql_report .= '
" . implode("", array_keys($row)) . "
" . implode(" ", array_values($row)) . " 

'; } } $this->sql_report .= "
\n"; } if (preg_match('#^SELECT#', $query)) { $this->open_queries[] = $this->query_result; } } if (!empty($cache_result)) { $cache->sql_save($query, $this->query_result); } } else { return false; } return ($this->query_result) ? $this->query_result : false; } function sql_query_limit($query, $total, $offset = 0, $expire_time = 0) { if ($query != '') { $this->query_result = false; $query .= ' LIMIT ' . ((!empty($offset)) ? $total . ' OFFSET ' . $offset : $total); return $this->sql_query($query, $expire_time); } else { return false; } } // Idea for this from Ikonboard function sql_build_array($query, $assoc_ary = false) { if (!is_array($assoc_ary)) { return false; } $fields = array(); $values = array(); if ($query == 'INSERT') { foreach ($assoc_ary as $key => $var) { $fields[] = $key; if (is_null($var)) { $values[] = 'NULL'; } elseif (is_string($var)) { $values[] = "'" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? intval($var) : $var; } } $query = ' (' . implode(', ', $fields) . ') VALUES (' . implode(', ', $values) . ')'; } else if ($query == 'UPDATE') { $values = array(); foreach ($assoc_ary as $key => $var) { if (is_null($var)) { $values[] = "$key = NULL"; } elseif (is_string($var)) { $values[] = "$key = '" . $this->sql_escape($var) . "'"; } else { $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var"; } } $query = implode(', ', $values); } return $query; } // Other query methods // // NOTE :: Want to remove _ALL_ reliance on sql_numrows from core code ... // don't want this here by a middle Milestone function sql_numrows($query_id = false) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @sqlite_num_rows($query_id) : false; } function sql_affectedrows() { return ($this->db_connect_id) ? @sqlite_changes($this->db_connect_id) : false; } function sql_fetchrow($query_id = 0) { global $cache; if (!$query_id) { $query_id = $this->query_result; } if ($cache->sql_exists($query_id)) { return $cache->sql_fetchrow($query_id); } return ($query_id) ? @sqlite_fetch_array($query_id, @sqlite_ASSOC) : false; } function sql_fetchrowset($query_id = 0) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { unset($this->rowset[$query_id]); unset($this->row[$query_id]); while ($this->rowset[$query_id] = @sqlite_fetch_array($query_id, @sqlite_ASSOC)) { $result[] = $this->rowset[$query_id]; } return $result; } else { return false; } } function sql_fetchfield($field, $rownum = -1, $query_id = 0) { if (!$query_id) { $query_id = $this->query_result; } if ($query_id) { return ($rownum > -1) ? ((@sqlite_seek($query_id, $rownum)) ? @sqlite_column($query_id, $field) : false) : @sqlite_column($query_id, $field); } } function sql_rowseek($rownum, $query_id = 0) { if (!$query_id) { $query_id = $this->query_result; } return ($query_id) ? @sqlite_seek($query_id, $rownum) : false; } function sql_nextid() { return ($this->db_connect_id) ? @sqlite_last_insert_rowid($this->db_connect_id) : false; } function sql_freeresult($query_id = false) { return true; } function sql_escape($msg) { return @sqlite_escape_string(stripslashes($msg)); } function sql_error($sql = '') { if (!$this->return_on_error) { $this_page = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : $_ENV['PHP_SELF']; $this_page .= '&' . ((!empty($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : $_ENV['QUERY_STRING']); $message = 'SQL ERROR [ ' . SQL_LAYER . ' ]

' . @sqlite_error_string(@sqlite_last_error($this->db_connect_id)) . '

CALLING PAGE

' . htmlspecialchars($this_page) . (($sql != '') ? '

SQL

' . $sql : '') . '
'; if ($this->transaction) { $this->sql_transaction('rollback'); } trigger_error($message, E_USER_ERROR); } $result = array( 'message' => @sqlite_error_string(@sqlite_last_error($this->db_connect_id)), 'code' => @sqlite_last_error($this->db_connect_id) ); return $result; } } // class sql_db } // if ... define ?>scuttle-0.7.4/includes/php-gettext/000077500000000000000000000000001103742314700172665ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/AUTHORS000066400000000000000000000003031103742314700203320ustar00rootroot00000000000000Danilo Segan Nico Kaiser (contributed most changes between 1.0.2 and 1.0.3, bugfix for 1.0.5) Steven Armstrong (gettext.inc, leading to 1.0.6) scuttle-0.7.4/includes/php-gettext/COPYING000066400000000000000000000431311103742314700203230ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. scuttle-0.7.4/includes/php-gettext/ChangeLog000066400000000000000000000073351103742314700210500ustar00rootroot000000000000002006-02-07 Danilo Šegan * examples/pigs_dropin.php: comment-out bind_textdomain_codeset * gettext.inc (T_bind_textdomain_codeset): bind_textdomain_codeset is available only in PHP 4.2.0+ (thanks to Jens A. Tkotz). * Makefile: Include gettext.inc in DIST_FILES, VERSION up to 1.0.7. 2006-02-03 Danilo Šegan Added setlocale() emulation as well. * examples/pigs_dropin.php: Use T_setlocale() and locale_emulation(). * examples/pigs_fallback.php: Use T_setlocale() and locale_emulation(). * gettext.inc: Added globals $EMULATEGETTEXT and $CURRENTLOCALE. (locale_emulation): Whether emulation is active. (_check_locale): Rewrite. (_setlocale): Added emulated setlocale function. (T_setlocale): Wrapper around _setlocale. (_get_reader): Use variables and _setlocale. 2006-02-02 Danilo Šegan Fix bug #12192. * examples/locale/sr_CS/LC_MESSAGES/messages.po: Correct grammar. * examples/locale/sr_CS/LC_MESSAGES/messages.mo: Rebuild. 2006-02-02 Danilo Šegan Fix bug #15419. * streams.php: Support for PHP 5.1.1 fread() which reads most 8kb. (Fix by Piotr Szotkowski ) 2006-02-02 Danilo Šegan Merge Steven Armstrong's changes, supporting standard gettext interfaces: * examples/*: Restructured examples. * gettext.inc: Added. * AUTHORS: Added Steven. * Makefile (VERSION): Up to 1.0.6. 2006-01-28 Nico Kaiser * gettext.php (select_string): Fix "true" <-> 1 difference of PHP 2005-07-29 Danilo Šegan * Makefile (VERSION): Up to 1.0.5. 2005-07-29 Danilo Šegan Fixes bug #13850. * gettext.php (gettext_reader): check $Reader->error as well. 2005-07-29 Danilo Šegan * Makefile (VERSION): Up to 1.0.4. 2005-07-29 Danilo Šegan Fixes bug #13771. * gettext.php (gettext_reader->get_plural_forms): Plural forms header extraction regex change. Reported by Edgar Gonzales. 2005-02-28 Danilo Šegan * AUTHORS: Added Nico to the list. * Makefile (VERSION): Up to 1.0.3. * README: Updated. 2005-02-28 Danilo Šegan * gettext.php: Added pre-loading, code documentation, and many code clean-ups by Nico Kaiser . 2005-02-28 Danilo Šegan * streams.php (FileReader.read): Handle read($bytes = 0). * examples/pigs.php: Prefix gettext function names with T or T_. * examples/update: Use the same keywords T_ and T_ngettext. * streams.php: Added CachedFileReader. 2003-11-11 Danilo Šegan * gettext.php: Added hashing to find_string. 2003-11-01 Danilo Šegan * Makefile (DIST_FILES): Replaced LICENSE with COPYING. (VERSION): Up to 1.0.2. * AUTHORS: Minor edits. * README: Minor edits. * COPYING: Removed LICENSE, added this file. * gettext.php: Added copyright notice and disclaimer. * streams.php: Same. * examples/pigs.php: Same. 2003-10-23 Danilo Šegan * Makefile: Upped version to 1.0.1. * gettext.php (gettext_reader): Remove a call to set_total_plurals. (set_total_plurals): Removed unused function for some better days. 2003-10-23 Danilo Šegan * Makefile: Added, version 1.0.0. * examples/*: Added an example of usage. * README: Described all the crap. 2003-10-22 Danilo Šegan * gettext.php: Plural forms implemented too. * streams.php: Added FileReader for direct access to files (no need to keep file in memory). * gettext.php: It works, except for plural forms. * streams.php: Created abstract class StreamReader. Added StringReader class. * gettext.php: Started writing gettext_reader. scuttle-0.7.4/includes/php-gettext/Makefile000066400000000000000000000013401103742314700207240ustar00rootroot00000000000000PACKAGE = php-gettext-$(VERSION) VERSION = 1.0.7 DIST_FILES = \ gettext.php \ gettext.inc \ streams.php \ AUTHORS \ ChangeLog \ README \ COPYING \ Makefile \ examples/index.php \ examples/pigs_dropin.php \ examples/pigs_fallback.php \ examples/locale/sr_CS/LC_MESSAGES/messages.po \ examples/locale/sr_CS/LC_MESSAGES/messages.mo \ examples/locale/de_CH/LC_MESSAGES/messages.po \ examples/locale/de_CH/LC_MESSAGES/messages.mo \ examples/update dist: if [ -d $(PACKAGE) ]; then \ rm -rf $(PACKAGE); \ fi; \ mkdir $(PACKAGE); \ if [ -d $(PACKAGE) ]; then \ cp -rp --parents $(DIST_FILES) $(PACKAGE); \ tar cvzf $(PACKAGE).tar.gz $(PACKAGE); \ rm -rf $(PACKAGE); \ fi; scuttle-0.7.4/includes/php-gettext/README000066400000000000000000000164601103742314700201550ustar00rootroot00000000000000PHP-gettext 1.0 Copyright 2003, 2006 -- Danilo "angry with PHP[1]" Segan Licensed under GPLv2 (or any later version, see COPYING) [1] PHP is actually cyrillic, and translates roughly to "works-doesn't-work" (UTF-8: Ради-Не-Ради) Introduction How many times did you look for a good translation tool, and found out that gettext is best for the job? Many times. How many times did you try to use gettext in PHP, but failed miserably, because either your hosting provider didn't support it, or the server didn't have adequate locale? Many times. Well, this is a solution to your needs. It allows using gettext tools for managing translations, yet it doesn't require gettext library at all. It parses generated MO files directly, and thus might be a bit slower than the (maybe provided) gettext library. PHP-gettext is a simple reader for GNU gettext MO files. Those are binary containers for translations, produced by GNU msgfmt. Why? I got used to having gettext work even without gettext library. It's there in my favourite language Python, so I was surprised that I couldn't find it in PHP. I even Googled for it, but to no avail. So, I said, what the heck, I'm going to write it for this disguisting language of PHP, because I'm often constrained to it. Features o Support for simple translations Just define a simple alias for translate() function (suggested use of _() or gettext(); see provided example). o Support for ngettext calls (plural forms, see a note under bugs) You may also use plural forms. Translations in MO files need to provide this, and they must also provide "plural-forms" header. Please see 'info gettext' for more details. o Support for reading straight files, or strings (!!!) Since I can imagine many different backends for reading in the MO file data, I used imaginary abstract class StreamReader to do all the input (check streams.php). For your convenience, I've already provided two classes for reading files: FileReader and StringReader (CachedFileReader is a combination of the two: it loads entire file contents into a string, and then works on that). See example below for usage. You can for instance use StringReader when you read in data from a database, or you can create your own derivative of StreamReader for anything you like. Bugs Plural-forms field in MO header (translation for empty string, i.e. "") is treated according to PHP syntactic rules (it's eval()ed). Since these should actually follow C syntax, there are some problems. For instance, I'm used to using this: Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : \ n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; but it fails with PHP (it sets $plural=2 instead of 0 for $n==1). The fix is usually simple, but I'm lazy to go into the details of PHP operator precedence, and maybe try to fix it. In here, I had to put everything after the first ':' in parenthesis: Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : \ (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); That works, and I'm satisfied. Besides this one, there are probably a bunch of other bugs, since I hate PHP (did I mention it already? no? strange), and don't know it very well. So, feel free to fix any of those and report them back to me at . Usage Put files streams.php and gettext.php somewhere you can load them from, and require 'em in where you want to use them. Then, create one 'stream reader' (a class that provides functions like read(), seekto(), currentpos() and length()) which will provide data for the 'gettext_reader', with eg. $streamer = new FileStream('data.mo'); Then, use that as a parameter to gettext_reader constructor: $wohoo = new gettext_reader($streamer); If you want to disable pre-loading of entire message catalog in memory (if, for example, you have a multi-thousand message catalog which you'll use only occasionally), use "false" for second parameter to gettext_reader constructor: $wohoo = new gettext_reader($streamer, false); From now on, you have all the benefits of gettext data at your disposal, so may run: print $wohoo->translate("This is a test"); print $wohoo->ngettext("%d bird", "%d birds", $birds); You might need to pass parameter "-k" to xgettext to make it extract all the strings. In above example, try with xgettext -ktranslate -kngettext:1,2 file.php what should create messages.po which contains two messages for translation. I suggest creating simple aliases for these functions (see example/pigs.php for how do I do it, which means it's probably a bad way). Usage with gettext.inc (standard gettext interfaces emulation) Check example in examples/pig_dropin.php, basically you include gettext.inc and use all the standard gettext interfaces as documented on: http://www.php.net/gettext The only catch is that you can check return value of setlocale() to see if your locale is system supported or not. Example See in examples/ subdirectory. There are a couple of files. pigs.php is an example, serbian.po is a translation to Serbian language, and serbian.mo is generated with msgfmt -o serbian.mo serbian.po There is also simple "update" script that can be used to generate POT file and to update the translation using msgmerge. Interesting TODO: o Try to parse "plural-forms" header field, and to follow C syntax rules. This won't be easy. Boring TODO: o Learn PHP and fix bugs, slowness and other stuff resulting from my lack of knowledge (but *maybe*, it's not my knowledge that is bad, but PHP itself ;-). (This is mostly done thanks to Nico Kaiser.) o Try to use hash tables in MO files: with pre-loading, would it be useful at all? Never-asked-questions: o Why did you mark this as version 1.0 when this is the first code release? Well, it's quite simple. I consider that the first released thing should be labeled "version 1" (first, right?). Zero is there to indicate that there's zero improvement and/or change compared to "version 1". I plan to use version numbers 1.0.* for small bugfixes, and to release 1.1 as "first stable release of version 1". This may trick someone that this is actually useful software, but as with any other free software, I take NO RESPONSIBILITY for creating such a masterpiece that will smoke crack, trash your hard disk, and make lasers in your CD device dance to the tune of Mozart's 40th Symphony (there is one like that, right?). o Can I...? Yes, you can. This is free software (as in freedom, free speech), and you might do whatever you wish with it, provided you do not limit freedom of others (GPL). I'm considering licensing this under LGPL, but I *do* want *every* PHP-gettext user to contribute and respect ideas of free software, so don't count on it happening anytime soon. I'm sorry that I'm taking away your freedom of taking others' freedom away, but I believe that's neglible as compared to what freedoms you could take away. ;-) Uhm, whatever. scuttle-0.7.4/includes/php-gettext/bin/000077500000000000000000000000001103742314700200365ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/bin/gettexts.bat000066400000000000000000000012371103742314700224000ustar00rootroot00000000000000@echo off xgettext -kT_ngettext:1,2 -kT_ -L PHP -o ..\..\..\locales\messages.po ..\..\..\*.php ..\..\..\services\*.php ..\..\..\templates\*.php if /i "%1" == "-p" goto stats if exist "..\..\..\locales\%1.po" goto merge echo "Usage: $0 [-p|]" goto end :stats msgfmt --statistics ..\..\..\locales\messages.po goto end :merge msgmerge -o ..\..\..\locales\tmp%1.po ..\..\..\locales\%1.po ..\..\..\locales\messages.po if exist "..\..\..\locales\%1.po" rename ..\..\..\locales\%1.po %1.po.bak rename ..\..\..\locales\tmp%1.po %1.po if exist "..\..\..\locales\%1.po.bak" del ..\..\..\locales\%1.po.bak msgfmt --statistics "..\..\..\locales\%1.po" :end echo Finishedscuttle-0.7.4/includes/php-gettext/examples/000077500000000000000000000000001103742314700211045ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/index.php000066400000000000000000000015561103742314700227330ustar00rootroot00000000000000 PHP-gettext examples

PHP-gettext

Introduction

PHP-gettext provides a simple gettext replacement that works independently from the system's gettext abilities. It can read MO files and use them for translating strings.

This version has the ability to cache all strings and translations to speed up the string lookup. While the cache is enabled by default, it can be switched off with the second parameter in the constructor (e.g. when using very large MO files that you don't want to keep in memory)

Examples


Copyright (c) 2003-2006 Danilo Segan

Copyright (c) 2005-2006 Steven Armstrong

scuttle-0.7.4/includes/php-gettext/examples/locale/000077500000000000000000000000001103742314700223435ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/locale/de_CH/000077500000000000000000000000001103742314700233055ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/locale/de_CH/LC_MESSAGES/000077500000000000000000000000001103742314700250725ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.mo000066400000000000000000000011111103742314700272300ustar00rootroot000000000000004L`6a;8+%d pig went to the market %d pigs went to the market This is how the story goes. Project-Id-Version: pigs Report-Msgid-Bugs-To: POT-Creation-Date: 2003-10-23 04:50+0200 PO-Revision-Date: 2003-11-01 23:40+0100 Last-Translator: Danilo Segan Language-Team: Serbian (sr) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit %d Schwein ging zum Markt %d Schweine gingen zum Markt Und so geht die Geschichte. scuttle-0.7.4/includes/php-gettext/examples/locale/de_CH/LC_MESSAGES/messages.po000066400000000000000000000014561103742314700272470ustar00rootroot00000000000000# Sample translation for PHP-gettext 1.0 # Copyright (c) 2003 Danilo Segan # msgid "" msgstr "" "Project-Id-Version: pigs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2003-10-23 04:50+0200\n" "PO-Revision-Date: 2003-11-01 23:40+0100\n" "Last-Translator: Danilo Segan \n" "Language-Team: Serbian (sr) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #"Plural-Forms: nplurals=2; plural=n != 1;\n" #: pigs.php:19 msgid "" "This is how the story goes.\n" "\n" msgstr "" "Und so geht die Geschichte.\n" "\n" #: pigs.php:21 #, php-format msgid "%d pig went to the market\n" msgid_plural "%d pigs went to the market\n" msgstr[0] "%d Schwein ging zum Markt\n" msgstr[1] "%d Schweine gingen zum Markt\n" scuttle-0.7.4/includes/php-gettext/examples/locale/sr_CS/000077500000000000000000000000001103742314700233545ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/locale/sr_CS/LC_MESSAGES/000077500000000000000000000000001103742314700251415ustar00rootroot00000000000000scuttle-0.7.4/includes/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.mo000066400000000000000000000015021103742314700273030ustar00rootroot000000000000004L`6aj"%d pig went to the market %d pigs went to the market This is how the story goes. Project-Id-Version: pigs Report-Msgid-Bugs-To: POT-Creation-Date: 2003-10-23 04:50+0200 PO-Revision-Date: 2006-02-02 21:06+0100 Last-Translator: Danilo Segan Language-Team: Serbian (sr) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); %d мало прасе је отишло на пијац %d мала прасета су отишла на пијац %d малих прасића је отишло на пијац Овако иде прича. scuttle-0.7.4/includes/php-gettext/examples/locale/sr_CS/LC_MESSAGES/messages.po000066400000000000000000000020111103742314700273020ustar00rootroot00000000000000# Sample translation for PHP-gettext 1.0 # Copyright (c) 2003,2006 Danilo Segan # msgid "" msgstr "" "Project-Id-Version: pigs\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2003-10-23 04:50+0200\n" "PO-Revision-Date: 2006-02-02 21:06+0100\n" "Last-Translator: Danilo Segan \n" "Language-Team: Serbian (sr) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : (n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: pigs.php:19 msgid "" "This is how the story goes.\n" "\n" msgstr "Овако иде прича.\n\n" #: pigs.php:21 #, php-format msgid "%d pig went to the market\n" msgid_plural "%d pigs went to the market\n" msgstr[0] "%d мало прасе је отишло на пијац\n" msgstr[1] "%d мала прасета су отишла на пијац\n" msgstr[2] "%d малих прасића је отишло на пијац\n" scuttle-0.7.4/includes/php-gettext/examples/pigs_dropin.php000066400000000000000000000047221103742314700241370ustar00rootroot00000000000000. Copyright (c) 2005,2006 Steven Armstrong This file is part of PHP-gettext. PHP-gettext is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. PHP-gettext is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // define constants define(PROJECT_DIR, realpath('./')); define(LOCALE_DIR, PROJECT_DIR .'/locale'); define(DEFAULT_LOCALE, 'en_US'); require_once('../gettext.inc'); $supported_locales = array('en_US', 'sr_CS', 'de_CH'); $encoding = 'UTF-8'; $locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE; // gettext setup T_setlocale(LC_MESSAGES, $locale); // Set the text domain as 'messages' $domain = 'messages'; bindtextdomain($domain, LOCALE_DIR); // bind_textdomain_codeset is supported only in PHP 4.2.0+ if (function_exists('bind_textdomain_codeset')) bind_textdomain_codeset($domain, $encoding); textdomain($domain); header("Content-type: text/html; charset=$encoding"); ?> PHP-gettext dropin example

PHP-gettext as a dropin replacement

Example showing how to use PHP-gettext as a dropin replacement for the native gettext library.

"; foreach($supported_locales as $l) { print "[$l] "; } print "

\n"; if (!locale_emulation()) { print "

locale '$locale' is supported by your system, using native gettext implementation.

\n"; } else { print "

locale '$locale' is _not_ supported on your system, using the default locale '". DEFAULT_LOCALE ."'.

\n"; } ?>
"; print _("This is how the story goes.\n\n"); for ($number=6; $number>=0; $number--) { print sprintf(T_ngettext("%d pig went to the market\n", "%d pigs went to the market\n", $number), $number ); } print "
\n"; ?>

« back

scuttle-0.7.4/includes/php-gettext/examples/pigs_fallback.php000066400000000000000000000046641103742314700244100ustar00rootroot00000000000000. Copyright (c) 2005,2006 Steven Armstrong This file is part of PHP-gettext. PHP-gettext is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. PHP-gettext is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // define constants define(PROJECT_DIR, realpath('./')); define(LOCALE_DIR, PROJECT_DIR .'/locale'); define(DEFAULT_LOCALE, 'en_US'); require_once('../gettext.inc'); $supported_locales = array('en_US', 'sr_CS', 'de_CH'); $encoding = 'UTF-8'; $locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE; // gettext setup T_setlocale(LC_MESSAGES, $locale); // Set the text domain as 'messages' $domain = 'messages'; T_bindtextdomain($domain, LOCALE_DIR); T_bind_textdomain_codeset($domain, $encoding); T_textdomain($domain); header("Content-type: text/html; charset=$encoding"); ?> PHP-gettext fallback example

PHP-gettext as a fallback solution

Example showing how to use PHP-gettext as a fallback solution if the native gettext library is not available or the system does not support the requested locale.

"; foreach($supported_locales as $l) { print "[$l] "; } print "

\n"; if (!locale_emulation()) { print "

locale '$locale' is supported by your system, using native gettext implementation.

\n"; } else { print "

locale '$locale' is not supported on your system, using custom gettext implementation.

\n"; } ?>
"; print T_("This is how the story goes.\n\n"); for ($number=6; $number>=0; $number--) { print sprintf( T_ngettext("%d pig went to the market\n", "%d pigs went to the market\n", $number), $number ); } print "\n"; ?>

« back

scuttle-0.7.4/includes/php-gettext/examples/update000066400000000000000000000004761103742314700223200ustar00rootroot00000000000000#!/bin/sh TEMPLATE=pigs.pot xgettext -kT_ngettext:1,2 -kT_ -L PHP -o $TEMPLATE pigs.php if [ x$1 == 'x-p' ]; then msgfmt --statistics $TEMPLATE else if [ -f $1.po ]; then msgmerge -o .tmp$1.po $1.po $TEMPLATE mv .tmp$1.po $1.po msgfmt --statistics $1.po else echo "Usage: $0 [-p|]" fi fi scuttle-0.7.4/includes/php-gettext/gettext.inc000066400000000000000000000221671103742314700214550ustar00rootroot00000000000000 Drop in replacement for native gettext. This file is part of PHP-gettext. PHP-gettext is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. PHP-gettext is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* LC_CTYPE 0 LC_NUMERIC 1 LC_TIME 2 LC_COLLATE 3 LC_MONETARY 4 LC_MESSAGES 5 LC_ALL 6 */ require(dirname(__FILE__) .'/streams.php'); require(dirname(__FILE__) .'/gettext.php'); // Variables global $text_domains, $default_domain, $LC_CATEGORIES, $EMULATEGETTEXT, $CURRENTLOCALE; $text_domains = array(); $default_domain = 'messages'; $LC_CATEGORIES = array('LC_CTYPE', 'LC_NUMERIC', 'LC_TIME', 'LC_COLLATE', 'LC_MONETARY', 'LC_MESSAGES', 'LC_ALL'); $EMULATEGETTEXT = 0; $CURRENTLOCALE = ''; // Utility functions /** * Utility function to get a StreamReader for the given text domain. */ function _get_reader($domain=null, $category=5, $enable_cache=true) { global $text_domains, $default_domain, $LC_CATEGORIES; if (!isset($domain)) $domain = $default_domain; if (!isset($text_domains[$domain]->l10n)) { // get the current locale $locale = _setlocale(LC_MESSAGES, 0); $p = isset($text_domains[$domain]->path) ? $text_domains[$domain]->path : './'; $path = $p . "$locale/". $LC_CATEGORIES[$category] ."/$domain.mo"; if (file_exists($path)) { $input = new FileReader($path); } else { $input = null; } $text_domains[$domain]->l10n = new gettext_reader($input, $enable_cache); } return $text_domains[$domain]->l10n; } /** * Returns whether we are using our emulated gettext API or PHP built-in one. */ function locale_emulation() { global $EMULATEGETTEXT; return $EMULATEGETTEXT; } /** * Checks if the current locale is supported on this system. */ function _check_locale() { global $EMULATEGETTEXT; return !$EMULATEGETTEXT; } /** * Get the codeset for the given domain. */ function _get_codeset($domain=null) { global $text_domains, $default_domain, $LC_CATEGORIES; if (!isset($domain)) $domain = $default_domain; return (isset($text_domains[$domain]->codeset))? $text_domains[$domain]->codeset : ini_get('mbstring.internal_encoding'); } /** * Convert the given string to the encoding set by bind_textdomain_codeset. */ function _encode($text) { $source_encoding = mb_detect_encoding($text); $target_encoding = _get_codeset(); if ($source_encoding != $target_encoding) { return mb_convert_encoding($text, $target_encoding, $source_encoding); } else { return $text; } } // Custom implementation of the standard gettext related functions /** * Sets a requested locale, if needed emulates it. */ function _setlocale($category, $locale) { global $CURRENTLOCALE, $EMULATEGETTEXT; if ($locale === 0) { // use === to differentiate between string "0" if ($CURRENTLOCALE != '') return $CURRENTLOCALE; else // obey LANG variable, maybe extend to support all of LC_* vars // even if we tried to read locale without setting it first return _setlocale($category, $CURRENTLOCALE); } else { $ret = 0; if (function_exists('setlocale')) // I don't know if this ever happens ;) $ret = setlocale($category, $locale); if (($ret and $locale == '') or ($ret == $locale)) { $EMULATEGETTEXT = 0; $CURRENTLOCALE = $ret; } else { if ($locale == '') // emulate variable support $CURRENTLOCALE = getenv('LANG'); else $CURRENTLOCALE = $locale; $EMULATEGETTEXT = 1; } return $CURRENTLOCALE; } } /** * Sets the path for a domain. */ function _bindtextdomain($domain, $path) { global $text_domains; // ensure $path ends with a slash if ($path[strlen($path) - 1] != '/') $path .= '/'; elseif ($path[strlen($path) - 1] != '\\') $path .= '\\'; $text_domains[$domain]->path = $path; } /** * Specify the character encoding in which the messages from the DOMAIN message catalog will be returned. */ function _bind_textdomain_codeset($domain, $codeset) { global $text_domains; $text_domains[$domain]->codeset = $codeset; } /** * Sets the default domain. */ function _textdomain($domain) { global $default_domain; $default_domain = $domain; } /** * Lookup a message in the current domain. */ function _gettext($msgid) { $l10n = _get_reader(); //return $l10n->translate($msgid); return _encode($l10n->translate($msgid)); } /** * Alias for gettext. */ function __($msgid) { return _gettext($msgid); } /** * Plural version of gettext. */ function _ngettext($single, $plural, $number) { $l10n = _get_reader(); //return $l10n->ngettext($single, $plural, $number); return _encode($l10n->ngettext($single, $plural, $number)); } /** * Override the current domain. */ function _dgettext($domain, $msgid) { $l10n = _get_reader($domain); //return $l10n->translate($msgid); return _encode($l10n->translate($msgid)); } /** * Plural version of dgettext. */ function _dngettext($domain, $single, $plural, $number) { $l10n = _get_reader($domain); //return $l10n->ngettext($single, $plural, $number); return _encode($l10n->ngettext($single, $plural, $number)); } /** * Overrides the domain and category for a single lookup. */ function _dcgettext($domain, $msgid, $category) { $l10n = _get_reader($domain, $category); //return $l10n->translate($msgid); return _encode($l10n->translate($msgid)); } /** * Plural version of dcgettext. */ function _dcngettext($domain, $single, $plural, $number, $category) { $l10n = _get_reader($domain, $category); //return $l10n->ngettext($single, $plural, $number); return _encode($l10n->ngettext($single, $plural, $number)); } // Wrappers to use if the standard gettext functions are available, but the current locale is not supported by the system. // Use the standard impl if the current locale is supported, use the custom impl otherwise. function T_setlocale($category, $locale) { return _setlocale($category, $locale); } function T_bindtextdomain($domain, $path) { if (_check_locale()) return bindtextdomain($domain, $path); else return _bindtextdomain($domain, $path); } function T_bind_textdomain_codeset($domain, $codeset) { // bind_textdomain_codeset is available only in PHP 4.2.0+ if (_check_locale() and function_exists('bind_textdomain_codeset')) return bind_textdomain_codeset($domain, $codeset); else return _bind_textdomain_codeset($domain, $codeset); } function T_textdomain($domain) { if (_check_locale()) return textdomain($domain); else return _textdomain($domain); } function T_gettext($msgid) { if (_check_locale()) return gettext($msgid); else return _gettext($msgid); } function T_($msgid) { if (_check_locale()) return _($msgid); return __($msgid); } function T_ngettext($single, $plural, $number) { if (_check_locale()) return ngettext($single, $plural, $number); else return _ngettext($single, $plural, $number); } function T_dgettext($domain, $msgid) { if (_check_locale()) return dgettext($domain, $msgid); else return _dgettext($domain, $msgid); } function T_dngettext($domain, $single, $plural, $number) { if (_check_locale()) return dngettext($domain, $single, $plural, $number); else return _dngettext($domain, $single, $plural, $number); } function T_dcgettext($domain, $msgid, $category) { if (_check_locale()) return dcgettext($domain, $msgid, $category); else return _dcgettext($domain, $msgid, $category); } function T_dcngettext($domain, $single, $plural, $number, $category) { if (_check_locale()) return dcngettext($domain, $single, $plural, $number, $category); else return _dcngettext($domain, $single, $plural, $number, $category); } // Wrappers used as a drop in replacement for the standard gettext functions if (!function_exists('gettext')) { function bindtextdomain($domain, $path) { return _bindtextdomain($domain, $path); } function bind_textdomain_codeset($domain, $codeset) { return _bind_textdomain_codeset($domain, $codeset); } function textdomain($domain) { return _textdomain($domain); } function gettext($msgid) { return _gettext($msgid); } function _($msgid) { return __($msgid); } function ngettext($single, $plural, $number) { return _ngettext($single, $plural, $number); } function dgettext($domain, $msgid) { return _dgettext($domain, $msgid); } function dngettext($domain, $single, $plural, $number) { return _dngettext($domain, $single, $plural, $number); } function dcgettext($domain, $msgid, $category) { return _dcgettext($domain, $msgid, $category); } function dcngettext($domain, $single, $plural, $number, $category) { return _dcngettext($domain, $single, $plural, $number, $category); } } ?>scuttle-0.7.4/includes/php-gettext/gettext.php000066400000000000000000000251111103742314700214630ustar00rootroot00000000000000. Copyright (c) 2005 Nico Kaiser This file is part of PHP-gettext. PHP-gettext is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. PHP-gettext is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * Provides a simple gettext replacement that works independently from * the system's gettext abilities. * It can read MO files and use them for translating strings. * The files are passed to gettext_reader as a Stream (see streams.php) * * This version has the ability to cache all strings and translations to * speed up the string lookup. * While the cache is enabled by default, it can be switched off with the * second parameter in the constructor (e.g. whenusing very large MO files * that you don't want to keep in memory) */ class gettext_reader { //public: var $error = 0; // public variable that holds error code (0 if no error) //private: var $BYTEORDER = 0; // 0: low endian, 1: big endian var $STREAM = NULL; var $short_circuit = false; var $enable_cache = false; var $originals = NULL; // offset of original table var $translations = NULL; // offset of translation table var $pluralheader = NULL; // cache header field for plural forms var $total = 0; // total string count var $table_originals = NULL; // table for original strings (offsets) var $table_translations = NULL; // table for translated strings (offsets) var $cache_translations = NULL; // original -> translation mapping /* Methods */ /** * Reads a 32bit Integer from the Stream * * @access private * @return Integer from the Stream */ function readint() { if ($this->BYTEORDER == 0) { // low endian return array_shift(unpack('V', $this->STREAM->read(4))); } else { // big endian return array_shift(unpack('N', $this->STREAM->read(4))); } } /** * Reads an array of Integers from the Stream * * @param int count How many elements should be read * @return Array of Integers */ function readintarray($count) { if ($this->BYTEORDER == 0) { // low endian return unpack('V'.$count, $this->STREAM->read(4 * $count)); } else { // big endian return unpack('N'.$count, $this->STREAM->read(4 * $count)); } } /** * Constructor * * @param object Reader the StreamReader object * @param boolean enable_cache Enable or disable caching of strings (default on) */ function gettext_reader($Reader, $enable_cache = true) { // If there isn't a StreamReader, turn on short circuit mode. if (! $Reader || isset($Reader->error) ) { $this->short_circuit = true; return; } // Caching can be turned off $this->enable_cache = $enable_cache; // $MAGIC1 = (int)0x950412de; //bug in PHP 5 $MAGIC1 = (int) - 1794895138; // $MAGIC2 = (int)0xde120495; //bug $MAGIC2 = (int) - 569244523; $this->STREAM = $Reader; $magic = $this->readint(); if ($magic == $MAGIC1) { $this->BYTEORDER = 0; } elseif ($magic == $MAGIC2) { $this->BYTEORDER = 1; } else { $this->error = 1; // not MO file return false; } // FIXME: Do we care about revision? We should. $revision = $this->readint(); $this->total = $this->readint(); $this->originals = $this->readint(); $this->translations = $this->readint(); } /** * Loads the translation tables from the MO file into the cache * If caching is enabled, also loads all strings into a cache * to speed up translation lookups * * @access private */ function load_tables() { if (is_array($this->cache_translations) && is_array($this->table_originals) && is_array($this->table_translations)) return; /* get original and translations tables */ $this->STREAM->seekto($this->originals); $this->table_originals = $this->readintarray($this->total * 2); $this->STREAM->seekto($this->translations); $this->table_translations = $this->readintarray($this->total * 2); if ($this->enable_cache) { $this->cache_translations = array (); /* read all strings in the cache */ for ($i = 0; $i < $this->total; $i++) { $this->STREAM->seekto($this->table_originals[$i * 2 + 2]); $original = $this->STREAM->read($this->table_originals[$i * 2 + 1]); $this->STREAM->seekto($this->table_translations[$i * 2 + 2]); $translation = $this->STREAM->read($this->table_translations[$i * 2 + 1]); $this->cache_translations[$original] = $translation; } } } /** * Returns a string from the "originals" table * * @access private * @param int num Offset number of original string * @return string Requested string if found, otherwise '' */ function get_original_string($num) { $length = $this->table_originals[$num * 2 + 1]; $offset = $this->table_originals[$num * 2 + 2]; if (! $length) return ''; $this->STREAM->seekto($offset); $data = $this->STREAM->read($length); return (string)$data; } /** * Returns a string from the "translations" table * * @access private * @param int num Offset number of original string * @return string Requested string if found, otherwise '' */ function get_translation_string($num) { $length = $this->table_translations[$num * 2 + 1]; $offset = $this->table_translations[$num * 2 + 2]; if (! $length) return ''; $this->STREAM->seekto($offset); $data = $this->STREAM->read($length); return (string)$data; } /** * Binary search for string * * @access private * @param string string * @param int start (internally used in recursive function) * @param int end (internally used in recursive function) * @return int string number (offset in originals table) */ function find_string($string, $start = -1, $end = -1) { if (($start == -1) or ($end == -1)) { // find_string is called with only one parameter, set start end end $start = 0; $end = $this->total; } if (abs($start - $end) <= 1) { // We're done, now we either found the string, or it doesn't exist $txt = $this->get_original_string($start); if ($string == $txt) return $start; else return -1; } else if ($start > $end) { // start > end -> turn around and start over return $this->find_string($string, $end, $start); } else { // Divide table in two parts $half = (int)(($start + $end) / 2); $cmp = strcmp($string, $this->get_original_string($half)); if ($cmp == 0) // string is exactly in the middle => return it return $half; else if ($cmp < 0) // The string is in the upper half return $this->find_string($string, $start, $half); else // The string is in the lower half return $this->find_string($string, $half, $end); } } /** * Translates a string * * @access public * @param string string to be translated * @return string translated string (or original, if not found) */ function translate($string) { if ($this->short_circuit) return $string; $this->load_tables(); if ($this->enable_cache) { // Caching enabled, get translated string from cache if (array_key_exists($string, $this->cache_translations)) return $this->cache_translations[$string]; else return $string; } else { // Caching not enabled, try to find string $num = $this->find_string($string); if ($num == -1) return $string; else return $this->get_translation_string($num); } } /** * Get possible plural forms from MO header * * @access private * @return string plural form header */ function get_plural_forms() { // lets assume message number 0 is header // this is true, right? $this->load_tables(); // cache header field for plural forms if (! is_string($this->pluralheader)) { if ($this->enable_cache) { $header = $this->cache_translations[""]; } else { $header = $this->get_translation_string(0); } if (eregi("plural-forms: ([^\n]*)\n", $header, $regs)) $expr = $regs[1]; else $expr = "nplurals=2; plural=n == 1 ? 0 : 1;"; $this->pluralheader = $expr; } return $this->pluralheader; } /** * Detects which plural form to take * * @access private * @param n count * @return int array index of the right plural form */ function select_string($n) { $string = $this->get_plural_forms(); $string = str_replace('nplurals',"\$total",$string); $string = str_replace("n",$n,$string); $string = str_replace('plural',"\$plural",$string); $total = 0; $plural = 0; eval("$string"); if ($plural >= $total) $plural = $total - 1; return $plural; } /** * Plural version of gettext * * @access public * @param string single * @param string plural * @param string number * @return translated plural form */ function ngettext($single, $plural, $number) { if ($this->short_circuit) { if ($number != 1) return $plural; else return $single; } // find out the appropriate form $select = $this->select_string($number); // this should contains all strings separated by NULLs $key = $single.chr(0).$plural; if ($this->enable_cache) { if (! array_key_exists($key, $this->cache_translations)) { return ($number != 1) ? $plural : $single; } else { $result = $this->cache_translations[$key]; $list = explode(chr(0), $result); return $list[$select]; } } else { $num = $this->find_string($key); if ($num == -1) { return ($number != 1) ? $plural : $single; } else { $result = $this->get_translation_string($num); $list = explode(chr(0), $result); return $list[$select]; } } } } ?> scuttle-0.7.4/includes/php-gettext/streams.php000066400000000000000000000072221103742314700214600ustar00rootroot00000000000000. This file is part of PHP-gettext. PHP-gettext is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. PHP-gettext is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with PHP-gettext; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ // Simple class to wrap file streams, string streams, etc. // seek is essential, and it should be byte stream class StreamReader { // should return a string [FIXME: perhaps return array of bytes?] function read($bytes) { return false; } // should return new position function seekto($position) { return false; } // returns current position function currentpos() { return false; } // returns length of entire stream (limit for seekto()s) function length() { return false; } } class StringReader { var $_pos; var $_str; function StringReader($str='') { $this->_str = $str; $this->_pos = 0; } function read($bytes) { $data = substr($this->_str, $this->_pos, $bytes); $this->_pos += $bytes; if (strlen($this->_str)<$this->_pos) $this->_pos = strlen($this->_str); return $data; } function seekto($pos) { $this->_pos = $pos; if (strlen($this->_str)<$this->_pos) $this->_pos = strlen($this->_str); return $this->_pos; } function currentpos() { return $this->_pos; } function length() { return strlen($this->_str); } } class FileReader { var $_pos; var $_fd; var $_length; function FileReader($filename) { if (file_exists($filename)) { $this->_length=filesize($filename); $this->_pos = 0; $this->_fd = fopen($filename,'rb'); if (!$this->_fd) { $this->error = 3; // Cannot read file, probably permissions return false; } } else { $this->error = 2; // File doesn't exist return false; } } function read($bytes) { if ($bytes) { fseek($this->_fd, $this->_pos); // PHP 5.1.1 does not read more than 8192 bytes in one fread() // the discussions at PHP Bugs suggest it's the intended behaviour while ($bytes > 0) { $chunk = fread($this->_fd, $bytes); $data .= $chunk; $bytes -= strlen($chunk); } $this->_pos = ftell($this->_fd); return $data; } else return ''; } function seekto($pos) { fseek($this->_fd, $pos); $this->_pos = ftell($this->_fd); return $this->_pos; } function currentpos() { return $this->_pos; } function length() { return $this->_length; } function close() { fclose($this->_fd); } } // Preloads entire file in memory first, then creates a StringReader // over it (it assumes knowledge of StringReader internals) class CachedFileReader extends StringReader { function CachedFileReader($filename) { if (file_exists($filename)) { $length=filesize($filename); $fd = fopen($filename,'rb'); if (!$fd) { $this->error = 3; // Cannot read file, probably permissions return false; } $this->_str = fread($fd, $length); fclose($fd); } else { $this->error = 2; // File doesn't exist return false; } } } ?>scuttle-0.7.4/includes/player/000077500000000000000000000000001103742314700163115ustar00rootroot00000000000000scuttle-0.7.4/includes/player/error.swf000066400000000000000000000001321103742314700201570ustar00rootroot00000000000000FWSZx_ C.Jho\jxk(')wNo0 yZD#LLL;O׫ (UVT4රH2s ')%4@W1FM;xMf쭡WVSz2<^{OU{}cƫt[_u39I4Ħ;Ky#ș2*e ?ZR&싑2Lȹ 5 §\dOw7d޻Ob`n/ &pw8{u>lϞ-yǿ?tE㫩3On WO~tXsGvԉ⋦?~n9~?]/=!O޾w<f>?맻_h0KXT)e_9ϷJ}T(oZ aTu *'37B"!0WSvt-uf7-/btE"ӕiET lUd p &TڌLZ'Lӹdjgwܦj5g\%WUHx*!h?(0<6*Ak'N$7L&aj%j9R,Q36MʸTђpg)n3Ħ )kkC('{MtS6@NfwS5c60N{O̅?$' AI' d"LSļ%ѴbaOM fֵ| 1Y# AjH4p X l0dw)%3 MlN ņ 'b|f8 Bʦ@a5s^K:XLv8 |*S2d MM1y[6( K41z*Y:m5>hz#(v$JT`B}W@q,Yk`vJ#t;KNG9dCa6)%hPWvf+ЃB# N3~Pf#̣ 걁p@Oh4U*@ Fp 4eP`ZLgٯp !0\˄U= H􎅈K"׽=pl{IgMeJI:.dBEQlDt ',+M  Uez4?;4ICZ9O)i[)p'Lɪ](bI'-J߂;Rgt6G5d$q ֻ4DJ51?,Q]Nhhj =##1)yR'3~ؑ7__,3A[ɿ-`ǥElJ:hq7FOt?PĤ`:p% P k_#+!z;d\ɯQ~0aEaƨ9#.#t݀k-ͫVƁ]-`q&`t7РE_!:)t4Hhy|60KN{QGa &j=Esڍdf.Ze򥑈 Sy6a۝aCq9q?d 1Y&'gi,,;W=>%%$*fKw[iR^j0S+KEaob)SP)Q6] iB^K<)ؼE%*?"IDJKk,M$WeD66cw LZ+nUݷJ`rGhβكĝnrxY.elwԶ,z̊wSo#v],kA{L-VعWCٲ|ԡg dVas䄅WwEt.ɟϖ|ꦘ|>g Z槕W 7`$VCW-s@ޤZ7q֡m>w4!fbW~.6\U-vϩm3ܚv\{C`>T[p-gglDKqCN1L>RؓٓQO6vE@wT&(y=hV.\?,S]f-CW)2}"r7|F@:G~>*?-~ޞ#I-,?h0[TJ'-N(@~m$௣hQt'[d)B1qi٧{=C2񿤀o381f l=^.[df6y^Cg7Csm!HoPP!FR&l`+P_TV@fO'߉K5vExzNmE\X݅|lzl%/M|/-"7KW(D }Syy-k8]sK) 9؀--GqxL=FXQ1ѰΦZsñ(@2pZ-"DY-^2"D2Y 14Yh=hgj4y>SlRqHc=b FP,8j|]c\!b#|2-'5CҢÛϟW]wռ5l-N\`OȥiuTfo`[Muvg텺bBk{=,Yd%HP, ˋTS7߾/b_7C$9Q5媩JyD5Ö?Yk$<x׬Wu,oqmv/I{w˩BG\ƘiaCd4L/$`H2P6mAKT24aF--4Ɔ 뇔72D*)%YYjظB,3{јBP &IOtdaˡ 9>|sLijݚh]a^b|ˉK q=WTLaDD0^N7G8zx:ɓ14El:Xa-r9HT55jC"SK05Iu# *:zβ+k< FA4Y[}6m15eسB +\K6ea/,sdmBE ݇>~.AEh9+@kGka@6}9ϗEVGh! %ݩ225lK\R1"\wgeZ{ZRL-a\`έ~8ȜY/7 hmGy4̄-+E)3 h gMMV+iP j;WۚIϖ_ jC5I;_'R6g䆻Sps݆ :DT.uVbOҷU8;NC ă{XwO5Ǝ)9.TWL󰥙P i皂 49o7Hca4scuttle-0.7.4/includes/player/play.swf000066400000000000000000000001111103742314700177700ustar00rootroot00000000000000FWSIx_ CP3H!-L-n7 @@scuttle-0.7.4/includes/player/stop.swf000066400000000000000000000001151103742314700200140ustar00rootroot00000000000000FWSMx_ C!IA */ /** * URL-Encode a filename to allow unicodecharacters * * Slashes are not encoded * * When the second parameter is true the string will * be encoded only if non ASCII characters are detected - * This makes it safe to run it multiple times on the * same string (default is true) * * @author Andreas Gohr * @see urlencode */ function utf8_encodeFN($file,$safe=true){ if($safe && preg_match('#^[a-zA-Z0-9/_\-.%]+$#',$file)){ return $file; } $file = urlencode($file); $file = str_replace('%2F','/',$file); return $file; } /** * URL-Decode a filename * * This is just a wrapper around urldecode * * @author Andreas Gohr * @see urldecode */ function utf8_decodeFN($file){ $file = urldecode($file); return $file; } /** * Checks if a string contains 7bit ASCII only * * @author Andreas Gohr */ function utf8_isASCII($str){ for($i=0; $i127) return false; } return true; } /** * Tries to detect if a string is in Unicode encoding * * @author * @link http://www.php.net/manual/en/function.utf8-encode.php */ function utf8_check($Str) { for ($i=0; $i * @see strlen() */ function utf8_strlen($string){ if(!defined('UTF8_NOMBSTRING') && function_exists('mb_strlen')) return mb_strlen($string,'utf-8'); $uni = utf8_to_unicode($string); return count($uni); } /** * This is a unicode aware replacement for substr() * * Uses mb_string extension if available * * @author Andreas Gohr * @see substr() */ function utf8_substr($str, $start, $length=null){ if(!defined('UTF8_NOMBSTRING') && function_exists('mb_substr')) return mb_substr($str,$start,$length,'utf-8'); $uni = utf8_to_unicode($str); return unicode_to_utf8(array_slice($uni,$start,$length)); } /** * This is a unicode aware replacement for strtolower() * * Uses mb_string extension if available * * @author Andreas Gohr * @see strtolower() * @see utf8_strtoupper() */ function utf8_strtolower($string){ if(!defined('UTF8_NOMBSTRING') && function_exists('mb_strtolower')) return mb_strtolower($string,'utf-8'); global $UTF8_UPPER_TO_LOWER; $uni = utf8_to_unicode($string); for ($i=0; $i < count($uni); $i++){ if($UTF8_UPPER_TO_LOWER[$uni[$i]]){ $uni[$i] = $UTF8_UPPER_TO_LOWER[$uni[$i]]; } } return unicode_to_utf8($uni); } /** * This is a unicode aware replacement for strtoupper() * * Uses mb_string extension if available * * @author Andreas Gohr * @see strtoupper() * @see utf8_strtoupper() */ function utf8_strtoupper($string){ if(!defined('UTF8_NOMBSTRING') && function_exists('mb_strtolower')) return mb_strtolower($string,'utf-8'); global $UTF8_LOWER_TO_UPPER; $uni = utf8_to_unicode($string); for ($i=0; $i < count($uni); $i++){ if($UTF8_LOWER_TO_UPPER[$uni[$i]]){ $uni[$i] = $UTF8_LOWER_TO_UPPER[$uni[$i]]; } } return unicode_to_utf8($uni); } /** * Replace accented UTF-8 characters by unaccented ASCII-7 equivalents * * Use the optional parameter to just deaccent lower ($case = -1) or upper ($case = 1) * letters. Default is to deaccent both cases ($case = 0) * * @author Andreas Gohr */ function utf8_deaccent($string,$case=0){ if($case <= 0){ global $UTF8_LOWER_ACCENTS; $string = str_replace(array_keys($UTF8_LOWER_ACCENTS),array_values($UTF8_LOWER_ACCENTS),$string); } if($case >= 0){ global $UTF8_UPPER_ACCENTS; $string = str_replace(array_keys($UTF8_UPPER_ACCENTS),array_values($UTF8_UPPER_ACCENTS),$string); } return $string; } /** * Removes special characters (nonalphanumeric) from a UTF-8 string * * Be sure to specify all specialchars you give in $repl in $keep, too * or it won't work. * * This function adds the controlchars 0x00 to 0x19 to the array of * stripped chars (they are not included in $UTF8_SPECIAL_CHARS) * * @author Andreas Gohr * @param string $string The UTF8 string to strip of special chars * @param string $repl Replace special with this string * @param string $keep Special chars to keep (in UTF8) */ function utf8_stripspecials($string,$repl='',$keep=''){ global $UTF8_SPECIAL_CHARS; if($keep != ''){ $specials = array_diff($UTF8_SPECIAL_CHARS, utf8_to_unicode($keep)); }else{ $specials = $UTF8_SPECIAL_CHARS; } $specials = unicode_to_utf8($specials); $specials = preg_quote($specials, '/'); return preg_replace('/[\x00-\x19'.$specials.']/u',$repl,$string); } /** * This is an Unicode aware replacement for strpos * * Uses mb_string extension if available * * @author Scott Michael Reynen * @author Andreas Gohr * @link http://www.randomchaos.com/document.php?source=php_and_unicode * @see strpos() */ function utf8_strpos($haystack, $needle,$offset=0) { if(!defined('UTF8_NOMBSTRING') && function_exists('mb_strpos')) return mb_strpos($haystack,$needle,$offset,'utf-8'); $haystack = utf8_to_unicode($haystack); $needle = utf8_to_unicode($needle); $position = $offset; $found = false; while( (! $found ) && ( $position < count( $haystack ) ) ) { if ( $needle[0] == $haystack[$position] ) { for ($i = 1; $i < count( $needle ); $i++ ) { if ( $needle[$i] != $haystack[ $position + $i ] ) break; } if ( $i == count( $needle ) ) { $found = true; $position--; } } $position++; } return ( $found == true ) ? $position : false; } /** * This function will any UTF-8 encoded text and return it as * a list of Unicode values: * * @author Scott Michael Reynen * @link http://www.randomchaos.com/document.php?source=php_and_unicode * @see unicode_to_utf8() */ function utf8_to_unicode( $str ) { $unicode = array(); $values = array(); $lookingFor = 1; for ($i = 0; $i < strlen( $str ); $i++ ) { $thisValue = ord( $str[ $i ] ); if ( $thisValue < 128 ) $unicode[] = $thisValue; else { if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3; $values[] = $thisValue; if ( count( $values ) == $lookingFor ) { $number = ( $lookingFor == 3 ) ? ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ): ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 ); $unicode[] = $number; $values = array(); $lookingFor = 1; } } } return $unicode; } /** * This function will convert a Unicode array back to its UTF-8 representation * * @author Scott Michael Reynen * @link http://www.randomchaos.com/document.php?source=php_and_unicode * @see utf8_to_unicode() */ function unicode_to_utf8( $str ) { $utf8 = ''; foreach( $str as $unicode ) { if ( $unicode < 128 ) { $utf8.= chr( $unicode ); } elseif ( $unicode < 2048 ) { $utf8.= chr( 192 + ( ( $unicode - ( $unicode % 64 ) ) / 64 ) ); $utf8.= chr( 128 + ( $unicode % 64 ) ); } else { $utf8.= chr( 224 + ( ( $unicode - ( $unicode % 4096 ) ) / 4096 ) ); $utf8.= chr( 128 + ( ( ( $unicode % 4096 ) - ( $unicode % 64 ) ) / 64 ) ); $utf8.= chr( 128 + ( $unicode % 64 ) ); } } return $utf8; } /** * UTF-8 Case lookup table * * This lookuptable defines the upper case letters to their correspponding * lower case letter in UTF-8 * * @author Andreas Gohr */ $UTF8_LOWER_TO_UPPER = array( 0x0061=>0x0041, 0x03C6=>0x03A6, 0x0163=>0x0162, 0x00E5=>0x00C5, 0x0062=>0x0042, 0x013A=>0x0139, 0x00E1=>0x00C1, 0x0142=>0x0141, 0x03CD=>0x038E, 0x0101=>0x0100, 0x0491=>0x0490, 0x03B4=>0x0394, 0x015B=>0x015A, 0x0064=>0x0044, 0x03B3=>0x0393, 0x00F4=>0x00D4, 0x044A=>0x042A, 0x0439=>0x0419, 0x0113=>0x0112, 0x043C=>0x041C, 0x015F=>0x015E, 0x0144=>0x0143, 0x00EE=>0x00CE, 0x045E=>0x040E, 0x044F=>0x042F, 0x03BA=>0x039A, 0x0155=>0x0154, 0x0069=>0x0049, 0x0073=>0x0053, 0x1E1F=>0x1E1E, 0x0135=>0x0134, 0x0447=>0x0427, 0x03C0=>0x03A0, 0x0438=>0x0418, 0x00F3=>0x00D3, 0x0440=>0x0420, 0x0454=>0x0404, 0x0435=>0x0415, 0x0449=>0x0429, 0x014B=>0x014A, 0x0431=>0x0411, 0x0459=>0x0409, 0x1E03=>0x1E02, 0x00F6=>0x00D6, 0x00F9=>0x00D9, 0x006E=>0x004E, 0x0451=>0x0401, 0x03C4=>0x03A4, 0x0443=>0x0423, 0x015D=>0x015C, 0x0453=>0x0403, 0x03C8=>0x03A8, 0x0159=>0x0158, 0x0067=>0x0047, 0x00E4=>0x00C4, 0x03AC=>0x0386, 0x03AE=>0x0389, 0x0167=>0x0166, 0x03BE=>0x039E, 0x0165=>0x0164, 0x0117=>0x0116, 0x0109=>0x0108, 0x0076=>0x0056, 0x00FE=>0x00DE, 0x0157=>0x0156, 0x00FA=>0x00DA, 0x1E61=>0x1E60, 0x1E83=>0x1E82, 0x00E2=>0x00C2, 0x0119=>0x0118, 0x0146=>0x0145, 0x0070=>0x0050, 0x0151=>0x0150, 0x044E=>0x042E, 0x0129=>0x0128, 0x03C7=>0x03A7, 0x013E=>0x013D, 0x0442=>0x0422, 0x007A=>0x005A, 0x0448=>0x0428, 0x03C1=>0x03A1, 0x1E81=>0x1E80, 0x016D=>0x016C, 0x00F5=>0x00D5, 0x0075=>0x0055, 0x0177=>0x0176, 0x00FC=>0x00DC, 0x1E57=>0x1E56, 0x03C3=>0x03A3, 0x043A=>0x041A, 0x006D=>0x004D, 0x016B=>0x016A, 0x0171=>0x0170, 0x0444=>0x0424, 0x00EC=>0x00CC, 0x0169=>0x0168, 0x03BF=>0x039F, 0x006B=>0x004B, 0x00F2=>0x00D2, 0x00E0=>0x00C0, 0x0434=>0x0414, 0x03C9=>0x03A9, 0x1E6B=>0x1E6A, 0x00E3=>0x00C3, 0x044D=>0x042D, 0x0436=>0x0416, 0x01A1=>0x01A0, 0x010D=>0x010C, 0x011D=>0x011C, 0x00F0=>0x00D0, 0x013C=>0x013B, 0x045F=>0x040F, 0x045A=>0x040A, 0x00E8=>0x00C8, 0x03C5=>0x03A5, 0x0066=>0x0046, 0x00FD=>0x00DD, 0x0063=>0x0043, 0x021B=>0x021A, 0x00EA=>0x00CA, 0x03B9=>0x0399, 0x017A=>0x0179, 0x00EF=>0x00CF, 0x01B0=>0x01AF, 0x0065=>0x0045, 0x03BB=>0x039B, 0x03B8=>0x0398, 0x03BC=>0x039C, 0x045C=>0x040C, 0x043F=>0x041F, 0x044C=>0x042C, 0x00FE=>0x00DE, 0x00F0=>0x00D0, 0x1EF3=>0x1EF2, 0x0068=>0x0048, 0x00EB=>0x00CB, 0x0111=>0x0110, 0x0433=>0x0413, 0x012F=>0x012E, 0x00E6=>0x00C6, 0x0078=>0x0058, 0x0161=>0x0160, 0x016F=>0x016E, 0x03B1=>0x0391, 0x0457=>0x0407, 0x0173=>0x0172, 0x00FF=>0x0178, 0x006F=>0x004F, 0x043B=>0x041B, 0x03B5=>0x0395, 0x0445=>0x0425, 0x0121=>0x0120, 0x017E=>0x017D, 0x017C=>0x017B, 0x03B6=>0x0396, 0x03B2=>0x0392, 0x03AD=>0x0388, 0x1E85=>0x1E84, 0x0175=>0x0174, 0x0071=>0x0051, 0x0437=>0x0417, 0x1E0B=>0x1E0A, 0x0148=>0x0147, 0x0105=>0x0104, 0x0458=>0x0408, 0x014D=>0x014C, 0x00ED=>0x00CD, 0x0079=>0x0059, 0x010B=>0x010A, 0x03CE=>0x038F, 0x0072=>0x0052, 0x0430=>0x0410, 0x0455=>0x0405, 0x0452=>0x0402, 0x0127=>0x0126, 0x0137=>0x0136, 0x012B=>0x012A, 0x03AF=>0x038A, 0x044B=>0x042B, 0x006C=>0x004C, 0x03B7=>0x0397, 0x0125=>0x0124, 0x0219=>0x0218, 0x00FB=>0x00DB, 0x011F=>0x011E, 0x043E=>0x041E, 0x1E41=>0x1E40, 0x03BD=>0x039D, 0x0107=>0x0106, 0x03CB=>0x03AB, 0x0446=>0x0426, 0x00FE=>0x00DE, 0x00E7=>0x00C7, 0x03CA=>0x03AA, 0x0441=>0x0421, 0x0432=>0x0412, 0x010F=>0x010E, 0x00F8=>0x00D8, 0x0077=>0x0057, 0x011B=>0x011A, 0x0074=>0x0054, 0x006A=>0x004A, 0x045B=>0x040B, 0x0456=>0x0406, 0x0103=>0x0102, 0x03BB=>0x039B, 0x00F1=>0x00D1, 0x043D=>0x041D, 0x03CC=>0x038C, 0x00E9=>0x00C9, 0x00F0=>0x00D0, 0x0457=>0x0407, 0x0123=>0x0122, ); /** * UTF-8 Case lookup table * * This lookuptable defines the lower case letters to their correspponding * upper case letter in UTF-8 (it does so by flipping $UTF8_LOWER_TO_UPPER) * * @author Andreas Gohr */ $UTF8_UPPER_TO_LOWER = @array_flip($UTF8_LOWER_TO_UPPER); /** * UTF-8 lookup table for lower case accented letters * * This lookuptable defines replacements for accented characters from the ASCII-7 * range. This are lower case letters only. * * @author Andreas Gohr * @see utf8_deaccent() */ $UTF8_LOWER_ACCENTS = array( ' ' => 'a', 'ô' => 'o', 'ď' => 'd', 'ḟ' => 'f', 'ë' => 'e', 'š' => 's', 'ơ' => 'o', 'ß' => 'ss', 'ă' => 'a', 'ř' => 'r', 'ț' => 't', 'ň' => 'n', 'ā' => 'a', 'ķ' => 'k', 'ŝ' => 's', 'ỳ' => 'y', 'ņ' => 'n', 'ĺ' => 'l', 'ħ' => 'h', 'ṗ' => 'p', 'ó' => 'o', 'ú' => 'u', 'ě' => 'e', 'é' => 'e', 'ç' => 'c', 'ẁ' => 'w', 'ċ' => 'c', 'õ' => 'o', 'ṡ' => 's', 'ø' => 'o', 'ģ' => 'g', 'ŧ' => 't', 'ș' => 's', 'ė' => 'e', 'ĉ' => 'c', 'ś' => 's', 'î' => 'i', 'ű' => 'u', 'ć' => 'c', 'ę' => 'e', 'ŵ' => 'w', 'ṫ' => 't', 'ū' => 'u', 'č' => 'c', 'ö' => 'oe', 'è' => 'e', 'ŷ' => 'y', 'ą' => 'a', 'ł' => 'l', 'ų' => 'u', 'ů' => 'u', 'ş' => 's', 'ğ' => 'g', 'ļ' => 'l', 'ƒ' => 'f', 'ž' => 'z', 'ẃ' => 'w', 'ḃ' => 'b', 'å' => 'a', 'ì' => 'i', 'ï' => 'i', 'ḋ' => 'd', 'ť' => 't', 'ŗ' => 'r', 'ä' => 'ae', 'í' => 'i', 'ŕ' => 'r', 'ê' => 'e', 'ü' => 'ue', 'ò' => 'o', 'ē' => 'e', 'ñ' => 'n', 'ń' => 'n', 'ĥ' => 'h', 'ĝ' => 'g', 'đ' => 'd', 'ĵ' => 'j', 'ÿ' => 'y', 'ũ' => 'u', 'ŭ' => 'u', 'ư' => 'u', 'ţ' => 't', 'ý' => 'y', 'ő' => 'o', 'â' => 'a', 'ľ' => 'l', 'ẅ' => 'w', 'ż' => 'z', 'ī' => 'i', 'ã' => 'a', 'ġ' => 'g', 'ṁ' => 'm', 'ō' => 'o', 'ĩ' => 'i', 'ù' => 'u', 'į' => 'i', 'ź' => 'z', 'á' => 'a', 'û' => 'u', 'þ' => 'th', 'ð' => 'dh', 'æ' => 'ae', 'µ' => 'u', ); /** * UTF-8 lookup table for upper case accented letters * * This lookuptable defines replacements for accented characters from the ASCII-7 * range. This are upper case letters only. * * @author Andreas Gohr * @see utf8_deaccent() */ $UTF8_UPPER_ACCENTS = array( ' ' => 'A', 'ô' => 'O', 'ď' => 'D', 'ḟ' => 'F', 'ë' => 'E', 'š' => 'S', 'ơ' => 'O', 'ß' => 'Ss', 'ă' => 'A', 'ř' => 'R', 'ț' => 'T', 'ň' => 'N', 'ā' => 'A', 'ķ' => 'K', 'ŝ' => 'S', 'ỳ' => 'Y', 'ņ' => 'N', 'ĺ' => 'L', 'ħ' => 'H', 'ṗ' => 'P', 'ó' => 'O', 'ú' => 'U', 'ě' => 'E', 'é' => 'E', 'ç' => 'C', 'ẁ' => 'W', 'ċ' => 'C', 'õ' => 'O', 'ṡ' => 'S', 'ø' => 'O', 'ģ' => 'G', 'ŧ' => 'T', 'ș' => 'S', 'ė' => 'E', 'ĉ' => 'C', 'ś' => 'S', 'î' => 'I', 'ű' => 'U', 'ć' => 'C', 'ę' => 'E', 'ŵ' => 'W', 'ṫ' => 'T', 'ū' => 'U', 'č' => 'C', 'ö' => 'Oe', 'è' => 'E', 'ŷ' => 'Y', 'ą' => 'A', 'ł' => 'L', 'ų' => 'U', 'ů' => 'U', 'ş' => 'S', 'ğ' => 'G', 'ļ' => 'L', 'ƒ' => 'F', 'ž' => 'Z', 'ẃ' => 'W', 'ḃ' => 'B', 'å' => 'A', 'ì' => 'I', 'ï' => 'I', 'ḋ' => 'D', 'ť' => 'T', 'ŗ' => 'R', 'ä' => 'Ae', 'í' => 'I', 'ŕ' => 'R', 'ê' => 'E', 'ü' => 'Ue', 'ò' => 'O', 'ē' => 'E', 'ñ' => 'N', 'ń' => 'N', 'ĥ' => 'H', 'ĝ' => 'G', 'đ' => 'D', 'ĵ' => 'J', 'ÿ' => 'Y', 'ũ' => 'U', 'ŭ' => 'U', 'ư' => 'U', 'ţ' => 'T', 'ý' => 'Y', 'ő' => 'O', 'â' => 'A', 'ľ' => 'L', 'ẅ' => 'W', 'ż' => 'Z', 'ī' => 'I', 'ã' => 'A', 'ġ' => 'G', 'ṁ' => 'M', 'ō' => 'O', 'ĩ' => 'I', 'ù' => 'U', 'į' => 'I', 'ź' => 'Z', 'á' => 'A', 'û' => 'U', 'Þ' => 'Th', 'Ð' => 'Dh', 'Æ' => 'Ae', ); /** * UTF-8 array of common special characters * * This array should contain all special characters (not a letter or digit) * defined in the various local charsets - it's not a complete list of non-alphanum * characters in UTF-8. It's not perfect but should match most cases of special * chars. * * The controlchars 0x00 to 0x19 are _not_ included in this array. The space 0x20 is! * * @author Andreas Gohr * @see utf8_stripspecials() */ $UTF8_SPECIAL_CHARS = array( 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0142, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, 0x00d7, 0x00f7, 0x02c7, 0x02d8, 0x02d9, 0x02da, 0x02db, 0x02dc, 0x02dd, 0x0300, 0x0301, 0x0303, 0x0309, 0x0323, 0x0384, 0x0385, 0x0387, 0x03b2, 0x03c6, 0x03d1, 0x03d2, 0x03d5, 0x03d6, 0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7, 0x05b8, 0x05b9, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf, 0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f3, 0x05f4, 0x060c, 0x061b, 0x061f, 0x0640, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f, 0x0650, 0x0651, 0x0652, 0x066a, 0x0e3f, 0x200c, 0x200d, 0x200e, 0x200f, 0x2013, 0x2014, 0x2015, 0x2017, 0x2018, 0x2019, 0x201a, 0x201c, 0x201d, 0x201e, 0x2020, 0x2021, 0x2022, 0x2026, 0x2030, 0x2032, 0x2033, 0x2039, 0x203a, 0x2044, 0x20a7, 0x20aa, 0x20ab, 0x20ac, 0x2116, 0x2118, 0x2122, 0x2126, 0x2135, 0x2190, 0x2191, 0x2192, 0x2193, 0x2194, 0x2195, 0x21b5, 0x21d0, 0x21d1, 0x21d2, 0x21d3, 0x21d4, 0x2200, 0x2202, 0x2203, 0x2205, 0x2206, 0x2207, 0x2208, 0x2209, 0x220b, 0x220f, 0x2211, 0x2212, 0x2215, 0x2217, 0x2219, 0x221a, 0x221d, 0x221e, 0x2220, 0x2227, 0x2228, 0x2229, 0x222a, 0x222b, 0x2234, 0x223c, 0x2245, 0x2248, 0x2260, 0x2261, 0x2264, 0x2265, 0x2282, 0x2283, 0x2284, 0x2286, 0x2287, 0x2295, 0x2297, 0x22a5, 0x22c5, 0x2310, 0x2320, 0x2321, 0x2329, 0x232a, 0x2469, 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, 0x252c, 0x2534, 0x253c, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, 0x255f, 0x2560, 0x2561, 0x2562, 0x2563, 0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, 0x2591, 0x2592, 0x2593, 0x25a0, 0x25b2, 0x25bc, 0x25c6, 0x25ca, 0x25cf, 0x25d7, 0x2605, 0x260e, 0x261b, 0x261e, 0x2660, 0x2663, 0x2665, 0x2666, 0x2701, 0x2702, 0x2703, 0x2704, 0x2706, 0x2707, 0x2708, 0x2709, 0x270c, 0x270d, 0x270e, 0x270f, 0x2710, 0x2711, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x2718, 0x2719, 0x271a, 0x271b, 0x271c, 0x271d, 0x271e, 0x271f, 0x2720, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727, 0x2729, 0x272a, 0x272b, 0x272c, 0x272d, 0x272e, 0x272f, 0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737, 0x2738, 0x2739, 0x273a, 0x273b, 0x273c, 0x273d, 0x273e, 0x273f, 0x2740, 0x2741, 0x2742, 0x2743, 0x2744, 0x2745, 0x2746, 0x2747, 0x2748, 0x2749, 0x274a, 0x274b, 0x274d, 0x274f, 0x2750, 0x2751, 0x2752, 0x2756, 0x2758, 0x2759, 0x275a, 0x275b, 0x275c, 0x275d, 0x275e, 0x2761, 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767, 0x277f, 0x2789, 0x2793, 0x2794, 0x2798, 0x2799, 0x279a, 0x279b, 0x279c, 0x279d, 0x279e, 0x279f, 0x27a0, 0x27a1, 0x27a2, 0x27a3, 0x27a4, 0x27a5, 0x27a6, 0x27a7, 0x27a8, 0x27a9, 0x27aa, 0x27ab, 0x27ac, 0x27ad, 0x27ae, 0x27af, 0x27b1, 0x27b2, 0x27b3, 0x27b4, 0x27b5, 0x27b6, 0x27b7, 0x27b8, 0x27b9, 0x27ba, 0x27bb, 0x27bc, 0x27bd, 0x27be, 0xf6d9, 0xf6da, 0xf6db, 0xf8d7, 0xf8d8, 0xf8d9, 0xf8da, 0xf8db, 0xf8dc, 0xf8dd, 0xf8de, 0xf8df, 0xf8e0, 0xf8e1, 0xf8e2, 0xf8e3, 0xf8e4, 0xf8e5, 0xf8e6, 0xf8e7, 0xf8e8, 0xf8e9, 0xf8ea, 0xf8eb, 0xf8ec, 0xf8ed, 0xf8ee, 0xf8ef, 0xf8f0, 0xf8f1, 0xf8f2, 0xf8f3, 0xf8f4, 0xf8f5, 0xf8f6, 0xf8f7, 0xf8f8, 0xf8f9, 0xf8fa, 0xf8fb, 0xf8fc, 0xf8fd, 0xf8fe, 0xfe7c, 0xfe7d, ); ?> scuttle-0.7.4/index.php000066400000000000000000000057361103742314700150420ustar00rootroot00000000000000logout($path); $tplvars['msg'] = T_('You have now logged out'); } } // Header variables $tplVars['loadjs'] = true; $tplVars['rsschannels'] = array( array(sprintf(T_('%s: Recent bookmarks'), $sitename), createURL('rss')) ); if ($usecache) { // Generate hash for caching on $hashtext = $_SERVER['REQUEST_URI']; if ($userservice->isLoggedOn()) { $hashtext .= $userservice->getCurrentUserID(); } $hash = md5($hashtext); // Cache for 15 minutes $cacheservice->Start($hash, 900); } // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } $dtend = date('Y-m-d H:i:s', strtotime('tomorrow')); $dtstart = date('Y-m-d H:i:s', strtotime($dtend .' -'. $defaultRecentDays .' days')); $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['popCount'] = 30; $tplVars['sidebar_blocks'] = array('recent'); $tplVars['range'] = 'all'; $tplVars['pagetitle'] = T_('Store, share and tag your favourite links'); $tplVars['subtitle'] = T_('Recent Bookmarks'); $tplVars['bookmarkCount'] = $start + 1; $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, NULL, NULL, NULL, getSortOrder(), NULL, $dtstart, $dtend); $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['cat_url'] = createURL('tags', '%2$s'); $tplVars['nav_url'] = createURL('index', '%3$s'); $templateservice->loadTemplate('bookmarks.tpl', $tplVars); if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?>scuttle-0.7.4/jsScuttle.php000066400000000000000000000121511103742314700157000ustar00rootroot00000000000000 function _playerAdd(anchor) { var url = anchor.href; var code = ''; var code = code + ''; var code = code + ''; anchor.parentNode.innerHTML = code +' '+ anchor.parentNode.innerHTML; } String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; var deleted = false; function deleteBookmark(ele, input){ var confirmDelete = " - "; ele.style.display = 'none'; ele.parentNode.innerHTML = ele.parentNode.innerHTML + confirmDelete; } function deleteCancelled(ele) { var del = previousElement(ele.parentNode); del.style.display = 'inline'; ele.parentNode.parentNode.removeChild(ele.parentNode); return false; } function deleteConfirmed(ele, input, response) { if (deleted == false) { deleted = ele.parentNode.parentNode.parentNode; } var post = deleted; post.className = 'xfolkentry deleted'; if (response != '') { post.style.display = 'none'; deleted = false; } else { loadXMLDoc('ajaxDelete.php?id=' + input); } } function previousElement(ele) { ele = ele.previousSibling; while (ele.nodeType != 1) { ele = ele.previousSibling; } return ele; } function isAvailable(input, response){ var usernameField = document.getElementById("username"); var username = usernameField.value; username = username.toLowerCase(); username = username.trim(); var availability = document.getElementById("availability"); if (username != '') { usernameField.style.backgroundImage = 'url(loading.gif)'; if (response != '') { usernameField.style.backgroundImage = 'none'; if (response == 'true') { availability.className = 'available'; availability.innerHTML = ''; } else { availability.className = 'not-available'; availability.innerHTML = ''; } } else { loadXMLDoc('ajaxIsAvailable.php?username=' + username); } } } function useAddress(ele) { var address = ele.value; if (address != '') { if (address.indexOf(':') < 0) { address = 'http:\/\/' + address; } getTitle(address, null); ele.value = address; } } function getTitle(input, response){ var title = document.getElementById('titleField'); if (title.value == '') { title.style.backgroundImage = 'url(loading.gif)'; if (response != null) { title.style.backgroundImage = 'none'; title.value = response; } else if (input.indexOf('http') > -1) { loadXMLDoc('ajaxGetTitle.php?url=' + input); } else { return false; } } } var xmlhttp; function loadXMLDoc(url) { // Native if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = processStateChange; xmlhttp.open("GET", url, true); xmlhttp.send(null); // ActiveX } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); if (xmlhttp) { xmlhttp.onreadystatechange = processStateChange; xmlhttp.open("GET", url, true); xmlhttp.send(); } } } function processStateChange() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { response = xmlhttp.responseXML.documentElement; method = response.getElementsByTagName('method')[0].firstChild.data; result = response.getElementsByTagName('result')[0].firstChild.data; eval(method + '(\'\', result)'); } } function playerLoad() { var anchors = document.getElementsByTagName('a'); var anchors_length = anchors.length; for (var i = 0; i < anchors_length; i++) { if (anchors[i].className == 'taggedlink' && anchors[i].href.match(/\.mp3$/i)) { _playerAdd(anchors[i]); } } }scuttle-0.7.4/licence.txt000066400000000000000000000431231103742314700153550ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.scuttle-0.7.4/loading.gif000066400000000000000000000030561103742314700153170ustar00rootroot00000000000000GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~! NETSCAPE2.0! ,A *,Р >D ^̘bE?v "FKDIC#r\L! ,Nc*xР‡"|PD"Ę3/F5haɔ[Ĩ!I5 &"ɞ?}! ,NH_$0  Gbă+Ὴ=~xQǐ LɁ4R|R&Moɲ!ϔl! ,N ح[ :41Fح= (rĒ1dJ-]HL).C9'%! ,O ׭)x`B64"*BĘG7RaJ38RA7LdC5A\q'ǒ?# / ! ,PF Af&h B :Pb #D;RrNJMPIEŕ/Τ/d·*(Ta@! ,O (ٿh0n"JlPĈ!~Qǒ vCR`Ȕ*K\ /D(q'ϛ-;2 ! ,L u( B |1D60B=*PB&( C)2yp ͚0MN=1;scuttle-0.7.4/locales/000077500000000000000000000000001103742314700146315ustar00rootroot00000000000000scuttle-0.7.4/locales/de_DE/000077500000000000000000000000001103742314700155715ustar00rootroot00000000000000scuttle-0.7.4/locales/de_DE/LC_MESSAGES/000077500000000000000000000000001103742314700173565ustar00rootroot00000000000000scuttle-0.7.4/locales/de_DE/LC_MESSAGES/messages.mo000066400000000000000000000402011103742314700215170ustar00rootroot00000000000000 qM dpq+K#noWg6 3,D q %  tfkN!1BG`o  %`g.  13QV\o  "!#! 1 =/JLzW 8QE   K %@EH_jr#   ''0,X    0&9 `m  \>'fY}) = (M .v W H 9F!!h!!! "'1"#Y"}"" "" """@"+#)I#)s##(#3#H$[$.y$$ $$$$($ % %)%?%&&Y'a( y(t().*S=*r*_+d+,,,!,5,!I,k,s, ,,%,,7,- --7-J-*^- - ---uE.[./)/>/G/d/v///// /0//0090 00&10(1#Y1%}1 1111 1112-252D2M2 3# 3$13$V3${3 3 3/3[3B4I4O4U4^\4 4W4!5 15=5U5PZ55155556p,616666607-97g7|7 7777777 77 7"8 +8788p88 8 88h869?9O93_9!9~94:)D:n:Qs:(:6:d%;@;C;<o<<4<4< < = 5=&C=j= y====w=1,>3^>*>>1>8?LA?&?!???? @@'@>@N@f@Q,0Jjk;3XYP SOW"BN>T$ |!Z2ra1v}# iECyG-R'e=d.?KbfImFxo9)6{w\Vz7nL [:+`hc5M<A/%]@t s4g&DqH_8 Ulu^~*(p and %2$s%1$s others%3$s and %s1 other%s%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsActionsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletBookmarksChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedConfirm PasswordCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy ProfileMy WatchlistNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not AvailableNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUser with username %s was not foundUsernameUsername was not specifiedWatched ByWatchingWatchlistXML error: %s at line %dYesYou must enter a username, password and e-mail address.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbookmarkbookmarksbyformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-03-27 01:41-0800 Last-Translator: Marcus Campbell Language-Team: de-DE MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: German X-Poedit-Country: Germany Plural-Forms: nplurals=2; plural=(n != 1); und %2$s%1$s andere%3$sund %s1 andere%s%1$s unterstützt die del.icio.us API. Fast alle del.icio.us Tools können so modifiziert werden das %1$s sie verwenden kann. Findest Du ein inkompatibles Tool, so Frage beim entsprechenden Service nach. Du weisst nie - vielleicht wird Dir geholfen.%s Account Information%s Favoriten%s basiert auf einem Open-Source Projekt lizensiert unter der GNU General Public Lizenz. Das bedeutet, Du kannst es kostenlos auf Deinem Server im Internet verwenden, einem privaten Netzwerk oder auf Deinem eigenen Computer.%s: neue FavoritenE-mailRegistriere Dich jetzt und verwende %s!Teile Deine Webseiten-Favoriten mit Anderen, Deinen Freunden oder speichere sie für Dich privat.Speicher alle Deine Webseiten-Favoriten an einem Ort, von überall erreichbar.Tagge Deine Webseiten-Favoriten mit so vielen Schlagwörtern wie Du möchtest, ansatt sie in unübersichtlichen Verzeichnissen zu speichern.ÜberAccount DetailsAktionenFavorit hinzufügenFavorit hinzufügenZur Beobachtungsliste hinzufügenAdresseAddresse wurde nicht gefundenAlle TagsAlphabetEin kritischer Fehler ist aufgetretenEin Fehler ist aufgetretenEine Fehler trat beim Speichern Deiner Änderungen auf.Bist Du sicher?VorhandenFavorit importiertFavorit gespeichertFavorit mit der id %s wurde nicht gefundenBookmarkletFavoritenÄnderungen gespeichert.Klicke Browse... um die gespeicherte Favoriten Datei auf Deinem Computer zu finden. Dateigröße darf nicht größer sein als 1MBKlicke Browse... um die Datei auf Deinem Computer zu finden. Dateigröße darf nicht größer sein als 1MBKlicke Importieren um Deine Favoriten zu importieren; das kann eine Weile dauernMit Komma trennenPasswort bestätigenKopierenKann XML Input nicht öffnenKritischer FehlerKritische InformationPrüfungs ModusDatumLöschenFavorit löschenBeschreibung 2 Wochen lang nicht nach meinem Passwort fragenZiehe einen der folgenden Bookmarklets in Deine Browser Favoriten und klicke es an wann immer Du eine Seite zu %s hinzufügen möchtestE-MailE-Mail Adresse ist unzulässig.E-Mail Adresse ist unzulässig. Bitte versuche es erneut.BearbeitenFavorit bearbeitenFehler beim Speichern Deines FavoritenExportiere Deine Browser Bookmarks in eine DateiFavorit löschen ist fehlgeschlagenFehler beim Löschen dieses FavoritenVerzeichnisErsteVergessenes PasswortPasswort vergessen?Geek StuffGenereller FehlerGenereller Server FehlerNeues Passwort erstellenVerlaufVerlauf von %sHomepageDu hast Dein Passwort vergessen? Kein Problem - %s kann ein Neues für Dich generieren. Gebe Deine Email Adresse und Mitgliedsnamen ein und Dir wird ein neues Passwort zugesendet.ImportierenImportiere Favoriten eines BrowsersImportiere Favoriten von del.icio.usImportiere Favoriten aus einer DateiImportiere Favoriten aus del.icio.usInformationAnleitungInternet Explorer, Mozilla Firefox und NetscapeInternet Explorer: Datei > Importieren und Exportieren... > Exportiere FavoritenLetzteLinieLoginLogoutLogge Dich ein auf die del.icio.us Export SeiteMitglied seitMozilla Firefox: Favoriten > Manage Favoriten... > Datei > Exportieren...Meine FavoritenMein ProfilMeine BeobachtungslisteNameNetscape: Favoriten > Manage Favoriten... > Tools > Exportieren...Neues PasswortNeues Passwort wurde generiert und an %s gesendetÄlterNeinKeine Favoriten verfügbarKeine Favoriten gefundenKeine Resultate gefunden für den Mitgliedsnamen und diese e-mail Addresse.Keine Resultate zu diesem Mitgliedsnamen gefundenNicht Vorhanden Nicht gefundenSeite %d von %dPasswortPasswort und Bestätigung passen nicht zusammen.Passwort muss mindestens 6 Zeichen lang sein.Persönliche DetailsPopuläre TagsPopularitätHinzufügen zu %sHinzufügen zu %s (Pop-up)NeuerStatusPrivatProfilÖffentlichNeue FavoritenNeueste TagsNeue Favoriten in %s hinzugefügtRegistrierenRegistrierung fehlgeschlagen. Bitte versuche es erneut.Verwandte TagsAus Beobachtungsliste entfernenErforderlichSQL FehlerÄnderungen speichernSpeicher die resultierende XML Datei auf Deinem ComputerSuche inSuche FavoritenSuche ResultateWähle den Status für Deine importierten FavoritenZur Beobachtungsliste hinzufügenHier kannst Du Dich kostenlos für einen %s Account registrieren. Fülle dafür die folgenden Formularfelder vollständig aus.Sortieren nach:Speicher, Teile und Tagge Deine FavoritenTagsDie Details die Du eingetragen hast sind nicht korrekt. Bitte versuche es erneut.Die URL konnte nicht fortgeführt werdenDie URL konnte auf diesem Server nicht gefunden werdenFavorit konnte nicht gespeichert werden. Bitte versuche es erneut oder kontaktiere den AdministratorFehler beim generieren des Passwortes. Bitte versuche es erneut.Dieser Mitgliedsname existiert schon. Bitte versuche einen anderen.TitelUm Deine Favoriten sicher zu bewahren, solltest Du Dein Passwort beim nächsten Login in Deinem Profil ändern.URLMitglied wurde zu Deiner Favoritenliste hinzugefügtMitglied wurde von Deiner Beobachtungsliste entferntMitglied %s wurde nicht gefundenMitglied %s wurde nicht gefundenMitgliedsnameMitgliedsname wurde nicht spezifiziertBeobachtet vonBeobachtenBeobachtungslisteXML Fehler: %s in Linie %dJaDu musst einen Mitgliedsnamen, Passwort und eine E-Mail Addresse angeben.Du hast keine Rechte diesen Favoriten zu löschenDu hast keine Rechte diesen Favoriten zu bearbeitenDu hast diesen Favoriten schon eingetragenDu bist jetzt ausgeloggtDu hast Dich erfolgreich registriert. Viel Spass!Um Favoriten hinzuzufügen must Du Dich zuerst einloggenDu musst Deine E-Mail Addresse angeben.Du must Deinen Mitgliedsnamen eingebenFavoriten Titel und Adresse fehltDein neues Passwort:Alle FavoritenFavoritFavoritenvonnachmessage_die() wurde öfters aufgerufen.Meine FavoritenMeine BeobachtungslisteFavoriten dieses Benutzersscuttle-0.7.4/locales/de_DE/LC_MESSAGES/messages.po000066400000000000000000000620401103742314700215270ustar00rootroot00000000000000# Scuttle de-DE Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Ogee # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-03-27 01:41-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: de-DE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: German\n" "X-Poedit-Country: Germany\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Über" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "Du hast keine Rechte diesen Favoriten zu löschen" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "Favorit löschen ist fehlgeschlagen" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Alle Tags" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "Mitglied %s wurde nicht gefunden" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "Mitglied %s wurde nicht gefunden" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Favoriten Titel und Adresse fehlt" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Favorit gespeichert" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Favorit konnte nicht gespeichert werden. Bitte versuche es erneut oder kontaktiere den Administrator" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Favorit hinzufügen" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Favorit hinzufügen" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Um Favoriten hinzuzufügen must Du Dich zuerst einloggen" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "Meine Favoriten" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Favorit bearbeiten" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "Favorit mit der id %s wurde nicht gefunden" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Du hast keine Rechte diesen Favoriten zu bearbeiten" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Fehler beim Speichern Deines Favoriten" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "Fehler beim Löschen dieses Favoriten" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Änderungen speichern" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() wurde öfters aufgerufen." #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "SQL Fehler" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Linie" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Verzeichnis" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "Information" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Kritische Information" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "Ein Fehler ist aufgetreten" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "Genereller Fehler" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "Ein kritischer Fehler ist aufgetreten" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Kritischer Fehler" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "Prüfungs Modus" #: ..\..\..\history.php:65 msgid "History" msgstr "Verlauf" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "Verlauf von %s" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "Addresse wurde nicht gefunden" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "Kann XML Input nicht öffnen" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XML Fehler: %s in Linie %d" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importiere Favoriten von del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "Du hast diesen Favoriten schon eingetragen" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "Favorit importiert" #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "Importiere Favoriten eines Browsers" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Du bist jetzt ausgeloggt" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: neue Favoriten" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "Speicher, Teile und Tagge Deine Favoriten" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Neue Favoriten" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "Bist Du sicher?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "Ja" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "Nein" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "Vorhanden" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "Nicht Vorhanden " #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "Die Details die Du eingetragen hast sind nicht korrekt. Bitte versuche es erneut." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Login" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Du must Deinen Mitgliedsnamen eingeben" #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "Du musst Deine E-Mail Addresse angeben." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "Keine Resultate zu diesem Mitgliedsnamen gefunden" #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "Keine Resultate gefunden für den Mitgliedsnamen und diese e-mail Addresse." #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "Fehler beim generieren des Passwortes. Bitte versuche es erneut." #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "Dein neues Passwort:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "Um Deine Favoriten sicher zu bewahren, solltest Du Dein Passwort beim nächsten Login in Deinem Profil ändern." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "%s Account Information" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Neues Passwort wurde generiert und an %s gesendet" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "Vergessenes Passwort" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Populäre Tags" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Mitgliedsname wurde nicht spezifiziert" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "Mein Profil" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profil" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "Passwort und Bestätigung passen nicht zusammen." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "Passwort muss mindestens 6 Zeichen lang sein." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "E-Mail Adresse ist unzulässig." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "Eine Fehler trat beim Speichern Deiner Änderungen auf." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "Änderungen gespeichert." #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "Du musst einen Mitgliedsnamen, Passwort und eine E-Mail Addresse angeben." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Dieser Mitgliedsname existiert schon. Bitte versuche einen anderen." #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "E-Mail Adresse ist unzulässig. Bitte versuche es erneut." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "Du hast Dich erfolgreich registriert. Viel Spass!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Registrierung fehlgeschlagen. Bitte versuche es erneut." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registrieren" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Suche in" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "Favoriten dieses Benutzers" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "Meine Favoriten" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "Meine Beobachtungsliste" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "Alle Favoriten" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "nach" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Suche Favoriten" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "Suche Resultate" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Tags" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s Favoriten" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Mitglied wurde von Deiner Beobachtungsliste entfernt" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Mitglied wurde zu Deiner Favoritenliste hinzugefügt" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "Meine Beobachtungsliste" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "Beobachtungsliste" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Speicher alle Deine Webseiten-Favoriten an einem Ort, von überall erreichbar." #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Teile Deine Webseiten-Favoriten mit Anderen, Deinen Freunden oder speichere sie für Dich privat." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Tagge Deine Webseiten-Favoriten mit so vielen Schlagwörtern wie Du möchtest, ansatt sie in unübersichtlichen Verzeichnissen zu speichern." #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "Registriere Dich jetzt und verwende %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Geek Stuff" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s basiert auf einem Open-Source Projekt lizensiert unter der GNU General Public Lizenz. Das bedeutet, Du kannst es kostenlos auf Deinem Server im Internet verwenden, einem privaten Netzwerk oder auf Deinem eigenen Computer." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s unterstützt die del.icio.us API. Fast alle del.icio.us Tools können so modifiziert werden das %1$s sie verwenden kann. Findest Du ein inkompatibles Tool, so Frage beim entsprechenden Service nach. Du weisst nie - vielleicht wird Dir geholfen." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Sortieren nach:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Datum" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Titel" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Bearbeiten" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Löschen" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "von" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "und %s1 andere%s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr "und %2$s%1$s andere%3$s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Kopieren" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "Erste" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Neuer" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Älter" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "Letzte" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Seite %d von %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Keine Favoriten verfügbar" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "Favorit" msgstr[1] "Favoriten" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Adresse" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Erforderlich" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Beschreibung" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Mit Komma trennen" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Status" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Öffentlich" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Zur Beobachtungsliste hinzufügen" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Privat" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Favorit löschen" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bookmarklet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Ziehe einen der folgenden Bookmarklets in Deine Browser Favoriten und klicke es an wann immer Du eine Seite zu %s hinzufügen möchtest" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Hinzufügen zu %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Hinzufügen zu %s (Pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importieren" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importiere Favoriten aus einer Datei" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox und Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importiere Favoriten aus del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "Account Details" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Mitgliedsname" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Neues Passwort" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "Passwort bestätigen" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "E-Mail" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "Persönliche Details" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Name" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Homepage" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "Nicht gefunden" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "Die URL konnte auf diesem Server nicht gefunden werden" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Genereller Server Fehler" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "Die URL konnte nicht fortgeführt werden" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Logge Dich ein auf die del.icio.us Export Seite" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Speicher die resultierende XML Datei auf Deinem Computer" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Klicke Browse... um die Datei auf Deinem Computer zu finden. Dateigröße darf nicht größer sein als 1MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Wähle den Status für Deine importierten Favoriten" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Klicke Importieren um Deine Favoriten zu importieren; das kann eine Weile dauern" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Anleitung" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Exportiere Deine Browser Bookmarks in eine Datei" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: Datei > Importieren und Exportieren... > Exportiere Favoriten" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Favoriten > Manage Favoriten... > Datei > Exportieren..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Favoriten > Manage Favoriten... > Tools > Exportieren..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Klicke Browse... um die gespeicherte Favoriten Datei auf Deinem Computer zu finden. Dateigröße darf nicht größer sein als 1MB" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Passwort" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr " 2 Wochen lang nicht nach meinem Passwort fragen" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "Passwort vergessen?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Du hast Dein Passwort vergessen? Kein Problem - %s kann ein Neues für Dich generieren. Gebe Deine Email Adresse und Mitgliedsnamen ein und Dir wird ein neues Passwort zugesendet." #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "Neues Passwort erstellen" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Mitglied seit" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "Beobachten" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "Beobachtet von" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Hier kannst Du Dich kostenlos für einen %s Account registrieren. Fülle dafür die folgenden Formularfelder vollständig aus." #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "Neue Favoriten in %s hinzugefügt" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Keine Favoriten gefunden" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "Neueste Tags" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Verwandte Tags" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Aus Beobachtungsliste entfernen" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Zur Beobachtungsliste hinzufügen" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "Aktionen" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "Alphabet" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "Popularität" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "Favoriten" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Logout" scuttle-0.7.4/locales/dk_DK/000077500000000000000000000000001103742314700156055ustar00rootroot00000000000000scuttle-0.7.4/locales/dk_DK/LC_MESSAGES/000077500000000000000000000000001103742314700173725ustar00rootroot00000000000000scuttle-0.7.4/locales/dk_DK/LC_MESSAGES/messages.mo000066400000000000000000000376601103742314700215520ustar00rootroot00000000000000 qM dpq+K#noWg6 3,D q %  tfkN!1BG`o  %`g.  13QV\o  "!#! 1 =/JLzW 8QE   K %@EH_jr#   ''0,X    0&9 `m  \>'fY}) = (M .v W H 9F!!h!!! "'1"#Y"}"" "" """@"+#)I#)s##(#3#H$[$.y$$ $$$$($ % %)%?%&''( ((c*,z*V*_*U^+r+ ',5,G,N,`,u,,, ,,,,8, ,- :-G-\-%k- - --|-n7.[.//%/*/ E/R/ f/q/v/{/ /$//M0T05t000;05181U1r1x1 11 1 11111 12 2 2$2& 3$23 W3 c3.q3[33444T4 l4Yy44 445X 5 d5/p55555u5.U66 6 66%6-6 7 7 47 @7L7a7i7p7x7 77 77 7,788 18<8E8OT8888M89k599$9 9=9+::I:k:N:9?;y;l;;,;)<*G<*r< <!<< <<<=C=4U=6=)==1=80>Ji>>4> ??/?D?G?$K?p???Q,0Jjk;3XYP SOW"BN>T$ |!Z2ra1v}# iECyG-R'e=d.?KbfImFxo9)6{w\Vz7nL [:+`hc5M<A/%]@t s4g&DqH_8 Ulu^~*(p and %2$s%1$s others%3$s and %s1 other%s%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsActionsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletBookmarksChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedConfirm PasswordCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy ProfileMy WatchlistNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not AvailableNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUser with username %s was not foundUsernameUsername was not specifiedWatched ByWatchingWatchlistXML error: %s at line %dYesYou must enter a username, password and e-mail address.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbookmarkbookmarksbyformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-04-16 22:04-0800 Last-Translator: Marcus Campbell Language-Team: dk-DK MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Danish X-Poedit-Country: DENMARK Plural-Forms: nplurals=2; plural=(n != 1); og %2$s%1$s andre%3$sog %s1 andre%s%1$s understøtter de fleste del.icio.us API. Næsten alle de værktøjer udviklet til det system kan modificeres til at fungere med %1$s i stedet for. Hvis du finder et værktøj som ikke tillader at du fortager ændringer i API adresse, kunne du jo spørge udviklerne. Man ved aldrig det kunne jo være de ville.%s Konto oplysninger%s Bogmærker%s er baseret på et åbent-kode projekt licenseret under GNU General Public License. Dette betyder at du kan hoste systemet på din egen server gratis, lige meget om det er på Internet, et privat netværk eller bare på din egen computer.%s: Seneste bogmærkerE-mailRegister nu for at starte med at bruge %s!Del dine bogmærker med alle, med vennerne på din overvågningsliste eller behold dem private.Gem alle dine favorit links et sted, tilgængelig fra hvor som helstMarker dine bogmærker med så mange mærkater som du ønsker, i stedet for at kæmpe med mapper.Om programmetKonto oplysningerAktionTilføj bogmærkeTilføj et bogmærkeTilføj til OvervågningslistenAdresseAdressen kunne ikke findesAlle mærkerAlfabetEn kritisk fejl opstodEn fejl opstodEn fejl opstod ved forsøg på at gemme dine ændringer.Er du sikker?TilgængeligBogmærke importeretBogmærke gemtBogmærke med id %s kunne ikke findesBogmærkeletBogmærkerÆndringer gemt.Tryk Gennemse... for at finde den gemte bogmærke fil på din computer. Filstørrelsen må maksimum være på 1MBTryk Gennemse... for at finde denne fil på din computer. Filstørrelsen må maksimum være på 1MBTryk Import for at starte med at importere dine bogmærker; dette kan tage et par minutter.Komma adskillelsebekræft kodeordKopiKunne ikke åbne XML inputKritisk fejlKritisk informationDEBUG MODEDatoSletSlet bogmærkerBeskrivelseSøg ikke efter mit kodeord i 2 ugerTræk en af de følgende bogmærkeletter til din browsers bogmærker, og tryk på den hver gang du ønsker at tilføje den side du er på til %sE-mailE-mail adressen er ikke gyldig.E-mail addressen er ikke gyldig. Prøv venligst igen.RedigereRediger bogmærkerDer opstod en fejl, ved forsøg på at gemme dit bogmærke.Eksportere dine bogmærker fra din browser til en filKunne ikke slette bogmærketKunne ikke slette bogmærketFilerFørsteGlemt kodeordGlemt dit kodeord?Nørd TingGeneral fejlGeneral server fejlGenerere kodeordHistorieHistorie for %sHjemmesideHvis du har glemte dit kodeord, kan %s generere et nyt et. Skriv brugernavnet og e-mail adressen på din konto i formularen nedenfor og vi vil sende dit nye kodeord til dig via e-mail.ImportereImportere bogmærker fra browserImportere bogmærker fra del.icio.usImportere bogmærker fra bogmærke filImportere bogmærker fra del.icio.usInformationInstruktionerInternet Explorer, Mozilla Firefox og NetscapeInternet Explorer: Filer > Importer og eksporter... > Eksporter foretrukne emnerSidsteLineLog indLog udLog ind på del.icio.us' eksport sideMedlem sidenMozilla Firefox: Bogmærker > Arranger bogmærker... > Filer > Eksporter...Mine bogmærkerMin profilMin Overvågningsliste NavnNetscape: Bogmærker > Arranger bogmærker... > Værktøjer > Eksporter...Nyt kodeordNyt kodeord er blevet genereret og sendt til %sNæsteNejIgen bogmærker tilgængeligIgen bogmærker fundetSøgning gav igen resultat på den kombination af brugernavn og e-mail adresse.Søgning gav igen resultat på det brugernavn.Ikke tilgængeligIkke fundetSide %d af %dKodeordKodeord og bekræftelse matcher ikke.Kodeordet skal mindst være på 6 karakterer.Personlige detaljerPopulære mærkaterPopularitetSend til %sSend til %s (Pop-up)ForrigePrivatPrivateProfilOffentligtSeneste bogmærkerNylig mærkerSeneste bogmærker sendt til %sRegistrereRegistreringen fejlede. Prøv venligst igen.Lignede mærkerFjern fra OvervågningslistenPåkrævetSQL fejlGem ændringerGem XML fillen på din computerSøgSøge i bogmærkerSøge resultatVælg den ønskede standart privatindstilling for dine importerede bogmærkerDel med OvervågningslistenTilmeld dig her for at oprette en gratis %s konto. Alle forspurgte informationerne neden for er påkrævet.Sortere efter:Gem, del og mærk dine favorit linksMærkaterDetaljerne du har indtastet er forkerte. Prøv venligst igen.Den forespurgte adresse kunne ikke afviklesDen forespurgte adresse kunne ikke findes på denne serverDer opstod en fejl, ved forsøg på at gemme dit bogmærke. Prøv venligst igen eller kontakt AdministratorDer opstod en fejl under genereringen af dit nye kodeord. Prøv venligst igen.Brugernavnet eksistere allerede, vælg venligst et andet.TitelFFor at bevare dine bogmærker sikrere, bør du skifte dette kodeord i din profil næste gang du logger ind.URLBruger tilføjet til din overvågningsliste Bruger fjernet fra din overvågningslisteBruger med brugernavn %s kunne ikke findesBruger med brugernavn %s kunne ikke findesBrugernavnBrugernavn var ikke specificeredeOvervågede afOvervågerOvervågningslisteXLM fejl: %s i line %dJaDu skal indtaste et brugernavn, kodeord og e-mail adresse.Du har ikke tilladelse til at slette dette bogmærkeDu har ikke tilladelse til at redigere dette bogmærkeDu har allerede tilføjet dette bogmærkeDu er nu logget udDu er nu succesfuldt registeret. God fornøjelse!Du skal være logget ind før du kan tilføje bogmærkerDu skal indtaste din E-mail adresse.Du skal indtaste dit brugernavnDit bogmærke skal have både en titel og en adresseDit nye kodeord er:alle bogmærkernebogmærkebogmærkerafformessage_die() blev kaldt flere gangemine bogmærkerMin Overvågningslistedenne brugers bogmærkerscuttle-0.7.4/locales/dk_DK/LC_MESSAGES/messages.po000066400000000000000000000615351103742314700215530ustar00rootroot00000000000000# Scuttle dk-DK Translation # Copyright (C) 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Nicki Brøchner # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-04-16 22:04-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: dk-DK \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Danish\n" "X-Poedit-Country: DENMARK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Om programmet" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "Du har ikke tilladelse til at slette dette bogmærke" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "Kunne ikke slette bogmærket" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Alle mærker" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "Bruger med brugernavn %s kunne ikke findes" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "Bruger med brugernavn %s kunne ikke findes" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Dit bogmærke skal have både en titel og en adresse" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Bogmærke gemt" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Der opstod en fejl, ved forsøg på at gemme dit bogmærke. Prøv venligst igen eller kontakt Administrator" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Tilføj et bogmærke" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Tilføj bogmærke" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Du skal være logget ind før du kan tilføje bogmærker" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "Mine bogmærker" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Rediger bogmærker" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "Bogmærke med id %s kunne ikke findes" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Du har ikke tilladelse til at redigere dette bogmærke" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Der opstod en fejl, ved forsøg på at gemme dit bogmærke." #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "Kunne ikke slette bogmærket" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Gem ændringer" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() blev kaldt flere gange" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "SQL fejl" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Line" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Filer" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "Information" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Kritisk information" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "En fejl opstod" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "General fejl" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "En kritisk fejl opstod" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Kritisk fejl" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "DEBUG MODE" #: ..\..\..\history.php:65 msgid "History" msgstr "Historie" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "Historie for %s" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "Adressen kunne ikke findes" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "Kunne ikke åbne XML input" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XLM fejl: %s i line %d" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importere bogmærker fra del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "Du har allerede tilføjet dette bogmærke" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "Bogmærke importeret" #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "Importere bogmærker fra browser" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Du er nu logget ud" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Seneste bogmærker" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "Gem, del og mærk dine favorit links" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Seneste bogmærker" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "Er du sikker?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "Ja" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "Nej" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "Tilgængelig" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "Ikke tilgængelig" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "Detaljerne du har indtastet er forkerte. Prøv venligst igen." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Log ind" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Du skal indtaste dit brugernavn" #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "Du skal indtaste din E-mail adresse." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "Søgning gav igen resultat på det brugernavn." #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "Søgning gav igen resultat på den kombination af brugernavn og e-mail adresse." #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "Der opstod en fejl under genereringen af dit nye kodeord. Prøv venligst igen." #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "Dit nye kodeord er:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "FFor at bevare dine bogmærker sikrere, bør du skifte dette kodeord i din profil næste gang du logger ind." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "%s Konto oplysninger" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Nyt kodeord er blevet genereret og sendt til %s" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "Glemt kodeord" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Populære mærkater" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Brugernavn var ikke specificerede" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "Min profil" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profil" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "Kodeord og bekræftelse matcher ikke." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "Kodeordet skal mindst være på 6 karakterer." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "E-mail adressen er ikke gyldig." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "En fejl opstod ved forsøg på at gemme dine ændringer." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "Ændringer gemt." #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "Du skal indtaste et brugernavn, kodeord og e-mail adresse." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Brugernavnet eksistere allerede, vælg venligst et andet." #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "E-mail addressen er ikke gyldig. Prøv venligst igen." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "Du er nu succesfuldt registeret. God fornøjelse!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Registreringen fejlede. Prøv venligst igen." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registrere" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Søg" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "denne brugers bogmærker" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "mine bogmærker" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "Min Overvågningsliste" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "alle bogmærkerne" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "for" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Søge i bogmærker" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "Søge resultat" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Mærkater" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s Bogmærker" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Bruger fjernet fra din overvågningsliste" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Bruger tilføjet til din overvågningsliste " #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "Min Overvågningsliste " #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "Overvågningsliste" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Gem alle dine favorit links et sted, tilgængelig fra hvor som helst" #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Del dine bogmærker med alle, med vennerne på din overvågningsliste eller behold dem private." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Marker dine bogmærker med så mange mærkater som du ønsker, i stedet for at kæmpe med mapper." #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "Register nu for at starte med at bruge %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Nørd Ting" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s er baseret på et åbent-kode projekt licenseret under GNU General Public License. Dette betyder at du kan hoste systemet på din egen server gratis, lige meget om det er på Internet, et privat netværk eller bare på din egen computer." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s understøtter de fleste del.icio.us API. Næsten alle de værktøjer udviklet til det system kan modificeres til at fungere med %1$s i stedet for. Hvis du finder et værktøj som ikke tillader at du fortager ændringer i API adresse, kunne du jo spørge udviklerne. Man ved aldrig det kunne jo være de ville." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Sortere efter:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Dato" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Titel" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Redigere" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Slet" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "af" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "og %s1 andre%s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr " og %2$s%1$s andre%3$s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Kopi" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "Første" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Forrige" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Næste" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "Sidste" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Side %d af %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Igen bogmærker tilgængelig" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "bogmærke" msgstr[1] "bogmærker" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Adresse" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Påkrævet" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Beskrivelse" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Komma adskillelse" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Privat" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Offentligt" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Del med Overvågningslisten" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Private" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Slet bogmærker" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bogmærkelet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Træk en af de følgende bogmærkeletter til din browsers bogmærker, og tryk på den hver gang du ønsker at tilføje den side du er på til %s" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Send til %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Send til %s (Pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importere" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importere bogmærker fra bogmærke fil" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox og Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importere bogmærker fra del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "Konto oplysninger" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Brugernavn" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Nyt kodeord" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "bekræft kodeord" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "Personlige detaljer" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Navn" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Hjemmeside" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "Ikke fundet" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "Den forespurgte adresse kunne ikke findes på denne server" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "General server fejl" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "Den forespurgte adresse kunne ikke afvikles" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Log ind på del.icio.us' eksport side" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Gem XML fillen på din computer" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Tryk Gennemse... for at finde denne fil på din computer. Filstørrelsen må maksimum være på 1MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Vælg den ønskede standart privatindstilling for dine importerede bogmærker" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Tryk Import for at starte med at importere dine bogmærker; dette kan tage et par minutter." #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Instruktioner" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Eksportere dine bogmærker fra din browser til en fil" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: Filer > Importer og eksporter... > Eksporter foretrukne emner" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Bogmærker > Arranger bogmærker... > Filer > Eksporter..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Bogmærker > Arranger bogmærker... > Værktøjer > Eksporter..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Tryk Gennemse... for at finde den gemte bogmærke fil på din computer. Filstørrelsen må maksimum være på 1MB" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Kodeord" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Søg ikke efter mit kodeord i 2 uger" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "Glemt dit kodeord?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Hvis du har glemte dit kodeord, kan %s generere et nyt et. Skriv brugernavnet og e-mail adressen på din konto i formularen nedenfor og vi vil sende dit nye kodeord til dig via e-mail." #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "Generere kodeord" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Medlem siden" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "Overvåger" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "Overvågede af" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Tilmeld dig her for at oprette en gratis %s konto. Alle forspurgte informationerne neden for er påkrævet." #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "Seneste bogmærker sendt til %s" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Igen bogmærker fundet" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "Nylig mærker" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Lignede mærker" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Fjern fra Overvågningslisten" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Tilføj til Overvågningslisten" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "Aktion" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "Alfabet" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "Popularitet" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "Bogmærker" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Log ud" scuttle-0.7.4/locales/en_GB/000077500000000000000000000000001103742314700156035ustar00rootroot00000000000000scuttle-0.7.4/locales/en_GB/LC_MESSAGES/000077500000000000000000000000001103742314700173705ustar00rootroot00000000000000scuttle-0.7.4/locales/en_GB/LC_MESSAGES/messages.mo000066400000000000000000000007551103742314700215430ustar00rootroot00000000000000$,89Project-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-03-18 21:41-0800 Last-Translator: Marcus Campbell Language-Team: en-GB MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: English X-Poedit-Country: UNITED KINGDOM Plural-Forms: nplurals=2; plural=(n != 1); scuttle-0.7.4/locales/en_GB/LC_MESSAGES/messages.po000066400000000000000000000455011103742314700215440ustar00rootroot00000000000000# Scuttle en-GB Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Marcus Campbell # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-03-18 21:41-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: en-GB \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: English\n" "X-Poedit-Country: UNITED KINGDOM\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "" #: ..\..\..\history.php:65 msgid "History" msgstr "" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "" #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "" #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "" #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "" #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "" #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "" #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "" #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "" #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "" #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "" #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "" #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "" #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "" #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "" #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "" #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "" #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "" #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "" #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "" #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "" #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "" msgstr[1] "" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "" scuttle-0.7.4/locales/es_ES/000077500000000000000000000000001103742314700156275ustar00rootroot00000000000000scuttle-0.7.4/locales/es_ES/LC_MESSAGES/000077500000000000000000000000001103742314700174145ustar00rootroot00000000000000scuttle-0.7.4/locales/es_ES/LC_MESSAGES/messages.mo000066400000000000000000000337431103742314700215720ustar00rootroot00000000000000| q ;pH+KnFWg u{ , @ NXk%z tf0N# 8CHO _%k8 = K1l  (0?H"!)#K!o  /L',18W@ Q K  U%b#  ','T e r} & ) 2 <\I> Y#})=(.WK9hLP m' +).)X(3. D R U (Y u F" L$sY$%+%J&uZ&\&t-' '''''''("(4(O(*b(( (((( (( )r)a * m*w*~* ***** **+!++++ +,+.+,,H,b,j,r,, ,, ,,,,- ---#-. ..-<.Sj. . ..._. G/SU/ //O/ 010 J0T0W0r040 00010*1J1\1 q1~1111 111 1 1/1#292 O2 Y2f2hv2222.363^P3313 3E3)64'`4_424 5])5555555 6"66696/W6 66.6I6?7<_7777,7 7)[B:+{83fmnr Fv*kys^-~NA/HuEX ],"ld@q%_UR$|It9}M< >C1WTL2G7?Zw0DOp6(=g#cxSJ\!hKY.z'&a` bPV5 4oj;Qie%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten your password?Geek StuffGeneral ErrorGeneral server errorHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that username.Not FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUsernameUsername was not specifiedWatched ByXML error: %s at line %dYesYou are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your username.Your bookmark must have a title and an addressall bookmarksbyformessage_die() was called multiple times.my bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-12-16 06:31+0200 PO-Revision-Date: 2006-03-26 14:28-0800 Last-Translator: Marcus Campbell Language-Team: es-ES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); %1$s esta basado en la API de del.icio.us API. La mayoría de las herramientas utilizadas para construir este sistema se pueden modificar para trabajar con %1$s. Si usted encuentra una herramienta en la que no puede modificar la direccion de la API, pregunte al creador si puede cambiar esta configuración. Nunca se sabe, puede que ya se haya cambiado esa configuración.Enlace de %s%s esta basado en un proyecto de codigo abierto licenciado bajo GNU General Public License. Esto quiere decir que usted puede instalarlo en su propio web server para uso libre, en una red privada o en su propia computadora.%s: Enlaces recientesCorreoRegistrese ahora para usar %s!Comparte tus enlaces, solo con los amigos de la lista de consultados o manténgalos privados..Guarde todos sus enlaces favoritos en un lugar y acceda desde donde quiera.Etiquete sus enlaces con tantas etiquetas como usted desea, en lugar de pellearse con las carpetas.Acerca deDetalles de usuarioAgregar EnlaceAgregarAgregar a ConsultadosDirecciónLa dirección no existeTodasAlfabéticoHa habido un error criticoHa habido un errorHa habido un error al guardar los cambios.Esta usted seguro?DisponibleEnlaces importados.Enlace salvadoEl enlace con id %s no funcionaMarcadoresCambios guardados.Pulse Examinar... para buscar los enlaces guardados en un archivo de us ordenador. El tamaño maximo no puede ser superior a 1MBPulse Examinar... para buscar el archivo en su ordenador. El tamaño maximo no puede ser superior a 1MBPulse Importar para comenzar a importar los enlaces, esto puede tartar algunos minutosCon comasCopiarNo se pude abrir la entrada XMLError CriticoInformación CriticaMODO DEPURACIONFechaBorrarBorrar enlaceDescripciónRecordar mi clave 2 semanasArrastre los enlaces a los marcadores de su navegador y pulselos siempre que usted desee agregar la pagina que esta viendo a %sCorreoCorreo incorrecto.EditarEditar enlaceSe ha producido un error al salvar su enlaceExpote sus enlaces a su navegador a un archivoError al borrar los enlacesFallo al borrar el enlaceArchivoPrimeraOlvido su clave?AdelanteError GeneralError general del servidorHistorialHistorial de %sPágina webSi olvido su clave, %s puede crearle una nueva. Introduzca su direccion de correo electrónico de su perfil en el formulario siguiente y se le enviara una nueva claveImportarImportar enlaces de un NavegadorImportar enlaces de del.icio.usImprotar enlaces de un archivoImportar los enlaces de del.icio.usInformaciónInstruccionesInternet Explorer, Mozilla Firefox y NetscapeInternet Explorer: Archivo > Importar y Exportar... > Exportar FavoritosÚltimaLíneaAccederSalirRegistrese para exportar la pagina a del.icio.usMiembro desdeMozilla Firefox: Enlaces > Manejar Enlaces... > Archivo > Exportar...Mis EnlacesNombreNetscape: Enlaces > Manejar Enlaces... > Utilidades > Exportar...Nueva claveSe ha creado una nueva clave y se ha enviado a %sSiguienteNoNo hay enlaces disponiblesNo se han encontrado enlacesNo se encuentra ningún usuario con ese nombreNo funcionaPágina %d de %dClaveLa clave y su confirmación no es correcta.La clave debe tener al menos 6 acracteres.Datos del usuarioMás visitadasAgregar a %sAgregar a %s (Pop-up)AnteriorPermisosPrivadoPérfilPúblicoEnlaces RecientesRecientesRegistrarseRegistro erroneo. Por favor intentelo de nuevo.Etiquetas mencionadasBorrar de ConsultadosRequeridoError de SQLGuardar CambiosGuardar los resultados en un archivo XML de su ordenadorBuscarBuscar EnlacesBuscar ResultadosElija los permisos para los enlaces importadosCompartido en ConsultadosInserte los datos para crear una cuenta gratis en %s. Es cesaria toda la informacion requeridaPor:Almacene, navege y etiquete sus enlaces favoritosEtiquetasLos datos introducidos son incorrectos. Por favor intentelo de nuevo.La URL solicitada no puede ser encontradaNo se encontró la URL solicitadaHay un error al salvar su enlace. Por favor intentelo de nuevo o contacte con el administrador.Este usuario ya existe, por favor introduzca otro.TítuloPara que sean seguros sus enlaces, debe cambiar la clave de su usuario en el siguiente accesoURLUsuario agregado a consultadosUsuario borrado de consultadosNo se encontro el usuario %sUsuarioUsuario no introducidoConsultado deErrores: %s en la linea %d del XMLSiNo puede borrar estos enlacesUsted no tiene permisos para editar este enlaceUsted ya ha agregado este enlaceUsted esta ahora desconectadoEl registro ha sido correcto. Puede continuar!Debe introducir su usuario y contraseña para poder agregar enlacesIntroduzca su nombre de usuarioSu enlace debe tener un título y una direccióntodosporpormessage_die() requerido en varios ocasiones.mis enlacesscuttle-0.7.4/locales/es_ES/LC_MESSAGES/messages.po000066400000000000000000000620701103742314700215700ustar00rootroot00000000000000# Scuttle es-ES Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Francisco Portero # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-12-16 06:31+0200\n" "PO-Revision-Date: 2006-03-26 14:28-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: es-ES \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Acerca de" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "No puede borrar estos enlaces" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "Error al borrar los enlaces" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Todas" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "No se encontro el usuario %s" #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "No se encontro el usuario %s" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Su enlace debe tener un título y una dirección" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Enlace salvado" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Hay un error al salvar su enlace. Por favor intentelo de nuevo o contacte con el administrador." #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Agregar" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Agregar Enlace" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Debe introducir su usuario y contraseña para poder agregar enlaces" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "Mis Enlaces" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Editar enlace" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "El enlace con id %s no funciona" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Usted no tiene permisos para editar este enlace" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Se ha producido un error al salvar su enlace" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "Fallo al borrar el enlace" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Guardar Cambios" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() requerido en varios ocasiones." #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "Error de SQL" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Línea" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Archivo" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "Información" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Información Critica" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "Ha habido un error" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "Error General" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "Ha habido un error critico" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Error Critico" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "MODO DEPURACION" #: ..\..\..\history.php:65 msgid "History" msgstr "Historial" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "Historial de %s" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "La dirección no existe" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "No se pude abrir la entrada XML" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "Errores: %s en la linea %d del XML" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importar enlaces de del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "Usted ya ha agregado este enlace" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "Enlaces importados." #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "Importar enlaces de un Navegador" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Usted esta ahora desconectado" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Enlaces recientes" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "Almacene, navege y etiquete sus enlaces favoritos" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Enlaces Recientes" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "Esta usted seguro?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "Si" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "No" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "Disponible" #: ..\..\..\jsScuttle.php:71 #, fuzzy msgid "Not Available" msgstr "No hay enlaces disponibles" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "Los datos introducidos son incorrectos. Por favor intentelo de nuevo." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Acceder" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Introduzca su nombre de usuario" #: ..\..\..\password.php:35 #, fuzzy msgid "You must enter your e-mail address." msgstr "Debe especificar usuario, clave, nombre y correo electrónico." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "No se encuentra ningún usuario con ese nombre" #: ..\..\..\password.php:45 #, fuzzy msgid "No matches found for that combination of username and e-mail address." msgstr "Debe especificar usuario, clave, nombre y correolectrónico." #: ..\..\..\password.php:53 #, fuzzy msgid "There was an error while generating your new password. Please try again." msgstr "Hay un error al salvar su enlace. Por favor intentelo de nuevo o contacte con el administrador." #: ..\..\..\password.php:57 #, fuzzy msgid "Your new password is:" msgstr "Confirmar la nueva clave" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "Para que sean seguros sus enlaces, debe cambiar la clave de su usuario en el siguiente acceso" #: ..\..\..\password.php:60 #, fuzzy, php-format msgid "%s Account Information" msgstr "Información" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Se ha creado una nueva clave y se ha enviado a %s" #: ..\..\..\password.php:69 #, fuzzy msgid "Forgotten Password" msgstr "Nueva clave" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Más visitadas" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Usuario no introducido" #: ..\..\..\profile.php:60 #, fuzzy msgid "My Profile" msgstr "Mi Pérfil" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Pérfil" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "La clave y su confirmación no es correcta." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "La clave debe tener al menos 6 acracteres." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "Correo incorrecto." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "Ha habido un error al guardar los cambios." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "Cambios guardados." #: ..\..\..\register.php:33 #, fuzzy msgid "You must enter a username, password and e-mail address." msgstr "Debe especificar usuario, clave, nombre y correo electrónico." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Este usuario ya existe, por favor introduzca otro." #: ..\..\..\register.php:41 #, fuzzy msgid "E-mail address is not valid. Please try again." msgstr "Correo incorrecto." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "El registro ha sido correcto. Puede continuar!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Registro erroneo. Por favor intentelo de nuevo." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registrarse" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Buscar" #: ..\..\..\search.inc.php:35 #, fuzzy msgid "this user's bookmarks" msgstr "enlaces de %s" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "mis enlaces" #: ..\..\..\search.inc.php:41 #, fuzzy msgid "my watchlist" msgstr "mis consultados" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "todos" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "por" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Buscar Enlaces" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "Buscar Resultados" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Etiquetas" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "Enlace de %s" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Usuario borrado de consultados" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Usuario agregado a consultados" #: ..\..\..\watched.php:105 #, fuzzy msgid "My Watchlist" msgstr "Mis Consultados" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "Consultados" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Guarde todos sus enlaces favoritos en un lugar y acceda desde donde quiera." #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Comparte tus enlaces, solo con los amigos de la lista de consultados o manténgalos privados.." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Etiquete sus enlaces con tantas etiquetas como usted desea, en lugar de pellearse con las carpetas." #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "Registrese ahora para usar %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Adelante" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s esta basado en un proyecto de codigo abierto licenciado bajo GNU General Public License. Esto quiere decir que usted puede instalarlo en su propio web server para uso libre, en una red privada o en su propia computadora." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s esta basado en la API de del.icio.us API. La mayoría de las herramientas utilizadas para construir este sistema se pueden modificar para trabajar con %1$s. Si usted encuentra una herramienta en la que no puede modificar la direccion de la API, pregunte al creador si puede cambiar esta configuración. Nunca se sabe, puede que ya se haya cambiado esa configuración." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Por:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Fecha" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Título" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Editar" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Borrar" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "por" #: ..\..\..\templates\bookmarks.tpl.php:78 #, fuzzy, php-format msgid " and %s1 other%s" msgstr " y %s mas" #: ..\..\..\templates\bookmarks.tpl.php:81 #, fuzzy, php-format msgid " and %2$s%1$s others%3$s" msgstr " y %s mas" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Copiar" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "Primera" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Anterior" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Siguiente" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "Última" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Página %d de %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "No hay enlaces disponibles" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 #, fuzzy msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "enlace" msgstr[1] "enlaces" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Dirección" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Requerido" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Descripción" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Con comas" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Permisos" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Público" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Compartido en Consultados" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Privado" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Borrar enlace" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Marcadores" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Arrastre los enlaces a los marcadores de su navegador y pulselos siempre que usted desee agregar la pagina que esta viendo a %s" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Agregar a %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Agregar a %s (Pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importar" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Improtar enlaces de un archivo" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox y Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importar los enlaces de del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "Detalles de usuario" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Usuario" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Nueva clave" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "Confirmar la clave" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "Correo" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "Datos del usuario" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Nombre" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Página web" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "No funciona" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "No se encontró la URL solicitada" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Error general del servidor" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "La URL solicitada no puede ser encontrada" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Registrese para exportar la pagina a del.icio.us" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Guardar los resultados en un archivo XML de su ordenador" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Pulse Examinar... para buscar el archivo en su ordenador. El tamaño maximo no puede ser superior a 1MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Elija los permisos para los enlaces importados" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Pulse Importar para comenzar a importar los enlaces, esto puede tartar algunos minutos" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Instrucciones" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Expote sus enlaces a su navegador a un archivo" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: Archivo > Importar y Exportar... > Exportar Favoritos" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Enlaces > Manejar Enlaces... > Archivo > Exportar..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Enlaces > Manejar Enlaces... > Utilidades > Exportar..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Pulse Examinar... para buscar los enlaces guardados en un archivo de us ordenador. El tamaño maximo no puede ser superior a 1MB" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Clave" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Recordar mi clave 2 semanas" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "Olvido su clave?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Si olvido su clave, %s puede crearle una nueva. Introduzca su direccion de correo electrónico de su perfil en el formulario siguiente y se le enviara una nueva clave" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "Correo" #: ..\..\..\templates\password.tpl.php:19 #, fuzzy msgid "Generate Password" msgstr "Nueva clave" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Miembro desde" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 #, fuzzy msgid "Watching" msgstr "Consultados" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "Consultado de" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Inserte los datos para crear una cuenta gratis en %s. Es cesaria toda la informacion requerida" #: ..\..\..\templates\rss.tpl.php:9 #, fuzzy, php-format msgid "Recent bookmarks posted to %s" msgstr "Enlaces recientes agregados a %s" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "No se han encontrado enlaces" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "Recientes" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Etiquetas mencionadas" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Borrar de Consultados" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Agregar a Consultados" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "Instrucciones" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "Alfabético" #: ..\..\..\templates\tags.tpl.php:9 #, fuzzy msgid "Popularity" msgstr "Mas visitadas" #: ..\..\..\templates\toolbar.inc.php:11 #, fuzzy msgid "Bookmarks" msgstr "Enlaces" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Salir" scuttle-0.7.4/locales/fr_FR/000077500000000000000000000000001103742314700156275ustar00rootroot00000000000000scuttle-0.7.4/locales/fr_FR/LC_MESSAGES/000077500000000000000000000000001103742314700174145ustar00rootroot00000000000000scuttle-0.7.4/locales/fr_FR/LC_MESSAGES/messages.mo000066400000000000000000000326521103742314700215700ustar00rootroot00000000000000 q k p +WAg $3DLbk,   tfkN!16O^ s~ %OV.s  1 & ? JXmuD!K#m! /L=BGNWV Q K i%v#  ',?l } & 5 > H\U>/)8b(g.WH9`h   *'Ks|+) 3"HV. ( @ MZp   b"1w"O"~" x####"##!#$#$6$HQ$$ $$ $$[%r%S&n& u&&&&& && &5&5''+'?(_(f(0w(<(( ((& ) 3)@)!S) u))))y*&*&*'* *.+U4+ ++ ++^+ ,b, ,,Z,,9,8-@-D-`-*x-- - -9-2.:.N. `.n. ...... .+.."/1/ 8/C/j`////H0I0 f0/t00'060g 1gr1A12"22/212'303.B3q33'303#3C4QT4*4045"53575*<5 g5s55HL}RZ.!iJ91z)5%yN^+x\wV&04 ](2QGB-m ,@<3IDkbhX>/68'S;" TC :U~s` rc_fEo7udMq?=[$e{pO|*#APWKvnlY Fajtg%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailStore all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark savedBookmarkletClick Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My ProfileNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that username.Not AvailablePage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSort by:Store, share and tag your favourite linksTagsThe requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUsernameUsername was not specifiedXML error: %s at line %dYesYou are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have now logged outYou must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbyformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-11-10 16:58+0100 PO-Revision-Date: 2006-03-26 14:29-0800 Last-Translator: Marcus Campbell Language-Team: fr-FR MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: French X-Poedit-Country: FRANCE Plural-Forms: nplurals=2; plural=(n != 1); %1$s supporte la plupart de l'del.icio.us API.Informations du compte de %sSignets de %s%s est basé sur un projet open-source, sous la license GNU General Public License. Vous pouvez donc héberger Scuttle sur votre propre serveur gratuitement, qu'il soit relié à Internet, dans un réseau privé ou juste sur votre ordinateur personnel.%s: Signets récentsE-mailGardez tous vos signets au même endroit, accessible partout. Taggez vos signets avec autant de labels que vous le souhaitez au lieu de les hierarchiser avec des dossiers.À proposDétail du compteAjouter signetAjouter un signetAjouter à la liste des consultésAdresseL'adresse n'a pas été trouvée.Tous les labelsUne erreur critique s'est produite.Une erreur s'est produite.Une erreur s'est produite pendant l'enregistrement de vos modifications.Etes-vous sûr ?DisponibleSignet enregistré.BookmarkletCliquez sur Parcourir... pour trouver le fichier sur votre ordinateur. La taille maximale du fichier ne peut excèder 1MoCliquez sur Parcourir... pour trouver le fichier sur votre ordinateur. La taille maximale du fichier ne peut excèder 1MoCliquez sur Importer pour débuter l'import des signets; cette opération peut prendre quelques minutesSéparés par des virgulesCopierImpossible d'ouvrir le flux XML.Erreur critique.Information critique.Mode de débogage.DateSupprimerSupprimer le signetDescriptionNe pas me demander le mot de passe pendant 2 semainesDéplacez l'un des 'bookmarklet' suivants dans les marques-pages de votre navigateur et cliquez dessus chaque fois que vous souhaitez ajouter un signet pour la page courante dans %s E-mailAdresse de courrier électronique invalide.Adresse de courrier électronique invalide. Veuilez réessayer.EditerEditer le signetErreur pendant l'enregistrement de votre signet.Exporter vos signets dans un fichier depuis votre navigateurFichierPremièreMot de passe oubliéAvez-vous oublié votre mot de passe ?(Geek Stuff)Erreur générale.Erreur généralisée du serveur.HistoriqueHistorique de %sPage personnelleSi vous avez oublié votre mot de passe, %s peut en générer un nouveau. Entrez le nom d'utilisateur et l'adresse email de votre compte dans le formulaire ci-dessous et nous vous enverrons un nouveau mot de passe.ImporterImporter les signet depuis del.icio.usImporter les signets depuis un fichierImporter les signets depuis del.icio.usInstructionsInternet Explorer, Mozilla Firefox et NetscapeInternet Explorer: Ficher > Importer et Exporter... > Exporter les favorisDernièreLigneSe connecterQuitterSe connecter à la page d'export de del.icio.usMembre depuisMozilla Firefox: Marques-pages > Gérer les marques-pages... > Fichier > Exporter...Mon ProfilNomNetscape: Marques-pages > Gérer les marques-pages... > Outils > Exporter...Nouveau mot de passeNouveau mot de passe généré et envoyé à l'adresse %sSuivantNonPas de signets disponibles.Pas de signets trouvésRien de trouvé pour ce nom d'utilisateur.Non DisponiblePage %d de %dMot de passeLe mot de passe et sa vérification ne correspondent pas.Le mot de passe doit avoir au moins 6 caractères.Détails personnelsLabels populairesAjouter à %sAjouter à %s (Pop-up)PrécédentVisionPrivéeProfilPubliqueSignets récentsS'enregistrerEnregistrement raté. Veuillez rééssayer.Labels en relationEnlever de la liste des consultésRequisErreur SQLEnregister les modificationsEnregistrer le fichier XML résultant sur votre ordinateurChercherRecherche de signetsRésulats de rechercheSelectionnez la vision par défaut à appliquer à vos signets importésPartagé avec liste d'accèsClasser par :Conservez, partagez et taggez vos liens favorisLabelsL'URL demandée n'a pas été trouvée.L'URL demandée n'a pas été trouvée sur ce serveur.Il y a eu une erreur en enregistrant ce signet. Veuillez rééssayer ou contacter votre administrateur.Il y a eu une erreur en enregistrant ce signet. Veuillez rééssayer ou contacter votre administrateur.Ce nom d'utilisateur existe déjà, veuillez en choisir un autre.TitrePour garder vos signets sûrs, vous devriez changer ce mot de passe dans votre profil lors de votre prochaine authentification.URLUtilisateur ajouté à la liste des consultés.Utilisateur enlevé de votre liste des consultésL'utilisateur %s n'a pas été trouvé.Nom d'utilisateurLe nom d'utilisateur n'a pas été spécifié.Erreur XML: %s à la ligne %dOuiVous ne pouvez pas supprimer ce signet.Vous n'êtes pas autorisé à éditer ce signet.Vous êtes maintenant déconnecté.Vous devez être authentifié avant de pouvoir ajouter des signets.Vous devez saisir une E-mail.Vous devez entrer votre nom d'utilisateur.Votre signet doit avoir un titre et une adresse.Votre nouveau mot de passe est:tous les signetsparpourmessage_die() was called multiple times. ?mes signetsma liste des consultésles signets de cet utilisateurscuttle-0.7.4/locales/fr_FR/LC_MESSAGES/messages.po000066400000000000000000000631511103742314700215710ustar00rootroot00000000000000# Scuttle fr-FR Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # # nitram # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-11-10 16:58+0100\n" "PO-Revision-Date: 2006-03-26 14:29-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: fr-FR \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: French\n" "X-Poedit-Country: FRANCE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "À propos" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "Vous ne pouvez pas supprimer ce signet." #: ..\..\..\ajaxDelete.php:33 #, fuzzy msgid "Failed to delete bookmark" msgstr "Erreur de suppression du signet" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Tous les labels" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "L'utilisateur %s n'a pas été trouvé." #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "L'utilisateur %s n'a pas été trouvé." #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Votre signet doit avoir un titre et une adresse." #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Signet enregistré." #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Il y a eu une erreur en enregistrant ce signet. Veuillez rééssayer ou contacter votre administrateur." #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Ajouter un signet" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Ajouter signet" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Vous devez être authentifié avant de pouvoir ajouter des signets." #: ..\..\..\bookmarks.php:213 #, fuzzy msgid "My Bookmarks" msgstr "Mes signets" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Editer le signet" #: ..\..\..\edit.php:34 #, fuzzy, php-format msgid "Bookmark with id %s not was not found" msgstr "Signet non trouvé" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Vous n'êtes pas autorisé à éditer ce signet." #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Erreur pendant l'enregistrement de votre signet." #: ..\..\..\edit.php:78 #, fuzzy msgid "Failed to delete the bookmark" msgstr "Vous ne pouvez pas supprimer ce signet." #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Enregister les modifications" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() was called multiple times. ?" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "Erreur SQL" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Ligne" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Fichier" #: ..\..\..\functions.inc.php:116 #, fuzzy msgid "Information" msgstr "Instructions" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Information critique." #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "Une erreur s'est produite." #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "Erreur générale." #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "Une erreur critique s'est produite." #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Erreur critique." #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "Mode de débogage." #: ..\..\..\history.php:65 msgid "History" msgstr "Historique" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "Historique de %s" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "L'adresse n'a pas été trouvée." #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "Impossible d'ouvrir le flux XML." #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "Erreur XML: %s à la ligne %d" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importer les signet depuis del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 #, fuzzy msgid "You have already submitted this bookmark." msgstr "Vous avez déjà enregistré ce signet" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 #, fuzzy msgid "Bookmark imported." msgstr "Signets importés." #: ..\..\..\importNetscape.php:81 #, fuzzy msgid "Import Bookmarks from Browser File" msgstr "Importer les signets depuis un fichier" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Vous êtes maintenant déconnecté." #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Signets récents" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "Conservez, partagez et taggez vos liens favoris" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Signets récents" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "Etes-vous sûr ?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "Oui" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "Non" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "Disponible" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "Non Disponible" #: ..\..\..\login.php:38 #, fuzzy msgid "The details you have entered are incorrect. Please try again." msgstr "Les informations que vous avez entrées sont incorrectes. Veuillez recommencer." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Se connecter" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Vous devez entrer votre nom d'utilisateur." #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "Vous devez saisir une E-mail." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "Rien de trouvé pour ce nom d'utilisateur." #: ..\..\..\password.php:45 #, fuzzy msgid "No matches found for that combination of username and e-mail address." msgstr "Nous n'avons rien trouvé pour cette combinaison de nom d'utilisateur et d'e-mail." #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "Il y a eu une erreur en enregistrant ce signet. Veuillez rééssayer ou contacter votre administrateur." #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "Votre nouveau mot de passe est:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "Pour garder vos signets sûrs, vous devriez changer ce mot de passe dans votre profil lors de votre prochaine authentification." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "Informations du compte de %s" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Nouveau mot de passe généré et envoyé à l'adresse %s" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "Mot de passe oublié" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Labels populaires" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Le nom d'utilisateur n'a pas été spécifié." #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "Mon Profil" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profil" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "Le mot de passe et sa vérification ne correspondent pas." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "Le mot de passe doit avoir au moins 6 caractères." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "Adresse de courrier électronique invalide." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "Une erreur s'est produite pendant l'enregistrement de vos modifications." #: ..\..\..\profile.php:94 #, fuzzy msgid "Changes saved." msgstr "Modifications enregistrées." #: ..\..\..\register.php:33 #, fuzzy msgid "You must enter a username, password and e-mail address." msgstr "Vous devez saisir un nom d'utilisateur, un mot de passe, un nom et un E-mail" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Ce nom d'utilisateur existe déjà, veuillez en choisir un autre." #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "Adresse de courrier électronique invalide. Veuilez réessayer." #: ..\..\..\register.php:50 #, fuzzy msgid "You have successfully registered. Enjoy!" msgstr "Votre inscription a bien été prise en compte !" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Enregistrement raté. Veuillez rééssayer." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "S'enregistrer" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Chercher" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "les signets de cet utilisateur" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "mes signets" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "ma liste des consultés" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "tous les signets" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "pour" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Recherche de signets" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "Résulats de recherche" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Labels" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "Signets de %s" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Utilisateur enlevé de votre liste des consultés" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Utilisateur ajouté à la liste des consultés." #: ..\..\..\watched.php:105 #, fuzzy msgid "My Watchlist" msgstr "Liste des signets vus" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "Liste des signets vus" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Gardez tous vos signets au même endroit, accessible partout. " #: ..\..\..\templates\about.tpl.php:7 #, fuzzy msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Partagez vos signets avec tout le monde, les utilisateurs autorisés ou uniquement pour vous." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Taggez vos signets avec autant de labels que vous le souhaitez au lieu de les hierarchiser avec des dossiers." #: ..\..\..\templates\about.tpl.php:9 #, fuzzy, php-format msgid "Register now to start using %s!" msgstr "Enregistrez-vous maintenant pour poster vos propres signets !" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "(Geek Stuff)" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s est basé sur un projet open-source, sous la license GNU General Public License. Vous pouvez donc héberger Scuttle sur votre propre serveur gratuitement, qu'il soit relié à Internet, dans un réseau privé ou juste sur votre ordinateur personnel." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s supporte la plupart de l'del.icio.us API." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Classer par :" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Date" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Titre" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Editer" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Supprimer" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "par" #: ..\..\..\templates\bookmarks.tpl.php:78 #, fuzzy, php-format msgid " and %s1 other%s" msgstr " et les autres %s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, fuzzy, php-format msgid " and %2$s%1$s others%3$s" msgstr " et les autres %s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Copier" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "Première" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Précédent" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Suivant" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "Dernière" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Page %d de %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Pas de signets disponibles." #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 #, fuzzy msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "Signet" msgstr[1] "Signets" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Adresse" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Requis" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Description" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Séparés par des virgules" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Vision" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Publique" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Partagé avec liste d'accès" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Privée" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Supprimer le signet" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bookmarklet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Déplacez l'un des 'bookmarklet' suivants dans les marques-pages de votre navigateur et cliquez dessus chaque fois que vous souhaitez ajouter un signet pour la page courante dans %s " #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Ajouter à %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Ajouter à %s (Pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importer" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importer les signets depuis un fichier" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox et Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importer les signets depuis del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "Détail du compte" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Nom d'utilisateur" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Nouveau mot de passe" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "Confirmer le nouveau mot de passe" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "Détails personnels" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Nom" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Page personnelle" #: ..\..\..\templates\error.404.tpl.php:5 #, fuzzy msgid "Not Found" msgstr "Utilisateur inconnu" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "L'URL demandée n'a pas été trouvée sur ce serveur." #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Erreur généralisée du serveur." #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "L'URL demandée n'a pas été trouvée." #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Se connecter à la page d'export de del.icio.us" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Enregistrer le fichier XML résultant sur votre ordinateur" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Cliquez sur Parcourir... pour trouver le fichier sur votre ordinateur. La taille maximale du fichier ne peut excèder 1Mo" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Selectionnez la vision par défaut à appliquer à vos signets importés" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Cliquez sur Importer pour débuter l'import des signets; cette opération peut prendre quelques minutes" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Instructions" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Exporter vos signets dans un fichier depuis votre navigateur" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: Ficher > Importer et Exporter... > Exporter les favoris" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Marques-pages > Gérer les marques-pages... > Fichier > Exporter..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Marques-pages > Gérer les marques-pages... > Outils > Exporter..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Cliquez sur Parcourir... pour trouver le fichier sur votre ordinateur. La taille maximale du fichier ne peut excèder 1Mo" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Mot de passe" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Ne pas me demander le mot de passe pendant 2 semaines" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "Avez-vous oublié votre mot de passe ?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Si vous avez oublié votre mot de passe, %s peut en générer un nouveau. Entrez le nom d'utilisateur et l'adresse email de votre compte dans le formulaire ci-dessous et nous vous enverrons un nouveau mot de passe." #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 #, fuzzy msgid "Generate Password" msgstr "Nouveau mot de passe" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Membre depuis" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 #, fuzzy msgid "Watching" msgstr "Liste des signets vus" #: ..\..\..\templates\profile.tpl.php:50 #, fuzzy msgid "Watched By" msgstr "Consultés" #: ..\..\..\templates\register.tpl.php:11 #, fuzzy, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Enregistrez-vous ici pour vous créer un compte Scuttle gratuit. Toutes les inforamtions demandées ci-dessous sont nécessaires." #: ..\..\..\templates\rss.tpl.php:9 #, fuzzy, php-format msgid "Recent bookmarks posted to %s" msgstr "Signets ajoutés à Scuttle récement" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Pas de signets trouvés" #: ..\..\..\templates\sidebar.block.recent.php:15 #, fuzzy msgid "Recent Tags" msgstr "Labels en relation" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Labels en relation" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Enlever de la liste des consultés" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Ajouter à la liste des consultés" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "Instructions" #: ..\..\..\templates\tags.tpl.php:8 #, fuzzy msgid "Alphabet" msgstr "Alphabet" #: ..\..\..\templates\tags.tpl.php:9 #, fuzzy msgid "Popularity" msgstr "Labels populaires" #: ..\..\..\templates\toolbar.inc.php:11 #, fuzzy msgid "Bookmarks" msgstr "Signets de %s" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Quitter" scuttle-0.7.4/locales/hi_IN/000077500000000000000000000000001103742314700156175ustar00rootroot00000000000000scuttle-0.7.4/locales/hi_IN/LC_MESSAGES/000077500000000000000000000000001103742314700174045ustar00rootroot00000000000000scuttle-0.7.4/locales/hi_IN/LC_MESSAGES/messages.mo000066400000000000000000000604711103742314700215600ustar00rootroot00000000000000t `azq p!+KnWgNT dq,  '1D%S y tfNz &+2 B%Nt.J O ]1~  *8M_gv6"=!`#!  /L^choWw Q . ; FSKX %j #t   ', - : EPdmu} &  # -\:>Yn)w=(. W< H 9 !h!!! !'!!! ""("A"@E"+")")"#(#3G#H{##.#$ '$5$H$K$(O$ x$ $$$$c&&>&,).*A*9/-Pi--'X./j01)151<2?=2 }2#22 232#3$3!33639/4oi454+5@;5`|5$68:89L.9"{9%99995:7:oG:: C<5P<Z<<5<i*==L<>L>>>">A?2[?(?8?2?#@6@S@l@ ,Bs9BOB}BO{CCCCD\ElEEEE"0FSF87G(pG/G GGHcH I IL-IFzIIltJJK&KBKlXKmK13L"eLL&L9LMM 1M>MZM>vMMkM>NbTN"N<NO+*O+VOO(P>;PzPP@9QzQ.OR~R S SpS`#TTUKVVAV1XiDXsXW"Y"zYRY)YZV:Z ZZX[k[sD\+\f\K]c]p>^^6L_5_N_``P,`8}`/`R`}tqQuFyC/ gG9VE2xeI{M0]8+W* (Xis)[ROL"Ajl:@wU>. =B'1n7Drc%aY`# K_\Jh!?pom|b3TS4k-&NvzP^~;$5Zd6,f<H and %2$s%1$s others%3$s and %s1 other%s%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletBookmarksChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy ProfileMy WatchlistNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not AvailableNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUsernameUsername was not specifiedWatched ByWatchingXML error: %s at line %dYesYou must enter a username, password and e-mail address.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbookmarkbookmarksbyformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-04-16 21:56-0800 Last-Translator: Marcus Campbell Language-Team: hi-IN Debashish Chakrabarty MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Hindi X-Poedit-Country: India Plural-Forms: nplurals=2; plural=(n != 1); तथा %2$s%1$s अन्य%3$s तथा %s1 अन्य%s%1$s में प्रायः सभी del.icio.us एपीआई का समर्थन मिलता है. उस तंत्र के लिए बनाए गए प्रायः सभी औजारों को %1$s के लिए कार्य करने लायक परिवर्धित किया जा सकता है. यदि आपको कोई औजार ऐसा मिलता है जो आपको एपीआई पता बदलने नहीं देता है तो उसके सृजक को इस विन्यास को जोड़ने के लिए कहें. कौन जाने वे ऐसा भी कर लें.%s खाते की जानकारी%s पृष्ठ-स्मृतियाँ%s एक मुक्त स्रोत परियोजना पर आधारित है तथा इसेग्नू जनरल पब्लिक लाइसेंस के तहत जारी किया गया है. इसका अर्थ है कि आप इसे अपने स्वयं के वेब सर्वर पर चाहे इंटरनेट पर हो या निजी नेटवर्क पर या आपके व्यक्तिगत कम्प्यूटर पर, होस्ट कर सकते हैं.%s: हालिया पृष्ठ-स्मृतिईमेलतुरंत पंजीकृत हों %s का इस्तेमाल करने के लिए!अपने पृष्ठ-स्मृति कड़ियों को सबके साथ, अपने निगरानी सूची के मित्रों के साथ साझा करें या निजी इस्तेमाल करेंअपनी पसंद की कड़ियों को कहीं से भी पहुँच योग्य बनाने के लिए एक ही स्थल परसंचितकरें.अपनी पृष्ठ-स्मृति कड़ियों को किसी फोल्डर में ठूंसने के बजाए चाहे जितने लेबलों के साथटैग कर सकते हैं.के बारे मेंखाते की जानकारीपृष्ठ-स्मृति जोड़ेंएक पृष्ठ-स्मृति जोड़ेंनिगरानी सूची में जोड़ेंपतापता नहीं मिलासभी टैगवर्णएक गंभीर त्रुटि हुईएक त्रुटि हुईआपके द्वारा किए गए परिवर्तनों को सहेजने के दौरान त्रुटि हुई.पक्की बात ना?उपलब्धपृष्ठ-स्मृति आयातित.पृष्ठ-स्मृति सहेजी गईपहचान चिह्न %s युक्त पृष्ठ-स्मृति नहीं मिलापृष्ठ-स्मृति चिह्नकपृष्ठ-स्मृतियाँपरिवर्तनों को सहेजा गया.अपने कम्प्यूटर में सहेजे गए पृष्ठ-स्मृति फ़ाइलों को ढूंढने के लिए ब्राउज़... पर क्लिक करें. फ़ाइल का अधिकतम आकार 1मे.बा. तक हो सकता है.इस फ़ाइल को अपने कम्प्यूटर पर ढूंढने के लिए ब्राउज़... पर क्लिक करें. फ़ाइल का अधिकतम आकार 1 मे.बा. तक हो सकता हैपृष्ठ-स्मृति आयात चालू करने के लिए आयात पर क्लिक करें, इसमें कुछ समय लग सकता हैअल्पविराम से अलग की गईनक़ल करेंएक्सएमएल इनपुट खोल नहीं सकतागंभीर त्रुटिजरूरी जानकारीडिबग मोडतारीख़मिटाएँपृष्ठ-स्मृति मिटाएँवर्णनकूटशब्द के लिए मुझसे 2 सप्ताह तक नहीं पूछेंनिम्न पृष्ठ-स्मृति चिह्नकों में से किसी एक को अपने ब्राउज़र के पृष्ठ-स्मृति में खींच लाएँ व जब भी आप %s पर हों व कोई पृष्ठ जोड़ना चाहेँ तो उस पर क्लिक करेंईमेलईमेल पता वैध नहीं है.ईमेल पता वैध नहीं है.संपादनपृष्ठ-स्मृति संपादनपृष्ठ-स्मृति सहेजने के दौरान त्रुटि हुईअपने ब्राउज़र से अपने पृष्ठ-स्मृति को एक फ़ाइल में निर्यात करेंपृष्ठ-स्मृति मिटाने में असफलपृष्ठ-स्मृति मिटाने में असफलफ़ाइलप्रथमभूला कूटशब्दअपना कूटशब्द भूल गये हैं?विद्वानों का खजानासामान्य त्रुटिसामान्य सर्वर त्रुटिनया कूटशब्द बनायेंइतिहास%s का इतिहासगृहपृष्ठअगर आप अपना कूटशब्द भूल गये हों तो %s आपके एक नया कूटशब्द बना सकता है। खाते से संबद्ध अपना उपयोक्ता नाम और ईमेल पता नीचे प्रविष्ट करें और हम आपको एक नया कूटशब्द ईमेल कर देंगे.आयातब्राउज़र फ़ाइल से पृष्ठ-स्मृति को आयात करेंdel.icio.us से पृष्ठ-स्मृति आयात करेंपृष्ठ-स्मृति को पृष्ठ-स्मृति फ़ाइल से आयात करेंdel.icio.us से पृष्ठ-स्मृति आयात करेंजानकारीनिर्देशइंटरनेट एक्सप्लोरर, मॉज़िल्ला फ़ॉयरफ़ॉक्स तथा नेटस्केपइंटरनेट एक्सप्लोरर: फ़ाइल > आयात व निर्यात... > पृष्ठ-स्मृतियाँ निर्यात करेंअंतिमपंक्तिलॉग इनलॉग आउटdel.icio.us के निर्यात पृष्ठ पर लॉगइन करेंसदस्यता अवधिमॉज़िल्ला फ़ॉयरफ़ॉक्स: पृष्ठ-स्मृतियाँ > पृष्ठ-स्मृति प्रबंधन... > फ़ाइल > निर्यात...मेरी पृष्ठ-स्मृतियाँमेरा प्रोफ़ाइलमेरी निगरानी सूचीनामनेटस्केप: पृष्ठ-स्मृतियाँ > पृष्ठ-स्मृति प्रबंधन... > औजार > निर्यात...नया कूटशब्दनया कूटशब्द बना कर %s को भेज दिया गया है.अगलानहींकोई पृष्ठ-स्मृति उपलब्ध नहींकोई पृष्ठ-स्मृति नहीं मिलीइस उपयोक्ता तथा ईमेल पते से मेल खाता कोई जोड़ नहीं मिला.इस से मेल खाता कोई उपयोक्ता नाम नहीं मिला.उपलब्ध नहींनहीं मिला%d में से पृष्ठ %dकूटशब्दकूटशब्द तथा उसका पुष्टिकरण मेल नहीं खातेकूटशब्द को कम से कम 6 अक्षर लंबा होना चाहिएव्यक्तिगत जानकारीलोकप्रिय टैगलोकप्रियता%s को पोस्ट करें%s को पोस्ट करें (पॉप-अप)पिछलागोपनीयतानिजीप्रोफ़ाइलसार्वजनिकहालिया पृष्ठ-स्मृतियाँहालिया टैग%s को पोस्ट की गईं हालिया पृष्ठ-स्मृतियाँ पंजीकरणपंजीकरण असफल. कृपया फिर से कोशिश करें.सम्बंधित टैगनिगरानी सूची से मिटाएँआवश्यकएसक्यूएल त्रुटिपरिवर्तन सहेजेंपरिणाम एक्सएमएल को अपने कम्प्यूटर पर सहेजेंढूंढेंपृष्ठ-स्मृतियाँ ढूंढेंखोज परिणामआपके आयातित पृष्ठ-स्मृति के डिफ़ॉल्ट गोपनीयता विन्यास चुनेंनिगरानी सूची के साथ साझामुफ़्त %s खाता बनाने के लिए यहाँ साइन करें. नीचे निवेदित सभी जानकारियाँ आवश्यक हैंइस आधार पर छांटें:अपनी मनपसंद पृष्ठ-स्मृतियाँ सहेजें, साझा करें और टैग करेंटैगआपने जो विवरण भरे हैं वे गलत हैं. कृपया पुनः प्रयास करें.निवेदित यूआरएल को प्रोसेस नहीं किया जा सकाइस सर्वर पर निवेदित यूआरएल नहीं मिलाआपकी पृष्ठ-स्मृति को सहेजने के दौरान एक त्रुटि हुई. कृपया फिर से कोशिश करें या प्रशासक से सम्पर्क साधें.आपका नया कूटशब्द बनाने समय कोई त्रुटि हुई है। कृपया पुनः प्रयास करें।यह उपयोक्ता नाम पहले ही मौजूद है, कृपया कोई दूसरा चुनें.शीर्षकअपनी पृष्ठ-स्मृतियाँ सुरक्षित रखने के लिये, जब आप अगली बार लॉगिन करें तो अपने प्रोफाईल में जाकर अपना कूटशब्द अवश्य बदल लें.यूआरएलउपयोक्ता को आपकी निगरानी सूची में जोड़ाआपकी निगरानी सूची से उपयोक्ता को मिटाया गया%s नाम का कोई भी उपयोक्ता नहीं मिलाउपयोक्ता नामउपयोक्ता नाम निर्दिष्ट नहीं हैद्वारा देखा गयानिगरानी मेंएक्सएमएल त्रुटि: %s में पंक्ति %d परहाँआपको उपयोक्ता नाम, कूटशब्द तथा ईमेल पता भरना आवश्यक हैआपको इस पृष्ठ-स्मृति को मिटाने की अनुमति नहीं है.आप इस पृष्ठ-स्मृति को संपादित नही कर सकतेआप इस पृष्ठ-स्मृति को पहले ही पेश कर चुके हैंअब आप लॉग आउट हैंआप सफलता पूर्वक पंजीकृत हो गए हैं. बधाई!पृष्ठ-स्मृति जोड़ने से पहले आपका लॉगइन होना आवश्यक है.ईमेल पता भरना आवश्यक है.आपका उपयोक्ता नाम प्रविष्ट करना ज़रूरी है.आपकी पृष्ठ-स्मृति के लिए एक शीर्षक तथा एक पता होना आवश्यक हैआपका नया कूटशब्द हैःसभी पृष्ठ-स्मृतियाँपृष्ठ-स्मृतिपृष्ठ-स्मृतियाँद्वाराके लिएmessage_die() को कई मर्तबा काल किया गया.मेरी पृष्ठ-स्मृतियाँमेरी निगरानी सूचीइस उपयोक्ता की पृष्ठ-स्मृतियाँscuttle-0.7.4/locales/hi_IN/LC_MESSAGES/messages.po000066400000000000000000001032661103742314700215630ustar00rootroot00000000000000# Scuttle hi-IN Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Debashish Chakrabarty # Ravishankar Shrivastava # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-04-16 21:56-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: hi-IN Debashish Chakrabarty \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Hindi\n" "X-Poedit-Country: India\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "के बारे में" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "आपको इस पृष्ठ-स्मृति को मिटाने की अनुमति नहीं है." #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "पृष्ठ-स्मृति मिटाने में असफल" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "सभी टैग" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "%s नाम का कोई भी उपयोक्ता नहीं मिला" #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "%s नाम का कोई भी उपयोक्ता नहीं मिला" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "आपकी पृष्ठ-स्मृति के लिए एक शीर्षक तथा एक पता होना आवश्यक है" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "पृष्ठ-स्मृति सहेजी गई" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "आपकी पृष्ठ-स्मृति को सहेजने के दौरान एक त्रुटि हुई. कृपया फिर से कोशिश करें या प्रशासक से सम्पर्क साधें." #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "एक पृष्ठ-स्मृति जोड़ें" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "पृष्ठ-स्मृति जोड़ें" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "पृष्ठ-स्मृति जोड़ने से पहले आपका लॉगइन होना आवश्यक है." #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "मेरी पृष्ठ-स्मृतियाँ" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "पृष्ठ-स्मृति संपादन" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "पहचान चिह्न %s युक्त पृष्ठ-स्मृति नहीं मिला" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "आप इस पृष्ठ-स्मृति को संपादित नही कर सकते" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "पृष्ठ-स्मृति सहेजने के दौरान त्रुटि हुई" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "पृष्ठ-स्मृति मिटाने में असफल" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "परिवर्तन सहेजें" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() को कई मर्तबा काल किया गया." #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "एसक्यूएल त्रुटि" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "पंक्ति" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "फ़ाइल" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "जानकारी" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "जरूरी जानकारी" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "एक त्रुटि हुई" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "सामान्य त्रुटि" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "एक गंभीर त्रुटि हुई" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "गंभीर त्रुटि" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "डिबग मोड" #: ..\..\..\history.php:65 msgid "History" msgstr "इतिहास" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "%s का इतिहास" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "पता नहीं मिला" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "एक्सएमएल इनपुट खोल नहीं सकता" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "एक्सएमएल त्रुटि: %s में पंक्ति %d पर" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "del.icio.us से पृष्ठ-स्मृति आयात करें" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "आप इस पृष्ठ-स्मृति को पहले ही पेश कर चुके हैं" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "पृष्ठ-स्मृति आयातित." #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "ब्राउज़र फ़ाइल से पृष्ठ-स्मृति को आयात करें" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "अब आप लॉग आउट हैं" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: हालिया पृष्ठ-स्मृति" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "अपनी मनपसंद पृष्ठ-स्मृतियाँ सहेजें, साझा करें और टैग करें" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "हालिया पृष्ठ-स्मृतियाँ" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "पक्की बात ना?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "हाँ" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "नहीं" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "उपलब्ध" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "उपलब्ध नहीं" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "आपने जो विवरण भरे हैं वे गलत हैं. कृपया पुनः प्रयास करें." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "लॉग इन" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "आपका उपयोक्ता नाम प्रविष्ट करना ज़रूरी है." #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "ईमेल पता भरना आवश्यक है." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "इस से मेल खाता कोई उपयोक्ता नाम नहीं मिला." #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "इस उपयोक्ता तथा ईमेल पते से मेल खाता कोई जोड़ नहीं मिला." #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "आपका नया कूटशब्द बनाने समय कोई त्रुटि हुई है। कृपया पुनः प्रयास करें।" #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "आपका नया कूटशब्द हैः" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "अपनी पृष्ठ-स्मृतियाँ सुरक्षित रखने के लिये, जब आप अगली बार लॉगिन करें तो अपने प्रोफाईल में जाकर अपना कूटशब्द अवश्य बदल लें." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "%s खाते की जानकारी" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "नया कूटशब्द बना कर %s को भेज दिया गया है." #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "भूला कूटशब्द" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "लोकप्रिय टैग" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "उपयोक्ता नाम निर्दिष्ट नहीं है" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "मेरा प्रोफ़ाइल" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "प्रोफ़ाइल" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "कूटशब्द तथा उसका पुष्टिकरण मेल नहीं खाते" #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "कूटशब्द को कम से कम 6 अक्षर लंबा होना चाहिए" #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "ईमेल पता वैध नहीं है." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "आपके द्वारा किए गए परिवर्तनों को सहेजने के दौरान त्रुटि हुई." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "परिवर्तनों को सहेजा गया." #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "आपको उपयोक्ता नाम, कूटशब्द तथा ईमेल पता भरना आवश्यक है" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "यह उपयोक्ता नाम पहले ही मौजूद है, कृपया कोई दूसरा चुनें." #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "ईमेल पता वैध नहीं है." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "आप सफलता पूर्वक पंजीकृत हो गए हैं. बधाई!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "पंजीकरण असफल. कृपया फिर से कोशिश करें." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "पंजीकरण" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "ढूंढें" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "इस उपयोक्ता की पृष्ठ-स्मृतियाँ" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "मेरी पृष्ठ-स्मृतियाँ" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "मेरी निगरानी सूची" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "सभी पृष्ठ-स्मृतियाँ" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "के लिए" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "पृष्ठ-स्मृतियाँ ढूंढें" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "खोज परिणाम" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "टैग" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s पृष्ठ-स्मृतियाँ" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "आपकी निगरानी सूची से उपयोक्ता को मिटाया गया" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "उपयोक्ता को आपकी निगरानी सूची में जोड़ा" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "मेरी निगरानी सूची" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "निगरानी सूची" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "अपनी पसंद की कड़ियों को कहीं से भी पहुँच योग्य बनाने के लिए एक ही स्थल परसंचितकरें." #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "अपने पृष्ठ-स्मृति कड़ियों को सबके साथ, अपने निगरानी सूची के मित्रों के साथ साझा करें या निजी इस्तेमाल करें" #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "अपनी पृष्ठ-स्मृति कड़ियों को किसी फोल्डर में ठूंसने के बजाए चाहे जितने लेबलों के साथटैग कर सकते हैं." #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "तुरंत पंजीकृत हों %s का इस्तेमाल करने के लिए!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "विद्वानों का खजाना" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s एक मुक्त स्रोत परियोजना पर आधारित है तथा इसेग्नू जनरल पब्लिक लाइसेंस के तहत जारी किया गया है. इसका अर्थ है कि आप इसे अपने स्वयं के वेब सर्वर पर चाहे इंटरनेट पर हो या निजी नेटवर्क पर या आपके व्यक्तिगत कम्प्यूटर पर, होस्ट कर सकते हैं." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s में प्रायः सभी del.icio.us एपीआई का समर्थन मिलता है. उस तंत्र के लिए बनाए गए प्रायः सभी औजारों को %1$s के लिए कार्य करने लायक परिवर्धित किया जा सकता है. यदि आपको कोई औजार ऐसा मिलता है जो आपको एपीआई पता बदलने नहीं देता है तो उसके सृजक को इस विन्यास को जोड़ने के लिए कहें. कौन जाने वे ऐसा भी कर लें." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "इस आधार पर छांटें:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "तारीख़" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "शीर्षक" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "यूआरएल" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "संपादन" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "मिटाएँ" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "द्वारा" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr " तथा %s1 अन्य%s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr " तथा %2$s%1$s अन्य%3$s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "नक़ल करें" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "प्रथम" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "पिछला" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "अगला" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "अंतिम" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "%d में से पृष्ठ %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "कोई पृष्ठ-स्मृति उपलब्ध नहीं" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "पृष्ठ-स्मृति" msgstr[1] "पृष्ठ-स्मृतियाँ" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "पता" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "आवश्यक" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "वर्णन" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "अल्पविराम से अलग की गई" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "गोपनीयता" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "सार्वजनिक" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "निगरानी सूची के साथ साझा" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "निजी" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "पृष्ठ-स्मृति मिटाएँ" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "पृष्ठ-स्मृति चिह्नक" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "निम्न पृष्ठ-स्मृति चिह्नकों में से किसी एक को अपने ब्राउज़र के पृष्ठ-स्मृति में खींच लाएँ व जब भी आप %s पर हों व कोई पृष्ठ जोड़ना चाहेँ तो उस पर क्लिक करें" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "%s को पोस्ट करें" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "%s को पोस्ट करें (पॉप-अप)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "आयात" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "पृष्ठ-स्मृति को पृष्ठ-स्मृति फ़ाइल से आयात करें" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "इंटरनेट एक्सप्लोरर, मॉज़िल्ला फ़ॉयरफ़ॉक्स तथा नेटस्केप" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "del.icio.us से पृष्ठ-स्मृति आयात करें" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "खाते की जानकारी" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "उपयोक्ता नाम" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "नया कूटशब्द" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "नया कूटशब्द सत्यापित करें" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "ईमेल" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "व्यक्तिगत जानकारी" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "नाम" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "गृहपृष्ठ" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "नहीं मिला" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "इस सर्वर पर निवेदित यूआरएल नहीं मिला" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "सामान्य सर्वर त्रुटि" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "निवेदित यूआरएल को प्रोसेस नहीं किया जा सका" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "del.icio.us के निर्यात पृष्ठ पर लॉगइन करें" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "परिणाम एक्सएमएल को अपने कम्प्यूटर पर सहेजें" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "इस फ़ाइल को अपने कम्प्यूटर पर ढूंढने के लिए ब्राउज़... पर क्लिक करें. फ़ाइल का अधिकतम आकार 1 मे.बा. तक हो सकता है" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "आपके आयातित पृष्ठ-स्मृति के डिफ़ॉल्ट गोपनीयता विन्यास चुनें" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "पृष्ठ-स्मृति आयात चालू करने के लिए आयात पर क्लिक करें, इसमें कुछ समय लग सकता है" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "निर्देश" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "अपने ब्राउज़र से अपने पृष्ठ-स्मृति को एक फ़ाइल में निर्यात करें" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "इंटरनेट एक्सप्लोरर: फ़ाइल > आयात व निर्यात... > पृष्ठ-स्मृतियाँ निर्यात करें" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "मॉज़िल्ला फ़ॉयरफ़ॉक्स: पृष्ठ-स्मृतियाँ > पृष्ठ-स्मृति प्रबंधन... > फ़ाइल > निर्यात..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "नेटस्केप: पृष्ठ-स्मृतियाँ > पृष्ठ-स्मृति प्रबंधन... > औजार > निर्यात..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "अपने कम्प्यूटर में सहेजे गए पृष्ठ-स्मृति फ़ाइलों को ढूंढने के लिए ब्राउज़... पर क्लिक करें. फ़ाइल का अधिकतम आकार 1मे.बा. तक हो सकता है." #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "कूटशब्द" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "कूटशब्द के लिए मुझसे 2 सप्ताह तक नहीं पूछें" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "अपना कूटशब्द भूल गये हैं?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "अगर आप अपना कूटशब्द भूल गये हों तो %s आपके एक नया कूटशब्द बना सकता है। खाते से संबद्ध अपना उपयोक्ता नाम और ईमेल पता नीचे प्रविष्ट करें और हम आपको एक नया कूटशब्द ईमेल कर देंगे." #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "ईमेल" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "नया कूटशब्द बनायें" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "सदस्यता अवधि" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "निगरानी में" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "द्वारा देखा गया" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "मुफ़्त %s खाता बनाने के लिए यहाँ साइन करें. नीचे निवेदित सभी जानकारियाँ आवश्यक हैं" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "%s को पोस्ट की गईं हालिया पृष्ठ-स्मृतियाँ " #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "कोई पृष्ठ-स्मृति नहीं मिली" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "हालिया टैग" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "सम्बंधित टैग" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "निगरानी सूची से मिटाएँ" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "निगरानी सूची में जोड़ें" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "निर्देश" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "वर्ण" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "लोकप्रियता" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "पृष्ठ-स्मृतियाँ" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "लॉग आउट" scuttle-0.7.4/locales/it_IT/000077500000000000000000000000001103742314700156415ustar00rootroot00000000000000scuttle-0.7.4/locales/it_IT/LC_MESSAGES/000077500000000000000000000000001103742314700174265ustar00rootroot00000000000000scuttle-0.7.4/locales/it_IT/LC_MESSAGES/messages.mo000066400000000000000000000217661103742314700216060ustar00rootroot00000000000000fL|q  p  + W g*        , . = tI f N%t  %  1  -BK!R#t! /W  cp u    -&6 ]j  \>Tkt(y.W9)ci'm3. M[(_ y7 _-4Zbj (5H^ w "5 r isq  )03E JWg   -+17b<    . < S ^ f n v     !R!d!j!Ez!*! ! !""Y&"2""" """#!#68#1o###-##7\3fM9,RO2& T_)GQB-c] CAE+Z WL>^e%$:d(YaF.#U5V< ;!= 6N018Jb`I/'X" @*K[4D?SPH%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailStore all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAll TagsAn critical error occuredAn error occuredAn error occurred while saving your changes.Bookmark savedBookmarkletClick Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailEditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFileGeek StuffGeneral ErrorGeneral server errorHomepageImportImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInstructionsInternet Explorer, Mozilla Firefox and NetscapeLineLog InLog OutLog in to the export page at del.icio.usMember SinceNameNew PasswordNextNo bookmarks availableNo bookmarks foundPage %d of %dPasswordPopular TagsPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSelect the default privacy setting for your imported bookmarksShared with Watch ListSort by:TagsThe requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.This username already exists, please make another choice.TitleURLUser with username %s not was not foundUsernameUsername was not specifiedXML error: %s at line %dYou have now logged outYou must be logged in before you can add bookmarks.Your bookmark must have a title and an addressall bookmarksformessage_die() was called multiple times.my bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-11-10 16:58+0100 PO-Revision-Date: 2006-03-18 21:51-0800 Last-Translator: Marcus Campbell Language-Team: it-IT MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Italian X-Poedit-Country: ITALY Plural-Forms: nplurals=2; plural=(n != 1); %1$s supporta la maggioranza delle del.icio.us API. Praticamente tutti i tools progettati per de.icio.us possono essere modificati per funzionare con %1$s. Se trovi un tool che non lascia variare indirizzo API, chiedi a chiedi a chi lo ha realizzato di aggiungere questo settaggio.%s Preferiti%s è basato su un progetto open-source.%s: Preferiti recentiE-mailArchivia i tuoi Preferiti in un unico luogo, accessibile ovunque tu sia. Tagga i tuoi Preferiti con quante etichette vuoi, anziché perdere tempo con le cartelle.InformazioniAggiungi preferitoAggiungi un preferitoMetti Sotto OsservazioneIndirizzoTutti i TagsSi è verificato un errore criticoSi è verificato un erroreSi è verificato un errore salvando le tue modifiche.Preferito salvatoBookmarkletClicca Sfoglia... per trovare il file salvato sul tuo computer. La dimensione massima consentita è 1MBClicca Sfoglia... per trovare il file nel tuo computer. La dimensione massima accettata è 1MBClicca Importa per cominciare ad importare i preferiti; questa operazione può richiedere qualche minutoSaparati da virgolaCopiaNon posso aprire la fonte XMLErrore CriticoInformazioni ImportantiMODO DEBUGDataEliminaElimina PreferitoDescrizioneNon chiedermi la password per 2 settimaneTrascina uno dei seguenti bookmarklets tra i collegamenti del tuo browser e cliccalo ogni volta che vuoi aggiungere la pagina in cui ti trovi al tuo account %s E-mailModificaModifica PreferitoErrore salvando il preferitoEsporta i tuoi preferiti dal tuo browser ad un fileFile(Geek Stuff)Errore GeneraleErrore generale del serverHomepageImportaImporta Preferiti da del.icio.usImporta preferiti da un fileImporta preferiti da del.icio.usIstruzioniInternet Explorer, Mozilla Firefox e NetscapeLineaEntraEsciFai il Log-in e vai alla export page di del.icio.usIscritto DalNomeNuova PasswordSeguenteNessun preferito disponibileNessun preferito trovatoPagina %d di %dPasswordTags Più UtilizzatiAggiungi a %sAggiungi a %s (Pop-up)PrecedentePrivacyPrivatoProfiloPubblicoPreferiti RecentiRegistratiRegistrazione fallita. Riprova.Tags CorrelatiRimuovi da Sotto OsservazioneObbligatorioErrore SQLSalva ModificheSalva il file XML nel tuo computerCercaCerca PreferitiSeleziona il livello di privacy predefinito per i preferiti importatiCondiviso con chi tieni sotto osservazioneOrdinato per:EtichetteURL non eseguibileURL non trovataSi è verificato un errore salvando il tuo preferito. Riprova o contatta l'amministratoreQuesto nome utente esiste già, scegline un altro.TitoloURLL'utente %s non è stato trovatoUsernameNome utente non specificatoErrore XML: %s alla linea %dSei uscito dal sistemaDevi essere loggato per poter aggiungere dei preferitiIl preferito deve avere un titolo ed un indirizzotutti i preferitipermessage_die() è stato richiamato più volte.i miei preferitiscuttle-0.7.4/locales/it_IT/LC_MESSAGES/messages.po000066400000000000000000000606361103742314700216100ustar00rootroot00000000000000# Scuttle it-IT Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-11-10 16:58+0100\n" "PO-Revision-Date: 2006-03-18 21:51-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: it-IT \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Italian\n" "X-Poedit-Country: ITALY\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Informazioni" #: ..\..\..\ajaxDelete.php:29 #, fuzzy msgid "You are not allowed to delete this bookmark" msgstr "Non hai il permesso di eliminare questo preferito" #: ..\..\..\ajaxDelete.php:33 #, fuzzy msgid "Failed to delete bookmark" msgstr "Eliminazione del preferito fallita" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Tutti i Tags" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "L'utente %s non è stato trovato" #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "L'utente %s non è stato trovato" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Il preferito deve avere un titolo ed un indirizzo" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Preferito salvato" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Si è verificato un errore salvando il tuo preferito. Riprova o contatta l'amministratore" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Aggiungi un preferito" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Aggiungi preferito" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Devi essere loggato per poter aggiungere dei preferiti" #: ..\..\..\bookmarks.php:213 #, fuzzy msgid "My Bookmarks" msgstr "I Miei Preferiti" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Modifica Preferito" #: ..\..\..\edit.php:34 #, fuzzy, php-format msgid "Bookmark with id %s not was not found" msgstr "Il preferito con id %s non è stato trovato" #: ..\..\..\edit.php:39 #, fuzzy msgid "You are not allowed to edit this bookmark" msgstr "Non hai il permesso per modificare questo preferito" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Errore salvando il preferito" #: ..\..\..\edit.php:78 #, fuzzy msgid "Failed to delete the bookmark" msgstr "Eliminazione preferito fallita" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Salva Modifiche" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() è stato richiamato più volte." #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "Errore SQL" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Linea" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "File" #: ..\..\..\functions.inc.php:116 #, fuzzy msgid "Information" msgstr "Informazioni" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Informazioni Importanti" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "Si è verificato un errore" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "Errore Generale" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "Si è verificato un errore critico" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Errore Critico" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "MODO DEBUG" #: ..\..\..\history.php:65 msgid "History" msgstr "" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "Non posso aprire la fonte XML" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "Errore XML: %s alla linea %d" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importa Preferiti da del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 #, fuzzy msgid "You have already submitted this bookmark." msgstr "Hai già inserito questo preferito" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 #, fuzzy msgid "Bookmark imported." msgstr "Preferito importato" #: ..\..\..\importNetscape.php:81 #, fuzzy msgid "Import Bookmarks from Browser File" msgstr "Importa Preferiti da un File del Browser" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Sei uscito dal sistema" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Preferiti recenti" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Preferiti Recenti" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "" #: ..\..\..\jsScuttle.php:71 #, fuzzy msgid "Not Available" msgstr "Nessun preferito disponibile" #: ..\..\..\login.php:38 #, fuzzy msgid "The details you have entered are incorrect. Please try again." msgstr "Le informazioni che hai fornito non sono corrette. Riprova." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Entra" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "" #: ..\..\..\password.php:35 #, fuzzy msgid "You must enter your e-mail address." msgstr "Devi inserire un nome utente, una password, un nome ed un indirizzo e-mail." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "" #: ..\..\..\password.php:45 #, fuzzy msgid "No matches found for that combination of username and e-mail address." msgstr "Devi inserire un nome utente, una password, un nome ed un indirizzo e-mail." #: ..\..\..\password.php:53 #, fuzzy msgid "There was an error while generating your new password. Please try again." msgstr "Si è verificato un errore salvando il tuo preferito. Riprova o contatta l'amministratore" #: ..\..\..\password.php:57 #, fuzzy msgid "Your new password is:" msgstr "Conferma Nuova Password" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "" #: ..\..\..\password.php:60 #, fuzzy, php-format msgid "%s Account Information" msgstr "Informazioni" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "" #: ..\..\..\password.php:69 #, fuzzy msgid "Forgotten Password" msgstr "Nuova Password" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Tags Più Utilizzati" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Nome utente non specificato" #: ..\..\..\profile.php:60 #, fuzzy msgid "My Profile" msgstr "Profilo" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profilo" #: ..\..\..\profile.php:80 #, fuzzy msgid "Password and confirmation do not match." msgstr "La password e la sua conferma non coincidono." #: ..\..\..\profile.php:84 #, fuzzy msgid "Password must be at least 6 characters long." msgstr "La password deve essere lunga almeno 6 caratteri." #: ..\..\..\profile.php:88 #, fuzzy msgid "E-mail address is not valid." msgstr "Indirizzo e-mail non valido." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "Si è verificato un errore salvando le tue modifiche." #: ..\..\..\profile.php:94 #, fuzzy msgid "Changes saved." msgstr "Modifiche salvate." #: ..\..\..\register.php:33 #, fuzzy msgid "You must enter a username, password and e-mail address." msgstr "Devi inserire un nome utente, una password, un nome ed un indirizzo e-mail." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Questo nome utente esiste già, scegline un altro." #: ..\..\..\register.php:41 #, fuzzy msgid "E-mail address is not valid. Please try again." msgstr "Indirizzo e-mail non valido." #: ..\..\..\register.php:50 #, fuzzy msgid "You have successfully registered. Enjoy!" msgstr "Ti sei registrato con successo. Buon divertimento!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Registrazione fallita. Riprova." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registrati" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Cerca" #: ..\..\..\search.inc.php:35 #, fuzzy msgid "this user's bookmarks" msgstr "%s preferiti" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "i miei preferiti" #: ..\..\..\search.inc.php:41 #, fuzzy msgid "my watchlist" msgstr "Metti Sotto Osservazione" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "tutti i preferiti" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "per" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Cerca Preferiti" #: ..\..\..\search.php:97 #, fuzzy msgid "Search Results" msgstr "Risultati della Ricerca" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Etichette" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s Preferiti" #: ..\..\..\watch.php:84 #, fuzzy msgid "User removed from your watchlist" msgstr "Utente rimosso dalla tua watchlist" #: ..\..\..\watch.php:86 #, fuzzy msgid "User added to your watchlist" msgstr "Utente aggiunto alla tua watchlist" #: ..\..\..\watched.php:105 #, fuzzy msgid "My Watchlist" msgstr "Lista Sotto Osservazione" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "Lista Sotto Osservazione" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Archivia i tuoi Preferiti in un unico luogo, accessibile ovunque tu sia. " #: ..\..\..\templates\about.tpl.php:7 #, fuzzy msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Condividi i tuoi Preferiti con gli altri o mantinili privati. Potrai restare aggiornato sui Preferiti aggiunti da altri utenti." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Tagga i tuoi Preferiti con quante etichette vuoi, anziché perdere tempo con le cartelle." #: ..\..\..\templates\about.tpl.php:9 #, fuzzy, php-format msgid "Register now to start using %s!" msgstr "Registrati ora per iniziare ad utilizzare %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "(Geek Stuff)" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s è basato su un progetto open-source." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s supporta la maggioranza delle del.icio.us API. Praticamente tutti i tools progettati per de.icio.us possono essere modificati per funzionare con %1$s. Se trovi un tool che non lascia variare indirizzo API, chiedi a chiedi a chi lo ha realizzato di aggiungere questo settaggio." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Ordinato per:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Data" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Titolo" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Modifica" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Elimina" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, fuzzy, php-format msgid " and %s1 other%s" msgstr " e %s altri" #: ..\..\..\templates\bookmarks.tpl.php:81 #, fuzzy, php-format msgid " and %2$s%1$s others%3$s" msgstr " e %s altri" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Copia" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Precedente" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Seguente" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Pagina %d di %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Nessun preferito disponibile" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 #, fuzzy msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "preferito" msgstr[1] "preferiti" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Indirizzo" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Obbligatorio" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Descrizione" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Saparati da virgola" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Privacy" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Pubblico" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Condiviso con chi tieni sotto osservazione" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Privato" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Elimina Preferito" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bookmarklet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Trascina uno dei seguenti bookmarklets tra i collegamenti del tuo browser e cliccalo ogni volta che vuoi aggiungere la pagina in cui ti trovi al tuo account %s " #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Aggiungi a %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Aggiungi a %s (Pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importa" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importa preferiti da un file" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox e Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importa preferiti da del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Username" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Nuova Password" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "Conferma Nuova Password" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Nome" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Homepage" #: ..\..\..\templates\error.404.tpl.php:5 #, fuzzy msgid "Not Found" msgstr "Non Trovato" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "URL non trovata" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Errore generale del server" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "URL non eseguibile" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Fai il Log-in e vai alla export page di del.icio.us" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Salva il file XML nel tuo computer" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Clicca Sfoglia... per trovare il file nel tuo computer. La dimensione massima accettata è 1MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Seleziona il livello di privacy predefinito per i preferiti importati" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Clicca Importa per cominciare ad importare i preferiti; questa operazione può richiedere qualche minuto" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Istruzioni" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Esporta i tuoi preferiti dal tuo browser ad un file" #: ..\..\..\templates\importNetscape.tpl.php:37 #, fuzzy msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: File > Importa ed Esporta... > Esporta Preferiti" #: ..\..\..\templates\importNetscape.tpl.php:38 #, fuzzy msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Segnalibri > Gestione Segnalibri... > File > Esporta..." #: ..\..\..\templates\importNetscape.tpl.php:39 #, fuzzy msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Bookmarks > Gestione Bookmarks... > Strumenti > Esporta..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Clicca Sfoglia... per trovare il file salvato sul tuo computer. La dimensione massima consentita è 1MB" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Password" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Non chiedermi la password per 2 settimane" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 #, fuzzy msgid "Generate Password" msgstr "Nuova Password" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Iscritto Dal" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 #, fuzzy msgid "Watching" msgstr "Lista Sotto Osservazione" #: ..\..\..\templates\profile.tpl.php:50 #, fuzzy msgid "Watched By" msgstr "Sotto Osservazione Di" #: ..\..\..\templates\register.tpl.php:11 #, fuzzy, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Registrati per creare un account gratuito con %s. Tutte le informazioni richieste sono obbligatorie." #: ..\..\..\templates\rss.tpl.php:9 #, fuzzy, php-format msgid "Recent bookmarks posted to %s" msgstr "Preferiti inseriti di recente" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Nessun preferito trovato" #: ..\..\..\templates\sidebar.block.recent.php:15 #, fuzzy msgid "Recent Tags" msgstr "Tags Recenti" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Tags Correlati" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Rimuovi da Sotto Osservazione" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Metti Sotto Osservazione" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "Istruzioni" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "" #: ..\..\..\templates\tags.tpl.php:9 #, fuzzy msgid "Popularity" msgstr "Tags Più Utilizzati" #: ..\..\..\templates\toolbar.inc.php:11 #, fuzzy msgid "Bookmarks" msgstr "%s Preferiti" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Esci" scuttle-0.7.4/locales/ja_JP/000077500000000000000000000000001103742314700156145ustar00rootroot00000000000000scuttle-0.7.4/locales/ja_JP/LC_MESSAGES/000077500000000000000000000000001103742314700174015ustar00rootroot00000000000000scuttle-0.7.4/locales/ja_JP/LC_MESSAGES/messages.mo000066400000000000000000000434501103742314700215530ustar00rootroot00000000000000| pqq  $p1+KW/g ):BXaj,  % " .8tGfN#r  %..  18j  !09"!#<!`  /L")W1 Q    K ^%kj#. R ` jx',    '/7?F Wc&   \QXi>xY()1[=`(.WHN 9  h @!D! a!'!#!!!! !""@""+c")")""("3$#HX##.## $$%$()$ R$ _$l$$R&p&&(,(A(*4:*io**`++,),!0,R,k, ,$,,,',-'#-K-b-3u-'-7- .%.8.W. //R0e0}000000 0!01;!1]12<.2Zk2 2!2*2Q 3$r3$3 3 33%34!414P4o4 v44245N5<.6Nk6<66607{67 77 77u7S8mi8889%9o,99<99 9*:*+:V:6:";8;N;_;0o;9;;;;<'<<<C<V<i<|<<<7< <<<1=D=c= j=x=w=>! > />f<>>>M?K]??N?,?A,@in@T@H-AvA}AB0B3LB>B>BB*C 9C FCSCsCrzC?C?-D9mDD7DTDjPE-EHE2FIF%hFF/FFF'G~urRvGzD0 hH:WF3yfJ|N1^9,X+ )Yjt*\SPM"Bkm;AxV?/ >&C(2o8E sd%bZa# L`]Ki!@qpn}c4UT5l.'Ow{Q_<$6[e7-g=I and %2$s%1$s others%3$s and %s1 other%s%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsActionsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletBookmarksChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedConfirm PasswordCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy ProfileMy WatchlistNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not AvailableNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUser with username %s was not foundUsernameUsername was not specifiedWatchingWatchlistXML error: %s at line %dYesYou must enter a username, password and e-mail address.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbookmarkbookmarksformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: scuttle Report-Msgid-Bugs-To: elf2000@users.sourceforge.net POT-Creation-Date: 2005-11-15 19:51+0000 PO-Revision-Date: 2006-04-19 07:52+0900 Last-Translator: Marcus Campbell Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Poedit-Language: Japanese X-Poedit-Country: JAPAN とその他 %2$s%1$s 人%3$sとその他%sひとり%s%1$s はほとんどの del.icio.us API をサポートします。Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%sアカウント情報%sブックマーク%s は オープンソースに基づいた、GNUGeneral Public License の元でライセンスされています。これは、インターネットや個人のネットワーク、あるいは自分のコンピュータや、自分のウェブサーバで無料で運営することができることを意味します。%s: 最近のブックマーク電子メール%s を使い始めるには今すぐ登録してください!いかなる場所からもアクセス可能な 1 つの場所に、好きなリンクをすべて格納します。フォルダーと格闘する代わりに、望むならいくつかのラベルととしてブックマークのタグを付けてください。このサイトについてアカウントの詳細操作ブックマークを追加するブックマーク追加注目一覧に追加アドレスアドレスは見つかりませんすべてのタグアルファベット重大なエラーが発生しましたエラーが発生しました変更の保存中にエラーです。本当にしますか?利用できますブックマークをインポートしました。ブックマークを保存しましたID「%s」とブックマークは見つかりませんブックマークレットブックマーク変更を保存しました。コンピューター上に保存されたブックマークを見つけるために 参照... をクリックします。ファイルの最大サイズは 1MB です。コンピューター上のこのファイルを見つけるために 参照... をクリックします。ファイルの最大サイズは 1MB です。インポートする をクリックするとブックマークのインポートを開始します。しばらくかかるかもしれません。カンマ区切りパスワード(確認)コピーする入力 XML を開けません重大なエラー重要な情報デバッグモード日付削除するブックマークを削除する説明2 週間自分のパスワードを問い合わせませんブラウザーのブックマークに次のブックマークレットのうちの 1 つをドラッグし、%s にページを追加したい場合、常にそれをクリックします。電子メール電子メールアドレスは有効ではありません。電子メールアドレスは有効ではありません。再度試してください。編集するブックマークを編集するブックマークの保存中にエラーブラウザーからファイルにブックマークをエクスポートするブックマークの削除に失敗ブックマークの削除に失敗ファイル最初へパスワード忘れパスワードを忘れましたか?Geek スタッフ一般エラーサーバー全体のエラーパスワードを生成する履歴%s の履歴ホームページパスワードを忘れてしまった場合、%s は新しいパスワードを生成できます。アカウントのユーザー名と電子メールアドレスを下のフォームに入力してください。そうすれば、新しいパスワードを電子メールで送信するでしょう。インポートするブラウザーのファイルからブックマークをインポートするdel.icio.us からブックマークをインポートするブックマークファイルからブックマークをインポートするdel.icio.us からブックマークをインポートする情報手順Internet Explorer、Mozilla Firefox と NetscapeInternet Explorer: ファイル > インポートとエクスポート... > お気に入りのエクスポート最後へ行ログインログアウトdel.icio.us のエクスポートページ にログインします。メンバー登録日Mozilla Firefox: ブックマーク > ブックマークの管理... > ファイル > Export...自分のブックマーク自分のプロフィール自分の注目一覧名前Netscape: ブックマーク > ブックマークの管理... > ツール > エクスポート...新規パスワード新規アカウントを生成し、%s に送信しました次へいいえブックマークは利用できませんブックマークが見つかりません一致する電子メールアドレスとユーザー名の組み合わせが見つかりませんでした。一致するユーザー名が見つかりません。利用できません見つかりませんページ(%d/%d)パスワードパスワードと確認が一致しません。パスワードは少なくとも 6 文字以上です。個人の詳細人気のタグ人気%s に投稿する%s に投稿する (ポップアップ)前へプライバシープライベートプロフィール公開最近のブックマーク最近のタグ最近のブックマークを %s に投稿しました登録する登録に失敗しました。再度試してください。関連するタグ注目一覧から削除する必須SQL エラー変更を保存する結果の XML ファイルをコンピューターに保存します。検索ブックマークを検索する検索結果インポートしたブックマークのデフォルトプライバシー設定を選択します。注目リストで共有ここでサインアップし、%s のアカウントを自由に作成できます。下記で要求された情報はすべて必須です。ソート基準お気に入りのリンクの保存、共有、タグ付けをします。タグ入力した詳細は正しくありません。再び試みてください。要求された URL は処理できません要求された URL はこのサーバーで見つかりませんブックマークの保存でエラーです。再度試すか、管理者に連絡してください。新規パスワードの生成中にエラーです。再度試してください。ユーザー名は既に存在します。他を選んでください。題名ブックマークの安全性を維持するために、次回のログイン時にプロフィールのこのパスワードを変えるべきです。URL注目一覧にユーザーを追加しました注目一覧からユーザーを削除しましたユーザー名「%s」のユーザーは見つかりませんユーザー名「%s」のユーザーは見つかりませんユーザー名ユーザー名が指定されていない注目一覧注目一覧XML エラー: %s の %d 行目はいユーザー名、パスワード、名前と電子メールアドレスを入力しなければなりません。このブックマークの削除は許可されていませんこのブックマークの編集は許可されていませんこのブックマークは既に送信しています。ログアウトしました登録に成功しました。楽しんでください!ブックマークを追加する前にログインしなければなりません。電子メールアドレスを入力しなければなりません。ユーザー名を入力してください。ブックマークは題名とアドレスがなければなりません新規パスワード:すべてのブックマークブックマークブックマークキーワードmessage_die() は複数回呼ばれました。自分のブックマーク自分の注目一覧このユーザーのブックマークscuttle-0.7.4/locales/ja_JP/LC_MESSAGES/messages.po000066400000000000000000000656541103742314700215700ustar00rootroot00000000000000# Scuttle ja-JP Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Tadashi Jokagi , 2005-2006. # msgid "" msgstr "" "Project-Id-Version: scuttle\n" "Report-Msgid-Bugs-To: elf2000@users.sourceforge.net\n" "POT-Creation-Date: 2005-11-15 19:51+0000\n" "PO-Revision-Date: 2006-04-19 07:52+0900\n" "Last-Translator: Marcus Campbell \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Japanese\n" "X-Poedit-Country: JAPAN\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "このサイトについて" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "このブックマークの削除は許可されていません" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "ブックマークの削除に失敗" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "すべてのタグ" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "ユーザー名「%s」のユーザーは見つかりません" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "ユーザー名「%s」のユーザーは見つかりません" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "ブックマークは題名とアドレスがなければなりません" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "ブックマークを保存しました" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "ブックマークの保存でエラーです。再度試すか、管理者に連絡してください。" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "ブックマーク追加" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "ブックマークを追加する" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "ブックマークを追加する前にログインしなければなりません。" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "自分のブックマーク" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "ブックマークを編集する" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "ID「%s」とブックマークは見つかりません" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "このブックマークの編集は許可されていません" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "ブックマークの保存中にエラー" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "ブックマークの削除に失敗" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "変更を保存する" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() は複数回呼ばれました。" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "SQL エラー" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "行" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "ファイル" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "情報" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "重要な情報" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "エラーが発生しました" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "一般エラー" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "重大なエラーが発生しました" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "重大なエラー" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "デバッグモード" #: ..\..\..\history.php:65 msgid "History" msgstr "履歴" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "%s の履歴" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "アドレスは見つかりません" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "入力 XML を開けません" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XML エラー: %s の %d 行目" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "del.icio.us からブックマークをインポートする" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "このブックマークは既に送信しています。" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "ブックマークをインポートしました。" #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "ブラウザーのファイルからブックマークをインポートする" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "ログアウトしました" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: 最近のブックマーク" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "お気に入りのリンクの保存、共有、タグ付けをします。" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "最近のブックマーク" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "本当にしますか?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "はい" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "いいえ" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "利用できます" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "利用できません" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "入力した詳細は正しくありません。再び試みてください。" #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "ログイン" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "ユーザー名を入力してください。" #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "電子メールアドレスを入力しなければなりません。" #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "一致するユーザー名が見つかりません。" #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "一致する電子メールアドレスとユーザー名の組み合わせが見つかりませんでした。" #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "新規パスワードの生成中にエラーです。再度試してください。" #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "新規パスワード:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "ブックマークの安全性を維持するために、次回のログイン時にプロフィールのこのパスワードを変えるべきです。" #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "%sアカウント情報" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "新規アカウントを生成し、%s に送信しました" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "パスワード忘れ" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "人気のタグ" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "ユーザー名が指定されていない" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "自分のプロフィール" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "プロフィール" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "パスワードと確認が一致しません。" #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "パスワードは少なくとも 6 文字以上です。" #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "電子メールアドレスは有効ではありません。" #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "変更の保存中にエラーです。" #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "変更を保存しました。" #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "ユーザー名、パスワード、名前と電子メールアドレスを入力しなければなりません。" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "ユーザー名は既に存在します。他を選んでください。" #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "電子メールアドレスは有効ではありません。再度試してください。" #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "登録に成功しました。楽しんでください!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "登録に失敗しました。再度試してください。" #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "登録する" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "検索" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "このユーザーのブックマーク" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "自分のブックマーク" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "自分の注目一覧" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "すべてのブックマーク" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "キーワード" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "ブックマークを検索する" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "検索結果" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "タグ" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%sブックマーク" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "注目一覧からユーザーを削除しました" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "注目一覧にユーザーを追加しました" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "自分の注目一覧" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "注目一覧" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "いかなる場所からもアクセス可能な 1 つの場所に、好きなリンクをすべて格納します。" #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "" #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "フォルダーと格闘する代わりに、望むならいくつかのラベルととしてブックマークのタグを付けてください。" #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "%s を使い始めるには今すぐ登録してください!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Geek スタッフ" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s は オープンソースに基づいた、GNUGeneral Public License の元でライセンスされています。これは、インターネットや個人のネットワーク、あるいは自分のコンピュータや、自分のウェブサーバで無料で運営することができることを意味します。" #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s はほとんどの del.icio.us API をサポートします。Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "ソート基準" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "日付" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "題名" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "編集する" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "削除する" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "とその他%sひとり%s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr "とその他 %2$s%1$s 人%3$s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "コピーする" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "最初へ" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "前へ" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "次へ" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "最後へ" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "ページ(%d/%d)" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "ブックマークは利用できません" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "ブックマーク" msgstr[1] "ブックマーク" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "アドレス" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "必須" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "説明" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "カンマ区切り" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "プライバシー" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "公開" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "注目リストで共有" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "プライベート" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "ブックマークを削除する" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "ブックマークレット" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "ブラウザーのブックマークに次のブックマークレットのうちの 1 つをドラッグし、%s にページを追加したい場合、常にそれをクリックします。" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "%s に投稿する" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "%s に投稿する (ポップアップ)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "インポートする" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "ブックマークファイルからブックマークをインポートする" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer、Mozilla Firefox と Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "del.icio.us からブックマークをインポートする" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "アカウントの詳細" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "ユーザー名" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "新規パスワード" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "パスワード(確認)" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "電子メール" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "個人の詳細" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "名前" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "ホームページ" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "見つかりません" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "要求された URL はこのサーバーで見つかりません" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "サーバー全体のエラー" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "要求された URL は処理できません" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "del.icio.us のエクスポートページ にログインします。" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "結果の XML ファイルをコンピューターに保存します。" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "コンピューター上のこのファイルを見つけるために 参照... をクリックします。ファイルの最大サイズは 1MB です。" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "インポートしたブックマークのデフォルトプライバシー設定を選択します。" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "インポートする をクリックするとブックマークのインポートを開始します。しばらくかかるかもしれません。" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "手順" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "ブラウザーからファイルにブックマークをエクスポートする" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: ファイル > インポートとエクスポート... > お気に入りのエクスポート" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: ブックマーク > ブックマークの管理... > ファイル > Export..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: ブックマーク > ブックマークの管理... > ツール > エクスポート..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "コンピューター上に保存されたブックマークを見つけるために 参照... をクリックします。ファイルの最大サイズは 1MB です。" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "パスワード" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "2 週間自分のパスワードを問い合わせません" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "パスワードを忘れましたか?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "パスワードを忘れてしまった場合、%s は新しいパスワードを生成できます。アカウントのユーザー名と電子メールアドレスを下のフォームに入力してください。そうすれば、新しいパスワードを電子メールで送信するでしょう。" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "電子メール" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "パスワードを生成する" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "メンバー登録日" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "注目一覧" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "ここでサインアップし、%s のアカウントを自由に作成できます。下記で要求された情報はすべて必須です。" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "最近のブックマークを %s に投稿しました" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "ブックマークが見つかりません" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "最近のタグ" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "関連するタグ" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "注目一覧から削除する" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "注目一覧に追加" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "操作" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "アルファベット" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "人気" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "ブックマーク" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "ログアウト" scuttle-0.7.4/locales/lt_LT/000077500000000000000000000000001103742314700156475ustar00rootroot00000000000000scuttle-0.7.4/locales/lt_LT/LC_MESSAGES/000077500000000000000000000000001103742314700174345ustar00rootroot00000000000000scuttle-0.7.4/locales/lt_LT/LC_MESSAGES/messages.mo000066400000000000000000000401221103742314700215770ustar00rootroot00000000000000 qM dpq+K#noWg6 3,D q %  tfkN!1BG`o  %`g.  13QV\o  "!#! 1 =/JLzW 8QE   K %@EH_jr#   ''0,X    0&9 `m  \>'fY}) = (M .v W H 9F!!h!!! "'1"#Y"}"" "" """@"+#)I#)s##(#3#H$[$.y$$ $$$$($ % %)%?% & '$'( (j(9*5L*n**X++f,k,,,,!,,, , ,- -!'- I-T-X-k- }- ---c-c+.[../ / !/B/R/g/z// //%// Z0f0500 0030"1=1X1_1f1111&112 2 2$22%2!"3#D3!h3 3 3.3L3 4)4 14 =4^H4 4Q4 5 5"525K955.555 5 5|57j6666 6-6/6-7A7 U7b707 7 7777777 8,*8W8"g8 8*88Y8/989J9?_99U9:I:a:;i: :$:X:KD;2; ;;]<-e<.<!<!< == .=;= A=L=h=m=+=)>#H>l>'>9>V>%=?7c?!??? ??*? @&@:@Q,0Jjk;3XYP SOW"BN>T$ |!Z2ra1v}# iECyG-R'e=d.?KbfImFxo9)6{w\Vz7nL [:+`hc5M<A/%]@t s4g&DqH_8 Ulu^~*(p and %2$s%1$s others%3$s and %s1 other%s%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAccount DetailsActionsAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAddress was not foundAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?AvailableBookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletBookmarksChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedConfirm PasswordCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileFirstForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHistoryHistory for %sHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLastLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy ProfileMy WatchlistNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not AvailableNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Personal DetailsPopular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:Store, share and tag your favourite linksTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUser with username %s was not foundUsernameUsername was not specifiedWatched ByWatchingWatchlistXML error: %s at line %dYesYou must enter a username, password and e-mail address.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.Your bookmark must have a title and an addressYour new password is:all bookmarksbookmarkbookmarksbyformessage_die() was called multiple times.my bookmarksmy watchlistthis user's bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-03-26 14:26-0800 Last-Translator: Marcus Campbell Language-Team: lt-LT MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Lithuanian X-Poedit-Country: LITHUANIA Plural-Forms: nplurals=2; plural=(n != 1); bei dar %2$s%1$s vartotojai%3$s bei dar %s1 vartotojas%s%1$s palaiko del.icio.us API. Daugumą šiai sistemai skirtų įrankių galiama pakoreguoti taip, kad jie veiktų su %1$s. Jei radote įrankį, kuriame negalima pakeisti API adreso, paprašykite jo kūrėjų tai padaryti. Jie tikrai neatsilaikys Jūsų kerams.%s paskyros informacija%s žymės%s veikia pagal GNU GPL licenciją sukurto atvirojo kodo projekto pagrindu. Tai reiškia, kad Jūs galite šią sistemą nemokamai naudoti ir talpinti internete, vidaus tinkle ar savo kompiuteryje.%s: naujos žymėsEl. paštasRegistruokitės dabar ir pradėkite darbą su %s!Dalinkitės savo žymėmis su visais ar į tik bičiulių sąrašą įtrauktais draugais arba laikykite jas asmeniniam naudojimui.Kaupkite Jus dominančias žymes vienoje, bet kur pasiekiamoje vietoje.Grupuokite savo žymes gairių pagalba. Jų galite sukurti tiek, kiek Jums reikia. Pamirškite nelanksčius katalogus!ApiePaskyris informacijaVeiksmaiPridėti žymęPridėti žymęĮtraukti į bičiulių sąrašąAdresasAdreso nepavyko rastiVisos gairėsAbėcėlėĮvyko kritinė klaidaĮvyko klaidaSaugant pakeitimus įvyko klaida.Ar tikrai?YraŽymė importuota.Žymė išsaugotaŽymės su id %s nepavyko rastiŽymeklisŽymėsPakeitimai išsaugoti.Paspauskite Browse... ir raskite žymes savo kompiuteryje. Maksimalus failo dydis - 1MB.Paspauskite Browse... ir raskite šį failą kompiuteryje. Maksimalus failo dydis - 1 MBNorėdami importuoti žymes, spauskite Importuoti; tai gali šiek tiek užtruktiSkiriamos kableliaisPakartoti slaptažodįKopijuotiNepavyko atidaryti XML įvestiesKritinė klaidaKritinė informacijaDerinimo rėžimasdatąTrintiTrinti žymęAprašasNeklausti slaptažodžio dvi savaitesPerkelkite šį žymeklįį Jūsų naršyklėje esantį žymių katalogą ir naudokite, kai norėsite pridėti naują puslapį į %sEl. paštasNeteisingas el. pašto adresas.El. pašto adresas neteisingas. Bandykite dar kartą.KeistiKeisti žymęSaugant žymę įvyko klaidaEksportuokite savo žymes iš naršyklės į failąNepavyko ištrinti žymėsŽymės ištrinti nepavykoFailasPirmasUžmirštas slaptažodisPamiršote slaptažodį?Techninė informacijaBendro pobūdžio klaidaBendro pobūdžio darbo stoties klaidaGeneruoti slaptažodįIstorija%s istorijaSvetainėJei pamiršote savo slaptažodį, %s gali sukurti Jums naują. Įrašykite savo paskyros vartotojo vardą ir mums pateikto el. pašto adresą ir mes Jums persiųsime naująjį slaptažodį.ImportasImportuoti žymes iš naryklės failoImportuoti žymes iš del.icio.usImportuoti žymes iš žymių failoImportuoti žymes iš del.icio.usInformacijaInstrukcijaInternet Explorer, Mozilla Firefox ir NetscapeInternet Explorer: File > Import and Export... > Export FavoritesPaskutinisEilutėPrisijungtiAtsijungtiPrisijunkite prie del.icio.us eksporto puslapioDalyvauja nuoMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...Mano žymėsMano profilisMano bičiuliaiVardasNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...Naujas slaptažodisNaujas slaptažodis sukurtas ir išsiųstas %sKitasNeŽymių nėraŽymių nėraNepavyko rasti įrašų, susijusių su šiuo vartotojo vardu ir el. pašto adresu.Nepavyko rasti įrašų, susijusių su šiuo vartotoju.NėraNėra%d iš %d puslapiųSlaptažodisĮrašyti slaptažodžio variantai nesutampa.Slaptažodis turi būti bent 6 simbolių ilgio.Asmeniniai duomenysPopuliarios gairėsPopuliarumasSiųsti į %sSiųsti į %s (atskirame lange)AnkstesnisPrivatumasPrivatiProfilisViešaNaujos žymėsNaujos gairėsNaujos, %s išsiųstos gairėsRegistracijaRegistracija nepavyko. Bandykite dar kartą.Susiję gairėsPašalinti iš bičiulių sąrašoPrivalomamessage_die() buvo iškviesta daug kartų.Išsaugoti pakeitimusIšsaugoti XML failą Jūsų kompiuteryjeIeškotiIeškoti žymėsePaieškos rezultataiPasirinkite bazines privatumo nuostatas importuojamoms žymėmsTik bičiuliamsNorėdami prisiregistruoti %s užlipdykite žemiau esančią anketąRūšiuoti pagal:Kaupkite, dalinkites ir aprašinėkite savo svarbiausias interneto žymesGairėsJūsų įrašyti duomenys neteisingi. Bandykite dar kartą.Užklausa negali būti įvykdytaUžklausto saito darbo stotyje nėraSaugant žymę įvyko klaida. Bandykite dar kartą arba kreipkitės į administratorių.Generuojant naują Jūsų slaptažodį įvyko klaida. Bandykite dar kartą.Toks vartotojas jau yra, prašom pasirinkti kitą.pavadinimąVardan Jūsų kaupiamos informacijos saugumo, rekomenduojame pasikeisti slaptažodį, kai kitą kartą prisijungsite prie vartotojo profilio.adresąVartotojas įtrauktas į bičiulių sąrašąVartotojas išbrauktas iš bičiulių sąrašoNepavyko rasti vartotojo vardu %sNepavyko rasti vartotojo vardu %sVartotojasNenurodytas vartotojo vardasYra stebimasStebiBičiuliaiXML klaida: %s eilutėje %dTaipPrivalote įrašyti vartotojo vardą, slaptažodį, vardą ir el. pašto adresą.Jums neturite teisės ištrinti šį žymęJūs neturite teisės keisti šią žymęJūs jau išsaugojote šią žymę.Jūs dabar atsijungėteSveikiname sėkmingai užsiregistravus!Jei norite pridėti naujas žymes, privalote prisijungti.Privalote įrašyti savo el. pašto adresą.Privalote įrašyti vartotojo vardą.Įrašoma žymė privalo turėti pavadinimą ir adresąJūsų naujasis slaptažodis yra:visose žymėsežymėžymės įrašėtekstomessage_die() buvo iškviesta daug kartų.mano žymėsebičiulių žymėsešio vartotojo žymėsescuttle-0.7.4/locales/lt_LT/LC_MESSAGES/messages.po000066400000000000000000000620061103742314700216070ustar00rootroot00000000000000# Scuttle lt-LT Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Audrius Radzevičius # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-03-26 14:26-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: lt-LT \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Lithuanian\n" "X-Poedit-Country: LITHUANIA\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Apie" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "Jums neturite teisės ištrinti šį žymę" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "Nepavyko ištrinti žymės" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Visos gairės" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "Nepavyko rasti vartotojo vardu %s" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "Nepavyko rasti vartotojo vardu %s" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Įrašoma žymė privalo turėti pavadinimą ir adresą" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Žymė išsaugota" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Saugant žymę įvyko klaida. Bandykite dar kartą arba kreipkitės į administratorių." #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Pridėti žymę" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Pridėti žymę" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Jei norite pridėti naujas žymes, privalote prisijungti." #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "Mano žymės" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Keisti žymę" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "Žymės su id %s nepavyko rasti" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Jūs neturite teisės keisti šią žymę" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Saugant žymę įvyko klaida" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "Žymės ištrinti nepavyko" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Išsaugoti pakeitimus" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die() buvo iškviesta daug kartų." #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "message_die() buvo iškviesta daug kartų." #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "Eilutė" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Failas" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "Informacija" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "Kritinė informacija" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "Įvyko klaida" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "Bendro pobūdžio klaida" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "Įvyko kritinė klaida" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "Kritinė klaida" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "Derinimo rėžimas" #: ..\..\..\history.php:65 msgid "History" msgstr "Istorija" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "%s istorija" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "Adreso nepavyko rasti" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "Nepavyko atidaryti XML įvesties" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XML klaida: %s eilutėje %d" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "Importuoti žymes iš del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "Jūs jau išsaugojote šią žymę." #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "Žymė importuota." #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "Importuoti žymes iš naryklės failo" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Jūs dabar atsijungėte" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: naujos žymės" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "Kaupkite, dalinkites ir aprašinėkite savo svarbiausias interneto žymes" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Naujos žymės" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "Ar tikrai?" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "Taip" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "Ne" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "Yra" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "Nėra" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "Jūsų įrašyti duomenys neteisingi. Bandykite dar kartą." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Prisijungti" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Privalote įrašyti vartotojo vardą." #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "Privalote įrašyti savo el. pašto adresą." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "Nepavyko rasti įrašų, susijusių su šiuo vartotoju." #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "Nepavyko rasti įrašų, susijusių su šiuo vartotojo vardu ir el. pašto adresu." #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "Generuojant naują Jūsų slaptažodį įvyko klaida. Bandykite dar kartą." #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "Jūsų naujasis slaptažodis yra:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "Vardan Jūsų kaupiamos informacijos saugumo, rekomenduojame pasikeisti slaptažodį, kai kitą kartą prisijungsite prie vartotojo profilio." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "%s paskyros informacija" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Naujas slaptažodis sukurtas ir išsiųstas %s" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "Užmirštas slaptažodis" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Populiarios gairės" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "Nenurodytas vartotojo vardas" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "Mano profilis" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profilis" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "Įrašyti slaptažodžio variantai nesutampa." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "Slaptažodis turi būti bent 6 simbolių ilgio." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "Neteisingas el. pašto adresas." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "Saugant pakeitimus įvyko klaida." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "Pakeitimai išsaugoti." #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "Privalote įrašyti vartotojo vardą, slaptažodį, vardą ir el. pašto adresą." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "Toks vartotojas jau yra, prašom pasirinkti kitą." #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "El. pašto adresas neteisingas. Bandykite dar kartą." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "Sveikiname sėkmingai užsiregistravus!" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "Registracija nepavyko. Bandykite dar kartą." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registracija" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "Ieškoti" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "šio vartotojo žymėse" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "mano žymėse" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "bičiulių žymėse" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "visose žymėse" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "teksto" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Ieškoti žymėse" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "Paieškos rezultatai" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Gairės" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s žymės" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Vartotojas išbrauktas iš bičiulių sąrašo" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Vartotojas įtrauktas į bičiulių sąrašą" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "Mano bičiuliai" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "Bičiuliai" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Kaupkite Jus dominančias žymes vienoje, bet kur pasiekiamoje vietoje." #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Dalinkitės savo žymėmis su visais ar į tik bičiulių sąrašą įtrauktais draugais arba laikykite jas asmeniniam naudojimui." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Grupuokite savo žymes gairių pagalba. Jų galite sukurti tiek, kiek Jums reikia. Pamirškite nelanksčius katalogus!" #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "Registruokitės dabar ir pradėkite darbą su %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Techninė informacija" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "%s veikia pagal GNU GPL licenciją sukurto atvirojo kodo projekto pagrindu. Tai reiškia, kad Jūs galite šią sistemą nemokamai naudoti ir talpinti internete, vidaus tinkle ar savo kompiuteryje." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "%1$s palaiko del.icio.us API. Daugumą šiai sistemai skirtų įrankių galiama pakoreguoti taip, kad jie veiktų su %1$s. Jei radote įrankį, kuriame negalima pakeisti API adreso, paprašykite jo kūrėjų tai padaryti. Jie tikrai neatsilaikys Jūsų kerams." #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "Rūšiuoti pagal:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "datą" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "pavadinimą" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "adresą" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Keisti" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Trinti" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr " įrašė" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr " bei dar %s1 vartotojas%s" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr " bei dar %2$s%1$s vartotojai%3$s" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Kopijuoti" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "Pirmas" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "Ankstesnis" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "Kitas" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "Paskutinis" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "%d iš %d puslapių" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Žymių nėra" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "žymė" msgstr[1] "žymės" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Adresas" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Privaloma" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Aprašas" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Skiriamos kableliais" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Privatumas" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Vieša" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Tik bičiuliams" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Privati" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Trinti žymę" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Žymeklis" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Perkelkite šį žymeklįį Jūsų naršyklėje esantį žymių katalogą ir naudokite, kai norėsite pridėti naują puslapį į %s" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Siųsti į %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Siųsti į %s (atskirame lange)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importas" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importuoti žymes iš žymių failo" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox ir Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importuoti žymes iš del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "Paskyris informacija" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Vartotojas" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Naujas slaptažodis" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "Pakartoti slaptažodį" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "El. paštas" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "Asmeniniai duomenys" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Vardas" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Svetainė" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "Nėra" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "Užklausto saito darbo stotyje nėra" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Bendro pobūdžio darbo stoties klaida" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "Užklausa negali būti įvykdyta" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Prisijunkite prie del.icio.us eksporto puslapio" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Išsaugoti XML failą Jūsų kompiuteryje" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Paspauskite Browse... ir raskite šį failą kompiuteryje. Maksimalus failo dydis - 1 MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Pasirinkite bazines privatumo nuostatas importuojamoms žymėms" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Norėdami importuoti žymes, spauskite Importuoti; tai gali šiek tiek užtrukti" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Instrukcija" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Eksportuokite savo žymes iš naršyklės į failą" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: File > Import and Export... > Export Favorites" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Paspauskite Browse... ir raskite žymes savo kompiuteryje. Maksimalus failo dydis - 1MB." #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Slaptažodis" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Neklausti slaptažodžio dvi savaites" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "Pamiršote slaptažodį?" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Jei pamiršote savo slaptažodį, %s gali sukurti Jums naują. Įrašykite savo paskyros vartotojo vardą ir mums pateikto el. pašto adresą ir mes Jums persiųsime naująjį slaptažodį." #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "El. paštas" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "Generuoti slaptažodį" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Dalyvauja nuo" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "Stebi" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "Yra stebimas" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Norėdami prisiregistruoti %s užlipdykite žemiau esančią anketą" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "Naujos, %s išsiųstos gairės" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Žymių nėra" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "Naujos gairės" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Susiję gairės" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Pašalinti iš bičiulių sąrašo" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Įtraukti į bičiulių sąrašą" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "Veiksmai" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "Abėcėlė" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "Populiarumas" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "Žymės" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Atsijungti" scuttle-0.7.4/locales/messages.po000066400000000000000000000454571103742314700170170ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-03-18 21:39-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: ..\..\..\about.php:25 ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "" #: ..\..\..\alltags.php:59 ..\..\..\populartags.php:63 ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 ..\..\..\search.php:61 ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "" #: ..\..\..\bookmarks.php:71 #, php-format msgid "User with username %s was not found" msgstr "" #: ..\..\..\bookmarks.php:94 ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "" #: ..\..\..\bookmarks.php:114 ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "" #: ..\..\..\bookmarks.php:122 ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "" "There was an error saving your bookmark. Please try again or contact the " "administrator." msgstr "" #: ..\..\..\bookmarks.php:160 ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "" #: ..\..\..\edit.php:88 ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "" #: ..\..\..\functions.inc.php:110 ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "" #: ..\..\..\history.php:65 msgid "History" msgstr "" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "" #: ..\..\..\import.php:86 ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "" #: ..\..\..\import.php:97 ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "" #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "" #: ..\..\..\jsScuttle.php:71 msgid "Not Available" msgstr "" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "" #: ..\..\..\login.php:48 ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "" #: ..\..\..\password.php:35 msgid "" "You must enter your e-mail address." msgstr "" #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "" #: ..\..\..\password.php:45 msgid "" "No matches found for that combination of username and e-mail address." msgstr "" #: ..\..\..\password.php:53 msgid "" "There was an error while generating your new password. Please try again." msgstr "" #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "" #: ..\..\..\password.php:57 msgid "" "To keep your bookmarks secure, you should change this password in your " "profile the next time you log in." msgstr "" #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "" #: ..\..\..\populartags.php:54 ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "" #: ..\..\..\profile.php:54 ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "" #: ..\..\..\profile.php:60 msgid "My Profile" msgstr "" #: ..\..\..\profile.php:62 ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "" #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "" #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "" #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "" #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "" #: ..\..\..\register.php:33 msgid "You must enter a username, password and e-mail address." msgstr "" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "" #: ..\..\..\register.php:41 msgid "E-mail address is not valid. Please try again." msgstr "" #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "" #: ..\..\..\register.php:57 ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "" #: ..\..\..\search.inc.php:29 ..\..\..\search.inc.php:57 msgid "Search" msgstr "" #: ..\..\..\search.inc.php:35 msgid "this user's bookmarks" msgstr "" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "" #: ..\..\..\search.inc.php:41 msgid "my watchlist" msgstr "" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "" #: ..\..\..\search.php:91 ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "" #: ..\..\..\tags.php:38 ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "" #: ..\..\..\watched.php:105 msgid "My Watchlist" msgstr "" #: ..\..\..\watched.php:107 ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 msgid "Watchlist" msgstr "" #: ..\..\..\templates\about.tpl.php:6 msgid "" "Store all your favourite links in one place, accessible " "from anywhere." msgstr "" #: ..\..\..\templates\about.tpl.php:7 msgid "" "Share your bookmarks with everyone, with friends on your " "watchlist or just keep them private." msgstr "" #: ..\..\..\templates\about.tpl.php:8 msgid "" "Tag your bookmarks with as many labels as you want, instead " "of wrestling with folders." msgstr "" #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "" "Register now to start using %s!" msgstr "" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "" "%s is based on an open-" "source project licensed under the GNU General Public " "License. This means you can host it on your own web server for free, " "whether it is on the Internet, a private network or just your own computer." msgstr "" #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "" "%1$s supports most of the del.icio.us " "API. Almost all " "of the neat tools made for that system can be modified to work with %1$s " "instead. If you find a tool that won't let you change the API address, ask " "the creator to add this setting. You never know, they might just do it." msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:17 ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "" msgstr[1] "" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "" "Drag one of the following bookmarklets to your browser's bookmarks and click " "it whenever you want to add the page you are on to %s" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:24 msgid "Confirm Password" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "" "Log in to the export page at " "del.icio.us" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "" "Save the resulting XML " "file to your computer" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "" "Click Browse... to find this file on your computer. The maximum " "size the file can be is 1MB" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "" "Click Import to start importing the bookmarks; it may take a " "minute" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "" "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "" "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > " "Export..." msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "" "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "" #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "" "Click Browse... to find the saved bookmark file on your computer. " "The maximum size the file can be is 1MB" msgstr "" #: ..\..\..\templates\login.tpl.php:20 ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "" "If you have forgotten your password, %s can generate a new one. Enter the " "username and e-mail address of your account into the form below and we will " "e-mail your new password to you." msgstr "" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 msgid "Watching" msgstr "" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "" "Sign up here to create a free %s account. All the information requested " "below is required" msgstr "" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "" #: ..\..\..\templates\rss.tpl.php:17 ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 msgid "Actions" msgstr "" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "" #: ..\..\..\templates\tags.tpl.php:9 msgid "Popularity" msgstr "" #: ..\..\..\templates\toolbar.inc.php:11 msgid "Bookmarks" msgstr "" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "" scuttle-0.7.4/locales/nl_NL/000077500000000000000000000000001103742314700156335ustar00rootroot00000000000000scuttle-0.7.4/locales/nl_NL/LC_MESSAGES/000077500000000000000000000000001103742314700174205ustar00rootroot00000000000000scuttle-0.7.4/locales/nl_NL/LC_MESSAGES/messages.mo000066400000000000000000000136161103742314700215730ustar00rootroot00000000000000GTa 3 9FUfnw tfNn %9 1   # !A c /p L  W L QY  K  . 7 D O c k s {    \ ) >: y      3 . 8 F J W   )<Rl r| ?Y3 K#Y}  6' , 4.@LoX Q(zK  "/E MY an j:[K7-=kz % #*=4&CA) >8-!+E/1:,3$G B69?@0F (<27'";.5D%s Bookmarks%s: Recent bookmarksAboutAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAll TagsBookmark savedBookmarkletClick Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailEditEdit BookmarkExport your bookmarks from your browser to a fileFileHomepageImportImport bookmarks from bookmark fileImport bookmarks from del.icio.usInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLog InLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...NameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNo bookmarks availablePage %d of %dPasswordPopular TagsPost to %sPost to %s (Pop-up)PrivacyPrivateProfilePublicRecent BookmarksRelated TagsRemove from WatchlistRequiredSave ChangesSave the resulting XML file to your computerSearch BookmarksSelect the default privacy setting for your imported bookmarksShared with Watch ListTagsTitleUsernameXML error: %s at line %dYou have now logged outYou must be logged in before you can add bookmarks.Your bookmark must have a title and an addressall bookmarksformy bookmarksProject-Id-Version: scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-03-18 21:46-0800 Last-Translator: Marcus Campbell Language-Team: nl-NL MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Dutch X-Poedit-Country: NETHERLANDS Plural-Forms: nplurals=2; plural=(n != 1); %s Bookmarks%s: Recente bookmarksOver onsBookmark toevoegenVoeg een bookmark toeVoeg toe aan 'watch-list'AdresAlle tagsBookmark opgeslagenBookmarkletKlik vervolgens op Bladeren... om het opgeslagen bookmark bestand op de computer te vinden. De maximum toegelaten bestandsgrootte op onze server is 1MBKlik vervolgens op Bladeren... om dit opgeslagen bestand op de computer te vinden. De maximum toegelaten bestandsgrootte op onze server is 1MBKlik op Importeren om het importeren te starten. Dit kan enkele minuten duren.Door comma's gescheidenKopiërenXML bestand kon niet geopend wordenDatumVerwijderenBookmark VerwijderenOmschrijvingWachtwoord de komende 2 weken niet nog een keer vragenSleep een van de volgende 'bookmarklets' naar de link-balk van je browser, en klik er vervolgens op als je je op een pagina bevind die je aan %s wilt toevoegenEmailBewerkenBookmark BewerkenBookmarks exporteren vanuit een browserBestandHomepageImporterenImporteer bookmarks uit een bookmark bestandImporteer van del.icio.usInstructiesInternet Explorer, Mozilla Firefox en NetscapeInternet Explorer: File > Import and Export... > Export FavoritesInloggenLog in op de export pagina op del.icio.usLid sindsMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...NaamNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...Nieuw wachtwoordGeen bookmarks beschikbaarPagina %d van %dWachtwoordPopulaire TagsPlaats op %sPlaats op %s (pop-up)PrivacyPriv&egrav;ProfielPubliekelijkRecente bookmarksGerelateerde TagsVan 'watch-list' verwijderenVerplichtVeranderingen opslaanSla het resulterende XML bestand op, op de locale computerBookmarks zoekenSelecteer welke privacy instelling moet worden toegepast op de geïmporteerde bookmarksGedeeld met 'watch list'TagsTitelGebruikersnaamXML fout: %s op regel %dJe bent uitgelogdJe moet ingelogd zijn om bookmarks toe te kunnen voegenJe bookmarks moeten een titel en adres hebbenAlle bookmarksvoorMijn bookmarksscuttle-0.7.4/locales/nl_NL/LC_MESSAGES/messages.po000066400000000000000000000555361103742314700216050ustar00rootroot00000000000000# Scuttle nl-NL Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # # msgid "" msgstr "" "Project-Id-Version: scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-03-18 21:46-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: nl-NL \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" "X-Poedit-Country: NETHERLANDS\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Over ons" #: ..\..\..\ajaxDelete.php:29 #, fuzzy msgid "You are not allowed to delete this bookmark" msgstr "De bookmark kon niet worden verwijderd" #: ..\..\..\ajaxDelete.php:33 #, fuzzy msgid "Failed to delete bookmark" msgstr "Bookmark Verwijderen" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "Alle tags" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "" #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "Bookmark werd niet gevonden" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "Je bookmarks moeten een titel en adres hebben" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "Bookmark opgeslagen" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Voeg een bookmark toe" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "Bookmark toevoegen" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "Je moet ingelogd zijn om bookmarks toe te kunnen voegen" #: ..\..\..\bookmarks.php:213 #, fuzzy msgid "My Bookmarks" msgstr "%s Bookmarks" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Bookmark Bewerken" #: ..\..\..\edit.php:34 #, fuzzy, php-format msgid "Bookmark with id %s not was not found" msgstr "Bookmark werd niet gevonden" #: ..\..\..\edit.php:39 #, fuzzy msgid "You are not allowed to edit this bookmark" msgstr "De bookmark kon niet worden verwijderd" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "" #: ..\..\..\edit.php:78 #, fuzzy msgid "Failed to delete the bookmark" msgstr "De bookmark kon niet worden verwijderd" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "Veranderingen opslaan" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Bestand" #: ..\..\..\functions.inc.php:116 #, fuzzy msgid "Information" msgstr "Instructies" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "" #: ..\..\..\history.php:65 msgid "History" msgstr "" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "XML bestand kon niet geopend worden" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XML fout: %s op regel %d" #: ..\..\..\import.php:54 #, fuzzy msgid "Import Bookmarks from del.icio.us" msgstr "Importeer van del.icio.us" #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 #, fuzzy msgid "You have already submitted this bookmark." msgstr "Je hebt deze bookmark al opgenomen" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 #, fuzzy msgid "Bookmark imported." msgstr "Bookmark opgeslagen" #: ..\..\..\importNetscape.php:81 #, fuzzy msgid "Import Bookmarks from Browser File" msgstr "Importeer bookmarks uit een bookmark bestand" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "Je bent uitgelogd" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Recente bookmarks" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "Recente bookmarks" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "" #: ..\..\..\jsScuttle.php:71 #, fuzzy msgid "Not Available" msgstr "Geen bookmarks beschikbaar" #: ..\..\..\login.php:38 #, fuzzy msgid "The details you have entered are incorrect. Please try again." msgstr "De ingevoerde details zijn niet correct. Probeer het nog eens." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Inloggen" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "" #: ..\..\..\password.php:35 #, fuzzy msgid "You must enter your e-mail address." msgstr "Een gebruikersnaam, wachtwoord, naam en email adres moeten worden opgegeven" #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "" #: ..\..\..\password.php:45 #, fuzzy msgid "No matches found for that combination of username and e-mail address." msgstr "Een gebruikersnaam, wachtwoord, naam en email adres moeten worden opgegeven" #: ..\..\..\password.php:53 #, fuzzy msgid "There was an error while generating your new password. Please try again." msgstr "De ingevoerde details zijn niet correct. Probeer het nog eens." #: ..\..\..\password.php:57 #, fuzzy msgid "Your new password is:" msgstr "Bevestiging nieuw wachtwoord" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "" #: ..\..\..\password.php:60 #, fuzzy, php-format msgid "%s Account Information" msgstr "Instructies" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "" #: ..\..\..\password.php:69 #, fuzzy msgid "Forgotten Password" msgstr "Nieuw wachtwoord" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "Populaire Tags" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "" #: ..\..\..\profile.php:60 #, fuzzy msgid "My Profile" msgstr "Profiel" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "Profiel" #: ..\..\..\profile.php:80 #, fuzzy msgid "Password and confirmation do not match." msgstr "Wachtwoord en wachtwoordbevestiging komen niet overen" #: ..\..\..\profile.php:84 #, fuzzy msgid "Password must be at least 6 characters long." msgstr "Wachtwoord dient minimaal 6 karakters lang te zijn" #: ..\..\..\profile.php:88 #, fuzzy msgid "E-mail address is not valid." msgstr "Email adres is ongeldig" #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "" #: ..\..\..\profile.php:94 #, fuzzy msgid "Changes saved." msgstr "Wijzigingen opgeslagen" #: ..\..\..\register.php:33 #, fuzzy msgid "You must enter a username, password and e-mail address." msgstr "Een gebruikersnaam, wachtwoord, naam en email adres moeten worden opgegeven" #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "" #: ..\..\..\register.php:41 #, fuzzy msgid "E-mail address is not valid. Please try again." msgstr "Email adres is ongeldig" #: ..\..\..\register.php:50 #, fuzzy msgid "You have successfully registered. Enjoy!" msgstr "De bookmark is succesvol verwijderd" #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "" #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "" #: ..\..\..\search.inc.php:35 #, fuzzy msgid "this user's bookmarks" msgstr "%s Bookmarks" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "Mijn bookmarks" #: ..\..\..\search.inc.php:41 #, fuzzy msgid "my watchlist" msgstr "Voeg toe aan 'watch-list'" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "Alle bookmarks" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "voor" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "Bookmarks zoeken" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "Tags" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s Bookmarks" #: ..\..\..\watch.php:84 #, fuzzy msgid "User removed from your watchlist" msgstr "Van 'watch-list' verwijderen" #: ..\..\..\watch.php:86 #, fuzzy msgid "User added to your watchlist" msgstr "Voeg toe aan 'watch-list'" #: ..\..\..\watched.php:105 #, fuzzy msgid "My Watchlist" msgstr "Watch List" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "Watch List" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "" #: ..\..\..\templates\about.tpl.php:7 #, fuzzy msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Deel je bookmarks met iedereen, met gebruikers op jouw 'watch-list' of hou ze gewoon voor jezelf" #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "" #: ..\..\..\templates\about.tpl.php:9 #, fuzzy, php-format msgid "Register now to start using %s!" msgstr "Registreer nu om je eigen bookmarks op te slaan" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "" #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "Datum" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "Titel" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "Bewerken" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "Verwijderen" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, php-format msgid " and %s1 other%s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:81 #, php-format msgid " and %2$s%1$s others%3$s" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "Kopiëren" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "Pagina %d van %d" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "Geen bookmarks beschikbaar" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 #, fuzzy msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "%s Bookmarks" msgstr[1] "%s Bookmarks" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "Adres" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "Verplicht" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Omschrijving" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "Door comma's gescheiden" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "Privacy" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "Publiekelijk" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "Gedeeld met 'watch list'" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "Priv&egrav;" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "Bookmark Verwijderen" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bookmarklet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Sleep een van de volgende 'bookmarklets' naar de link-balk van je browser, en klik er vervolgens op als je je op een pagina bevind die je aan %s wilt toevoegen" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "Plaats op %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "Plaats op %s (pop-up)" #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "Importeren" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "Importeer bookmarks uit een bookmark bestand" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox en Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "Importeer van del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "Gebruikersnaam" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "Nieuw wachtwoord" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "Bevestiging nieuw wachtwoord" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "Email" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "Naam" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Homepage" #: ..\..\..\templates\error.404.tpl.php:5 #, fuzzy msgid "Not Found" msgstr "Gebruiker werd niet gevonden" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "Log in op de export pagina op del.icio.us" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "Sla het resulterende XML bestand op, op de locale computer" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Klik vervolgens op Bladeren... om dit opgeslagen bestand op de computer te vinden. De maximum toegelaten bestandsgrootte op onze server is 1MB" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Selecteer welke privacy instelling moet worden toegepast op de geïmporteerde bookmarks" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Klik op Importeren om het importeren te starten. Dit kan enkele minuten duren." #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "Instructies" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "Bookmarks exporteren vanuit een browser" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: File > Import and Export... > Export Favorites" #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Klik vervolgens op Bladeren... om het opgeslagen bookmark bestand op de computer te vinden. De maximum toegelaten bestandsgrootte op onze server is 1MB" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "Wachtwoord" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "Wachtwoord de komende 2 weken niet nog een keer vragen" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "" #: ..\..\..\templates\password.tpl.php:19 #, fuzzy msgid "Generate Password" msgstr "Nieuw wachtwoord" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Lid sinds" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 #, fuzzy msgid "Watching" msgstr "Watch List" #: ..\..\..\templates\profile.tpl.php:50 #, fuzzy msgid "Watched By" msgstr "Watched" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "" #: ..\..\..\templates\rss.tpl.php:9 #, fuzzy, php-format msgid "Recent bookmarks posted to %s" msgstr "Recente bookmarks" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 #, fuzzy msgid "No bookmarks found" msgstr "Geen bookmarks beschikbaar" #: ..\..\..\templates\sidebar.block.recent.php:15 #, fuzzy msgid "Recent Tags" msgstr "Gerelateerde Tags" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "Gerelateerde Tags" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Van 'watch-list' verwijderen" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Voeg toe aan 'watch-list'" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "Instructies" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "" #: ..\..\..\templates\tags.tpl.php:9 #, fuzzy msgid "Popularity" msgstr "Populaire Tags" #: ..\..\..\templates\toolbar.inc.php:11 #, fuzzy msgid "Bookmarks" msgstr "%s Bookmarks" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "" scuttle-0.7.4/locales/pt_BR/000077500000000000000000000000001103742314700156375ustar00rootroot00000000000000scuttle-0.7.4/locales/pt_BR/LC_MESSAGES/000077500000000000000000000000001103742314700174245ustar00rootroot00000000000000scuttle-0.7.4/locales/pt_BR/LC_MESSAGES/messages.mo000066400000000000000000000414011103742314700215700ustar00rootroot00000000000000  q? V cn p+KBnWgU   #=,N {% tfaN'<AZi ~ %Za.~  1-KPc | |"!#! @ [/hLW QQ^  K 1%>dilj# %/ HV'_,     $0N&W ~  \%6>EY  = (Z . W H !9S!!h!!" "'>"f"o" """ """k"C#+^#)#)##(#3$HS$$$$.$@$>% T%b%k%(o% %%n% )' 5'?') 9) F)S) k)x)+/+XM++e,,w, --#-"8- [-e-x- ----;-. .4.7E.}...}:/d/040J0&Q0 x00 0000 0*00101812%2)527_2222222 33 +373F3 464!J4*l4!4 4V4 5/+5S[5555_5 76YD666 666V6 ;7#F7j7s7x777528h8x888W8,949 C9P9_99 99999 9'9 91:3: E: f: p:|:b:::;K;*h;;r; <<1<NA<+<4<q<Qc=L=>~ >>0>.>)>?((?Q? g?q? ????5@3R@3@!@@1@@$AUeA,AAA5AF1BxBBBB*BBB, GhXW;3}UN!PlMT"AL=QV$ y~k2o_sz# g BvD' d-O0|b.{`K>HcFjCu 9)6xtZSw7Iq1Y:+^fa5J<@/%[?ip4e&nE]8Rr\*(m and %s others and 1 other%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it.%s Account Information%s Bookmarks%s Profile%s Watched Bookmarks%s bookmarks%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.%s: Recent bookmarksE-mailRegister now to start using %s!Share your bookmarks with everyone, with friends on your watchlist or just keep them private.Store all your favourite links in one place, accessible from anywhere.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAll BookmarksAll RecentAll TagsAlphabetAn critical error occuredAn error occuredAn error occurred while saving your changes.Are you sure?Bookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedConfirm New PasswordCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.E-mail address is not valid. Please try again.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileForgotten PasswordForgotten your password?Geek StuffGeneral ErrorGeneral server errorGenerate PasswordHomepageIf you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.ImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInput the default tags you want added to your imported bookmarksInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksMy Popular TagsMy TagsMy WatchedNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNew password generated and sent to %sNextNoNo bookmarks availableNo bookmarks foundNo matches found for that combination of username and e-mail address.No matches found for that username.Not FoundOnline Bookmarks ManagerPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Popular TagsPopularityPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListShowSign up here to create a free %s account. All the information requested below is requiredSort by:System Popular TagsTagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.There was an error while generating your new password. Please try again.This username already exists, please make another choice.TitleTo keep your bookmarks secure, you should change this password in your profile the next time you log in.URLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUsernameUsername was not specifiedWatch ListWatchedWatched BookmarksWatched ByXML error: %s at line %dYesYou must enter a username, password, name and e-mail address.You are already logged in.You are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.You must enter your e-mail address.You must enter your username.YourYour BookmarksYour bookmark must have a title and an addressYour name and e-mail address are required and must be completed.Your new password is:all bookmarksbookmarkformessage_die() was called multiple times.my bookmarksmy watched bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-04-06 17:26-0300 Last-Translator: Daniel duende Carvalho Language-Team: Portuguese/Brazil MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); e %s outrose 1 outroO %1$s suporta a maior parte do API do del.icio.us. Quase todas as adoráveis ferramentas desenvolvidas para aquele sistema podem ser modificadas para funcionar com o %1$s. Se você encontrar uma ferramenta que não permita a mudança de seu endereço de API, solicite a seu criador para que adicione esta configuração. Nunca se sabe. Ele pode simplesmente atender a seu pedido.Informações da Conta de %s%s BookmarksPerfil de %s%s Bookmarks Observados%s bookmarksO %s é baseado em um projeto open source licenciado sob a GNU General Public Licence. Isso significa que você pode hospedá-lo em seu próprio servidor de rede gratuitamente, esteja ele na Internet, em uma rede privada ou apenas em seu computador.%s: Bookmarks recentesE-mailRegistre-se agora para começar a usar o %s!Compartilhe seus bookmarks com todo o mundo, com amigos em sua lista de observação ou guarde-os apenas para você.Agregue todos os seus links favoritos em um só local, acessível de qualquer lugar.Identifique seus bookmarks com tantos tags quanto quiser, em vez de lutar contra pastas e diretórios.SobreAdicionar BookmarkAdicione um BookmarkAdicionar à Lista de ObservaçãoEndereçoTodos os BookmarksTodos os RecentesTodos os TagsAlfabetoUm erro crítico ocorreuUm erro ocorreuUm erro ocorreu durante a gravação das suas alterações.Você tem certeza disso!?Bookmark importado.Bookmark gravadoO Bookmark com a identificação %s não foi encontradoGerador de BookmarksAlterações gravadas.Clique Procurar... para encontrar o arquivo de bookmarks gravado em seu computador. O tamanho máximo permitido para o arquivo é 1MBClique em Navegar...para encontrar este arquivo no seu computador. O tamanho máximo que o arquivo pode ter é 1MBClique em Importar para começar a importar os bookmarks. Isso pode levar um minutinho...Separados por vírgulaConfirme a Nova SenhaCopiarNão foi possível abrir a entrada XMLErro CríticoInformações ImportantesMODO DEBUGDataApagarApagar BookmarkDescriçãoNão pergunte minha senha por duas semanasArraste um dos seguintes Geradores de Bookmark para a área de favoridos de seu navegador. Clique nele toda vez que quiser adicionar a página na qual você se encontra ao %sE-mailO endereço de e-mail fornecido não é válido.Endereço de email inválido. Por favor tente novamente.EditarEditar BookmarkErro durante a gravação do seu bookmarkExporte seus bookmarks de seu navegador para um arquivoFalha ao apagar bookmarkFalha ao apagar o bookmarkArquivoEsquecí a SenhaEsqueceu a sua senha?Coisas de GeekErro GeralErro Geral de servidorGerar SenhaPágina na WebSe você esqueceu a sua senha, o %s pode gerar uma nova para você. Digite o seu nome de usuário e o seu endereço de e-mail no formulário abaixo e nós enviaremos a nova senha para seu e-mail.ImportarImportar Bookmarks (Favoritos) do Arquivo do NavegadorImportar Bookmarks do del.icio.usImportar bookmarks do arquivo de bookmarksImportar bookmarks do del.icio.usInformaçõesDigite as tags padrão que você deseja que sejam adicionadas aos bookmarks importadosInstruçõesInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: Arquivo > Importar e Exportar... > Exportar FavoritosLinhaEntrar no sistemaSair do SistemaEntrar na página de exportação do del.icio.usMembro DesdeMozilla Firefox: Bookmarks > Gerenciar Bookmarks... > Arquivo > Exportar...Meus BookmarksMinhas Tags PopularesMinhas TagsMeus ObservadosNomeNetscape: Bookmarks > Gerenciar Bookmarks... > Ferramentas > Exportar...Nova SenhaNova senha gerada e enviada para %sPróximoNãoNenhum bookmark disponívelNenhum bookmark encontradoNenhum resultado encontrado para esta combinação de nome de usuário e endereço de e-mail Nenhum resultado encontrado pra este nome de usuárioNão EncontradoGerenciador Online de BookmarksPágina %d de %dSenhaA senha digitada não é idêntica àquela digitada no campo de confirmação de senha.A senha deve ter um mínimo de 6 caracteres.Tags popularesPopularidadePostar para %sPostar para %s (versão Pop-Up)AnteriorPrivacidadePrivadoPerfilPúblicoBookmarks RecentesTags RecentesBookmarks recentemente postados para %sRegistre-seFalha ao registrar-se. Por favor tente novamente.Tags RelacionadasRemover da Lista de ObservaçãoRequeridoErro de SQLSalva AlteraçõesSalvar o arquivo XML resultante em seu computador.BuscaBusca BookmarksResultados da BuscaSelecione o status de privacidade padrão para os seus bookmarks importadosPartilhado com a sua Lista de ObservaçãoMostrarCadastre-se aqui para criar uma conta gratuita no %s. Todas as informações solicitadas abaixo são necessárias.Ordenar por:Tags Populares GeraisTags (Rótulos)Os detalhes submetidos por você estão incorretos. Por favor tente novamente.A URL requisitada não pôde ser processadaA URL requisitada não foi encontrada neste servidorOcorreu um erro na gravação do seu bookmark. Por favor tente novamente ou entre em contato com o administrador.Ocorreu um erro durante a geração de sua nova senha. Por favor tente novamente.Este nome de usuário já existe. Por favor, escolha outro nome de usuário.TítuloPara manter seguros os seus bookmarks, você deveria alterar esta senha (em seu perfil) na próxima vez que entrar no sistema.URLUsuário adicionado à sua lista de observaçãoUsuário removido da sua lista de observaçãoO Nome de Usuário %s não foi encontradoNome de UsuárioO nome de usuário não foi especificadoLista de ObservaçãoObservadoBookmarks ObservadosObservado PorErro de XML: %s na linha %dSimVocê deve digitar um nome de usuário, uma senha, seu nome e endereço de e-mail.Você já entrou no sistema.Você não tem permissão para apagar este bookmarkVocê não tem permissão para editar este bookmarkVocê já submeteu este Bookmark.Você saiu do sistemaVocê completou o seu registro. Agora divirta-se!Você deve dar entrada no sistema para poder adicionar bookmarksVocê tem que digitar o seu endereço de e-mail.Você tem que digitar o seu nome de usuárioSeuSeus BookmarksO seu bookmark deve possuir um título e um endereçoSeu nome e endereço de email são requeridos e devem ser preenchidos.A sua nova senha é:todos os bookmarksbookmarkpormessage_die() foi chamada múltiplas vezesmeus bookmarksmeus bookmarks observadosscuttle-0.7.4/locales/pt_BR/LC_MESSAGES/messages.po000066400000000000000000000636321103742314700216050ustar00rootroot00000000000000# Scuttle pt-BR Translation # Copyright (C) 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Marcelo Jorge Vieira (metal) , 2006. # # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-04-06 17:26-0300\n" "Last-Translator: Daniel duende Carvalho \n" "Language-Team: Portuguese/Brazil\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\toolbar.inc.php:14 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "Sobre" #: ..\..\..\ajaxDelete.php:28 msgid "You are not allowed to delete this bookmark" msgstr "Você não tem permissão para apagar este bookmark" #: ..\..\..\ajaxDelete.php:32 msgid "Failed to delete bookmark" msgstr "Falha ao apagar bookmark" #: ..\..\..\alltags.php:48 msgid "All Tags" msgstr "Todos os Tags" #: ..\..\..\alltags.php:57 #: ..\..\..\bookmarks.php:64 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:39 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:55 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:56 #, php-format msgid "User with username %s not was not found" msgstr "O Nome de Usuário %s não foi encontrado" #: ..\..\..\bookmarks.php:87 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "O seu bookmark deve possuir um título e um endereço" #: ..\..\..\bookmarks.php:104 msgid "Bookmark saved" msgstr "Bookmark gravado" #: ..\..\..\bookmarks.php:106 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:71 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "Ocorreu um erro na gravação do seu bookmark. Por favor tente novamente ou entre em contato com o administrador." #: ..\..\..\bookmarks.php:143 #: ..\..\..\toolbar.inc.php:9 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "Adicione um Bookmark" #: ..\..\..\bookmarks.php:144 msgid "Add Bookmark" msgstr "Adicionar Bookmark" #: ..\..\..\bookmarks.php:147 msgid "You must be logged in before you can add bookmarks." msgstr "Você deve dar entrada no sistema para poder adicionar bookmarks" #: ..\..\..\bookmarks.php:196 #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s Bookmarks" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "Editar Bookmark" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "O Bookmark com a identificação %s não foi encontrado" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "Você não tem permissão para editar este bookmark" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "Erro durante a gravação do seu bookmark" #: ..\..\..\edit.php:73 msgid "Failed to delete the bookmark" msgstr "Falha ao apagar o bookmark" #: ..\..\..\edit.php:80 #: ..\..\..\templates\editprofile.tpl.php:59 msgid "Save Changes" msgstr "Salva Alterações" #: ..\..\..\functions.inc.php:98 msgid "message_die() was called multiple times." msgstr "message_die() foi chamada múltiplas vezes" #: ..\..\..\functions.inc.php:110 msgid "SQL Error" msgstr "Erro de SQL" #: ..\..\..\functions.inc.php:116 msgid "Line" msgstr "Linha" #: ..\..\..\functions.inc.php:116 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "Arquivo" #: ..\..\..\functions.inc.php:122 msgid "Information" msgstr "Informações" #: ..\..\..\functions.inc.php:127 msgid "Critical Information" msgstr "Informações Importantes" #: ..\..\..\functions.inc.php:132 msgid "An error occured" msgstr "Um erro ocorreu" #: ..\..\..\functions.inc.php:135 msgid "General Error" msgstr "Erro Geral" #: ..\..\..\functions.inc.php:143 msgid "An critical error occured" msgstr "Um erro crítico ocorreu" #: ..\..\..\functions.inc.php:146 msgid "Critical Error" msgstr "Erro Crítico" #: ..\..\..\functions.inc.php:155 msgid "DEBUG MODE" msgstr "MODO DEBUG" #: ..\..\..\import.php:39 msgid "Could not open XML input" msgstr "Não foi possível abrir a entrada XML" #: ..\..\..\import.php:43 #, php-format msgid "XML error: %s at line %d" msgstr "Erro de XML: %s na linha %d" #: ..\..\..\import.php:52 msgid "Import Bookmarks from del.icio.us" msgstr "Importar Bookmarks do del.icio.us" #: ..\..\..\import.php:84 #: ..\..\..\importNetscape.php:62 msgid "You have already submitted this bookmark." msgstr "Você já submeteu este Bookmark." #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:69 msgid "Bookmark imported." msgstr "Bookmark importado." #: ..\..\..\importNetscape.php:77 msgid "Import Bookmarks from Browser File" msgstr "Importar Bookmarks (Favoritos) do Arquivo do Navegador" #: ..\..\..\index.php:31 msgid "You have now logged out" msgstr "Você saiu do sistema" #: ..\..\..\index.php:38 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: Bookmarks recentes" #: ..\..\..\index.php:71 msgid "Online Bookmarks Manager" msgstr "Gerenciador Online de Bookmarks" #: ..\..\..\index.php:72 msgid "Recent Bookmarks" msgstr "Bookmarks Recentes" #: ..\..\..\jsScuttle.php:42 msgid "Are you sure?" msgstr "Você tem certeza disso!?" #: ..\..\..\jsScuttle.php:42 msgid "Yes" msgstr "Sim" #: ..\..\..\jsScuttle.php:42 msgid "No" msgstr "Não" #: ..\..\..\login.php:36 msgid "The details you have entered are incorrect. Please try again." msgstr "Os detalhes submetidos por você estão incorretos. Por favor tente novamente." #: ..\..\..\login.php:53 msgid "You are already logged in." msgstr "Você já entrou no sistema." #: ..\..\..\login.php:55 #: ..\..\..\toolbar.inc.php:14 #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "Entrar no sistema" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "Você tem que digitar o seu nome de usuário" #: ..\..\..\password.php:35 msgid "You must enter your e-mail address." msgstr "Você tem que digitar o seu endereço de e-mail." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "Nenhum resultado encontrado pra este nome de usuário" #: ..\..\..\password.php:45 msgid "No matches found for that combination of username and e-mail address." msgstr "Nenhum resultado encontrado para esta combinação de nome de usuário e endereço de e-mail " #: ..\..\..\password.php:53 msgid "There was an error while generating your new password. Please try again." msgstr "Ocorreu um erro durante a geração de sua nova senha. Por favor tente novamente." #: ..\..\..\password.php:57 msgid "Your new password is:" msgstr "A sua nova senha é:" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "Para manter seguros os seus bookmarks, você deveria alterar esta senha (em seu perfil) na próxima vez que entrar no sistema." #: ..\..\..\password.php:60 #, php-format msgid "%s Account Information" msgstr "Informações da Conta de %s" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "Nova senha gerada e enviada para %s" #: ..\..\..\password.php:69 msgid "Forgotten Password" msgstr "Esquecí a Senha" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\sidebar.block.popular.php:13 msgid "Popular Tags" msgstr "Tags populares" #: ..\..\..\profile.php:47 #: ..\..\..\templates\sidebar.block.profile.php:11 msgid "Profile" msgstr "Perfil" #: ..\..\..\profile.php:49 msgid "Username was not specified" msgstr "O nome de usuário não foi especificado" #: ..\..\..\profile.php:57 #, php-format msgid "%s Profile" msgstr "Perfil de %s" #: ..\..\..\profile.php:71 msgid "Your name and e-mail address are required and must be completed." msgstr "Seu nome e endereço de email são requeridos e devem ser preenchidos." #: ..\..\..\profile.php:75 msgid "Password and confirmation do not match." msgstr "A senha digitada não é idêntica àquela digitada no campo de confirmação de senha." #: ..\..\..\profile.php:79 msgid "Password must be at least 6 characters long." msgstr "A senha deve ter um mínimo de 6 caracteres." #: ..\..\..\profile.php:87 msgid "E-mail address is not valid." msgstr "O endereço de e-mail fornecido não é válido." #: ..\..\..\profile.php:91 msgid "An error occurred while saving your changes." msgstr "Um erro ocorreu durante a gravação das suas alterações." #: ..\..\..\profile.php:93 msgid "Changes saved." msgstr "Alterações gravadas." #: ..\..\..\register.php:30 msgid "You must enter a username, password, name and e-mail address." msgstr "Você deve digitar um nome de usuário, uma senha, seu nome e endereço de e-mail." #: ..\..\..\register.php:34 msgid "This username already exists, please make another choice." msgstr "Este nome de usuário já existe. Por favor, escolha outro nome de usuário." #: ..\..\..\register.php:38 msgid "E-mail address is not valid. Please try again." msgstr "Endereço de email inválido. Por favor tente novamente." #: ..\..\..\register.php:46 msgid "You have successfully registered. Enjoy!" msgstr "Você completou o seu registro. Agora divirta-se!" #: ..\..\..\register.php:48 msgid "Registration failed. Please try again." msgstr "Falha ao registrar-se. Por favor tente novamente." #: ..\..\..\register.php:52 #: ..\..\..\toolbar.inc.php:14 #: ..\..\..\templates\register.tpl.php:27 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "Registre-se" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:58 msgid "Search" msgstr "Busca" #: ..\..\..\search.inc.php:36 #, php-format msgid "%s bookmarks" msgstr "%s bookmarks" #: ..\..\..\search.inc.php:41 msgid "my bookmarks" msgstr "meus bookmarks" #: ..\..\..\search.inc.php:42 msgid "my watched bookmarks" msgstr "meus bookmarks observados" #: ..\..\..\search.inc.php:46 msgid "all bookmarks" msgstr "todos os bookmarks" #: ..\..\..\search.inc.php:49 msgid "for" msgstr "por" #: ..\..\..\search.php:110 #: ..\..\..\search.php:114 msgid "Search Bookmarks" msgstr "Busca Bookmarks" #: ..\..\..\search.php:112 msgid "Search Results" msgstr "Resultados da Busca" #: ..\..\..\toolbar.inc.php:9 msgid "Your Bookmarks" msgstr "Seus Bookmarks" #: ..\..\..\toolbar.inc.php:9 msgid "Watched Bookmarks" msgstr "Bookmarks Observados" #: ..\..\..\toolbar.inc.php:9 msgid "All Bookmarks" msgstr "Todos os Bookmarks" #: ..\..\..\toolbar.inc.php:9 #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "Sair do Sistema" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "Usuário removido da sua lista de observação" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "Usuário adicionado à sua lista de observação" #: ..\..\..\watched.php:64 #: ..\..\..\watched.php:101 #, php-format msgid "%s Watched Bookmarks" msgstr "%s Bookmarks Observados" #: ..\..\..\services\userservice.php:93 msgid "Your" msgstr "Seu" #: ..\..\..\services\userservice.php:101 #, php-format msgid "%s'" msgstr "" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "Agregue todos os seus links favoritos em um só local, acessível de qualquer lugar." #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "Compartilhe seus bookmarks com todo o mundo, com amigos em sua lista de observação ou guarde-os apenas para você." #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "Identifique seus bookmarks com tantos tags quanto quiser, em vez de lutar contra pastas e diretórios." #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "Registre-se agora para começar a usar o %s!" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "Coisas de Geek" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "O %s é baseado em um projeto open source licenciado sob a GNU General Public Licence. Isso significa que você pode hospedá-lo em seu próprio servidor de rede gratuitamente, esteja ele na Internet, em uma rede privada ou apenas em seu computador." #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "O %1$s suporta a maior parte do API do del.icio.us. Quase todas as adoráveis ferramentas desenvolvidas para aquele sistema podem ser modificadas para funcionar com o %1$s. Se você encontrar uma ferramenta que não permita a mudança de seu endereço de API, solicite a seu criador para que adicione esta configuração. Nunca se sabe. Ele pode simplesmente atender a seu pedido." #: ..\..\..\templates\bookmarks.tpl.php:10 #: ..\..\..\templates\tags.tpl.php:6 msgid "Sort by:" msgstr "Ordenar por:" #: ..\..\..\templates\bookmarks.tpl.php:11 msgid "Date" msgstr "Data" #: ..\..\..\templates\bookmarks.tpl.php:12 #: ..\..\..\templates\editbookmark.tpl.php:28 msgid "Title" msgstr "Título" #: ..\..\..\templates\bookmarks.tpl.php:13 msgid "URL" msgstr "URL" #: ..\..\..\templates\bookmarks.tpl.php:52 msgid "Edit" msgstr "Editar" #: ..\..\..\templates\bookmarks.tpl.php:52 msgid "Delete" msgstr "Apagar" #: ..\..\..\templates\bookmarks.tpl.php:67 msgid " and 1 other" msgstr "e 1 outro" #: ..\..\..\templates\bookmarks.tpl.php:70 #, php-format msgid " and %s others" msgstr "e %s outros" #: ..\..\..\templates\bookmarks.tpl.php:73 msgid "Copy" msgstr "Copiar" #: ..\..\..\templates\bookmarks.tpl.php:121 #: ..\..\..\templates\bookmarks.tpl.php:125 msgid "Previous" msgstr "Anterior" #: ..\..\..\templates\bookmarks.tpl.php:132 #: ..\..\..\templates\bookmarks.tpl.php:134 msgid "Next" msgstr "Próximo" #: ..\..\..\templates\bookmarks.tpl.php:135 #, php-format msgid "Page %d of %d" msgstr "Página %d de %d" #: ..\..\..\templates\bookmarks.tpl.php:145 msgid "No bookmarks available" msgstr "Nenhum bookmark disponível" #: ..\..\..\templates\editbookmark.tpl.php:23 msgid "Address" msgstr "Endereço" #: ..\..\..\templates\editbookmark.tpl.php:25 #: ..\..\..\templates\editbookmark.tpl.php:30 #: ..\..\..\templates\editprofile.tpl.php:17 #: ..\..\..\templates\editprofile.tpl.php:19 msgid "Required" msgstr "Requerido" #: ..\..\..\templates\editbookmark.tpl.php:33 #: ..\..\..\templates\editprofile.tpl.php:24 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "Descrição" #: ..\..\..\templates\editbookmark.tpl.php:38 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Tags" msgstr "Tags (Rótulos)" #: ..\..\..\templates\editbookmark.tpl.php:40 #: ..\..\..\templates\importDelicious.tpl.php:17 #: ..\..\..\templates\importNetscape.tpl.php:18 msgid "Comma-separated" msgstr "Separados por vírgula" #: ..\..\..\templates\editbookmark.tpl.php:43 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Privacy" msgstr "Privacidade" #: ..\..\..\templates\editbookmark.tpl.php:46 #: ..\..\..\templates\importDelicious.tpl.php:23 #: ..\..\..\templates\importNetscape.tpl.php:24 msgid "Public" msgstr "Público" #: ..\..\..\templates\editbookmark.tpl.php:47 #: ..\..\..\templates\importDelicious.tpl.php:24 #: ..\..\..\templates\importNetscape.tpl.php:25 msgid "Shared with Watch List" msgstr "Partilhado com a sua Lista de Observação" #: ..\..\..\templates\editbookmark.tpl.php:48 #: ..\..\..\templates\importDelicious.tpl.php:25 #: ..\..\..\templates\importNetscape.tpl.php:26 msgid "Private" msgstr "Privado" #: ..\..\..\templates\editbookmark.tpl.php:60 msgid "Delete Bookmark" msgstr "Apagar Bookmark" #: ..\..\..\templates\editbookmark.tpl.php:74 msgid "Bookmarklet" msgstr "Gerador de Bookmarks" #: ..\..\..\templates\editbookmark.tpl.php:75 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Arraste um dos seguintes Geradores de Bookmark para a área de favoridos de seu navegador. Clique nele toda vez que quiser adicionar a página na qual você se encontra ao %s" #: ..\..\..\templates\editbookmark.tpl.php:77 #, php-format msgid "Post to %s" msgstr "Postar para %s" #: ..\..\..\templates\editbookmark.tpl.php:78 #, php-format msgid "Post to %s (Pop-up)" msgstr "Postar para %s (versão Pop-Up)" #: ..\..\..\templates\editbookmark.tpl.php:81 #: ..\..\..\templates\importDelicious.tpl.php:31 #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Import" msgstr "Importar" #: ..\..\..\templates\editbookmark.tpl.php:83 msgid "Import bookmarks from bookmark file" msgstr "Importar bookmarks do arquivo de bookmarks" #: ..\..\..\templates\editbookmark.tpl.php:83 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox and Netscape" #: ..\..\..\templates\editbookmark.tpl.php:84 msgid "Import bookmarks from del.icio.us" msgstr "Importar bookmarks do del.icio.us" #: ..\..\..\templates\editprofile.tpl.php:10 #: ..\..\..\templates\login.tpl.php:9 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:10 msgid "Username" msgstr "Nome de Usuário" #: ..\..\..\templates\editprofile.tpl.php:12 msgid "New Password" msgstr "Nova Senha" #: ..\..\..\templates\editprofile.tpl.php:14 msgid "Confirm New Password" msgstr "Confirme a Nova Senha" #: ..\..\..\templates\editprofile.tpl.php:16 #: ..\..\..\templates\profile.tpl.php:12 #: ..\..\..\templates\register.tpl.php:18 msgid "Name" msgstr "Nome" #: ..\..\..\templates\editprofile.tpl.php:18 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\editprofile.tpl.php:20 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "Página na Web" #: ..\..\..\templates\editprofile.tpl.php:22 #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "Membro Desde" #: ..\..\..\templates\editprofile.tpl.php:30 #: ..\..\..\templates\profile.tpl.php:35 msgid "Watch List" msgstr "Lista de Observação" #: ..\..\..\templates\editprofile.tpl.php:45 #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "Observado Por" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "Não Encontrado" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "A URL requisitada não foi encontrada neste servidor" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "Erro Geral de servidor" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "A URL requisitada não pôde ser processada" #: ..\..\..\templates\importDelicious.tpl.php:38 msgid "Log in to the export page at del.icio.us" msgstr "Entrar na página de exportação do del.icio.us" #: ..\..\..\templates\importDelicious.tpl.php:39 msgid "Save the resulting XML file to your computer" msgstr "Salvar o arquivo XML resultante em seu computador." #: ..\..\..\templates\importDelicious.tpl.php:40 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "Clique em Navegar...para encontrar este arquivo no seu computador. O tamanho máximo que o arquivo pode ter é 1MB" #: ..\..\..\templates\importDelicious.tpl.php:41 #: ..\..\..\templates\importNetscape.tpl.php:48 msgid "Input the default tags you want added to your imported bookmarks" msgstr "Digite as tags padrão que você deseja que sejam adicionadas aos bookmarks importados" #: ..\..\..\templates\importDelicious.tpl.php:42 #: ..\..\..\templates\importNetscape.tpl.php:49 msgid "Select the default privacy setting for your imported bookmarks" msgstr "Selecione o status de privacidade padrão para os seus bookmarks importados" #: ..\..\..\templates\importDelicious.tpl.php:43 #: ..\..\..\templates\importNetscape.tpl.php:50 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "Clique em Importar para começar a importar os bookmarks. Isso pode levar um minutinho..." #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Instructions" msgstr "Instruções" #: ..\..\..\templates\importNetscape.tpl.php:40 msgid "Export your bookmarks from your browser to a file" msgstr "Exporte seus bookmarks de seu navegador para um arquivo" #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: Arquivo > Importar e Exportar... > Exportar Favoritos" #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: Bookmarks > Gerenciar Bookmarks... > Arquivo > Exportar..." #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: Bookmarks > Gerenciar Bookmarks... > Ferramentas > Exportar..." #: ..\..\..\templates\importNetscape.tpl.php:47 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "Clique Procurar... para encontrar o arquivo de bookmarks gravado em seu computador. O tamanho máximo permitido para o arquivo é 1MB" #: ..\..\..\templates\login.tpl.php:14 #: ..\..\..\templates\register.tpl.php:14 msgid "Password" msgstr "Senha" #: ..\..\..\templates\login.tpl.php:16 msgid "Don't ask for my password for 2 weeks" msgstr "Não pergunte minha senha por duas semanas" #: ..\..\..\templates\login.tpl.php:24 msgid "Forgotten your password?" msgstr "Esqueceu a sua senha?" #: ..\..\..\templates\myTagsDynamicInsert.inc.php:34 #: ..\..\..\templates\myTagsDynamicInsert.inc.php:65 msgid "My Tags" msgstr "Minhas Tags" #: ..\..\..\templates\myTagsDynamicInsert.inc.php:44 msgid "Show" msgstr "Mostrar" #: ..\..\..\templates\myTagsDynamicInsert.inc.php:57 msgid "System Popular Tags" msgstr "Tags Populares Gerais" #: ..\..\..\templates\myTagsDynamicInsert.inc.php:70 msgid "My Popular Tags" msgstr "Minhas Tags Populares" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "Se você esqueceu a sua senha, o %s pode gerar uma nova para você. Digite o seu nome de usuário e o seu endereço de e-mail no formulário abaixo e nós enviaremos a nova senha para seu e-mail." #: ..\..\..\templates\password.tpl.php:14 #: ..\..\..\templates\register.tpl.php:22 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 msgid "Generate Password" msgstr "Gerar Senha" #: ..\..\..\templates\register.tpl.php:5 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "Cadastre-se aqui para criar uma conta gratuita no %s. Todas as informações solicitadas abaixo são necessárias." #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "Bookmarks recentemente postados para %s" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "Nenhum bookmark encontrado" #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Watched" msgstr "Observado" #: ..\..\..\templates\sidebar.block.recent.php:13 msgid "Recent Tags" msgstr "Tags Recentes" #: ..\..\..\templates\sidebar.block.related.php:14 msgid "Related Tags" msgstr "Tags Relacionadas" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "Remover da Lista de Observação" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "Adicionar à Lista de Observação" #: ..\..\..\templates\tags.tpl.php:7 msgid "Alphabet" msgstr "Alfabeto" #: ..\..\..\templates\tags.tpl.php:8 msgid "Popularity" msgstr "Popularidade" #: ..\..\..\templates\tags.tpl.php:15 msgid "bookmark" msgstr "bookmark" #: ..\..\..\templates\toolbar.inc.php:10 msgid "My Bookmarks" msgstr "Meus Bookmarks" #: ..\..\..\templates\toolbar.inc.php:11 msgid "My Watched" msgstr "Meus Observados" #: ..\..\..\templates\toolbar.inc.php:12 msgid "All Recent" msgstr "Todos os Recentes" scuttle-0.7.4/locales/zh_CN/000077500000000000000000000000001103742314700156325ustar00rootroot00000000000000scuttle-0.7.4/locales/zh_CN/LC_MESSAGES/000077500000000000000000000000001103742314700174175ustar00rootroot00000000000000scuttle-0.7.4/locales/zh_CN/LC_MESSAGES/messages.mo000066400000000000000000000252731103742314700215740ustar00rootroot00000000000000  + n g    ) 1 : T ,e   %  t fj N  05N] r} %NUr w 1  .CL"S!v#!  /L'tyW Q ?LKQ   '," O \g{ & 1 : D\Q>Y+=(.W)9 '+4 OZ+s))( 34.h (  )z  $)N Ubx [Zj@& <I Y fs z~ *!6!L! S!`!3y!!!!!!! " "V$"${"S" "##/2#Lb####R# $S!$ u$ $M$ $ $$ %%'%?%F%f% x% %% %% % % % % %&&&& @&'M& u& & &T&& & '*' :'AG' ''.'0''E(1c( ( (*(*(%) ()5)K)j)!)!)$))*$*'D* l* y*** *aX&AsPSyz>hd8}k2HBJmlp \#!5qT, +EN ) 1GF*^D4Qv.|Z{:fb-]?`Ce"WK9xUYg/=<I$Lt0 cO637MuR%~;or[i'V@wj(n_ %s Bookmarks%s: Recent bookmarksE-mailShare your bookmarks with everyone, with friends on your watchlist or just keep them private.Tag your bookmarks with as many labels as you want, instead of wrestling with folders.AboutAdd BookmarkAdd a BookmarkAdd to WatchlistAddressAll TagsAn critical error occuredAn error occuredAn error occurred while saving your changes.Bookmark imported.Bookmark savedBookmark with id %s not was not foundBookmarkletChanges saved.Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MBClick Browse... to find this file on your computer. The maximum size the file can be is 1MBClick Import to start importing the bookmarks; it may take a minuteComma-separatedCopyCould not open XML inputCritical ErrorCritical InformationDEBUG MODEDateDeleteDelete BookmarkDescriptionDon't ask for my password for 2 weeksDrag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %sE-mailE-mail address is not valid.EditEdit BookmarkError while saving your bookmarkExport your bookmarks from your browser to a fileFailed to delete bookmarkFailed to delete the bookmarkFileGeek StuffGeneral ErrorGeneral server errorHomepageImportImport Bookmarks from Browser FileImport Bookmarks from del.icio.usImport bookmarks from bookmark fileImport bookmarks from del.icio.usInformationInstructionsInternet Explorer, Mozilla Firefox and NetscapeInternet Explorer: File > Import and Export... > Export FavoritesLineLog InLog OutLog in to the export page at del.icio.usMember SinceMozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export...My BookmarksNameNetscape: Bookmarks > Manage Bookmarks... > Tools > Export...New PasswordNextNo bookmarks availableNo bookmarks foundNot FoundPage %d of %dPasswordPassword and confirmation do not match.Password must be at least 6 characters long.Popular TagsPost to %sPost to %s (Pop-up)PreviousPrivacyPrivateProfilePublicRecent BookmarksRecent TagsRecent bookmarks posted to %sRegisterRegistration failed. Please try again.Related TagsRemove from WatchlistRequiredSQL ErrorSave ChangesSave the resulting XML file to your computerSearchSearch BookmarksSearch ResultsSelect the default privacy setting for your imported bookmarksShared with Watch ListSign up here to create a free %s account. All the information requested below is requiredSort by:TagsThe details you have entered are incorrect. Please try again.The requested URL could not be processedThe requested URL was not found on this serverThere was an error saving your bookmark. Please try again or contact the administrator.This username already exists, please make another choice.TitleURLUser added to your watchlistUser removed from your watchlistUser with username %s not was not foundUsernameUsername was not specifiedWatched ByXML error: %s at line %dYou are not allowed to delete this bookmarkYou are not allowed to edit this bookmarkYou have already submitted this bookmark.You have now logged outYou have successfully registered. Enjoy!You must be logged in before you can add bookmarks.Your bookmark must have a title and an addressall bookmarksbookmarkbookmarksformessage_die() was called multiple times.my bookmarksProject-Id-Version: Scuttle Report-Msgid-Bugs-To: POT-Creation-Date: 2005-04-29 11:17+0200 PO-Revision-Date: 2006-03-18 21:45-0800 Last-Translator: Marcus Campbell Language-Team: zh-CN MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Chinese X-Poedit-Country: CHINA Plural-Forms: nplurals=2; plural=(n != 1); %s 书签%s: 最近书签E-mail您可以将您收藏的书签资源与所有朋友分享,也许因此发现与您志同道合的朋友。或者保存为只能您自己查看的私有状态您可以将您认为优秀的站点用标签(Tag)定义,这是一种更为灵活的分类形式,方便您的发散记忆和管理。关于添加书签添加书签将用户加入到您的关注列表网址所有标签有严重错误发生有错误发生保存修改时出错.书签导入完毕.录入书签已被成功保存id为 %s 的书签不存在Bookmarklet保存修改成功.点击浏览... 在您的电脑中找到书签文件,最大允许导入1Mb数据点击浏览...在您的电脑中找到书签文件,最大允许导入1Mb数据点击导入书签开始导入,耗时1分钟左右。以单字节逗号分开复制无法打开XML输入严重错误关键性信息调试模式发布时间删除删除书签描述存储帐号密码信息2周Bookmarklet是一个内含简单JavaScript代码的书签,使用的方法和您的浏览器中的书签一样,不同的地方是:书签是用来记录浏览的位置,而Bookmarklet则是记录某些对您正在浏览的页面进行处理的程序和方法。
使用Bookmarklet之前,您无需另外安装或下载程式,只要简单的将如下链接加入您的浏览器书签或是收藏夹之中。
选择如下Bookmarklet之一,并将其加入到您的浏览器书签中,当您浏览并希望收藏其他网站页面时,只需点击您的浏览器中 Bookmarklet 书签,就会将您希望收藏的页面发布到 %s用户EmailEmail地址不合法.编辑编辑书签在保存书签时出错将您的浏览器书签数据导出为一个文件删除书签失败删除书签失败文件致谢一般性错误一般性服务器错误用户网站导入书签将浏览器的书签文件导入(Internet Explorer, Mozilla Firefox and Netscape)将del.icio.us的书签文件导入 导入(Internet Explorer, Mozilla Firefox and Netscape)浏览器的书签文件导入del.icio.us的书签文件信息步骤和导入方法Internet Explorer, Mozilla Firefox and NetscapeInternet Explorer: 文件 > 导入和导出... > 导出收藏夹 行登陆登出登录del.icio.us导出书签数据注册时间Mozilla Firefox: 书签 > 管理书签... > 文件 > 导出书签... 您的书签用户全名Netscape: 书签 > 管理书签... > 工具 >> 导出书签... 新的密码下一页尚未有书签列入尚无书签文件不存在第 %d 页 / 共 %d 页密码密码和确认密码不一致.密码至少6位.热门标签收藏到 %s收藏到 %s(弹出窗口) 上一页私密仅本用户个人资料公开发布最近书签最新标签最新发布到%s的书签注册注册失败,请重试.关联标签将用户从您的关注列表中删除必填项目SQL出错保存修改保存XML文件到您的电脑中。搜索搜索书签搜索结果为导入的书签选择默认私密设置仅关注者您可以免费注册成为 %s 的用户,请填写如下表单:排序方式:标签您输入的详细信息不正确,请重试.无法对您指定的文件进行导入操作。您指定的文件不存在。保存书签时出错,请再保存重试一次或者联系管理员用户名已经存在,请选择其他用户名.书签标题URL网址已将用户加入到您的关注列表中已将用户从您的关注列表中删除未发现以 %s 为用户名的用户用户帐号没有提供用户名关注该用户的其他用户XML错误: %s 发生在 %d 行您没有权限删除此条书签您没有权限编辑此条书签您过去已经录入过这条书签您已经成功登出您已经注册成功.您必须登陆后才能添加书签每条书签必须包含标题和网址所有书签书签书签关于message_die()被调用了多次您的书签scuttle-0.7.4/locales/zh_CN/LC_MESSAGES/messages.po000066400000000000000000000572051103742314700215770ustar00rootroot00000000000000# Scuttle zh-CN Translation # Copyright (C) 2005 - 2006 Scuttle project # This file is distributed under the same license as the Scuttle package. # Yanni Zheng # msgid "" msgstr "" "Project-Id-Version: Scuttle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-04-29 11:17+0200\n" "PO-Revision-Date: 2006-03-18 21:45-0800\n" "Last-Translator: Marcus Campbell \n" "Language-Team: zh-CN \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese\n" "X-Poedit-Country: CHINA\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ..\..\..\about.php:25 #: ..\..\..\templates\toolbar.inc.php:24 msgid "About" msgstr "关于" #: ..\..\..\ajaxDelete.php:29 msgid "You are not allowed to delete this bookmark" msgstr "您没有权限删除此条书签" #: ..\..\..\ajaxDelete.php:33 msgid "Failed to delete bookmark" msgstr "删除书签失败" #: ..\..\..\alltags.php:50 msgid "All Tags" msgstr "所有标签" #: ..\..\..\alltags.php:59 #: ..\..\..\populartags.php:63 #: ..\..\..\profile.php:46 #: ..\..\..\rss.php:55 #: ..\..\..\search.php:61 #: ..\..\..\watch.php:35 #: ..\..\..\watched.php:62 #, php-format msgid "User with username %s not was not found" msgstr "未发现以 %s 为用户名的用户" #: ..\..\..\bookmarks.php:71 #, fuzzy, php-format msgid "User with username %s was not found" msgstr "未发现以 %s 为用户名的用户" #: ..\..\..\bookmarks.php:94 #: ..\..\..\edit.php:44 msgid "Your bookmark must have a title and an address" msgstr "每条书签必须包含标题和网址" #: ..\..\..\bookmarks.php:114 #: ..\..\..\edit.php:58 msgid "Bookmark saved" msgstr "录入书签已被成功保存" #: ..\..\..\bookmarks.php:122 #: ..\..\..\import.php:99 #: ..\..\..\importNetscape.php:74 msgid "There was an error saving your bookmark. Please try again or contact the administrator." msgstr "保存书签时出错,请再保存重试一次或者联系管理员" #: ..\..\..\bookmarks.php:160 #: ..\..\..\templates\toolbar.inc.php:13 msgid "Add a Bookmark" msgstr "添加书签" #: ..\..\..\bookmarks.php:163 msgid "Add Bookmark" msgstr "添加书签" #: ..\..\..\bookmarks.php:166 msgid "You must be logged in before you can add bookmarks." msgstr "您必须登陆后才能添加书签" #: ..\..\..\bookmarks.php:213 msgid "My Bookmarks" msgstr "您的书签" #: ..\..\..\edit.php:29 msgid "Edit Bookmark" msgstr "编辑书签" #: ..\..\..\edit.php:34 #, php-format msgid "Bookmark with id %s not was not found" msgstr "id为 %s 的书签不存在" #: ..\..\..\edit.php:39 msgid "You are not allowed to edit this bookmark" msgstr "您没有权限编辑此条书签" #: ..\..\..\edit.php:55 msgid "Error while saving your bookmark" msgstr "在保存书签时出错" #: ..\..\..\edit.php:78 msgid "Failed to delete the bookmark" msgstr "删除书签失败" #: ..\..\..\edit.php:88 #: ..\..\..\templates\editprofile.tpl.php:52 msgid "Save Changes" msgstr "保存修改" #: ..\..\..\functions.inc.php:92 msgid "message_die() was called multiple times." msgstr "message_die()被调用了多次" #: ..\..\..\functions.inc.php:104 msgid "SQL Error" msgstr "SQL出错" #: ..\..\..\functions.inc.php:110 msgid "Line" msgstr "行" #: ..\..\..\functions.inc.php:110 #: ..\..\..\templates\importDelicious.tpl.php:8 #: ..\..\..\templates\importNetscape.tpl.php:9 msgid "File" msgstr "文件" #: ..\..\..\functions.inc.php:116 msgid "Information" msgstr "信息" #: ..\..\..\functions.inc.php:121 msgid "Critical Information" msgstr "关键性信息" #: ..\..\..\functions.inc.php:126 msgid "An error occured" msgstr "有错误发生" #: ..\..\..\functions.inc.php:129 msgid "General Error" msgstr "一般性错误" #: ..\..\..\functions.inc.php:137 msgid "An critical error occured" msgstr "有严重错误发生" #: ..\..\..\functions.inc.php:140 msgid "Critical Error" msgstr "严重错误" #: ..\..\..\functions.inc.php:149 msgid "DEBUG MODE" msgstr "调试模式" #: ..\..\..\history.php:65 msgid "History" msgstr "" #: ..\..\..\history.php:66 #, php-format msgid "History for %s" msgstr "" #: ..\..\..\history.php:81 msgid "Address was not found" msgstr "" #: ..\..\..\import.php:41 msgid "Could not open XML input" msgstr "无法打开XML输入" #: ..\..\..\import.php:45 #, php-format msgid "XML error: %s at line %d" msgstr "XML错误: %s 发生在 %d 行" #: ..\..\..\import.php:54 msgid "Import Bookmarks from del.icio.us" msgstr "将del.icio.us的书签文件导入 " #: ..\..\..\import.php:86 #: ..\..\..\importNetscape.php:64 msgid "You have already submitted this bookmark." msgstr "您过去已经录入过这条书签" #: ..\..\..\import.php:97 #: ..\..\..\importNetscape.php:72 msgid "Bookmark imported." msgstr "书签导入完毕." #: ..\..\..\importNetscape.php:81 msgid "Import Bookmarks from Browser File" msgstr "将浏览器的书签文件导入(Internet Explorer, Mozilla Firefox and Netscape)" #: ..\..\..\index.php:32 msgid "You have now logged out" msgstr "您已经成功登出" #: ..\..\..\index.php:39 #, php-format msgid "%s: Recent bookmarks" msgstr "%s: 最近书签" #: ..\..\..\index.php:72 msgid "Store, share and tag your favourite links" msgstr "" #: ..\..\..\index.php:73 msgid "Recent Bookmarks" msgstr "最近书签" #: ..\..\..\jsScuttle.php:22 msgid "Are you sure?" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "Yes" msgstr "" #: ..\..\..\jsScuttle.php:22 msgid "No" msgstr "" #: ..\..\..\jsScuttle.php:68 msgid "Available" msgstr "" #: ..\..\..\jsScuttle.php:71 #, fuzzy msgid "Not Available" msgstr "尚未有书签列入" #: ..\..\..\login.php:38 msgid "The details you have entered are incorrect. Please try again." msgstr "您输入的详细信息不正确,请重试." #: ..\..\..\login.php:48 #: ..\..\..\templates\login.tpl.php:26 #: ..\..\..\templates\toolbar.inc.php:28 msgid "Log In" msgstr "登陆" #: ..\..\..\password.php:31 msgid "You must enter your username." msgstr "" #: ..\..\..\password.php:35 #, fuzzy msgid "You must enter your e-mail address." msgstr "您 必须 输入用户名,密码,姓名和 e-mail 地址." #: ..\..\..\password.php:42 msgid "No matches found for that username." msgstr "" #: ..\..\..\password.php:45 #, fuzzy msgid "No matches found for that combination of username and e-mail address." msgstr "您 必须 输入用户名,密码,姓名和 e-mail 地址." #: ..\..\..\password.php:53 #, fuzzy msgid "There was an error while generating your new password. Please try again." msgstr "保存书签时出错,请再保存重试一次或者联系管理员" #: ..\..\..\password.php:57 #, fuzzy msgid "Your new password is:" msgstr "确认密码" #: ..\..\..\password.php:57 msgid "To keep your bookmarks secure, you should change this password in your profile the next time you log in." msgstr "" #: ..\..\..\password.php:60 #, fuzzy, php-format msgid "%s Account Information" msgstr "信息" #: ..\..\..\password.php:62 #, php-format msgid "New password generated and sent to %s" msgstr "" #: ..\..\..\password.php:69 #, fuzzy msgid "Forgotten Password" msgstr "新的密码" #: ..\..\..\populartags.php:54 #: ..\..\..\templates\dynamictags.inc.php:101 #: ..\..\..\templates\sidebar.block.common.php:9 #: ..\..\..\templates\sidebar.block.popular.php:15 #: ..\..\..\templates\sidebar.block.recent.php:25 msgid "Popular Tags" msgstr "热门标签" #: ..\..\..\profile.php:54 #: ..\..\..\watched.php:114 msgid "Username was not specified" msgstr "没有提供用户名" #: ..\..\..\profile.php:60 #, fuzzy msgid "My Profile" msgstr "个人资料" #: ..\..\..\profile.php:62 #: ..\..\..\templates\sidebar.block.profile.php:12 msgid "Profile" msgstr "个人资料" #: ..\..\..\profile.php:80 msgid "Password and confirmation do not match." msgstr "密码和确认密码不一致." #: ..\..\..\profile.php:84 msgid "Password must be at least 6 characters long." msgstr "密码至少6位." #: ..\..\..\profile.php:88 msgid "E-mail address is not valid." msgstr "Email地址不合法." #: ..\..\..\profile.php:92 msgid "An error occurred while saving your changes." msgstr "保存修改时出错." #: ..\..\..\profile.php:94 msgid "Changes saved." msgstr "保存修改成功." #: ..\..\..\register.php:33 #, fuzzy msgid "You must enter a username, password and e-mail address." msgstr "您 必须 输入用户名,密码,姓名和 e-mail 地址." #: ..\..\..\register.php:37 msgid "This username already exists, please make another choice." msgstr "用户名已经存在,请选择其他用户名." #: ..\..\..\register.php:41 #, fuzzy msgid "E-mail address is not valid. Please try again." msgstr "Email地址不合法." #: ..\..\..\register.php:50 msgid "You have successfully registered. Enjoy!" msgstr "您已经注册成功." #: ..\..\..\register.php:52 msgid "Registration failed. Please try again." msgstr "注册失败,请重试." #: ..\..\..\register.php:57 #: ..\..\..\templates\register.tpl.php:32 #: ..\..\..\templates\toolbar.inc.php:27 msgid "Register" msgstr "注册" #: ..\..\..\search.inc.php:29 #: ..\..\..\search.inc.php:57 msgid "Search" msgstr "搜索" #: ..\..\..\search.inc.php:35 #, fuzzy msgid "this user's bookmarks" msgstr "%s 书签" #: ..\..\..\search.inc.php:40 msgid "my bookmarks" msgstr "您的书签" #: ..\..\..\search.inc.php:41 #, fuzzy msgid "my watchlist" msgstr "将用户加入到您的关注列表" #: ..\..\..\search.inc.php:45 msgid "all bookmarks" msgstr "所有书签" #: ..\..\..\search.inc.php:48 msgid "for" msgstr "关于" #: ..\..\..\search.php:91 #: ..\..\..\search.php:128 msgid "Search Bookmarks" msgstr "搜索书签" #: ..\..\..\search.php:97 msgid "Search Results" msgstr "搜索结果" #: ..\..\..\tags.php:38 #: ..\..\..\templates\editbookmark.tpl.php:44 #: ..\..\..\templates\sidebar.block.profile.php:13 msgid "Tags" msgstr "标签" #: ..\..\..\watch.php:79 #, php-format msgid "%s Bookmarks" msgstr "%s 书签" #: ..\..\..\watch.php:84 msgid "User removed from your watchlist" msgstr "已将用户从您的关注列表中删除" #: ..\..\..\watch.php:86 msgid "User added to your watchlist" msgstr "已将用户加入到您的关注列表中" #: ..\..\..\watched.php:105 #, fuzzy msgid "My Watchlist" msgstr "我关注的其他用户" #: ..\..\..\watched.php:107 #: ..\..\..\templates\sidebar.block.profile.php:14 #: ..\..\..\templates\toolbar.inc.php:12 #, fuzzy msgid "Watchlist" msgstr "我关注的其他用户" #: ..\..\..\templates\about.tpl.php:6 msgid "Store all your favourite links in one place, accessible from anywhere." msgstr "" #: ..\..\..\templates\about.tpl.php:7 msgid "Share your bookmarks with everyone, with friends on your watchlist or just keep them private." msgstr "您可以将您收藏的书签资源与所有朋友分享,也许因此发现与您志同道合的朋友。或者保存为只能您自己查看的私有状态" #: ..\..\..\templates\about.tpl.php:8 msgid "Tag your bookmarks with as many labels as you want, instead of wrestling with folders." msgstr "您可以将您认为优秀的站点用标签(Tag)定义,这是一种更为灵活的分类形式,方便您的发散记忆和管理。" #: ..\..\..\templates\about.tpl.php:9 #, php-format msgid "Register now to start using %s!" msgstr "" #: ..\..\..\templates\about.tpl.php:12 msgid "Geek Stuff" msgstr "致谢" #: ..\..\..\templates\about.tpl.php:14 #, php-format msgid "%s is based on an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer." msgstr "" #: ..\..\..\templates\about.tpl.php:15 #, php-format msgid "%1$s supports most of the del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won't let you change the API address, ask the creator to add this setting. You never know, they might just do it." msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:17 #: ..\..\..\templates\tags.tpl.php:7 msgid "Sort by:" msgstr "排序方式:" #: ..\..\..\templates\bookmarks.tpl.php:18 msgid "Date" msgstr "发布时间" #: ..\..\..\templates\bookmarks.tpl.php:19 #: ..\..\..\templates\editbookmark.tpl.php:34 msgid "Title" msgstr "书签标题" #: ..\..\..\templates\bookmarks.tpl.php:23 msgid "URL" msgstr "URL网址" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Edit" msgstr "编辑" #: ..\..\..\templates\bookmarks.tpl.php:60 msgid "Delete" msgstr "删除" #: ..\..\..\templates\bookmarks.tpl.php:66 msgid "by" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:78 #, fuzzy, php-format msgid " and %s1 other%s" msgstr "同时被其他 %s 个用户收藏" #: ..\..\..\templates\bookmarks.tpl.php:81 #, fuzzy, php-format msgid " and %2$s%1$s others%3$s" msgstr "同时被其他 %s 个用户收藏" #: ..\..\..\templates\bookmarks.tpl.php:90 msgid "Copy" msgstr "复制" #: ..\..\..\templates\bookmarks.tpl.php:136 #: ..\..\..\templates\bookmarks.tpl.php:142 msgid "First" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:137 #: ..\..\..\templates\bookmarks.tpl.php:143 msgid "Previous" msgstr "上一页" #: ..\..\..\templates\bookmarks.tpl.php:150 #: ..\..\..\templates\bookmarks.tpl.php:153 msgid "Next" msgstr "下一页" #: ..\..\..\templates\bookmarks.tpl.php:151 #: ..\..\..\templates\bookmarks.tpl.php:154 msgid "Last" msgstr "" #: ..\..\..\templates\bookmarks.tpl.php:156 #, php-format msgid "Page %d of %d" msgstr "第 %d 页 / 共 %d 页" #: ..\..\..\templates\bookmarks.tpl.php:160 msgid "No bookmarks available" msgstr "尚未有书签列入" #: ..\..\..\templates\dynamictags.inc.php:108 #: ..\..\..\templates\sidebar.block.common.php:15 #: ..\..\..\templates\sidebar.block.popular.php:21 #: ..\..\..\templates\sidebar.block.recent.php:20 #: ..\..\..\templates\tags.tpl.php:16 msgid "bookmark" msgid_plural "bookmarks" msgstr[0] "书签" msgstr[1] "书签" #: ..\..\..\templates\editbookmark.tpl.php:29 msgid "Address" msgstr "网址" #: ..\..\..\templates\editbookmark.tpl.php:31 #: ..\..\..\templates\editbookmark.tpl.php:36 #: ..\..\..\templates\editprofile.tpl.php:31 msgid "Required" msgstr "必填项目" #: ..\..\..\templates\editbookmark.tpl.php:39 #: ..\..\..\templates\editprofile.tpl.php:47 #: ..\..\..\templates\profile.tpl.php:28 msgid "Description" msgstr "描述" #: ..\..\..\templates\editbookmark.tpl.php:46 msgid "Comma-separated" msgstr "以单字节逗号分开" #: ..\..\..\templates\editbookmark.tpl.php:49 #: ..\..\..\templates\importDelicious.tpl.php:15 #: ..\..\..\templates\importNetscape.tpl.php:16 msgid "Privacy" msgstr "私密" #: ..\..\..\templates\editbookmark.tpl.php:52 #: ..\..\..\templates\importDelicious.tpl.php:18 #: ..\..\..\templates\importNetscape.tpl.php:19 msgid "Public" msgstr "公开发布" #: ..\..\..\templates\editbookmark.tpl.php:53 #: ..\..\..\templates\importDelicious.tpl.php:19 #: ..\..\..\templates\importNetscape.tpl.php:20 msgid "Shared with Watch List" msgstr "仅关注者" #: ..\..\..\templates\editbookmark.tpl.php:54 #: ..\..\..\templates\importDelicious.tpl.php:20 #: ..\..\..\templates\importNetscape.tpl.php:21 msgid "Private" msgstr "仅本用户" #: ..\..\..\templates\editbookmark.tpl.php:66 msgid "Delete Bookmark" msgstr "删除书签" #: ..\..\..\templates\editbookmark.tpl.php:93 msgid "Bookmarklet" msgstr "Bookmarklet" #: ..\..\..\templates\editbookmark.tpl.php:94 #, php-format msgid "Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s" msgstr "Bookmarklet是一个内含简单JavaScript代码的书签,使用的方法和您的浏览器中的书签一样,不同的地方是:书签是用来记录浏览的位置,而Bookmarklet则是记录某些对您正在浏览的页面进行处理的程序和方法。
使用Bookmarklet之前,您无需另外安装或下载程式,只要简单的将如下链接加入您的浏览器书签或是收藏夹之中。
选择如下Bookmarklet之一,并将其加入到您的浏览器书签中,当您浏览并希望收藏其他网站页面时,只需点击您的浏览器中 Bookmarklet 书签,就会将您希望收藏的页面发布到 %s" #: ..\..\..\templates\editbookmark.tpl.php:106 #, php-format msgid "Post to %s" msgstr "收藏到 %s" #: ..\..\..\templates\editbookmark.tpl.php:107 #, php-format msgid "Post to %s (Pop-up)" msgstr "收藏到 %s(弹出窗口) " #: ..\..\..\templates\editbookmark.tpl.php:111 #: ..\..\..\templates\importDelicious.tpl.php:26 #: ..\..\..\templates\importNetscape.tpl.php:27 msgid "Import" msgstr "导入书签" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Import bookmarks from bookmark file" msgstr "导入(Internet Explorer, Mozilla Firefox and Netscape)浏览器的书签文件" #: ..\..\..\templates\editbookmark.tpl.php:113 msgid "Internet Explorer, Mozilla Firefox and Netscape" msgstr "Internet Explorer, Mozilla Firefox and Netscape" #: ..\..\..\templates\editbookmark.tpl.php:114 msgid "Import bookmarks from del.icio.us" msgstr "导入del.icio.us的书签文件" #: ..\..\..\templates\editprofile.tpl.php:10 msgid "Account Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:14 #: ..\..\..\templates\login.tpl.php:15 #: ..\..\..\templates\password.tpl.php:10 #: ..\..\..\templates\profile.tpl.php:7 #: ..\..\..\templates\register.tpl.php:16 msgid "Username" msgstr "用户帐号" #: ..\..\..\templates\editprofile.tpl.php:19 msgid "New Password" msgstr "新的密码" #: ..\..\..\templates\editprofile.tpl.php:24 #, fuzzy msgid "Confirm Password" msgstr "确认密码" #: ..\..\..\templates\editprofile.tpl.php:29 #: ..\..\..\templates\register.tpl.php:26 msgid "E-mail" msgstr "用户Email" #: ..\..\..\templates\editprofile.tpl.php:35 msgid "Personal Details" msgstr "" #: ..\..\..\templates\editprofile.tpl.php:39 #: ..\..\..\templates\profile.tpl.php:12 msgid "Name" msgstr "用户全名" #: ..\..\..\templates\editprofile.tpl.php:43 #: ..\..\..\templates\profile.tpl.php:18 msgid "Homepage" msgstr "用户网站" #: ..\..\..\templates\error.404.tpl.php:5 msgid "Not Found" msgstr "文件不存在" #: ..\..\..\templates\error.404.tpl.php:6 msgid "The requested URL was not found on this server" msgstr "您指定的文件不存在。" #: ..\..\..\templates\error.500.tpl.php:5 msgid "General server error" msgstr "一般性服务器错误" #: ..\..\..\templates\error.500.tpl.php:6 msgid "The requested URL could not be processed" msgstr "无法对您指定的文件进行导入操作。" #: ..\..\..\templates\importDelicious.tpl.php:33 msgid "Log in to the export page at del.icio.us" msgstr "登录del.icio.us导出书签数据" #: ..\..\..\templates\importDelicious.tpl.php:34 msgid "Save the resulting XML file to your computer" msgstr "保存XML文件到您的电脑中。" #: ..\..\..\templates\importDelicious.tpl.php:35 msgid "Click Browse... to find this file on your computer. The maximum size the file can be is 1MB" msgstr "点击浏览...在您的电脑中找到书签文件,最大允许导入1Mb数据" #: ..\..\..\templates\importDelicious.tpl.php:36 #: ..\..\..\templates\importNetscape.tpl.php:43 msgid "Select the default privacy setting for your imported bookmarks" msgstr "为导入的书签选择默认私密设置" #: ..\..\..\templates\importDelicious.tpl.php:37 #: ..\..\..\templates\importNetscape.tpl.php:44 msgid "Click Import to start importing the bookmarks; it may take a minute" msgstr "点击导入书签开始导入,耗时1分钟左右。" #: ..\..\..\templates\importNetscape.tpl.php:32 msgid "Instructions" msgstr "步骤和导入方法" #: ..\..\..\templates\importNetscape.tpl.php:35 msgid "Export your bookmarks from your browser to a file" msgstr "将您的浏览器书签数据导出为一个文件" #: ..\..\..\templates\importNetscape.tpl.php:37 msgid "Internet Explorer: File > Import and Export... > Export Favorites" msgstr "Internet Explorer: 文件 > 导入和导出... > 导出收藏夹 " #: ..\..\..\templates\importNetscape.tpl.php:38 msgid "Mozilla Firefox: Bookmarks > Manage Bookmarks... > File > Export..." msgstr "Mozilla Firefox: 书签 > 管理书签... > 文件 > 导出书签... " #: ..\..\..\templates\importNetscape.tpl.php:39 msgid "Netscape: Bookmarks > Manage Bookmarks... > Tools > Export..." msgstr "Netscape: 书签 > 管理书签... > 工具 >> 导出书签... " #: ..\..\..\templates\importNetscape.tpl.php:42 msgid "Click Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB" msgstr "点击浏览... 在您的电脑中找到书签文件,最大允许导入1Mb数据" #: ..\..\..\templates\login.tpl.php:20 #: ..\..\..\templates\register.tpl.php:21 msgid "Password" msgstr "密码" #: ..\..\..\templates\login.tpl.php:22 msgid "Don't ask for my password for 2 weeks" msgstr "存储帐号密码信息2周" #: ..\..\..\templates\login.tpl.php:30 msgid "Forgotten your password?" msgstr "" #: ..\..\..\templates\password.tpl.php:5 #, php-format msgid "If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you." msgstr "" #: ..\..\..\templates\password.tpl.php:14 msgid "E-mail" msgstr "E-mail" #: ..\..\..\templates\password.tpl.php:19 #, fuzzy msgid "Generate Password" msgstr "新的密码" #: ..\..\..\templates\profile.tpl.php:23 msgid "Member Since" msgstr "注册时间" #: ..\..\..\templates\profile.tpl.php:35 #: ..\..\..\templates\sidebar.block.watchlist.php:8 #, fuzzy msgid "Watching" msgstr "我关注的其他用户" #: ..\..\..\templates\profile.tpl.php:50 msgid "Watched By" msgstr "关注该用户的其他用户" #: ..\..\..\templates\register.tpl.php:11 #, php-format msgid "Sign up here to create a free %s account. All the information requested below is required" msgstr "您可以免费注册成为 %s 的用户,请填写如下表单:" #: ..\..\..\templates\rss.tpl.php:9 #, php-format msgid "Recent bookmarks posted to %s" msgstr "最新发布到%s的书签" #: ..\..\..\templates\rss.tpl.php:17 #: ..\..\..\templates\rss.tpl.php:19 msgid "No bookmarks found" msgstr "尚无书签" #: ..\..\..\templates\sidebar.block.recent.php:15 msgid "Recent Tags" msgstr "最新标签" #: ..\..\..\templates\sidebar.block.related.php:15 msgid "Related Tags" msgstr "关联标签" #: ..\..\..\templates\sidebar.block.watchstatus.php:10 msgid "Remove from Watchlist" msgstr "将用户从您的关注列表中删除" #: ..\..\..\templates\sidebar.block.watchstatus.php:12 msgid "Add to Watchlist" msgstr "将用户加入到您的关注列表" #: ..\..\..\templates\sidebar.block.watchstatus.php:17 #, fuzzy msgid "Actions" msgstr "步骤和导入方法" #: ..\..\..\templates\tags.tpl.php:8 msgid "Alphabet" msgstr "" #: ..\..\..\templates\tags.tpl.php:9 #, fuzzy msgid "Popularity" msgstr "热门标签" #: ..\..\..\templates\toolbar.inc.php:11 #, fuzzy msgid "Bookmarks" msgstr "%s 书签" #: ..\..\..\templates\toolbar.inc.php:16 msgid "Log Out" msgstr "登出" scuttle-0.7.4/login.php000066400000000000000000000042761103742314700150410ustar00rootroot00000000000000login($posteduser, $_POST['password'], ($_POST['keeppass'] == 'yes'), $path); if ($login) { if ($_POST['query']) header('Location: '. createURL('bookmarks', $posteduser .'?'. $_POST['query'])); else header('Location: '. createURL('bookmarks', $posteduser)); } else { $tplVars['error'] = T_('The details you have entered are incorrect. Please try again.'); } } if (!$login) { if ($userservice->isLoggedOn()) { $cUser = $userservice->getCurrentUser(); $cUsername = strtolower($cUser[$userservice->getFieldName('username')]); header('Location: '. createURL('bookmarks', $cUsername)); } $tplVars['subtitle'] = T_('Log In'); $tplVars['formaction'] = createURL('login'); $tplVars['querystring'] = filter($_SERVER['QUERY_STRING']); $templateservice->loadTemplate('login.tpl', $tplVars); } ?> scuttle-0.7.4/logo.png000066400000000000000000000056351103742314700146660ustar00rootroot00000000000000PNG  IHDR00WsBIT|dtEXtSoftwarewww.inkscape.org< /IDAThŚk$Wu5=هg GIF`Lb,)b%B)+B"Hh+ "YD <`;/D^kg_'gzfl#ԭ{[-^K$Gǁ:=&P.{f&nIgJcV;ksO\#[C7Cn6F $? OPDvZS X<d YĒr?k/DB i~#$ Ao)>u\st ^;Jn8em5AEX Q{NNmNm-&W@,ZU̾-}sp [̒oIĀ LHڥ>ڬ' 86֠Mm: bINt`-_\^.Zۯfw+noYZ 3"2nh@ [X .`Y/)6{v]W,^]y$|WkEUqL>[c2~۝{O Zb]_$hwFc A"amW]_<8Ip;hYN*uT0E:h JdZ 꽅ՈXze]!ͲR"&XqTp 2:JP&6cM Փྴ3&@:RQ#pyBAP _㯚>f:L'7=JۃGm E8 {fKјĆ\F~3 kH'&:{EU.U 3>._OМ;Zhz!Jڡ.B>$L8iմ;sVBؘǨ c>姹x.@O9.P vƏkg!\F=yJLkuŬJ|~5"o5y 7ᧉV[UZ8wϗoc&ՅUDy;_`e`@2;Qk5ϡ q2_oD#xI%Uů0@Ͱ8T#Dz?.ЦCQ *. ux'6-$a۬.d6eX!éîXN˖k3؎Fe34V%P.I 'aY;>H) /ۡBQvqnF;A~-pl m;)K27J H?n{- ܵΧqmI*[lP5X,b`uԨ-U Z wj0Gs +p/eu DlڼEA@mJ} LP'Kh9t;7F-F&0H~${ݯe989@D-^ l|zܹWiP_U]44[*?:}s1WBu;;*ulG()L 9 EoM`  ge*ͪLTg h,¿{|su:x)^Ǹ7Gw\:*%KRytUʬ!Odx7!ZP.ڹ1 Qs9>m.Գyӏ5?cocG& + 2_68;K UAZy<['y'穴o?Ȯȍm#!1e/'DD `Z`րy`IUy+lXWxإDd8:ql/lKz""0FAgxUuۣ?TIENDB`scuttle-0.7.4/logo_24.png000066400000000000000000000033011103742314700151570ustar00rootroot00000000000000PNG  IHDR szzsBIT|dtEXtSoftwarewww.inkscape.org<SIDATXYl\g<3wxm$Bj"P * P@b AHHD@HV-}iTQHҒL IKxxjt?JDUȫchggˉm "['Coy}|mAFc}$Ә[Rȫoǀ-*A{χ4"R|P y}]]=oR9쌂AR~ve&a 3Q҄nXR}_*WpW~X]> 40t;c>L گ yZ}_j&dzMZac%쬆`sO@!v j2;ЬhVR7 E<eBen3d*a\|=pq:*|!UPzJʈ]IJI=-1s ^-: |,~u 2Qgyѡ.0Le%,4vO;F35U\CzS=EV4g$p8t\5`<';ac5&97!҉&d4r[+W~}Y`v#!_ν9:n` 726JIY)e"|j~t^%r 윽#+^ڜ$f=8:Is<S^%":~~lmxɝ`tGn*4_i#6X97=TaԋoԑSDn9Mߵ}L$hͫPrby{Pg0Kmf]?X%F4gƪJene!V7B߽е{c{FkH5VU`cfS>w[E`Fq|4r^*P+VYvaF B>z^Ӛu&(o_ 4""+XDG^ WT&qUaZ>wG=R+cW"B#">]"RVJ=]Ճ>dbq͍`5w`C~j/E L9{qԒڲf;6"r}j&yA "u04ˠ!wwPrJøs#Z }i<({߲#̚{A嘏 ԉEm)Mնlp_T(LPH**Xh[#!D"VR(-:@TK_q ̸I49%4JCeU[2~nI$cĒp.R(-:wjjeJ2_tgq*O0 =1R6"CۺӁS[)8R:_Y[Z̓8?ُbf1hx&iiH p]@>KV3l98*O<Åj`yxz-_H]6?ڗQzDiX_im((8? zkL?tFmYct@n_ wv'p)"WY37߫=@DNغ!IENDB`scuttle-0.7.4/password.php000066400000000000000000000056561103742314700155760ustar00rootroot00000000000000e-mail address.'); // USERNAME AND E-MAIL } else { // NO MATCH if (!($userinfo = $userservice->getUserByUsername($_POST['username']))) { $tplVars['error'] = T_('No matches found for that username.'); } elseif ($_POST['email'] != $userinfo['email']) { $tplVars['error'] = T_('No matches found for that combination of username and e-mail address.'); // MATCH } else { // GENERATE AND STORE PASSWORD $password = $userservice->generatePassword($userinfo['uId']); if (!($password = $userservice->generatePassword($userinfo['uId']))) { $tplVars['error'] = T_('There was an error while generating your new password. Please try again.'); } else { // SEND E-MAIL $message = T_('Your new password is:') ."\n". $password ."\n\n". T_('To keep your bookmarks secure, you should change this password in your profile the next time you log in.'); $message = wordwrap($message, 70); $headers = 'From: '. $adminemail; $mail = mail($_POST['email'], sprintf(T_('%s Account Information'), $sitename), $message); $tplVars['msg'] = sprintf(T_('New password generated and sent to %s'), $_POST['email']); } } } } $templatename = 'password.tpl'; $tplVars['subtitle'] = T_('Forgotten Password'); $tplVars['formaction'] = createURL('password'); $templateservice->loadTemplate($templatename, $tplVars); ?> scuttle-0.7.4/populartags.php000066400000000000000000000056501103742314700162670ustar00rootroot00000000000000isLoggedOn()) { $hashtext .= $userservice->getCurrentUserID(); $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; if ($currentUsername == $user) { $hashtext .= $user; } } $hash = md5($hashtext); // Cache for an hour $cacheservice->Start($hash, 3600); } // Header variables $tplvars = array(); $pagetitle = T_('Popular Tags'); if (isset($user) && $user != '') { if (is_int($user)) { $userid = intval($user); } else { if ($userinfo = $userservice->getUserByUsername($user)) { $userid =& $userinfo[$userservice->getFieldName('primary')]; } else { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); //throw a 404 error exit(); } } $pagetitle .= ': '. ucfirst($user); } else { $userid = NULL; } $tags = $tagservice->getPopularTags($userid, 150, $logged_on_userid); $tplVars['tags'] =& $tagservice->tagCloud($tags, 5, 90, 225, getSortOrder('alphabet_asc')); $tplVars['user'] = $user; if (isset($userid)) { $tplVars['cat_url'] = createURL('bookmarks', '%s/%s'); } else { $tplVars['cat_url'] = createURL('tags', '%2$s'); } $tplVars['subtitle'] = $pagetitle; $templateservice->loadTemplate('tags.tpl', $tplVars); if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?> scuttle-0.7.4/profile.php000066400000000000000000000071331103742314700153640ustar00rootroot00000000000000isLoggedOn()) { $loggedon = true; $currentUser = $userservice->getCurrentUser(); $currentUserID = $userservice->getCurrentUserId(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; } if ($user) { if (is_int($user)) { $userid = intval($user); } else { $user = urldecode($user); if (!($userinfo = $userservice->getUserByUsername($user))) { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { $userid =& $userinfo['uId']; } } } else { $tplVars['error'] = T_('Username was not specified'); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } if ($user == $currentUsername) { $title = T_('My Profile'); } else { $title = T_('Profile') .': '. $user; } $tplVars['pagetitle'] = $title; $tplVars['subtitle'] = $title; $tplVars['user'] = $user; $tplVars['userid'] = $userid; if (isset($_POST['submitted'])) { $error = false; $detPass = trim($_POST['pPass']); $detPassConf = trim($_POST['pPassConf']); $detName = trim($_POST['pName']); $detMail = trim($_POST['pMail']); $detPage = trim($_POST['pPage']); $detDesc = filter($_POST['pDesc']); if ($detPass != $detPassConf) { $error = true; $tplVars['error'] = T_('Password and confirmation do not match.'); } if ($detPass != "" && strlen($detPass) < 6) { $error = true; $tplVars['error'] = T_('Password must be at least 6 characters long.'); } if (!$userservice->isValidEmail($detMail)) { $error = true; $tplVars['error'] = T_('E-mail address is not valid.'); } if (!$error) { if (!$userservice->updateUser($userid, $detPass, $detName, $detMail, $detPage, $detDesc)) { $tplvars['error'] = T_('An error occurred while saving your changes.'); } else { $tplVars['msg'] = T_('Changes saved.'); } } $userinfo = $userservice->getUserByUsername($user); } if ($currentUserID != $userid) { $templatename = 'profile.tpl.php'; } else { $templatename = 'editprofile.tpl.php'; $tplVars['formaction'] = createURL('profile', $user); } $tplVars['row'] = $userinfo; $templateservice->loadTemplate($templatename, $tplVars); ?> scuttle-0.7.4/readme.txt000066400000000000000000000010721103742314700152050ustar00rootroot00000000000000Scuttle 0.7.4 http://sourceforge.net/projects/scuttle/ http://scuttle.org/ Copyright (C) 2004 - 2008 Scuttle project Available under the GNU General Public License ============ INSTALLATION ============ * Use the SQL contained in tables.sql to create the necessary database tables. This file was written specifically for MySQL, so may need rewritten if you intend to use a different database system. * Edit config.inc.php.example and save the changes as a new config.inc.php file in the same directory. * Set the CHMOD permissions on the /cache/ subdirectory to 777scuttle-0.7.4/register.php000066400000000000000000000052101103742314700155420ustar00rootroot00000000000000must enter a username, password and e-mail address.'); // Check if username is reserved } elseif ($userservice->isReserved($posteduser)) { $tplVars['error'] = T_('This username has been reserved, please make another choice.'); // Check if username already exists } elseif ($userservice->getUserByUsername($posteduser)) { $tplVars['error'] = T_('This username already exists, please make another choice.'); // Check if e-mail address is valid } elseif (!$userservice->isValidEmail($_POST['email'])) { $tplVars['error'] = T_('E-mail address is not valid. Please try again.'); // Register details } elseif ($userservice->addUser($posteduser, $_POST['password'], $_POST['email'])) { // Log in with new username $login = $userservice->login($posteduser, $_POST['password']); if ($login) { header('Location: '. createURL('bookmarks', $posteduser)); } $tplVars['msg'] = T_('You have successfully registered. Enjoy!'); } else { $tplVars['error'] = T_('Registration failed. Please try again.'); } } $tplVars['loadjs'] = true; $tplVars['subtitle'] = T_('Register'); $tplVars['formaction'] = createURL('register'); $templateservice->loadTemplate('register.tpl', $tplVars); ?> scuttle-0.7.4/rss.gif000066400000000000000000000006211103742314700145040ustar00rootroot00000000000000GIF89a \_c0gl1z ؁O: ØGt'`QisLoggedOn()) { $hashtext .= $userservice->getCurrentUserID(); $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; if ($currentUsername == $user) { $hashtext .= $user; } } $hash = md5($hashtext); // Cache for an hour $cacheservice->Start($hash, 3600); } $watchlist = null; if ($user && $user != 'all') { if ($user == 'watchlist') { $user = $cat; $cat = null; $watchlist = true; } if (is_int($user)) { $userid = intval($user); } else { if ($userinfo = $userservice->getUserByUsername($user)) { $userid =& $userinfo[$userservice->getFieldName('primary')]; } else { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); //throw a 404 error exit(); } } $pagetitle .= ": ". $user; } else { $userid = NULL; } if ($cat) { $pagetitle .= ": ". str_replace('+', ' + ', $cat); } $tplVars['feedtitle'] = filter($GLOBALS['sitename'] . (isset($pagetitle) ? $pagetitle : '')); $tplVars['feedlink'] = $GLOBALS['root']; $tplVars['feeddescription'] = sprintf(T_('Recent bookmarks posted to %s'), $GLOBALS['sitename']); $bookmarks =& $bookmarkservice->getBookmarks(0, 15, $userid, $cat, NULL, getSortOrder(), $watchlist); $bookmarks_tmp =& filter($bookmarks['bookmarks']); $bookmarks_tpl = array(); foreach(array_keys($bookmarks_tmp) as $key) { $row =& $bookmarks_tmp[$key]; $_link = $row['bAddress']; // Redirection option if ($GLOBALS['useredir']) { $_link = $GLOBALS['url_redir'] . $_link; } $_pubdate = date("r", strtotime($row['bDatetime'])); // array_walk($row['tags'], 'filter'); $bookmarks_tpl[] = array( 'title' => $row['bTitle'], 'link' => $_link, 'description' => $row['bDescription'], 'creator' => $row['username'], 'pubdate' => $_pubdate, 'tags' => $row['tags'] ); } unset($bookmarks_tmp); unset($bookmarks); $tplVars['bookmarks'] =& $bookmarks_tpl; $templateservice->loadTemplate('rss.tpl', $tplVars); if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?> scuttle-0.7.4/scuttle.css000066400000000000000000000147501103742314700154130ustar00rootroot00000000000000/* BASE */ * { font-family: "trebuchet ms", tahoma, sans-serif; } a { color: #47A; text-decoration: none; } a:hover { color: #258; text-decoration: underline; } a img { border: 0; } body { background-color: #FFF; margin: 0; padding: 0; } input[type=text], input[type=password], select, textarea { border: 1px solid #AAA; padding: 0.1em; } input[type=text], input[type=password], textarea { padding: 0.2em; } input[type=text]:focus, input[type=password]:focus, select:focus, textarea:focus { border-color: #666; } p.error, p.success { border: 1px solid; font-size: small; margin: 0.5em; padding: 0.5em; width: 70%; } p.error { background: #FCC; border-color: #966; color: #633; } p.success { background: #CFC; border-color: #696; color: #363; } td#availability { color: #285; font-weight: bold; } td#availability.not-available { color: #F00; } textarea { font-size: small; padding: 0.2em; } th { padding-right: 1em; text-align: right; } /* HEADER */ div#header { background: #FFF url('bg_header.png') bottom repeat-x; border-bottom: 3px solid #9CD; clear: both; } div#header:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } * html div#header { height: 1%; } h1 { float: left; font-size: x-large; font-weight: bold; letter-spacing: 0.25em; margin: 0; padding: 1em; text-transform: lowercase; } html > body h1 { background: url('logo.png') no-repeat 10px; padding-left: 75px; } html > body div#header.popup h1 { background: url('logo_24.png') no-repeat 10px; padding: 0.5em 0.5em 0.5em 50px; } h1 a { color: #000; } h1 a:hover { color: #000; } h2 { background: #666 url('bg_bar.png') center center repeat-x; border-bottom: 3px solid #DDD; clear: both; color: #DDD; font-size: medium; letter-spacing: 0.1em; margin: 0 0 1em 0; padding: 0.5em 1em; text-transform: lowercase; } /* NAVIGATION */ ul#navigation { list-style-type: none; margin: 0; padding: 1.75em 1em; text-transform: lowercase; width: auto; } ul#navigation a { font-size: medium; font-weight: bold; padding: 0.2em 0.5em; } ul#navigation a:hover { background: #7AD; color: #FFF; } ul#navigation li { float: left; } ul#navigation li.access { float: right; } /* BOOKMARKS */ ol#bookmarks { list-style-type: none; margin: 0; padding: 0 1em; width: 70%; } html > body ol#bookmarks { margin: 0 1em; padding: 0; } div.link a { color: blue; font-size: medium; } div.link a:visited { color: purple; } div.meta { color: #285; } div.meta span { color: #F00; } li.xfolkentry { border-bottom: 1px solid #DDD; margin-bottom: 0; padding: 1em 0.5em; } html > body li.xfolkentry { border-bottom: 1px dotted #AAA; } li.xfolkentry div { padding: 0.1em; } li.xfolkentry.deleted { opacity: 0.5; } li.xfolkentry.private { border-left: 3px solid #F00; } li.xfolkentry.shared { border-left: 3px solid #FA0; } /* SIDEBAR */ div#sidebar { font-size: small; position: absolute; right: 1em; top: 10em; width: 25%; } div#sidebar a { color: #995; } div#sidebar a:hover { color: #773; } div#sidebar div { background: #FFF url('bg_sidebar.png') bottom repeat-x; border: 1px solid #CC8; color: #555; margin-bottom: 1em; } div#sidebar h2 { background: transparent; border: 0; color: #995; letter-spacing: 0; margin: 0; padding: 0.5em 0; } div#sidebar hr { display: none; } div#sidebar p { margin: 1em; } div#sidebar p.tags a { margin: 0; } div#sidebar table { margin: 0.5em 0.5em 0 0.5em; } div#sidebar table td { padding-bottom: 0.25em; padding-right: 0.5em; } div#sidebar ul { list-style-type: none; margin: 0; padding: 0.5em; } div#sidebar ul li { margin: 0.5em 0; } /* TAGS */ p.tags { line-height: 2.25em; margin: 2em 10%; text-align: justify; vertical-align: middle; } p.tags a, p.tags span { color: #47A; margin-right: 0.5em; } p.tags span:hover { cursor: pointer; text-decoration: underline; } p.tags span.selected { background: #CEC; } /* PROFILE */ table.profile th { width: 10em; } /* OTHER GUFF */ dd { background: #CEC; border-right: 4px solid #ACA; color: #464; padding: 6px; } dd a { color: #464; } dd a:hover { color: #000 !important; text-decoration: underline !important; } dl { font-size: small; margin: 1em; width: 70%; } dl#profile dd { background: #CDE; border-color: #ABC; color: #247; } dl#profile dt { background: #BCE; border-color: #9AC; color: #245; display: block; font-weight: bold; padding: 6px; } dl#profile a { color: #446; } dl#profile a:hover { color: #000 !important; text-decoration: underline !important; } dl#meta dd { line-height: 1.5em; } dl#meta dt { background: #BDB; color: #353; display: block; font-weight: bold; padding: 6px; } dt { border-right: 4px solid #9B9; } dt a { background: #BDB; color: #353; display: block; font-weight: bold; padding: 6px; } dt a:hover { background: #ACA; border: 0; } form { margin: 0; } form#search { background: #FFF; color: #555; font-size: small; margin-bottom: 1em; } form label, form td, form th { font-size: small; } form table { margin: 0 1em; } h3 { background: #DDD; color: #555; font-size: small; letter-spacing: 0.2em; margin: 2em 1em 1em 1em; padding: 0.25em 0.75em; } li { font-size: small; margin-bottom: 0.5em; } p { font-size: small; margin: 1em; } p#sort { color: #CCC; font-size: small; float: right; margin: 0; position: absolute; right: 0; top: 7em; } html > body p#sort { margin-right: 0.75em; } p#sort a { background: #AAA; color: #555; font-weight: normal; margin-right: 0.5em; padding: 0 1em; } html > body p#sort a { margin-right: 0; } p#sort a:hover { background: #CCC; text-decoration: none !important; } p#sort span { display: none; } p.paging { font-size: small; margin-left: 1em; } p.paging a, p.paging span.disable { background: #888; color: #FFF; display: inline; margin-right: 0.5em; padding: 0.25em 1em; } p.paging a:hover { background: #666; } p.paging span { display: none; } p.paging span.disable { background: #DDD; color: #AAA; } div.collapsible p.tags { line-height: 2.25em; margin: 1em 2em; } th label { padding-right: 1em; } ul { margin-right: 1em; width: 75%; } scuttle-0.7.4/search.inc.php000066400000000000000000000033461103742314700157430ustar00rootroot00000000000000 scuttle-0.7.4/search.php000066400000000000000000000077521103742314700152000ustar00rootroot00000000000000getCurrentUserId(); list($url, $range, $terms, $page) = explode('/', $_SERVER['PATH_INFO']); $tplvars = array(); $tplVars['loadjs'] = true; // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } $s_user = NULL; $s_start = NULL; $s_end = NULL; $s_watchlist = NULL; // No search terms if (is_null($terms)) { $tplVars['subtitle'] = T_('Search Bookmarks'); $s_start = date('Y-m-d H:i:s', strtotime($dtend .' -'. $defaultRecentDays .' days')); $s_end = date('Y-m-d H:i:s', strtotime('tomorrow')); // Search terms } else { $tplVars['subtitle'] = T_('Search Results'); $selected = ' selected="selected"'; switch ($range) { case 'all': $tplVars['select_all'] = $selected; $s_user = NULL; break; case 'watchlist': $tplVars['select_watchlist'] = $selected; $s_user = $logged_on_userid; $s_watchlist = true; break; default: $s_user = $range; break; } if (isset($s_user)) { if (is_numeric($s_user)) { $s_user = intval($s_user); } else { if (!($userinfo = $userservice->getUserByUsername($s_user) ) ) { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $s_user); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { $s_user =& $userinfo[$userservice->getFieldName('primary')]; } } } } $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $s_user, NULL, $terms, getSortOrder(), $s_watchlist, $s_start, $s_end); $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['popCount'] = 25; $tplVars['sidebar_blocks'] = array('recent'); $tplVars['range'] = $range; $tplVars['terms'] = $terms; $tplVars['pagetitle'] = T_('Search Bookmarks'); $tplVars['bookmarkCount'] = $start + 1; $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['cat_url'] = createURL('tags', '%2$s'); $tplVars['nav_url'] = createURL('search', $range .'/'. $terms .'/%3$s'); $templateservice->loadTemplate('bookmarks.tpl', $tplVars); } ?> scuttle-0.7.4/services/000077500000000000000000000000001103742314700150325ustar00rootroot00000000000000scuttle-0.7.4/services/bookmarkservice.php000066400000000000000000000410061103742314700207320ustar00rootroot00000000000000db = & $db; } function _getbookmark($fieldname, $value, $all = false) { if (!$all) { $userservice = & ServiceFactory :: getServiceInstance('UserService'); $sId = $userservice->getCurrentUserId(); $range = ' AND uId = '. $sId; } $query = 'SELECT * FROM '. $GLOBALS['tableprefix'] .'bookmarks WHERE '. $fieldname .' = "'. $this->db->sql_escape($value) .'"'. $range; if (!($dbresult = & $this->db->sql_query_limit($query, 1, 0))) { message_die(GENERAL_ERROR, 'Could not get bookmark', '', __LINE__, __FILE__, $query, $this->db); return false; } if ($row =& $this->db->sql_fetchrow($dbresult)) { return $row; } else { return false; } } function & getBookmark($bid, $include_tags = false) { if (!is_numeric($bid)) return; $sql = 'SELECT * FROM '. $GLOBALS['tableprefix'] .'bookmarks WHERE bId = '. $this->db->sql_escape($bid); if (!($dbresult = & $this->db->sql_query($sql))) message_die(GENERAL_ERROR, 'Could not get vars', '', __LINE__, __FILE__, $sql, $this->db); if ($row = & $this->db->sql_fetchrow($dbresult)) { if ($include_tags) { $tagservice = & ServiceFactory :: getServiceInstance('TagService'); $row['tags'] = $tagservice->getTagsForBookmark($bid); } return $row; } else { return false; } } function getBookmarkByAddress($address) { $hash = md5($address); return $this->getBookmarkByHash($hash); } function getBookmarkByHash($hash) { return $this->_getbookmark('bHash', $hash, true); } function editAllowed($bookmark) { if (!is_numeric($bookmark) && (!is_array($bookmark) || !is_numeric($bookmark['bId']))) return false; if (!is_array($bookmark)) if (!($bookmark = $this->getBookmark($bookmark))) return false; $userservice = & ServiceFactory :: getServiceInstance('UserService'); $userid = $userservice->getCurrentUserId(); if ($userservice->isAdmin($userid)) return true; else return ($bookmark['uId'] == $userid); } function bookmarkExists($address = false, $uid = NULL) { if (!$address) { return; } // If address doesn't contain ":", add "http://" as the default protocol if (strpos($address, ':') === false) { $address = 'http://'. $address; } $crit = array ('bHash' => md5($address)); if (isset ($uid)) { $crit['uId'] = $uid; } $sql = 'SELECT COUNT(*) FROM '. $GLOBALS['tableprefix'] .'bookmarks WHERE '. $this->db->sql_build_array('SELECT', $crit); if (!($dbresult = & $this->db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not get vars', '', __LINE__, __FILE__, $sql, $this->db); } return ($this->db->sql_fetchfield(0, 0) > 0); } // Adds a bookmark to the database. // Note that date is expected to be a string that's interpretable by strtotime(). function addBookmark($address, $title, $description, $status, $categories, $date = NULL, $fromApi = false, $fromImport = false) { $userservice = & ServiceFactory :: getServiceInstance('UserService'); $sId = $userservice->getCurrentUserId(); // If bookmark address doesn't contain ":", add "http://" to the start as a default protocol if (strpos($address, ':') === false) { $address = 'http://'. $address; } // Get the client's IP address and the date; note that the date is in GMT. if (getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP'); else if (getenv('REMOTE_ADDR')) $ip = getenv('REMOTE_ADDR'); else $ip = getenv('HTTP_X_FORWARDED_FOR'); // Note that if date is NULL, then it's added with a date and time of now, and if it's present, // it's expected to be a string that's interpretable by strtotime(). if (is_null($date)) $time = time(); else $time = strtotime($date); $datetime = gmdate('Y-m-d H:i:s', $time); // Set up the SQL insert statement and execute it. $values = array('uId' => intval($sId), 'bIp' => $ip, 'bDatetime' => $datetime, 'bModified' => $datetime, 'bTitle' => $title, 'bAddress' => $address, 'bDescription' => $description, 'bStatus' => intval($status), 'bHash' => md5($address)); $sql = 'INSERT INTO '. $GLOBALS['tableprefix'] .'bookmarks '. $this->db->sql_build_array('INSERT', $values); $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not insert bookmark', '', __LINE__, __FILE__, $sql, $this->db); return false; } // Get the resultant row ID for the bookmark. $bId = $this->db->sql_nextid($dbresult); if (!isset($bId) || !is_int($bId)) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not insert bookmark', '', __LINE__, __FILE__, $sql, $this->db); return false; } $uriparts = explode('.', $address); $extension = end($uriparts); unset($uriparts); $tagservice = & ServiceFactory :: getServiceInstance('TagService'); if (!$tagservice->attachTags($bId, $categories, $fromApi, $extension, false, $fromImport)) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not insert bookmark', '', __LINE__, __FILE__, $sql, $this->db); return false; } $this->db->sql_transaction('commit'); // Everything worked out, so return the new bookmark's bId. return $bId; } function updateBookmark($bId, $address, $title, $description, $status, $categories, $date = NULL, $fromApi = false) { if (!is_numeric($bId)) return false; // Get the client's IP address and the date; note that the date is in GMT. if (getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP'); else if (getenv('REMOTE_ADDR')) $ip = getenv('REMOTE_ADDR'); else $ip = getenv('HTTP_X_FORWARDED_FOR'); $moddatetime = gmdate('Y-m-d H:i:s', time()); // Set up the SQL update statement and execute it. $updates = array('bModified' => $moddatetime, 'bTitle' => $title, 'bAddress' => $address, 'bDescription' => $description, 'bStatus' => $status, 'bHash' => md5($address)); if (!is_null($date)) { $updates['bDateTime'] = gmdate('Y-m-d H:i:s', strtotime($date)); } $sql = 'UPDATE '. $GLOBALS['tableprefix'] .'bookmarks SET '. $this->db->sql_build_array('UPDATE', $updates) .' WHERE bId = '. intval($bId); $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not update bookmark', '', __LINE__, __FILE__, $sql, $this->db); return false; } $uriparts = explode('.', $address); $extension = end($uriparts); unset($uriparts); $tagservice = & ServiceFactory :: getServiceInstance('TagService'); if (!$tagservice->attachTags($bId, $categories, $fromApi, $extension)) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not update bookmark', '', __LINE__, __FILE__, $sql, $this->db); return false; } $this->db->sql_transaction('commit'); // Everything worked out, so return true. return true; } function & getBookmarks($start = 0, $perpage = NULL, $user = NULL, $tags = NULL, $terms = NULL, $sortOrder = NULL, $watched = NULL, $startdate = NULL, $enddate = NULL, $hash = NULL) { // Only get the bookmarks that are visible to the current user. Our rules: // - if the $user is NULL, that means get bookmarks from ALL users, so we need to make // sure to check the logged-in user's watchlist and get the contacts-only bookmarks from // those users. If the user isn't logged-in, just get the public bookmarks. // - if the $user is set and isn't the logged-in user, then get that user's bookmarks, and // if that user is on the logged-in user's watchlist, get the public AND contacts-only // bookmarks; otherwise, just get the public bookmarks. // - if the $user is set and IS the logged-in user, then get all bookmarks. $userservice =& ServiceFactory::getServiceInstance('UserService'); $tagservice =& ServiceFactory::getServiceInstance('TagService'); $sId = $userservice->getCurrentUserId(); if ($userservice->isLoggedOn()) { // All public bookmarks, user's own bookmarks and any shared with user $privacy = ' AND ((B.bStatus = 0) OR (B.uId = '. $sId .')'; $watchnames = $userservice->getWatchNames($sId, true); foreach($watchnames as $watchuser) { $privacy .= ' OR (U.username = "'. $watchuser .'" AND B.bStatus = 1)'; } $privacy .= ')'; } else { // Just public bookmarks $privacy = ' AND B.bStatus = 0'; } // Set up the tags, if need be. if (!is_array($tags) && !is_null($tags)) { $tags = explode('+', trim($tags)); } $tagcount = count($tags); for ($i = 0; $i < $tagcount; $i ++) { $tags[$i] = trim($tags[$i]); } // Set up the SQL query. $query_1 = 'SELECT DISTINCT '; if (SQL_LAYER == 'mysql4') { $query_1 .= 'SQL_CALC_FOUND_ROWS '; } $query_1 .= 'B.*, U.'. $userservice->getFieldName('username'); $query_2 = ' FROM '. $userservice->getTableName() .' AS U, '. $GLOBALS['tableprefix'] .'bookmarks AS B'; $query_3 = ' WHERE B.uId = U.'. $userservice->getFieldName('primary') . $privacy; if (is_null($watched)) { if (!is_null($user)) { $query_3 .= ' AND B.uId = '. $user; } } else { $arrWatch = $userservice->getWatchlist($user); if (count($arrWatch) > 0) { foreach($arrWatch as $row) { $query_3_1 .= 'B.uId = '. intval($row) .' OR '; } $query_3_1 = substr($query_3_1, 0, -3); } else { $query_3_1 = 'B.uId = -1'; } $query_3 .= ' AND ('. $query_3_1 .') AND B.bStatus IN (0, 1)'; } switch($sortOrder) { case 'date_asc': $query_5 = ' ORDER BY B.bDatetime ASC '; break; case 'title_desc': $query_5 = ' ORDER BY B.bTitle DESC '; break; case 'title_asc': $query_5 = ' ORDER BY B.bTitle ASC '; break; case 'url_desc': $query_5 = ' ORDER BY B.bAddress DESC '; break; case 'url_asc': $query_5 = ' ORDER BY B.bAddress ASC '; break; default: $query_5 = ' ORDER BY B.bDatetime DESC '; } // Handle the parts of the query that depend on any tags that are present. $query_4 = ''; for ($i = 0; $i < $tagcount; $i ++) { $query_2 .= ', '. $GLOBALS['tableprefix'] .'tags AS T'. $i; $query_4 .= ' AND T'. $i .'.tag = "'. $this->db->sql_escape($tags[$i]) .'" AND T'. $i .'.bId = B.bId'; } // Search terms if ($terms) { // Multiple search terms okay $aTerms = explode(' ', $terms); $aTerms = array_map('trim', $aTerms); // Search terms in tags as well when none given if (!count($tags)) { $query_2 .= ' LEFT JOIN '. $GLOBALS['tableprefix'] .'tags AS T ON B.bId = T.bId'; $dotags = true; } else { $dotags = false; } $query_4 = ''; for ($i = 0; $i < count($aTerms); $i++) { $query_4 .= ' AND (B.bTitle LIKE "%'. $this->db->sql_escape($aTerms[$i]) .'%"'; $query_4 .= ' OR B.bDescription LIKE "%'. $this->db->sql_escape($aTerms[$i]) .'%"'; if ($dotags) { $query_4 .= ' OR T.tag = "'. $this->db->sql_escape($aTerms[$i]) .'"'; } $query_4 .= ')'; } } // Start and end dates if ($startdate) { $query_4 .= ' AND B.bDatetime > "'. $startdate .'"'; } if ($enddate) { $query_4 .= ' AND B.bDatetime < "'. $enddate .'"'; } // Hash if ($hash) { $query_4 .= ' AND B.bHash = "'. $hash .'"'; } $query = $query_1 . $query_2 . $query_3 . $query_4 . $query_5; if (!($dbresult = & $this->db->sql_query_limit($query, intval($perpage), intval($start)))) { message_die(GENERAL_ERROR, 'Could not get bookmarks', '', __LINE__, __FILE__, $query, $this->db); return false; } if (SQL_LAYER == 'mysql4') { $totalquery = 'SELECT FOUND_ROWS() AS total'; } else { $totalquery = 'SELECT COUNT(*) AS total'. $query_2 . $query_3 . $query_4; } if (!($totalresult = & $this->db->sql_query($totalquery)) || (!($row = & $this->db->sql_fetchrow($totalresult)))) { message_die(GENERAL_ERROR, 'Could not get total bookmarks', '', __LINE__, __FILE__, $totalquery, $this->db); return false; } $total = $row['total']; $bookmarks = array(); while ($row = & $this->db->sql_fetchrow($dbresult)) { $row['tags'] = $tagservice->getTagsForBookmark(intval($row['bId'])); $bookmarks[] = $row; } return array ('bookmarks' => $bookmarks, 'total' => $total); } function deleteBookmark($bookmarkid) { $query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'bookmarks WHERE bId = '. intval($bookmarkid); $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($query))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not delete bookmarks', '', __LINE__, __FILE__, $query, $this->db); return false; } $query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'tags WHERE bId = '. intval($bookmarkid); $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($query))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not delete bookmarks', '', __LINE__, __FILE__, $query, $this->db); return false; } $this->db->sql_transaction('commit'); return true; } function countOthers($address) { if (!$address) { return false; } $userservice = & ServiceFactory :: getServiceInstance('UserService'); $sId = $userservice->getCurrentUserId(); if ($userservice->isLoggedOn()) { // All public bookmarks, user's own bookmarks and any shared with user $privacy = ' AND ((B.bStatus = 0) OR (B.uId = '. $sId .')'; $watchnames = $userservice->getWatchNames($sId, true); foreach($watchnames as $watchuser) { $privacy .= ' OR (U.username = "'. $watchuser .'" AND B.bStatus = 1)'; } $privacy .= ')'; } else { // Just public bookmarks $privacy = ' AND B.bStatus = 0'; } $sql = 'SELECT COUNT(*) FROM '. $userservice->getTableName() .' AS U, '. $GLOBALS['tableprefix'] .'bookmarks AS B WHERE U.'. $userservice->getFieldName('primary') .' = B.uId AND B.bHash = "'. md5($address) .'"'. $privacy; if (!($dbresult = & $this->db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not get vars', '', __LINE__, __FILE__, $sql, $this->db); } return $this->db->sql_fetchfield(0, 0) - 1; } } ?> scuttle-0.7.4/services/cacheservice.php000066400000000000000000000017471103742314700202000ustar00rootroot00000000000000basedir = $GLOBALS['dir_cache']; } function Start($hash, $time = 300) { $cachefile = $this->basedir .'/'. $hash . $this->fileextension; if (file_exists($cachefile) && time() < filemtime($cachefile) + $time) { @readfile($cachefile); echo "\n\n"; unset($cachefile); exit; } ob_start("ob_gzhandler"); } function End($hash) { $cachefile = $this->basedir .'/'. $hash . $this->fileextension; $handle = fopen($cachefile, 'w'); fwrite($handle, ob_get_contents()); fclose($handle); ob_flush(); } } ?>scuttle-0.7.4/services/servicefactory.php000066400000000000000000000023151103742314700205740ustar00rootroot00000000000000sql_connect($dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbpersist); if(!$db->db_connect_id) { message_die(CRITICAL_ERROR, "Could not connect to the database", $db); } } if (!isset($instances[$name])) { if (isset($serviceoverrules[$name])) { $name = $serviceoverrules[$name]; } if (!class_exists($name)) { if (!isset($servicedir)) { $servicedir = dirname(__FILE__) .'/'; } require_once($servicedir . strtolower($name) . '.php'); } $instances[$name] = call_user_func(array($name, 'getInstance'), $db); } return $instances[$name]; } } ?>scuttle-0.7.4/services/tagservice.php000066400000000000000000000336451103742314700177120ustar00rootroot00000000000000db =& $db; $this->tablename = $GLOBALS['tableprefix'] .'tags'; } function isNotSystemTag($var) { if (utf8_substr($var, 0, 7) == 'system:') return false; else return true; } function attachTags($bookmarkid, $tags, $fromApi = false, $extension = NULL, $replace = true, $fromImport = false) { // Make sure that categories is an array of trimmed strings, and that if the categories are // coming in from an API call to add a bookmark, that underscores are converted into strings. if (!is_array($tags)) { $tags = trim($tags); if ($tags != '') { if (substr($tags, -1) == ',') { $tags = substr($tags, 0, -1); } if ($fromApi) { $tags = explode(' ', $tags); } else { $tags = explode(',', $tags); } } else { $tags = null; } } $tags_count = count($tags); for ($i = 0; $i < $tags_count; $i++) { $tags[$i] = trim(strtolower($tags[$i])); if ($fromApi) { include_once(dirname(__FILE__) .'/../functions.inc.php'); $tags[$i] = convertTag($tags[$i], 'in'); } } if ($tags_count > 0) { // Remove system tags $tags = array_filter($tags, array($this, "isNotSystemTag")); // Eliminate any duplicate categories $temp = array_unique($tags); $tags = array_values($temp); } else { // Unfiled $tags[] = 'system:unfiled'; } // Media and file types if (!is_null($extension)) { include_once(dirname(__FILE__) .'/../functions.inc.php'); if ($keys = multi_array_search($extension, $GLOBALS['filetypes'])) { $tags[] = 'system:filetype:'. $extension; $tags[] = 'system:media:'. array_shift($keys); } } // Imported if ($fromImport) { $tags[] = 'system:imported'; } $this->db->sql_transaction('begin'); if ($replace) { if (!$this->deleteTagsForBookmark($bookmarkid)){ $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not attach tags (deleting old ones failed)', '', __LINE__, __FILE__, $sql, $this->db); return false; } } // Add the categories to the DB. for ($i = 0; $i < count($tags); $i++) { if ($tags[$i] != '') { $values = array( 'bId' => intval($bookmarkid), 'tag' => $tags[$i] ); if (!$this->hasTag($bookmarkid, $tags[$i])) { $sql = 'INSERT INTO '. $this->getTableName() .' '. $this->db->sql_build_array('INSERT', $values); if (!($dbresult =& $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not attach tags', '', __LINE__, __FILE__, $sql, $this->db); return false; } } } } $this->db->sql_transaction('commit'); return true; } function deleteTag($tag) { $userservice =& ServiceFactory::getServiceInstance('UserService'); $logged_on_user = $userservice->getCurrentUserId(); $query = 'DELETE FROM '. $this->getTableName() .' USING '. $GLOBALS['tableprefix'] .'tags, '. $GLOBALS['tableprefix'] .'bookmarks WHERE '. $GLOBALS['tableprefix'] .'tags.bId = '. $GLOBALS['tableprefix'] .'bookmarks.bId AND '. $GLOBALS['tableprefix'] .'bookmarks.uId = '. $logged_on_user .' AND '. $GLOBALS['tableprefix'] .'tags.tag = "'. $this->db->sql_escape($tag) .'"'; if (!($dbresult =& $this->db->sql_query($query))) { message_die(GENERAL_ERROR, 'Could not delete tags', '', __LINE__, __FILE__, $query, $this->db); return false; } return true; } function deleteTagsForBookmark($bookmarkid) { if (!is_int($bookmarkid)) { message_die(GENERAL_ERROR, 'Could not delete tags (invalid bookmarkid)', '', __LINE__, __FILE__, $query); return false; } $query = 'DELETE FROM '. $this->getTableName() .' WHERE bId = '. intval($bookmarkid); if (!($dbresult =& $this->db->sql_query($query))) { message_die(GENERAL_ERROR, 'Could not delete tags', '', __LINE__, __FILE__, $query, $this->db); return false; } return true; } function &getTagsForBookmark($bookmarkid) { if (!is_int($bookmarkid)) { message_die(GENERAL_ERROR, 'Could not get tags (invalid bookmarkid)', '', __LINE__, __FILE__, $query); return false; } $query = 'SELECT tag FROM '. $this->getTableName() .' WHERE bId = '. intval($bookmarkid) .' AND LEFT(tag, 7) <> "system:" ORDER BY tag'; if (!($dbresult =& $this->db->sql_query($query))) { message_die(GENERAL_ERROR, 'Could not get tags', '', __LINE__, __FILE__, $query, $this->db); return false; } $tags = array(); while ($row =& $this->db->sql_fetchrow($dbresult)) { $tags[] = $row['tag']; } return $tags; } function &getTags($userid = NULL) { $userservice =& ServiceFactory::getServiceInstance('UserService'); $logged_on_user = $userservice->getCurrentUserId(); $query = 'SELECT T.tag, COUNT(B.bId) AS bCount FROM '. $GLOBALS['tableprefix'] .'bookmarks AS B INNER JOIN '. $userservice->getTableName() .' AS U ON B.uId = U.'. $userservice->getFieldName('primary') .' INNER JOIN '. $GLOBALS['tableprefix'] .'tags AS T ON B.bId = T.bId'; $conditions = array(); if (!is_null($userid)) { $conditions['U.'. $userservice->getFieldName('primary')] = intval($userid); if ($logged_on_user != $userid) $conditions['B.bStatus'] = 0; } else { $conditions['B.bStatus'] = 0; } $query .= ' WHERE '. $this->db->sql_build_array('SELECT', $conditions) .' AND LEFT(T.tag, 7) <> "system:" GROUP BY T.tag ORDER BY bCount DESC, tag'; if (!($dbresult =& $this->db->sql_query($query))) { message_die(GENERAL_ERROR, 'Could not get tags', '', __LINE__, __FILE__, $query, $this->db); return false; } return $this->db->sql_fetchrowset($dbresult); } // Returns the tags related to the specified tags; i.e. attached to the same bookmarks function &getRelatedTags($tags, $for_user = NULL, $logged_on_user = NULL, $limit = 10) { $conditions = array(); // Only count the tags that are visible to the current user. if ($for_user != $logged_on_user || is_null($for_user)) $conditions['B.bStatus'] = 0; if (!is_null($for_user)) $conditions['B.uId'] = $for_user; // Set up the tags, if need be. if (is_numeric($tags)) $tags = NULL; if (!is_array($tags) and !is_null($tags)) $tags = explode('+', trim($tags)); $tagcount = count($tags); for ($i = 0; $i < $tagcount; $i++) { $tags[$i] = trim($tags[$i]); } // Set up the SQL query. $query_1 = 'SELECT DISTINCTROW T0.tag, COUNT(B.bId) AS bCount FROM '. $GLOBALS['tableprefix'] .'bookmarks AS B, '. $this->getTableName() .' AS T0'; $query_2 = ''; $query_3 = ' WHERE B.bId = T0.bId '; if (count($conditions) > 0) $query_4 = ' AND '. $this->db->sql_build_array('SELECT', $conditions); else $query_4 = ''; // Handle the parts of the query that depend on any tags that are present. for ($i = 1; $i <= $tagcount; $i++) { $query_2 .= ', '. $this->getTableName() .' AS T'. $i; $query_4 .= ' AND T'. $i .'.bId = B.bId AND T'. $i .'.tag = "'. $this->db->sql_escape($tags[$i - 1]) .'" AND T0.tag <> "'. $this->db->sql_escape($tags[$i - 1]) .'"'; } $query_5 = ' AND LEFT(T0.tag, 7) <> "system:" GROUP BY T0.tag ORDER BY bCount DESC, T0.tag'; $query = $query_1 . $query_2 . $query_3 . $query_4 . $query_5; if (! ($dbresult =& $this->db->sql_query_limit($query, $limit)) ){ message_die(GENERAL_ERROR, 'Could not get related tags', '', __LINE__, __FILE__, $query, $this->db); return false; } return $this->db->sql_fetchrowset($dbresult); } // Returns the most popular tags used for a particular bookmark hash function &getRelatedTagsByHash($hash, $limit = 20) { $userservice = & ServiceFactory :: getServiceInstance('UserService'); $sId = $userservice->getCurrentUserId(); // Logged in if ($userservice->isLoggedOn()) { $arrWatch = $userservice->getWatchList($sId); // From public bookmarks or user's own $privacy = ' AND ((B.bStatus = 0) OR (B.uId = '. $sId .')'; // From shared bookmarks in watchlist foreach ($arrWatch as $w) { $privacy .= ' OR (B.uId = '. $w .' AND B.bStatus = 1)'; } $privacy .= ') '; // Not logged in } else { $privacy = ' AND B.bStatus = 0 '; } $query = 'SELECT T.tag, COUNT(T.tag) AS bCount FROM sc_bookmarks AS B LEFT JOIN sc_tags AS T ON B.bId = T.bId WHERE B.bHash = "'. $hash .'" '. $privacy .'AND LEFT(T.tag, 7) <> "system:" GROUP BY T.tag ORDER BY bCount DESC'; if (!($dbresult =& $this->db->sql_query_limit($query, $limit))) { message_die(GENERAL_ERROR, 'Could not get related tags for this hash', '', __LINE__, __FILE__, $query, $this->db); return false; } return $this->db->sql_fetchrowset($dbresult); } function &getPopularTags($user = NULL, $limit = 30, $logged_on_user = NULL, $days = NULL) { // Only count the tags that are visible to the current user. if (($user != $logged_on_user) || is_null($user) || ($user === false)) $privacy = ' AND B.bStatus = 0'; else $privacy = ''; if (is_null($days) || !is_int($days)) $span = ''; else $span = ' AND B.bDatetime > "'. date('Y-m-d H:i:s', time() - (86400 * $days)) .'"'; $query = 'SELECT T.tag, COUNT(T.bId) AS bCount FROM '. $this->getTableName() .' AS T, '. $GLOBALS['tableprefix'] .'bookmarks AS B WHERE '; if (is_null($user) || ($user === false)) { $query .= 'B.bId = T.bId AND B.bStatus = 0'; } else { $query .= 'B.uId = '. $this->db->sql_escape($user) .' AND B.bId = T.bId'. $privacy; } $query .= $span .' AND LEFT(T.tag, 7) <> "system:" GROUP BY T.tag ORDER BY bCount DESC, tag'; if (!($dbresult =& $this->db->sql_query_limit($query, $limit))) { message_die(GENERAL_ERROR, 'Could not get popular tags', '', __LINE__, __FILE__, $query, $this->db); return false; } return $this->db->sql_fetchrowset($dbresult); } function hasTag($bookmarkid, $tag) { $query = 'SELECT COUNT(*) AS tCount FROM '. $this->getTableName() .' WHERE bId = '. intval($bookmarkid) .' AND tag ="'. $this->db->sql_escape($tag) .'"'; if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not find tag', '', __LINE__, __FILE__, $query, $this->db); return false; } if ($row =& $this->db->sql_fetchrow($dbresult)) { if ($row['tCount'] > 0) { return true; } } return false; } function renameTag($userid, $old, $new, $fromApi = false) { $bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); if (is_null($userid) || is_null($old) || is_null($new)) return false; // Find bookmarks with old tag $bookmarksInfo =& $bookmarkservice->getBookmarks(0, NULL, $userid, $old); $bookmarks =& $bookmarksInfo['bookmarks']; // Delete old tag $this->deleteTag($old); // Attach new tags foreach(array_keys($bookmarks) as $key) { $row =& $bookmarks[$key]; $this->attachTags($row['bId'], $new, $fromApi, NULL, false); } return true; } function &tagCloud($tags = NULL, $steps = 5, $sizemin = 90, $sizemax = 225, $sortOrder = NULL) { if (is_null($tags) || count($tags) < 1) { return false; } $min = $tags[count($tags) - 1]['bCount']; $max = $tags[0]['bCount']; for ($i = 1; $i <= $steps; $i++) { $delta = ($max - $min) / (2 * $steps - $i); $limit[$i] = $i * $delta + $min; } $sizestep = ($sizemax - $sizemin) / $steps; foreach ($tags as $row) { $next = false; for ($i = 1; $i <= $steps; $i++) { if (!$next && $row['bCount'] <= $limit[$i]) { $size = $sizestep * ($i - 1) + $sizemin; $next = true; } } $tempArray = array('size' => $size .'%'); $row = array_merge($row, $tempArray); $output[] = $row; } if ($sortOrder == 'alphabet_asc') { usort($output, create_function('$a,$b','return strcasecmp(utf8_deaccent($a["tag"]), utf8_deaccent($b["tag"]));')); } return $output; } // Properties function getTableName() { return $this->tablename; } function setTableName($value) { $this->tablename = $value; } } ?>scuttle-0.7.4/services/templateservice.php000066400000000000000000000021161103742314700207370ustar00rootroot00000000000000basedir = $GLOBALS['TEMPLATES_DIR']; } function loadTemplate($template, $vars = NULL) { if (substr($template, -4) != '.php') $template .= '.php'; $tpl =& new Template($this->basedir .'/'. $template, $vars, $this); $tpl->parse(); return $tpl; } } class Template { var $vars = array(); var $file = ''; var $templateservice; function Template($file, $vars = NULL, &$templateservice) { $this->vars = $vars; $this->file = $file; $this->templateservice = $templateservice; } function parse() { if (isset($this->vars)) extract($this->vars); include($this->file); } function includeTemplate($name) { return $this->templateservice->loadTemplate($name, $this->vars); } } ?>scuttle-0.7.4/services/userservice.php000066400000000000000000000334321103742314700201070ustar00rootroot00000000000000 'uId', 'username' => 'username', 'password' => 'password' ); var $profileurl; var $tablename; var $sessionkey; var $cookiekey; var $cookietime = 1209600; // 2 weeks function UserService(&$db) { $this->db =& $db; $this->tablename = $GLOBALS['tableprefix'] .'users'; $this->sessionkey = $GLOBALS['cookieprefix'] .'-currentuserid'; $this->cookiekey = $GLOBALS['cookieprefix'] .'-login'; $this->profileurl = createURL('profile', '%2$s'); } function _checkdns($host) { if (function_exists('checkdnsrr')) { return checkdnsrr($host); } else { return $this->_checkdnsrr($host); } } function _checkdnsrr($host, $type = "MX") { if(!empty($host)) { @exec("nslookup -type=$type $host", $output); while(list($k, $line) = each($output)) { if(eregi("^$host", $line)) { return true; } } return false; } } function _getuser($fieldname, $value) { $query = 'SELECT * FROM '. $this->getTableName() .' WHERE '. $fieldname .' = "'. $this->db->sql_escape($value) .'"'; if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not get user', '', __LINE__, __FILE__, $query, $this->db); return false; } if ($row =& $this->db->sql_fetchrow($dbresult)) return $row; else return false; } function _randompassword() { $password = mt_rand(1, 99999999); $password = substr(md5($password), mt_rand(0, 19), mt_rand(6, 12)); return $password; } function _updateuser($uId, $fieldname, $value) { $updates = array ($fieldname => $value); $sql = 'UPDATE '. $this->getTableName() .' SET '. $this->db->sql_build_array('UPDATE', $updates) .' WHERE '. $this->getFieldName('primary') .'='. intval($uId); // Execute the statement. $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not update user', '', __LINE__, __FILE__, $sql, $this->db); return false; } $this->db->sql_transaction('commit'); // Everything worked out, so return true. return true; } function getProfileUrl($id, $username) { return sprintf($this->profileurl, urlencode($id), urlencode($username)); } function getUserByUsername($username) { return $this->_getuser($this->getFieldName('username'), $username); } function getUser($id) { return $this->_getuser($this->getFieldName('primary'), $id); } function isLoggedOn() { return ($this->getCurrentUserId() !== false); } function &getCurrentUser($refresh = FALSE, $newval = NULL) { static $currentuser; if (!is_null($newval)) //internal use only: reset currentuser $currentuser = $newval; else if ($refresh || !isset($currentuser)) { if ($id = $this->getCurrentUserId()) $currentuser = $this->getUser($id); else return; } return $currentuser; } function isAdmin($userid) { return false; //not implemented yet } function getCurrentUserId() { if (isset($_SESSION[$this->getSessionKey()])) { return $_SESSION[$this->getSessionKey()]; } else if (isset($_COOKIE[$this->getCookieKey()])) { $cook = split(':', $_COOKIE[$this->getCookieKey()]); //cookie looks like this: 'id:md5(username+password)' $query = 'SELECT * FROM '. $this->getTableName() . ' WHERE MD5(CONCAT('.$this->getFieldName('username') . ', '.$this->getFieldName('password') . ')) = \''.$this->db->sql_escape($cook[1]).'\' AND '. $this->getFieldName('primary'). ' = '. $this->db->sql_escape($cook[0]); if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not get user', '', __LINE__, __FILE__, $query, $this->db); return false; } if ($row = $this->db->sql_fetchrow($dbresult)) { $_SESSION[$this->getSessionKey()] = $row[$this->getFieldName('primary')]; return $_SESSION[$this->getSessionKey()]; } } return false; } function login($username, $password, $remember = FALSE, $path = '/') { $password = $this->sanitisePassword($password); $query = 'SELECT '. $this->getFieldName('primary') .' FROM '. $this->getTableName() .' WHERE '. $this->getFieldName('username') .' = "'. $this->db->sql_escape($username) .'" AND '. $this->getFieldName('password') .' = "'. $this->db->sql_escape($password) .'"'; if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not get user', '', __LINE__, __FILE__, $query, $this->db); return false; } if ($row =& $this->db->sql_fetchrow($dbresult)) { $id = $_SESSION[$this->getSessionKey()] = $row[$this->getFieldName('primary')]; if ($remember) { $cookie = $id .':'. md5($username.$password); setcookie($this->cookiekey, $cookie, time() + $this->cookietime, $path); } return true; } else { return false; } } function logout($path = '/') { @setcookie($this->cookiekey, NULL, time() - 1, $path); unset($_COOKIE[$this->cookiekey]); session_unset(); $this->getCurrentUser(TRUE, false); } function getWatchlist($uId) { // Gets the list of user IDs being watched by the given user. $query = 'SELECT watched FROM '. $GLOBALS['tableprefix'] .'watched WHERE uId = '. intval($uId); if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not get watchlist', '', __LINE__, __FILE__, $query, $this->db); return false; } $arrWatch = array(); if ($this->db->sql_numrows($dbresult) == 0) return $arrWatch; while ($row =& $this->db->sql_fetchrow($dbresult)) $arrWatch[] = $row['watched']; return $arrWatch; } function getWatchNames($uId, $watchedby = false) { // Gets the list of user names being watched by the given user. // - If $watchedby is false get the list of users that $uId watches // - If $watchedby is true get the list of users that watch $uId if ($watchedby) { $table1 = 'b'; $table2 = 'a'; } else { $table1 = 'a'; $table2 = 'b'; } $query = 'SELECT '. $table1 .'.'. $this->getFieldName('username') .' FROM '. $GLOBALS['tableprefix'] .'watched AS W, '. $this->getTableName() .' AS a, '. $this->getTableName() .' AS b WHERE W.watched = a.'. $this->getFieldName('primary') .' AND W.uId = b.'. $this->getFieldName('primary') .' AND '. $table2 .'.'. $this->getFieldName('primary') .' = '. intval($uId) .' ORDER BY '. $table1 .'.'. $this->getFieldName('username'); if (!($dbresult =& $this->db->sql_query($query))) { message_die(GENERAL_ERROR, 'Could not get watchlist', '', __LINE__, __FILE__, $query, $this->db); return false; } $arrWatch = array(); if ($this->db->sql_numrows($dbresult) == 0) { return $arrWatch; } while ($row =& $this->db->sql_fetchrow($dbresult)) { $arrWatch[] = $row[$this->getFieldName('username')]; } return $arrWatch; } function getWatchStatus($watcheduser, $currentuser) { // Returns true if the current user is watching the given user, and false otherwise. $query = 'SELECT watched FROM '. $GLOBALS['tableprefix'] .'watched AS W INNER JOIN '. $this->getTableName() .' AS U ON U.'. $this->getFieldName('primary') .' = W.watched WHERE U.'. $this->getFieldName('primary') .' = '. intval($watcheduser) .' AND W.uId = '. intval($currentuser); if (! ($dbresult =& $this->db->sql_query($query)) ) { message_die(GENERAL_ERROR, 'Could not get watchstatus', '', __LINE__, __FILE__, $query, $this->db); return false; } $arrWatch = array(); if ($this->db->sql_numrows($dbresult) == 0) return false; else return true; } function setWatchStatus($subjectUserID) { if (!is_numeric($subjectUserID)) return false; $currentUserID = $this->getCurrentUserId(); $watched = $this->getWatchStatus($subjectUserID, $currentUserID); if ($watched) { $sql = 'DELETE FROM '. $GLOBALS['tableprefix'] .'watched WHERE uId = '. intval($currentUserID) .' AND watched = '. intval($subjectUserID); if (!($dbresult =& $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not add user to watch list', '', __LINE__, __FILE__, $sql, $this->db); return false; } } else { $values = array( 'uId' => intval($currentUserID), 'watched' => intval($subjectUserID) ); $sql = 'INSERT INTO '. $GLOBALS['tableprefix'] .'watched '. $this->db->sql_build_array('INSERT', $values); if (!($dbresult =& $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not add user to watch list', '', __LINE__, __FILE__, $sql, $this->db); return false; } } $this->db->sql_transaction('commit'); return true; } function addUser($username, $password, $email) { // Set up the SQL UPDATE statement. $datetime = gmdate('Y-m-d H:i:s', time()); $password = $this->sanitisePassword($password); $values = array('username' => $username, 'password' => $password, 'email' => $email, 'uDatetime' => $datetime, 'uModified' => $datetime); $sql = 'INSERT INTO '. $this->getTableName() .' '. $this->db->sql_build_array('INSERT', $values); // Execute the statement. $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not insert user', '', __LINE__, __FILE__, $sql, $this->db); return false; } $this->db->sql_transaction('commit'); // Everything worked out, so return true. return true; } function updateUser($uId, $password, $name, $email, $homepage, $uContent) { if (!is_numeric($uId)) return false; // Set up the SQL UPDATE statement. $moddatetime = gmdate('Y-m-d H:i:s', time()); if ($password == '') $updates = array ('uModified' => $moddatetime, 'name' => $name, 'email' => $email, 'homepage' => $homepage, 'uContent' => $uContent); else $updates = array ('uModified' => $moddatetime, 'password' => $this->sanitisePassword($password), 'name' => $name, 'email' => $email, 'homepage' => $homepage, 'uContent' => $uContent); $sql = 'UPDATE '. $this->getTableName() .' SET '. $this->db->sql_build_array('UPDATE', $updates) .' WHERE '. $this->getFieldName('primary') .'='. intval($uId); // Execute the statement. $this->db->sql_transaction('begin'); if (!($dbresult = & $this->db->sql_query($sql))) { $this->db->sql_transaction('rollback'); message_die(GENERAL_ERROR, 'Could not update user', '', __LINE__, __FILE__, $sql, $this->db); return false; } $this->db->sql_transaction('commit'); // Everything worked out, so return true. return true; } function sanitisePassword($password) { return sha1(trim($password)); } function generatePassword($uId) { if (!is_numeric($uId)) return false; $password = $this->_randompassword(); if ($this->_updateuser($uId, $this->getFieldName('password'), $this->sanitisePassword($password))) return $password; else return false; } function isReserved($username) { if (in_array($username, $GLOBALS['reservedusers'])) { return true; } else { return false; } } function isValidEmail($email) { if (preg_match("/^((?:(?:(?:\w[\.\-\+_]?)*)\w)+)\@((?:(?:(?:\w[\.\-_]?){0,62})\w)+)\.(\w{2,6})$/i", $email) > 0) { list($emailUser, $emailDomain) = split("@", $email); // Check if the email domain has a DNS record if ($this->_checkdns($emailDomain)) { return true; } } return false; } // Properties function getTableName() { return $this->tablename; } function setTableName($value) { $this->tablename = $value; } function getFieldName($field) { return $this->fields[$field]; } function setFieldName($field, $value) { $this->fields[$field] = $value; } function getSessionKey() { return $this->sessionkey; } function setSessionKey($value) { $this->sessionkey = $value; } function getCookieKey() { return $this->cookiekey; } function setCookieKey($value) { $this->cookiekey = $value; } } ?> scuttle-0.7.4/tables.sql000066400000000000000000000036151103742314700152070ustar00rootroot00000000000000-- -- Table structure for table `sc_bookmarks` -- CREATE TABLE `sc_bookmarks` ( `bId` int(11) NOT NULL auto_increment, `uId` int(11) NOT NULL default '0', `bIp` varchar(40) default NULL, `bStatus` tinyint(1) NOT NULL default '0', `bDatetime` datetime NOT NULL default '0000-00-00 00:00:00', `bModified` datetime NOT NULL default '0000-00-00 00:00:00', `bTitle` varchar(255) NOT NULL default '', `bAddress` text NOT NULL, `bDescription` varchar(255) default NULL, `bHash` varchar(32) NOT NULL default '', PRIMARY KEY (`bId`), KEY `sc_bookmarks_usd` (`uId`,`bStatus`,`bDatetime`), KEY `sc_bookmarks_hui` (`bHash`,`uId`,`bId`), KEY `sc_bookmarks_du` (`bDatetime`,`uId`) ); -- -------------------------------------------------------- -- -- Table structure for table `sc_tags` -- CREATE TABLE `sc_tags` ( `id` int(11) NOT NULL auto_increment, `bId` int(11) NOT NULL default '0', `tag` varchar(32) NOT NULL default '', PRIMARY KEY (`id`), UNIQUE KEY `sc_tags_tag_bId` (`tag`,`bId`), KEY `sc_tags_bId` (`bId`) ); -- -------------------------------------------------------- -- -- Table structure for table `scUsers` -- CREATE TABLE `sc_users` ( `uId` int(11) NOT NULL auto_increment, `username` varchar(25) NOT NULL default '', `password` varchar(40) NOT NULL default '', `uDatetime` datetime NOT NULL default '0000-00-00 00:00:00', `uModified` datetime NOT NULL default '0000-00-00 00:00:00', `name` varchar(50) default NULL, `email` varchar(50) NOT NULL default '', `homepage` varchar(255) default NULL, `uContent` text, PRIMARY KEY (`uId`) ); -- -------------------------------------------------------- -- -- Table structure for table `sc_watched` -- CREATE TABLE `sc_watched` ( `wId` int(11) NOT NULL auto_increment, `uId` int(11) NOT NULL default '0', `watched` int(11) NOT NULL default '0', PRIMARY KEY (`wId`), KEY `sc_watched_uId` (`uId`) );scuttle-0.7.4/tagdelete.php000066400000000000000000000041071103742314700156600ustar00rootroot00000000000000deleteTag($tag)) { $tplVars['msg'] = T_('Tag deleted'); $logged_on_user = $userservice->getCurrentUser(); header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')])); } else { $tplVars['error'] = T_('Failed to delete the tag'); $templateservice->loadTemplate('error.500.tpl', $tplVars); exit(); } } elseif ($_POST['cancel']) { $logged_on_user = $userservice->getCurrentUser(); header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags)); } $tplVars['subtitle'] = T_('Delete Tag') .': '. $tag; $tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag; $tplVars['referrer'] = $_SERVER['HTTP_REFERER']; $templateservice->loadTemplate('tagdelete.tpl', $tplVars); ?>scuttle-0.7.4/tagrename.php000066400000000000000000000051131103742314700156630ustar00rootroot00000000000000loadTemplate('error.500.tpl', $tplVars); exit(); } else { // Rename the tag. if($tagservice->renameTag($userservice->getCurrentUserId(), $old, $new, true)) { $tplVars['msg'] = T_('Tag renamed'); $logged_on_user = $userservice->getCurrentUser(); header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')])); } else { $tplVars['error'] = T_('Failed to rename the tag'); $templateservice->loadTemplate('error.500.tpl', $tplVars); exit(); } } } elseif ($_POST['cancel']) { $logged_on_user = $userservice->getCurrentUser(); header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags)); } $tplVars['subtitle'] = T_('Rename Tag') .': '. $tag; $tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag; $tplVars['referrer'] = $_SERVER['HTTP_REFERER']; $tplVars['old'] = $tag; $templateservice->loadTemplate('tagrename.tpl', $tplVars); ?> scuttle-0.7.4/tags.php000066400000000000000000000056071103742314700146660ustar00rootroot00000000000000isLoggedOn()) { $hash = md5($_SERVER['REQUEST_URI'] . $userservice->getCurrentUserID()); } else { $hash = md5($_SERVER['REQUEST_URI']); } // Cache for 30 minutes $cacheservice->Start($hash, 1800); } // Header variables $tplVars['pagetitle'] = $pagetitle; $tplVars['loadjs'] = true; $tplVars['rsschannels'] = array( array(filter($sitename .': '. $pagetitle), createURL('rss', 'all/'. filter($cat, 'url'))) ); // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['popCount'] = 25; $tplVars['currenttag'] = $cat; $tplVars['sidebar_blocks'] = array('related', 'popular'); $tplVars['subtitle'] = filter($pagetitle); $tplVars['bookmarkCount'] = $start + 1; $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, NULL, $cat, NULL, getSortOrder()); $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['cat_url'] = createURL('tags', '%2$s'); $tplVars['nav_url'] = createURL('tags', '%2$s%3$s'); $templateservice->loadTemplate('bookmarks.tpl', $tplVars); if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?> scuttle-0.7.4/templates/000077500000000000000000000000001103742314700152055ustar00rootroot00000000000000scuttle-0.7.4/templates/about.tpl.php000066400000000000000000000030511103742314700176250ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>
  • Store all your favourite links in one place, accessible from anywhere.'); ?>
  • Share your bookmarks with everyone, with friends on your watchlist or just keep them private.') ;?>
  • Tag your bookmarks with as many labels as you want, instead of wrestling with folders.'); ?>
  • Register now to start using %s!'), $GLOBALS['sitename']); ?>

  • an open-source project licensed under the GNU General Public License. This means you can host it on your own web server for free, whether it is on the Internet, a private network or just your own computer.'), $GLOBALS['sitename']); ?>
  • del.icio.us API. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won\'t let you change the API address, ask the creator to add this setting. You never know, they might just do it.'), $GLOBALS['sitename']); ?>
includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/bookmarks.tpl.php000066400000000000000000000134601103742314700205100ustar00rootroot00000000000000getCurrentUserId(); $this->includeTemplate($GLOBALS['top_include']); include('search.inc.php'); if (count($bookmarks) > 0) { ?>

/ /

0 ? ' start="'. ++$start .'"' : ''); ?> id="bookmarks"> '. filter($tag) .', '; } $cats = substr($cats, 0, -2); if ($cats != '') { $cats = ' to '. $cats; } // Edit and delete links $edit = ''; if ($bookmarkservice->editAllowed($row['bId'])) { $edit = ' - '. T_('Edit') .''; } // User attribution $copy = ''; if (!isset($user) || isset($watched)) { $copy = ' '. T_('by') .' '. $row['username'] .''; } // Udders! if (!isset($hash)) { $others = $bookmarkservice->countOthers($row['bAddress']); $ostart = ''; $oend = ''; switch ($others) { case 0: break; case 1: $copy .= sprintf(T_(' and %s1 other%s'), $ostart, $oend); break; default: $copy .= sprintf(T_(' and %2$s%1$s others%3$s'), $others, $ostart, $oend); } } // Copy link if ($userservice->isLoggedOn() && ($logged_on_userid != $row['uId'])) { // Get the username of the current user $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; $copy .= ' - '. T_('Copy') .''; } // Nofollow option $rel = ''; if ($GLOBALS['nofollow']) { $rel = ' rel="nofollow"'; } $address = filter($row['bAddress']); // Redirection option if ($GLOBALS['useredir']) { $address = $GLOBALS['url_redir'] . $address; } // Output echo '
  • '."\n"; echo '\n"; if ($row['bDescription'] != '') { echo '
    '. filter($row['bDescription']) ."
    \n"; } echo '
    '. date($GLOBALS['shortdate'], strtotime($row['bDatetime'])) . $cats . $copy . $edit ."
    \n"; echo "
  • \n"; } ?> '. T_('First') .''; $bprev = ''. T_('Previous') .''; } else { $prev = $page - 1; $prev = 'page='. $prev; $start = ($page - 1) * $perpage; $bfirst= ''. T_('First') .''; $bprev = ''. T_('Previous') .''; } // Next $next = $page + 1; $totalpages = ceil($total / $perpage); if (count($bookmarks) < $perpage || $perpage * $page == $total) { $bnext = ''. T_('Next') .''; $blast = ''. T_('Last') .''; } else { $bnext = ''. T_('Next') .''; $blast = ''. T_('Last') .''; } echo '

    '. $bfirst .' / '. $bprev .' / '. $bnext .' / '. $blast .' / '. sprintf(T_('Page %d of %d'), $page, $totalpages) .'

    '; } else { ?>

    .

    includeTemplate('sidebar.tpl'); $this->includeTemplate($GLOBALS['bottom_include']); ?> scuttle-0.7.4/templates/bottom.inc.php000066400000000000000000000000171103742314700177700ustar00rootroot00000000000000 scuttle-0.7.4/templates/dynamictags.inc.php000066400000000000000000000070421103742314700207740ustar00rootroot00000000000000getCurrentUserId(); $userPopularTags =& $tagservice->getPopularTags($logged_on_userid, 25, $logged_on_userid); $userPopularTagsCloud =& $tagservice->tagCloud($userPopularTags, 5, 90, 175); $userPopularTagsCount = count($userPopularTags); if ($userPopularTagsCount > 0) { ?> scuttle-0.7.4/templates/editbookmark.tpl.php000066400000000000000000000113001103742314700211620ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); $accessPublic = ''; $accessShared = ''; $accessPrivate = ''; switch ($row['bStatus']) { case 0 : $accessPublic = ' selected="selected"'; break; case 1 : $accessShared = ' selected="selected"'; break; case 2 : $accessPrivate = ' selected="selected"'; break; } ?>
    includeTemplate('dynamictags.inc'); // Bookmarklets and import links if (empty($_REQUEST['popup']) && !$showdelete) { ?>

    :

    • ()
    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/editprofile.tpl.php000066400000000000000000000031401103742314700210200ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/error.404.tpl.php000066400000000000000000000004311103742314700201510ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); if (!$error) { echo '

    '. T_('Not Found') .'

    '; echo '

    '. T_('The requested URL was not found on this server') .'

    '; } $this->includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/error.500.tpl.php000066400000000000000000000004421103742314700201500ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); if (!$error) { echo '

    '. T_('General server error') .'

    '; echo '

    '. T_('The requested URL could not be processed') .'

    '; } $this->includeTemplate($GLOBALS['bottom_include']); ?> scuttle-0.7.4/templates/importDelicious.tpl.php000066400000000000000000000030531103742314700216700ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    1. export page at del.icio.us'); ?>.
    2. XML file to your computer'); ?>.
    3. Browse... to find this file on your computer. The maximum size the file can be is 1MB'); ?>.
    4. .
    5. Import to start importing the bookmarks; it may take a minute'); ?>.
    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/importNetscape.tpl.php000066400000000000000000000037661103742314700215250ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    1. :

      • File > Import and Export... > Export Favorites'); ?>
      • Bookmarks > Manage Bookmarks... > File > Export...'); ?>
      • Bookmarks > Manage Bookmarks... > Tools > Export...'); ?>
    2. Browse... to find the saved bookmark file on your computer. The maximum size the file can be is 1MB'); ?>.
    3. .
    4. Import to start importing the bookmarks; it may take a minute'); ?>.
    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/login.tpl.php000066400000000000000000000023001103742314700176170ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>
    .

    »

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/password.tpl.php000066400000000000000000000017421103742314700203620ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/profile.tpl.php000066400000000000000000000032061103742314700201550ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>
    getWatchNames($userid); if ($watching) { ?>
    '. $watchuser .', '; } echo substr($list, 0, -2); ?>
    getWatchNames($userid, true); if ($watchnames) { ?>
    '. $watchuser .', '; } echo substr($list, 0, -2); ?>
    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/register.tpl.php000066400000000000000000000023531103742314700203430ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    .

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/rss.tpl.php000066400000000000000000000015301103742314700173220ustar00rootroot00000000000000\n"; ?> <?php echo $feedtitle; ?> 60 <?php echo $bookmark['title']; ?> scuttle-0.7.4/templates/sidebar.block.common.php000066400000000000000000000013671103742314700217160ustar00rootroot00000000000000getRelatedTagsByHash($hash); $commonTags =& $tagservice->tagCloud($commonTags, 5, 90, 225, 'alphabet_asc'); if ($commonTags && count($commonTags) > 0) { ?>

    '. filter($row['tag']) .' '; } echo $contents ."\n"; ?>

    scuttle-0.7.4/templates/sidebar.block.popular.php000066400000000000000000000017251103742314700221060ustar00rootroot00000000000000getCurrentUserId(); if ($logged_on_userid === false) { $logged_on_userid = NULL; } $popularTags =& $tagservice->getPopularTags($userid, $popCount, $logged_on_userid); $popularTags =& $tagservice->tagCloud($popularTags, 5, 90, 225, 'alphabet_asc'); if ($popularTags && count($popularTags) > 0) { ?>

    scuttle-0.7.4/templates/sidebar.block.profile.php000066400000000000000000000011511103742314700220550ustar00rootroot00000000000000 0) { $name = $userinfo['name']; } else { $name = $userinfo['username']; } ?>

    scuttle-0.7.4/templates/sidebar.block.recent.php000066400000000000000000000021131103742314700216740ustar00rootroot00000000000000getCurrentUserId(); if ($logged_on_userid === false) { $logged_on_userid = NULL; } $recentTags = $tagservice->getPopularTags($userid, $popCount, $logged_on_userid, $GLOBALS['defaultRecentDays']); $recentTags =& $tagservice->tagCloud($recentTags, 5, 90, 225, 'alphabet_asc'); if ($recentTags && count($recentTags) > 0) { ?>

    '; foreach ($recentTags as $row) { $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); $contents .= ' '; } echo $contents ."

    \n"; ?>

    scuttle-0.7.4/templates/sidebar.block.related.php000066400000000000000000000016231103742314700220410ustar00rootroot00000000000000getCurrentUserId(); if ($logged_on_userid === false) { $logged_on_userid = NULL; } if ($currenttag) { $relatedTags = $tagservice->getRelatedTags($currenttag, $userid, $logged_on_userid); if (sizeof($relatedTags) > 0) { ?>

    scuttle-0.7.4/templates/sidebar.block.tagactions.php000066400000000000000000000015301103742314700225520ustar00rootroot00000000000000isLoggedOn()) { $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; if ($currentUsername == $user) { $tags = explode('+', $currenttag); $renametext = T_ngettext('Rename Tag', 'Rename Tags', count($tags)); $renamelink = createURL('tagrename', $currenttag); $deletelink = createURL('tagdelete', $currenttag); ?>

    scuttle-0.7.4/templates/sidebar.block.watchlist.php000066400000000000000000000006531103742314700224250ustar00rootroot00000000000000getWatchNames($userid); if ($watching) { ?>

    scuttle-0.7.4/templates/sidebar.block.watchstatus.php000066400000000000000000000013611103742314700227720ustar00rootroot00000000000000isLoggedOn()) { $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; if ($currentUsername != $user) { $result = $userservice->getWatchStatus($userid, $userservice->getCurrentUserId()); if ($result) { $linkText = T_('Remove from Watchlist'); } else { $linkText = T_('Add to Watchlist'); } $linkAddress = createURL('watch', $user); ?>

    scuttle-0.7.4/templates/sidebar.tpl.php000066400000000000000000000007231103742314700201270ustar00rootroot00000000000000 scuttle-0.7.4/templates/tagdelete.tpl.php000066400000000000000000000010011103742314700204420ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/tagrename.tpl.php000066400000000000000000000020151103742314700204550ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); ?>

    includeTemplate($GLOBALS['bottom_include']); ?> scuttle-0.7.4/templates/tags.tpl.php000066400000000000000000000013441103742314700174540ustar00rootroot00000000000000includeTemplate($GLOBALS['top_include']); if ($tags && count($tags) > 0) { ?>

    /

    '. filter($row['tag']) .' '; } echo $contents ."\n"; ?>

    includeTemplate($GLOBALS['bottom_include']); ?>scuttle-0.7.4/templates/toolbar.inc.php000066400000000000000000000021321103742314700201260ustar00rootroot00000000000000isLoggedOn()) { $cUser = $userservice->getCurrentUser(); $cUsername = $cUser[$userservice->getFieldName('username')]; ?> scuttle-0.7.4/templates/top.inc.php000066400000000000000000000027571103742314700173030ustar00rootroot00000000000000 <?php echo filter($GLOBALS['sitename'] . (isset($pagetitle) ? ': ' . $pagetitle : '')); ?> '; } if ($loadjs) { echo ''; } ?> '. $subtitle ."\n"; } if (isset($error)) { echo '

    '. $error ."

    \n"; } if (isset($msg)) { echo '

    '. $msg ."

    \n"; } ?> scuttle-0.7.4/watch.php000066400000000000000000000041301103742314700150240ustar00rootroot00000000000000isLoggedOn() && $user) { $tplVars = array(); $pagetitle = ''; if (is_int($user)) { $userid = intval($user); } else { if (!($userinfo = $userservice->getUserByUsername($user))) { $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { $userid =& $userinfo['uId']; } } $watched = $userservice->getWatchStatus($userid, $userservice->getCurrentUserId()); $changed = $userservice->setWatchStatus($userid); if ($watched) { $tplVars['msg'] = T_('User removed from your watchlist'); } else { $tplVars['msg'] = T_('User added to your watchlist'); } $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; header('Location: '. createURL('watchlist', $currentUsername)); } ?> scuttle-0.7.4/watchlist.php000066400000000000000000000100001103742314700157110ustar00rootroot00000000000000isLoggedOn()) { $loggedon = true; $currentUser = $userservice->getCurrentUser(); $currentUsername = $currentUser[$userservice->getFieldName('username')]; } if ($usecache) { // Generate hash for caching on if ($loggedon) { if ($currentUsername != $user) { $cachehash = md5($_SERVER['REQUEST_URI'] . $currentUsername); // Cache for 5 minutes $cacheservice->Start($cachehash); } } else { // Cache for 30 minutes $cachehash = md5($_SERVER['REQUEST_URI']); $cacheservice->Start($cachehash, 1800); } } if ($user) { if (is_int($user)) { $userid = intval($user); } else { if (!($userinfo = $userservice->getUserByUsername($user) ) ) { // Throw a 404 error $tplVars['error'] = sprintf(T_('User with username %s was not found'), $user); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } else { $userid =& $userinfo['uId']; } } } // Header variables $tplVars['loadjs'] = true; if ($user) { $tplVars['user'] = $user; $tplVars['userid'] = $userid; $tplVars['userinfo'] =& $userinfo; // Pagination $perpage = getPerPageCount(); if (isset($_GET['page']) && intval($_GET['page']) > 1) { $page = $_GET['page']; $start = ($page - 1) * $perpage; } else { $page = 0; $start = 0; } // Set template vars $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['bookmarkCount'] = $start + 1; $bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $userid, NULL, NULL, getSortOrder(), true); $tplVars['sidebar_blocks'] = array('watchlist'); $tplVars['watched'] = true; $tplVars['total'] = $bookmarks['total']; $tplVars['bookmarks'] =& $bookmarks['bookmarks']; $tplVars['cat_url'] = createURL('tags', '%2$s'); $tplVars['nav_url'] = createURL('watchlist', '%s/%s%s'); if ($user == $currentUsername) { $title = T_('My Watchlist'); } else { $title = T_('Watchlist') .': '. $user; } $tplVars['pagetitle'] = $title; $tplVars['subtitle'] = $title; $tplVars['rsschannels'] = array( array(filter($sitename .': '. $title), createURL('rss', 'watchlist/'. filter($user, 'url'))) ); $templateservice->loadTemplate('bookmarks.tpl', $tplVars); } else { $tplVars['error'] = T_('Username was not specified'); $templateservice->loadTemplate('error.404.tpl', $tplVars); exit(); } if ($usecache) { // Cache output if existing copy has expired $cacheservice->End($hash); } ?>