<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
-// +----------------------------------------------------------------------+
-// | PHP Version 5 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2004 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 3.0 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available through the world-wide-web at the following url: |
-// | http://www.php.net/license/3_0.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Author: Andrei Zmievski <andrei@php.net> |
-// +----------------------------------------------------------------------+
-//
-// $Id: Getopt.php,v 1.4 2007/06/12 14:58:56 cellog Exp $
+/**
+ * PHP Version 5
+ *
+ * Copyright (c) 1997-2004 The PHP Group
+ *
+ * This source file is subject to version 3.0 of the PHP license,
+ * that is bundled with this package in the file LICENSE, and is
+ * available through the world-wide-web at the following url:
+ * http://www.php.net/license/3_0.txt.
+ * If you did not receive a copy of the PHP license and are unable to
+ * obtain it through the world-wide-web, please send a note to
+ * license@php.net so we can mail you a copy immediately.
+ *
+ * @category Console
+ * @package Console_Getopt
+ * @author Andrei Zmievski <andrei@php.net>
+ * @license http://www.php.net/license/3_0.txt PHP 3.0
+ * @version CVS: $Id: Getopt.php 306067 2010-12-08 00:13:31Z dufuz $
+ * @link http://pear.php.net/package/Console_Getopt
+ */
require_once 'PEAR.php';
/**
* Command-line options parsing class.
*
- * @author Andrei Zmievski <andrei@php.net>
- *
+ * @category Console
+ * @package Console_Getopt
+ * @author Andrei Zmievski <andrei@php.net>
+ * @license http://www.php.net/license/3_0.txt PHP 3.0
+ * @link http://pear.php.net/package/Console_Getopt
*/
-class Console_Getopt {
+class Console_Getopt
+{
+
/**
* Parses the command-line options.
*
*
* Most of the semantics of this function are based on GNU getopt_long().
*
- * @param array $args an array of command-line arguments
- * @param string $short_options specifies the list of allowed short options
- * @param array $long_options specifies the list of allowed long options
+ * @param array $args an array of command-line arguments
+ * @param string $short_options specifies the list of allowed short options
+ * @param array $long_options specifies the list of allowed long options
+ * @param boolean $skip_unknown suppresses Console_Getopt: unrecognized option
*
* @return array two-element array containing the list of parsed options and
* the non-option arguments
- *
* @access public
- *
*/
- function getopt2($args, $short_options, $long_options = null)
+ function getopt2($args, $short_options, $long_options = null, $skip_unknown = false)
{
- return Console_Getopt::doGetopt(2, $args, $short_options, $long_options);
+ return Console_Getopt::doGetopt(2, $args, $short_options, $long_options, $skip_unknown);
}
/**
* This function expects $args to start with the script name (POSIX-style).
* Preserved for backwards compatibility.
+ *
+ * @param array $args an array of command-line arguments
+ * @param string $short_options specifies the list of allowed short options
+ * @param array $long_options specifies the list of allowed long options
+ *
* @see getopt2()
- */
- function getopt($args, $short_options, $long_options = null)
+ * @return array two-element array containing the list of parsed options and
+ * the non-option arguments
+ */
+ function getopt($args, $short_options, $long_options = null, $skip_unknown = false)
{
- return Console_Getopt::doGetopt(1, $args, $short_options, $long_options);
+ return Console_Getopt::doGetopt(1, $args, $short_options, $long_options, $skip_unknown);
}
/**
* The actual implementation of the argument parsing code.
+ *
+ * @param int $version Version to use
+ * @param array $args an array of command-line arguments
+ * @param string $short_options specifies the list of allowed short options
+ * @param array $long_options specifies the list of allowed long options
+ * @param boolean $skip_unknown suppresses Console_Getopt: unrecognized option
+ *
+ * @return array
*/
- function doGetopt($version, $args, $short_options, $long_options = null)
+ function doGetopt($version, $args, $short_options, $long_options = null, $skip_unknown = false)
{
// in case you pass directly readPHPArgv() as the first arg
if (PEAR::isError($args)) {
return $args;
}
+
if (empty($args)) {
return array(array(), array());
}
- $opts = array();
- $non_opts = array();
+
+ $non_opts = $opts = array();
settype($args, 'array');
reset($args);
while (list($i, $arg) = each($args)) {
-
/* The special element '--' means explicit end of
options. Treat the rest of the arguments as non-options
and end the loop. */
$non_opts = array_merge($non_opts, array_slice($args, $i));
break;
} elseif (strlen($arg) > 1 && $arg{1} == '-') {
- $error = Console_Getopt::_parseLongOption(substr($arg, 2), $long_options, $opts, $args);
- if (PEAR::isError($error))
+ $error = Console_Getopt::_parseLongOption(substr($arg, 2),
+ $long_options,
+ $opts,
+ $args,
+ $skip_unknown);
+ if (PEAR::isError($error)) {
return $error;
+ }
} elseif ($arg == '-') {
// - is stdin
$non_opts = array_merge($non_opts, array_slice($args, $i));
break;
} else {
- $error = Console_Getopt::_parseShortOption(substr($arg, 1), $short_options, $opts, $args);
- if (PEAR::isError($error))
+ $error = Console_Getopt::_parseShortOption(substr($arg, 1),
+ $short_options,
+ $opts,
+ $args,
+ $skip_unknown);
+ if (PEAR::isError($error)) {
return $error;
+ }
}
}
}
/**
- * @access private
+ * Parse short option
+ *
+ * @param string $arg Argument
+ * @param string[] $short_options Available short options
+ * @param string[][] &$opts
+ * @param string[] &$args
+ * @param boolean $skip_unknown suppresses Console_Getopt: unrecognized option
*
+ * @access private
+ * @return void
*/
- function _parseShortOption($arg, $short_options, &$opts, &$args)
+ function _parseShortOption($arg, $short_options, &$opts, &$args, $skip_unknown)
{
for ($i = 0; $i < strlen($arg); $i++) {
- $opt = $arg{$i};
+ $opt = $arg{$i};
$opt_arg = null;
/* Try to find the short option in the specifier string. */
- if (($spec = strstr($short_options, $opt)) === false || $arg{$i} == ':')
- {
- return PEAR::raiseError("Console_Getopt: unrecognized option -- $opt");
+ if (($spec = strstr($short_options, $opt)) === false || $arg{$i} == ':') {
+ if ($skip_unknown === true) {
+ break;
+ }
+
+ $msg = "Console_Getopt: unrecognized option -- $opt";
+ return PEAR::raiseError($msg);
}
if (strlen($spec) > 1 && $spec{1} == ':') {
break;
} else if (list(, $opt_arg) = each($args)) {
/* Else use the next argument. */;
- if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
- return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
+ if (Console_Getopt::_isShortOpt($opt_arg)
+ || Console_Getopt::_isLongOpt($opt_arg)) {
+ $msg = "option requires an argument --$opt";
+ return PEAR::raiseError("Console_Getopt:" . $msg);
}
} else {
- return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt");
+ $msg = "option requires an argument --$opt";
+ return PEAR::raiseError("Console_Getopt:" . $msg);
}
}
}
}
/**
- * @access private
+ * Checks if an argument is a short option
*
+ * @param string $arg Argument to check
+ *
+ * @access private
+ * @return bool
*/
function _isShortOpt($arg)
{
- return strlen($arg) == 2 && $arg[0] == '-' && preg_match('/[a-zA-Z]/', $arg[1]);
+ return strlen($arg) == 2 && $arg[0] == '-'
+ && preg_match('/[a-zA-Z]/', $arg[1]);
}
/**
- * @access private
+ * Checks if an argument is a long option
*
+ * @param string $arg Argument to check
+ *
+ * @access private
+ * @return bool
*/
function _isLongOpt($arg)
{
return strlen($arg) > 2 && $arg[0] == '-' && $arg[1] == '-' &&
- preg_match('/[a-zA-Z]+$/', substr($arg, 2));
+ preg_match('/[a-zA-Z]+$/', substr($arg, 2));
}
/**
- * @access private
+ * Parse long option
*
+ * @param string $arg Argument
+ * @param string[] $long_options Available long options
+ * @param string[][] &$opts
+ * @param string[] &$args
+ *
+ * @access private
+ * @return void|PEAR_Error
*/
- function _parseLongOption($arg, $long_options, &$opts, &$args)
+ function _parseLongOption($arg, $long_options, &$opts, &$args, $skip_unknown)
{
@list($opt, $opt_arg) = explode('=', $arg, 2);
+
$opt_len = strlen($opt);
for ($i = 0; $i < count($long_options); $i++) {
$long_opt = $long_options[$i];
$opt_start = substr($long_opt, 0, $opt_len);
+
$long_opt_name = str_replace('=', '', $long_opt);
/* Option doesn't match. Go on to the next one. */
continue;
}
- $opt_rest = substr($long_opt, $opt_len);
+ $opt_rest = substr($long_opt, $opt_len);
/* Check that the options uniquely matches one of the allowed
options. */
} else {
$next_option_rest = '';
}
+
if ($opt_rest != '' && $opt{0} != '=' &&
$i + 1 < count($long_options) &&
$opt == substr($long_options[$i+1], 0, $opt_len) &&
$next_option_rest != '' &&
$next_option_rest{0} != '=') {
- return PEAR::raiseError("Console_Getopt: option --$opt is ambiguous");
+
+ $msg = "Console_Getopt: option --$opt is ambiguous";
+ return PEAR::raiseError($msg);
}
if (substr($long_opt, -1) == '=') {
/* Long option requires an argument.
Take the next argument if one wasn't specified. */;
if (!strlen($opt_arg) && !(list(, $opt_arg) = each($args))) {
- return PEAR::raiseError("Console_Getopt: option --$opt requires an argument");
+ $msg = "Console_Getopt: option requires an argument --$opt";
+ return PEAR::raiseError($msg);
}
- if (Console_Getopt::_isShortOpt($opt_arg) || Console_Getopt::_isLongOpt($opt_arg)) {
- return PEAR::raiseError("Console_Getopt: option requires an argument --$opt");
+
+ if (Console_Getopt::_isShortOpt($opt_arg)
+ || Console_Getopt::_isLongOpt($opt_arg)) {
+ $msg = "Console_Getopt: option requires an argument --$opt";
+ return PEAR::raiseError($msg);
}
}
} else if ($opt_arg) {
- return PEAR::raiseError("Console_Getopt: option --$opt doesn't allow an argument");
+ $msg = "Console_Getopt: option --$opt doesn't allow an argument";
+ return PEAR::raiseError($msg);
}
$opts[] = array('--' . $opt, $opt_arg);
return;
}
+ if ($skip_unknown === true) {
+ return;
+ }
+
return PEAR::raiseError("Console_Getopt: unrecognized option --$opt");
}
/**
- * Safely read the $argv PHP array across different PHP configurations.
- * Will take care on register_globals and register_argc_argv ini directives
- *
- * @access public
- * @return mixed the $argv PHP array or PEAR error if not registered
- */
+ * Safely read the $argv PHP array across different PHP configurations.
+ * Will take care on register_globals and register_argc_argv ini directives
+ *
+ * @access public
+ * @return mixed the $argv PHP array or PEAR error if not registered
+ */
function readPHPArgv()
{
global $argv;
if (!is_array($argv)) {
if (!@is_array($_SERVER['argv'])) {
if (!@is_array($GLOBALS['HTTP_SERVER_VARS']['argv'])) {
- return PEAR::raiseError("Console_Getopt: Could not read cmd args (register_argc_argv=Off?)");
+ $msg = "Could not read cmd args (register_argc_argv=Off?)";
+ return PEAR::raiseError("Console_Getopt: " . $msg);
}
return $GLOBALS['HTTP_SERVER_VARS']['argv'];
}
return $argv;
}
-}
-
-?>
+}
\ No newline at end of file
* @author Alan Knowles <alan@akbkhome.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: DataObject.php 291349 2009-11-27 09:15:18Z alan_k $
+ * @version CVS: $Id: DataObject.php 301030 2010-07-07 02:26:31Z alan_k $
* @link http://pear.php.net/package/DB_DataObject
*/
* @access private
* @var string
*/
- var $_DB_DataObject_version = "1.9.0";
+ var $_DB_DataObject_version = "1.9.5";
/**
* The Database table (used by table extends)
return $_DB_DATAOBJECT['CACHE'][$lclass][$key];
}
+ /**
+ * build the basic select query.
+ *
+ * @access private
+ */
+
+ function _build_select()
+ {
+ global $_DB_DATAOBJECT;
+ $quoteIdentifiers = !empty($_DB_DATAOBJECT['CONFIG']['quote_identifiers']);
+ if ($quoteIdentifiers) {
+ $this->_connect();
+ $DB = &$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5];
+ }
+ $sql = 'SELECT ' .
+ $this->_query['data_select'] . " \n" .
+ ' FROM ' . ($quoteIdentifiers ? $DB->quoteIdentifier($this->__table) : $this->__table) . " \n" .
+ $this->_join . " \n" .
+ $this->_query['condition'] . " \n" .
+ $this->_query['group_by'] . " \n" .
+ $this->_query['having'] . " \n";
+
+ return $sql;
+ }
+
+
/**
* find results, either normal or crosstable
*
$query_before = $this->_query;
$this->_build_condition($this->table()) ;
- $quoteIdentifiers = !empty($_DB_DATAOBJECT['CONFIG']['quote_identifiers']);
+
$this->_connect();
$DB = &$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5];
- /* We are checking for method modifyLimitQuery as it is PEAR DB specific */
- $sql = 'SELECT ' .
- $this->_query['data_select'] . " \n" .
- ' FROM ' . ($quoteIdentifiers ? $DB->quoteIdentifier($this->__table) : $this->__table) . " \n" .
- $this->_join . " \n" .
- $this->_query['condition'] . " \n" .
- $this->_query['group_by'] . " \n" .
- $this->_query['having'] . " \n" .
- $this->_query['order_by'] . " \n";
+ $sql = $this->_build_select();
+
+ foreach ($this->_query['unions'] as $union_ar) {
+ $sql .= $union_ar[1] . $union_ar[0]->_build_select() . " \n";
+ }
+
+ $sql .= $this->_query['order_by'] . " \n";
+
+
+ /* We are checking for method modifyLimitQuery as it is PEAR DB specific */
if ((!isset($_DB_DATAOBJECT['CONFIG']['db_driver'])) ||
($_DB_DATAOBJECT['CONFIG']['db_driver'] == 'DB')) {
/* PEAR DB specific */
return true;
}
+
+ /**
+ * fetches all results as an array,
+ *
+ * return format is dependant on args.
+ * if selectAdd() has not been called on the object, then it will add the correct columns to the query.
+ *
+ * A) Array of values (eg. a list of 'id')
+ *
+ * $x = DB_DataObject::factory('mytable');
+ * $x->whereAdd('something = 1')
+ * $ar = $x->fetchAll('id');
+ * -- returns array(1,2,3,4,5)
+ *
+ * B) Array of values (not from table)
+ *
+ * $x = DB_DataObject::factory('mytable');
+ * $x->whereAdd('something = 1');
+ * $x->selectAdd();
+ * $x->selectAdd('distinct(group_id) as group_id');
+ * $ar = $x->fetchAll('group_id');
+ * -- returns array(1,2,3,4,5)
+ * *
+ * C) A key=>value associative array
+ *
+ * $x = DB_DataObject::factory('mytable');
+ * $x->whereAdd('something = 1')
+ * $ar = $x->fetchAll('id','name');
+ * -- returns array(1=>'fred',2=>'blogs',3=> .......
+ *
+ * D) array of objects
+ * $x = DB_DataObject::factory('mytable');
+ * $x->whereAdd('something = 1');
+ * $ar = $x->fetchAll();
+ *
+ * E) array of arrays (for example)
+ * $x = DB_DataObject::factory('mytable');
+ * $x->whereAdd('something = 1');
+ * $ar = $x->fetchAll(false,false,'toArray');
+ *
+ *
+ * @param string|false $k key
+ * @param string|false $v value
+ * @param string|false $method method to call on each result to get array value (eg. 'toArray')
+ * @access public
+ * @return array format dependant on arguments, may be empty
+ */
+ function fetchAll($k= false, $v = false, $method = false)
+ {
+ // should it even do this!!!?!?
+ if ($k !== false &&
+ ( // only do this is we have not been explicit..
+ empty($this->_query['data_select']) ||
+ ($this->_query['data_select'] == '*')
+ )
+ ) {
+ $this->selectAdd();
+ $this->selectAdd($k);
+ if ($v !== false) {
+ $this->selectAdd($v);
+ }
+ }
+
+ $this->find();
+ $ret = array();
+ while ($this->fetch()) {
+ if ($v !== false) {
+ $ret[$this->$k] = $this->$v;
+ continue;
+ }
+ $ret[] = $k === false ?
+ ($method == false ? clone($this) : $this->$method())
+ : $this->$k;
+ }
+ return $ret;
+
+ }
+
+
/**
* Adds a condition to the WHERE statement, defaults to AND
*
return $r;
}
+ /**
+ * Adds a 'IN' condition to the WHERE statement
+ *
+ * $object->whereAddIn('id', $array, 'int'); //minimal usage
+ * $object->whereAddIn('price', $array, 'float', 'OR'); // cast to float, and call whereAdd with 'OR'
+ * $object->whereAddIn('name', $array, 'string'); // quote strings
+ *
+ * @param string $key key column to match
+ * @param array $list list of values to match
+ * @param string $type string|int|integer|float|bool cast to type.
+ * @param string $logic optional logic to call whereAdd with eg. "OR" (defaults to "AND")
+ * @access public
+ * @return string|PEAR::Error - previous condition or Error when invalid args found
+ */
+ function whereAddIn($key, $list, $type, $logic = 'AND')
+ {
+ $not = '';
+ if ($key[0] == '!') {
+ $not = 'NOT ';
+ $key = substr($key, 1);
+ }
+ // fix type for short entry.
+ $type = $type == 'int' ? 'integer' : $type;
+
+ if ($type == 'string') {
+ $this->_connect();
+ }
+
+ $ar = array();
+ foreach($list as $k) {
+ settype($k, $type);
+ $ar[] = $type =='string' ? $this->_quote($k) : $k;
+ }
+ if (!$ar) {
+ return $not ? $this->_query['condition'] : $this->whereAdd("1=0");
+ }
+ return $this->whereAdd("$key $not IN (". implode(',', $ar). ')', $logic );
+ }
+
+
+
/**
* Adds a order by condition
*
$seq = $this->sequenceKey();
if ($seq[0] !== false) {
$keys = array($seq[0]);
- if (empty($this->{$keys[0]}) && $dataObject !== true) {
+ if (!isset($this->{$keys[0]}) && $dataObject !== true) {
$this->raiseError("update: trying to perform an update without
the key set, and argument to update is not
DB_DATAOBJECT_WHEREADD_ONLY
'limit_start' => '', // the LIMIT condition
'limit_count' => '', // the LIMIT condition
'data_select' => '*', // the columns to be SELECTed
+ 'unions' => array(), // the added unions
);
$seqname = false;
if (!empty($_DB_DATAOBJECT['CONFIG']['sequence_'.$this->__table])) {
- $usekey = $_DB_DATAOBJECT['CONFIG']['sequence_'.$this->__table];
- if (strpos($usekey,':') !== false) {
- list($usekey,$seqname) = explode(':',$usekey);
+ $seqname = $_DB_DATAOBJECT['CONFIG']['sequence_'.$this->__table];
+ if (strpos($seqname,':') !== false) {
+ list($usekey,$seqname) = explode(':',$seqname);
}
}
}
/**
- * IS THIS SUPPORTED/USED ANYMORE????
- *return a list of options for a linked table
- *
+ * getLinkArray
+ * Fetch an array of related objects. This should be used in conjunction with a <dbname>.links.ini file configuration (see the introduction on linking for details on this).
+ * You may also use this with all parameters to specify, the column and related table.
* This is highly dependant on naming columns 'correctly' :)
* using colname = xxxxx_yyyyyy
* xxxxxx = related table; (yyyyy = user defined..)
* stores it in $this->_xxxxx_yyyyy
*
* @access public
- * @return array of results (empty array on failure)
+ * @param string $column - either column or column.xxxxx
+ * @param string $table - name of table to look up value in
+ * @return array - array of results (empty array on failure)
+ *
+ * Example - Getting the related objects
+ *
+ * $person = new DataObjects_Person;
+ * $person->get(12);
+ * $children = $person->getLinkArray('children');
+ *
+ * echo 'There are ', count($children), ' descendant(s):<br />';
+ * foreach ($children as $child) {
+ * echo $child->name, '<br />';
+ * }
+ *
*/
function &getLinkArray($row, $table = null)
{
return $ret;
}
+ /**
+ * unionAdd - adds another dataobject to this, building a unioned query.
+ *
+ * usage:
+ * $doTable1 = DB_DataObject::factory("table1");
+ * $doTable2 = DB_DataObject::factory("table2");
+ *
+ * $doTable1->selectAdd();
+ * $doTable1->selectAdd("col1,col2");
+ * $doTable1->whereAdd("col1 > 100");
+ * $doTable1->orderBy("col1");
+ *
+ * $doTable2->selectAdd();
+ * $doTable2->selectAdd("col1, col2");
+ * $doTable2->whereAdd("col2 = 'v'");
+ *
+ * $doTable1->unionAdd($doTable2);
+ * $doTable1->find();
+ *
+ * Note: this model may be a better way to implement joinAdd?, eg. do the building in find?
+ *
+ *
+ * @param $obj object|false the union object or false to reset
+ * @param optional $is_all string 'ALL' to do all.
+ * @returns $obj object|array the added object, or old list if reset.
+ */
+
+ function unionAdd($obj,$is_all= '')
+ {
+ if ($obj === false) {
+ $ret = $this->_query['unions'];
+ $this->_query['unions'] = array();
+ return $ret;
+ }
+ $this->_query['unions'][] = array($obj, 'UNION ' . $is_all . ' ') ;
+ return $obj;
+ }
+
+
+
/**
* The JOIN condition
*
/* otherwise see if there are any links from this table to the obj. */
//print_r($this->links());
if (($ofield === false) && ($links = $this->links())) {
- foreach ($links as $k => $v) {
- /* link contains {this column} = {linked table}:{linked column} */
- $ar = explode(':', $v);
- // Feature Request #4266 - Allow joins with multiple keys
- if (strpos($k, ',') !== false) {
- $k = explode(',', $k);
- }
- if (strpos($ar[1], ',') !== false) {
- $ar[1] = explode(',', $ar[1]);
+ // this enables for support for arrays of links in ini file.
+ // link contains this_column[] = linked_table:linked_column
+ // or standard way.
+ // link contains this_column = linked_table:linked_column
+ foreach ($links as $k => $linkVar) {
+
+ if (!is_array($linkVar)) {
+ $linkVar = array($linkVar);
}
+ foreach($linkVar as $v) {
+
+
+
+ /* link contains {this column} = {linked table}:{linked column} */
+ $ar = explode(':', $v);
+ // Feature Request #4266 - Allow joins with multiple keys
+ if (strpos($k, ',') !== false) {
+ $k = explode(',', $k);
+ }
+ if (strpos($ar[1], ',') !== false) {
+ $ar[1] = explode(',', $ar[1]);
+ }
- if ($ar[0] == $obj->__table) {
+ if ($ar[0] != $obj->__table) {
+ continue;
+ }
if ($joinCol !== false) {
if ($k == $joinCol) {
+ // got it!?
$tfield = $k;
$ofield = $ar[1];
break;
- } else {
- continue;
- }
- } else {
- $tfield = $k;
- $ofield = $ar[1];
- break;
- }
+ }
+ continue;
+
+ }
+ $tfield = $k;
+ $ofield = $ar[1];
+ break;
+
}
}
}
//print_r($obj->links());
if (!$ofield && ($olinks = $obj->links())) {
- foreach ($olinks as $k => $v) {
- /* link contains {this column} = {linked table}:{linked column} */
- $ar = explode(':', $v);
-
- // Feature Request #4266 - Allow joins with multiple keys
-
- $links_key_array = strpos($k,',');
- if ($links_key_array !== false) {
- $k = explode(',', $k);
- }
-
- $ar_array = strpos($ar[1],',');
- if ($ar_array !== false) {
- $ar[1] = explode(',', $ar[1]);
+ foreach ($olinks as $k => $linkVar) {
+ /* link contains {this column} = array ( {linked table}:{linked column} )*/
+ if (!is_array($linkVar)) {
+ $linkVar = array($linkVar);
}
-
- if ($ar[0] == $this->__table) {
+ foreach($linkVar as $v) {
+
+ /* link contains {this column} = {linked table}:{linked column} */
+ $ar = explode(':', $v);
+
+ // Feature Request #4266 - Allow joins with multiple keys
+ $links_key_array = strpos($k,',');
+ if ($links_key_array !== false) {
+ $k = explode(',', $k);
+ }
+
+ $ar_array = strpos($ar[1],',');
+ if ($ar_array !== false) {
+ $ar[1] = explode(',', $ar[1]);
+ }
+
+ if ($ar[0] != $this->__table) {
+ continue;
+ }
// you have explictly specified the column
// and the col is listed here..
$ofield = $k;
$tfield = $ar[1];
break;
+
}
}
}
if (!$k) {
continue; // ignore empty keys!!! what
}
- if (is_object($from) && isset($from->{sprintf($format,$k)})) {
+
+ $chk = is_object($from) &&
+ (version_compare(phpversion(), "5.1.0" , ">=") ?
+ property_exists($from, sprintf($format,$k)) : // php5.1
+ array_key_exists( sprintf($format,$k), get_class_vars($from)) //older
+ );
+ // if from has property ($format($k)
+ if ($chk) {
$kk = (strtolower($k) == 'from') ? '_from' : $k;
if (method_exists($this,'set'.$kk)) {
$ret = $this->{'set'.$kk}($from->{sprintf($format,$k)});
* @author Alan Knowles <alan@akbkhome.com>
* @copyright 1997-2006 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: Generator.php 289384 2009-10-09 00:17:26Z alan_k $
+ * @version CVS: $Id: Generator.php 298560 2010-04-25 23:01:51Z alan_k $
* @link http://pear.php.net/package/DB_DataObject
*/
return false;
}
$__DB = &$GLOBALS['_DB_DATAOBJECT']['CONNECTIONS'][$this->_database_dsn_md5];
- if (!in_array($__DB->phptype, array('mysql','mysqli'))) {
- echo "WARNING: cant handle non-mysql introspection for defaults.";
+ if (!in_array($__DB->phptype, array('mysql', 'mysqli', 'pgsql'))) {
+ echo "WARNING: cant handle non-mysql and pgsql introspection for defaults.";
return; // cant handle non-mysql introspection for defaults.
}
$fk = array();
- foreach($this->tables as $this->table) {
- $quotedTable = !empty($options['quote_identifiers_tableinfo']) ? $DB->quoteIdentifier($table) : $this->table;
-
- $res =& $DB->query('SHOW CREATE TABLE ' . $quotedTable );
- if (PEAR::isError($res)) {
- die($res->getMessage());
- }
+ switch ($DB->phptype) {
- $text = $res->fetchRow(DB_FETCHMODE_DEFAULT, 0);
- $treffer = array();
- // Extract FOREIGN KEYS
- preg_match_all(
- "/FOREIGN KEY \(`(\w*)`\) REFERENCES `(\w*)` \(`(\w*)`\)/i",
- $text[1],
- $treffer,
- PREG_SET_ORDER);
- if (count($treffer) < 1) {
- continue;
- }
- for ($i = 0; $i < count($treffer); $i++) {
- $fk[$this->table][$treffer[$i][1]] = $treffer[$i][2] . ":" . $treffer[$i][3];
- }
-
- }
+ case 'pgsql':
+ foreach($this->tables as $this->table) {
+ $quotedTable = !empty($options['quote_identifiers_tableinfo']) ? $DB->quoteIdentifier($table) : $this->table;
+ $res =& $DB->query("SELECT
+ pg_catalog.pg_get_constraintdef(r.oid, true) AS condef
+ FROM pg_catalog.pg_constraint r,
+ pg_catalog.pg_class c
+ WHERE c.oid=r.conrelid
+ AND r.contype = 'f'
+ AND c.relname = '" . $quotedTable . "'");
+ if (PEAR::isError($res)) {
+ die($res->getMessage());
+ }
+
+ while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $treffer = array();
+ // this only picks up one of these.. see this for why: http://pear.php.net/bugs/bug.php?id=17049
+ preg_match(
+ "/FOREIGN KEY \((\w*)\) REFERENCES (\w*)\((\w*)\)/i",
+ $row['condef'],
+ $treffer);
+ if (!count($treffer)) {
+ continue;
+ }
+ $fk[$this->table][$treffer[1]] = $treffer[2] . ":" . $treffer[3];
+ }
+ }
+ break;
+
+
+ case 'mysql':
+ case 'mysqli':
+ default:
+
+ foreach($this->tables as $this->table) {
+ $quotedTable = !empty($options['quote_identifiers_tableinfo']) ? $DB->quoteIdentifier($table) : $this->table;
+
+ $res =& $DB->query('SHOW CREATE TABLE ' . $quotedTable );
+
+ if (PEAR::isError($res)) {
+ die($res->getMessage());
+ }
+
+ $text = $res->fetchRow(DB_FETCHMODE_DEFAULT, 0);
+ $treffer = array();
+ // Extract FOREIGN KEYS
+ preg_match_all(
+ "/FOREIGN KEY \(`(\w*)`\) REFERENCES `(\w*)` \(`(\w*)`\)/i",
+ $text[1],
+ $treffer,
+ PREG_SET_ORDER);
+
+ if (!count($treffer)) {
+ continue;
+ }
+ foreach($treffer as $i=> $tref) {
+ $fk[$this->table][$tref[1]] = $tref[2] . ":" . $tref[3];
+ }
+
+ }
+ }
$links_ini = "";
foreach($fk as $table => $details) {
$body = "\n ###START_AUTOCODE\n";
$body .= " /* the code below is auto generated do not remove the above tag */\n\n";
// table
- $padding = (30 - strlen($this->table));
- $padding = ($padding < 2) ? 2 : $padding;
-
- $p = str_repeat(' ',$padding) ;
+
+ $p = str_repeat(' ',max(2, (18 - strlen($this->table)))) ;
$options = &PEAR::getStaticProperty('DB_DataObject','options');
// Only include the $_database property if the omit_database_var is unset or false
if (isset($options["database_{$this->_database}"]) && empty($GLOBALS['_DB_DATAOBJECT']['CONFIG']['generator_omit_database_var'])) {
+ $p = str_repeat(' ', max(2, (16 - strlen($this->table))));
$body .= " {$var} \$_database = '{$this->_database}'; {$p}// database name (used with database_{*} config)\n";
}
// show nice information!
$connections = array();
$sets = array();
+
foreach($defs as $t) {
if (!strlen(trim($t->name))) {
continue;
continue;
}
-
- $padding = (30 - strlen($t->name));
- if ($padding < 2) $padding =2;
- $p = str_repeat(' ',$padding) ;
-
+ $p = str_repeat(' ',max(2, (30 - strlen($t->name))));
+
$length = empty($t->len) ? '' : '('.$t->len.')';
$body .=" {$var} \${$t->name}; {$p}// {$t->type}$length {$t->flags}\n";
// can not do set as PEAR::DB table info doesnt support it.
//if (substr($t->Type,0,3) == "set")
// $sets[$t->Field] = "array".substr($t->Type,3);
- $body .= $this->derivedHookVar($t,$padding);
+ $body .= $this->derivedHookVar($t,strlen($p));
}
+
+ $body .= $this->derivedHookPostVar($defs);
// THIS IS TOTALLY BORKED old FC creation
// IT WILL BE REMOVED!!!!! in DataObjects 1.6
// It MUST NOT be changed here!!!
return "";
}
-
+ /**
+ * hook for after var lines (
+ * called at the end of the output of var line have generated, override to add extra var
+ * lines
+ *
+ * @param array cols containing array of objects with type,len,flags etc. from tableInfo call
+ * @access public
+ * @return string added to class eg. functions.
+ */
+ function derivedHookPostVar($t)
+ {
+ // This is so derived generator classes can generate variabels
+ // It MUST NOT be changed here!!!
+ return "";
+ }
/**
* hook to add extra page-level (in terms of phpDocumentor) DocBlock
*
*
* PHP versions 4 and 5
*
- * LICENSE: This source file is subject to version 3.0 of the PHP license
- * that is available through the world-wide-web at the following URI:
- * http://www.php.net/license/3_0.txt. If you did not receive a copy of
- * the PHP License and are unable to obtain it through the web, please
- * send a note to license@php.net so we can mail you a copy immediately.
- *
* @category pear
* @package PEAR
* @author Sterling Hughes <sterling@php.net>
* @author Stig Bakken <ssb@php.net>
* @author Tomas V.V.Cox <cox@idecnet.com>
* @author Greg Beaver <cellog@php.net>
- * @copyright 1997-2008 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: PEAR.php,v 1.104 2008/01/03 20:26:34 cellog Exp $
+ * @copyright 1997-2010 The Authors
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version CVS: $Id: PEAR.php 307683 2011-01-23 21:56:12Z dufuz $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 0.1
*/
define('PEAR_OS', 'Unix'); // blatant assumption
}
-// instant backwards compatibility
-if (!defined('PATH_SEPARATOR')) {
- if (OS_WINDOWS) {
- define('PATH_SEPARATOR', ';');
- } else {
- define('PATH_SEPARATOR', ':');
- }
-}
-
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN;
$GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE;
$GLOBALS['_PEAR_destructor_object_list'] = array();
* @author Tomas V.V. Cox <cox@idecnet.com>
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.2
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version Release: 1.9.2
* @link http://pear.php.net/package/PEAR
* @see PEAR_Error
* @since Class available since PHP 4.0.2
*/
class PEAR
{
- // {{{ properties
-
/**
* Whether to enable internal debug messages.
*
*/
var $_expected_errors = array();
- // }}}
-
- // {{{ constructor
-
/**
* Constructor. Registers this object in
* $_PEAR_destructor_object_list for destructor emulation if a
if ($this->_debug) {
print "PEAR constructor called, class=$classname\n";
}
+
if ($error_class !== null) {
$this->_error_class = $error_class;
}
+
while ($classname && strcasecmp($classname, "pear")) {
$destructor = "_$classname";
if (method_exists($this, $destructor)) {
}
}
- // }}}
- // {{{ destructor
-
/**
* Destructor (the emulated type of...). Does nothing right now,
* but is included for forward compatibility, so subclass
}
}
- // }}}
- // {{{ getStaticProperty()
-
/**
* If you have a class that's mostly/entirely static, and you need static
* properties, you can use this method to simulate them. Eg. in your method(s)
if (!isset($properties[$class])) {
$properties[$class] = array();
}
+
if (!array_key_exists($var, $properties[$class])) {
$properties[$class][$var] = null;
}
+
return $properties[$class][$var];
}
- // }}}
- // {{{ registerShutdownFunc()
-
/**
* Use this function to register a shutdown method for static
* classes.
$GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args);
}
- // }}}
- // {{{ isError()
-
/**
* Tell whether a value is a PEAR error.
*
*/
function isError($data, $code = null)
{
- if (is_a($data, 'PEAR_Error')) {
- if (is_null($code)) {
- return true;
- } elseif (is_string($code)) {
- return $data->getMessage() == $code;
- } else {
- return $data->getCode() == $code;
- }
+ if (!is_a($data, 'PEAR_Error')) {
+ return false;
}
- return false;
- }
- // }}}
- // {{{ setErrorHandling()
+ if (is_null($code)) {
+ return true;
+ } elseif (is_string($code)) {
+ return $data->getMessage() == $code;
+ }
+
+ return $data->getCode() == $code;
+ }
/**
* Sets how errors generated by this object should be handled.
*
* @since PHP 4.0.5
*/
-
function setErrorHandling($mode = null, $options = null)
{
if (isset($this) && is_a($this, 'PEAR')) {
}
}
- // }}}
- // {{{ expectError()
-
/**
* This method is used to tell which errors you expect to get.
* Expected errors are always returned with error mode
} else {
array_push($this->_expected_errors, array($code));
}
- return sizeof($this->_expected_errors);
+ return count($this->_expected_errors);
}
- // }}}
- // {{{ popExpect()
-
/**
* This method pops one element off the expected error codes
* stack.
return array_pop($this->_expected_errors);
}
- // }}}
- // {{{ _checkDelExpect()
-
/**
* This method checks unsets an error code if available
*
function _checkDelExpect($error_code)
{
$deleted = false;
-
- foreach ($this->_expected_errors AS $key => $error_array) {
+ foreach ($this->_expected_errors as $key => $error_array) {
if (in_array($error_code, $error_array)) {
unset($this->_expected_errors[$key][array_search($error_code, $error_array)]);
$deleted = true;
unset($this->_expected_errors[$key]);
}
}
+
return $deleted;
}
- // }}}
- // {{{ delExpect()
-
/**
* This method deletes all occurences of the specified element from
* the expected error codes stack.
function delExpect($error_code)
{
$deleted = false;
-
if ((is_array($error_code) && (0 != count($error_code)))) {
- // $error_code is a non-empty array here;
- // we walk through it trying to unset all
- // values
- foreach($error_code as $key => $error) {
- if ($this->_checkDelExpect($error)) {
- $deleted = true;
- } else {
- $deleted = false;
- }
+ // $error_code is a non-empty array here; we walk through it trying
+ // to unset all values
+ foreach ($error_code as $key => $error) {
+ $deleted = $this->_checkDelExpect($error) ? true : false;
}
+
return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
} elseif (!empty($error_code)) {
// $error_code comes alone, trying to unset it
if ($this->_checkDelExpect($error_code)) {
return true;
- } else {
- return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
}
- } else {
- // $error_code is empty
- return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME
+
+ return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME
}
- }
- // }}}
- // {{{ raiseError()
+ // $error_code is empty
+ return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME
+ }
/**
* This method is a wrapper that returns an instance of the
$message = $message->getMessage();
}
- if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) {
+ if (
+ isset($this) &&
+ isset($this->_expected_errors) &&
+ count($this->_expected_errors) > 0 &&
+ count($exp = end($this->_expected_errors))
+ ) {
if ($exp[0] == "*" ||
(is_int(reset($exp)) && in_array($code, $exp)) ||
- (is_string(reset($exp)) && in_array($message, $exp))) {
+ (is_string(reset($exp)) && in_array($message, $exp))
+ ) {
$mode = PEAR_ERROR_RETURN;
}
}
+
// No mode given, try global ones
if ($mode === null) {
// Class error handler
} else {
$ec = 'PEAR_Error';
}
+
if (intval(PHP_VERSION) < 5) {
// little non-eval hack to fix bug #12147
include 'PEAR/FixPHP5PEARWarnings.php';
return $a;
}
+
if ($skipmsg) {
$a = new $ec($code, $mode, $options, $userinfo);
} else {
$a = new $ec($message, $code, $mode, $options, $userinfo);
}
+
return $a;
}
- // }}}
- // {{{ throwError()
-
/**
* Simpler form of raiseError with fewer options. In most cases
* message, code and userinfo are enough.
*
- * @param string $message
+ * @param mixed $message a text error message or a PEAR error object
*
+ * @param int $code a numeric error code (it is up to your class
+ * to define these if you want to use codes)
+ *
+ * @param string $userinfo If you need to pass along for example debug
+ * information, this parameter is meant for that.
+ *
+ * @access public
+ * @return object a PEAR error object
+ * @see PEAR::raiseError
*/
- function &throwError($message = null,
- $code = null,
- $userinfo = null)
+ function &throwError($message = null, $code = null, $userinfo = null)
{
if (isset($this) && is_a($this, 'PEAR')) {
$a = &$this->raiseError($message, $code, null, null, $userinfo);
return $a;
- } else {
- $a = &PEAR::raiseError($message, $code, null, null, $userinfo);
- return $a;
}
+
+ $a = &PEAR::raiseError($message, $code, null, null, $userinfo);
+ return $a;
}
- // }}}
function staticPushErrorHandling($mode, $options = null)
{
- $stack = &$GLOBALS['_PEAR_error_handler_stack'];
+ $stack = &$GLOBALS['_PEAR_error_handler_stack'];
$def_mode = &$GLOBALS['_PEAR_default_error_mode'];
$def_options = &$GLOBALS['_PEAR_default_error_options'];
$stack[] = array($def_mode, $def_options);
return true;
}
- // {{{ pushErrorHandling()
-
/**
* Push a new error handler on top of the error handler options stack. With this
* you can easily override the actual error handler for some code and restore
return true;
}
- // }}}
- // {{{ popErrorHandling()
-
/**
* Pop the last error handler used
*
return true;
}
- // }}}
- // {{{ loadExtension()
-
/**
* OS independant PHP extension load. Remember to take care
* on the correct extension name for case sensitive OSes.
*/
function loadExtension($ext)
{
- if (!extension_loaded($ext)) {
- // if either returns true dl() will produce a FATAL error, stop that
- if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) {
- return false;
- }
- if (OS_WINDOWS) {
- $suffix = '.dll';
- } elseif (PHP_OS == 'HP-UX') {
- $suffix = '.sl';
- } elseif (PHP_OS == 'AIX') {
- $suffix = '.a';
- } elseif (PHP_OS == 'OSX') {
- $suffix = '.bundle';
- } else {
- $suffix = '.so';
- }
- return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
+ if (extension_loaded($ext)) {
+ return true;
+ }
+
+ // if either returns true dl() will produce a FATAL error, stop that
+ if (
+ function_exists('dl') === false ||
+ ini_get('enable_dl') != 1 ||
+ ini_get('safe_mode') == 1
+ ) {
+ return false;
}
- return true;
- }
- // }}}
+ if (OS_WINDOWS) {
+ $suffix = '.dll';
+ } elseif (PHP_OS == 'HP-UX') {
+ $suffix = '.sl';
+ } elseif (PHP_OS == 'AIX') {
+ $suffix = '.a';
+ } elseif (PHP_OS == 'OSX') {
+ $suffix = '.bundle';
+ } else {
+ $suffix = '.so';
+ }
+
+ return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
+ }
}
-// {{{ _PEAR_call_destructors()
+if (PEAR_ZE2) {
+ include_once 'PEAR5.php';
+}
function _PEAR_call_destructors()
{
sizeof($_PEAR_destructor_object_list))
{
reset($_PEAR_destructor_object_list);
- if (PEAR::getStaticProperty('PEAR', 'destructlifo')) {
+ if (PEAR_ZE2) {
+ $destructLifoExists = PEAR5::getStaticProperty('PEAR', 'destructlifo');
+ } else {
+ $destructLifoExists = PEAR::getStaticProperty('PEAR', 'destructlifo');
+ }
+
+ if ($destructLifoExists) {
$_PEAR_destructor_object_list = array_reverse($_PEAR_destructor_object_list);
}
+
while (list($k, $objref) = each($_PEAR_destructor_object_list)) {
$classname = get_class($objref);
while ($classname) {
}
// Now call the shutdown functions
- if (is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) {
+ if (
+ isset($GLOBALS['_PEAR_shutdown_funcs']) &&
+ is_array($GLOBALS['_PEAR_shutdown_funcs']) &&
+ !empty($GLOBALS['_PEAR_shutdown_funcs'])
+ ) {
foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) {
call_user_func_array($value[0], $value[1]);
}
}
}
-// }}}
/**
* Standard PEAR error class for PHP 4
*
* @author Tomas V.V. Cox <cox@idecnet.com>
* @author Gregory Beaver <cellog@php.net>
* @copyright 1997-2006 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.2
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version Release: 1.9.2
* @link http://pear.php.net/manual/en/core.pear.pear-error.php
* @see PEAR::raiseError(), PEAR::throwError()
* @since Class available since PHP 4.0.2
*/
class PEAR_Error
{
- // {{{ properties
-
var $error_message_prefix = '';
var $mode = PEAR_ERROR_RETURN;
var $level = E_USER_NOTICE;
var $userinfo = '';
var $backtrace = null;
- // }}}
- // {{{ constructor
-
/**
* PEAR_Error constructor
*
$this->code = $code;
$this->mode = $mode;
$this->userinfo = $userinfo;
- if (!PEAR::getStaticProperty('PEAR_Error', 'skiptrace')) {
+
+ if (PEAR_ZE2) {
+ $skiptrace = PEAR5::getStaticProperty('PEAR_Error', 'skiptrace');
+ } else {
+ $skiptrace = PEAR::getStaticProperty('PEAR_Error', 'skiptrace');
+ }
+
+ if (!$skiptrace) {
$this->backtrace = debug_backtrace();
if (isset($this->backtrace[0]) && isset($this->backtrace[0]['object'])) {
unset($this->backtrace[0]['object']);
}
}
+
if ($mode & PEAR_ERROR_CALLBACK) {
$this->level = E_USER_NOTICE;
$this->callback = $options;
if ($options === null) {
$options = E_USER_NOTICE;
}
+
$this->level = $options;
$this->callback = null;
}
+
if ($this->mode & PEAR_ERROR_PRINT) {
if (is_null($options) || is_int($options)) {
$format = "%s";
} else {
$format = $options;
}
+
printf($format, $this->getMessage());
}
+
if ($this->mode & PEAR_ERROR_TRIGGER) {
trigger_error($this->getMessage(), $this->level);
}
+
if ($this->mode & PEAR_ERROR_DIE) {
$msg = $this->getMessage();
if (is_null($options) || is_int($options)) {
}
die(sprintf($format, $msg));
}
- if ($this->mode & PEAR_ERROR_CALLBACK) {
- if (is_callable($this->callback)) {
- call_user_func($this->callback, $this);
- }
+
+ if ($this->mode & PEAR_ERROR_CALLBACK && is_callable($this->callback)) {
+ call_user_func($this->callback, $this);
}
+
if ($this->mode & PEAR_ERROR_EXCEPTION) {
trigger_error("PEAR_ERROR_EXCEPTION is obsolete, use class PEAR_Exception for exceptions", E_USER_WARNING);
eval('$e = new Exception($this->message, $this->code);throw($e);');
}
}
- // }}}
- // {{{ getMode()
-
/**
* Get the error mode from an error object.
*
* @return int error mode
* @access public
*/
- function getMode() {
+ function getMode()
+ {
return $this->mode;
}
- // }}}
- // {{{ getCallback()
-
/**
* Get the callback function/method from an error object.
*
* @return mixed callback function or object/method array
* @access public
*/
- function getCallback() {
+ function getCallback()
+ {
return $this->callback;
}
- // }}}
- // {{{ getMessage()
-
-
/**
* Get the error message from an error object.
*
return ($this->error_message_prefix . $this->message);
}
-
- // }}}
- // {{{ getCode()
-
/**
* Get error code from an error object
*
return $this->code;
}
- // }}}
- // {{{ getType()
-
/**
* Get the name of this error/exception.
*
return get_class($this);
}
- // }}}
- // {{{ getUserInfo()
-
/**
* Get additional user-supplied information.
*
return $this->userinfo;
}
- // }}}
- // {{{ getDebugInfo()
-
/**
* Get additional debug information supplied by the application.
*
return $this->getUserInfo();
}
- // }}}
- // {{{ getBacktrace()
-
/**
* Get the call backtrace from where the error was generated.
* Supported with PHP 4.3.0 or newer.
return $this->backtrace[$frame];
}
- // }}}
- // {{{ addUserInfo()
-
function addUserInfo($info)
{
if (empty($this->userinfo)) {
}
}
- // }}}
- // {{{ toString()
function __toString()
{
return $this->getMessage();
}
- // }}}
- // {{{ toString()
/**
* Make a string representation of this object.
* @return string a string with an object summary
* @access public
*/
- function toString() {
+ function toString()
+ {
$modes = array();
$levels = array(E_USER_NOTICE => 'notice',
E_USER_WARNING => 'warning',
$this->error_message_prefix,
$this->userinfo);
}
-
- // }}}
}
/*
* c-basic-offset: 4
* End:
*/
-?>
--- /dev/null
+<?php
+/**
+ * Error Stack Implementation
+ *
+ * This is an incredibly simple implementation of a very complex error handling
+ * facility. It contains the ability
+ * to track multiple errors from multiple packages simultaneously. In addition,
+ * it can track errors of many levels, save data along with the error, context
+ * information such as the exact file, line number, class and function that
+ * generated the error, and if necessary, it can raise a traditional PEAR_Error.
+ * It has built-in support for PEAR::Log, to log errors as they occur
+ *
+ * Since version 0.2alpha, it is also possible to selectively ignore errors,
+ * through the use of an error callback, see {@link pushCallback()}
+ *
+ * Since version 0.3alpha, it is possible to specify the exception class
+ * returned from {@link push()}
+ *
+ * Since version PEAR1.3.2, ErrorStack no longer instantiates an exception class. This can
+ * still be done quite handily in an error callback or by manipulating the returned array
+ * @category Debugging
+ * @package PEAR_ErrorStack
+ * @author Greg Beaver <cellog@php.net>
+ * @copyright 2004-2008 Greg Beaver
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version CVS: $Id: ErrorStack.php 307683 2011-01-23 21:56:12Z dufuz $
+ * @link http://pear.php.net/package/PEAR_ErrorStack
+ */
+
+/**
+ * Singleton storage
+ *
+ * Format:
+ * <pre>
+ * array(
+ * 'package1' => PEAR_ErrorStack object,
+ * 'package2' => PEAR_ErrorStack object,
+ * ...
+ * )
+ * </pre>
+ * @access private
+ * @global array $GLOBALS['_PEAR_ERRORSTACK_SINGLETON']
+ */
+$GLOBALS['_PEAR_ERRORSTACK_SINGLETON'] = array();
+
+/**
+ * Global error callback (default)
+ *
+ * This is only used if set to non-false. * is the default callback for
+ * all packages, whereas specific packages may set a default callback
+ * for all instances, regardless of whether they are a singleton or not.
+ *
+ * To exclude non-singletons, only set the local callback for the singleton
+ * @see PEAR_ErrorStack::setDefaultCallback()
+ * @access private
+ * @global array $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK']
+ */
+$GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK'] = array(
+ '*' => false,
+);
+
+/**
+ * Global Log object (default)
+ *
+ * This is only used if set to non-false. Use to set a default log object for
+ * all stacks, regardless of instantiation order or location
+ * @see PEAR_ErrorStack::setDefaultLogger()
+ * @access private
+ * @global array $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER']
+ */
+$GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER'] = false;
+
+/**
+ * Global Overriding Callback
+ *
+ * This callback will override any error callbacks that specific loggers have set.
+ * Use with EXTREME caution
+ * @see PEAR_ErrorStack::staticPushCallback()
+ * @access private
+ * @global array $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER']
+ */
+$GLOBALS['_PEAR_ERRORSTACK_OVERRIDE_CALLBACK'] = array();
+
+/**#@+
+ * One of four possible return values from the error Callback
+ * @see PEAR_ErrorStack::_errorCallback()
+ */
+/**
+ * If this is returned, then the error will be both pushed onto the stack
+ * and logged.
+ */
+define('PEAR_ERRORSTACK_PUSHANDLOG', 1);
+/**
+ * If this is returned, then the error will only be pushed onto the stack,
+ * and not logged.
+ */
+define('PEAR_ERRORSTACK_PUSH', 2);
+/**
+ * If this is returned, then the error will only be logged, but not pushed
+ * onto the error stack.
+ */
+define('PEAR_ERRORSTACK_LOG', 3);
+/**
+ * If this is returned, then the error is completely ignored.
+ */
+define('PEAR_ERRORSTACK_IGNORE', 4);
+/**
+ * If this is returned, then the error is logged and die() is called.
+ */
+define('PEAR_ERRORSTACK_DIE', 5);
+/**#@-*/
+
+/**
+ * Error code for an attempt to instantiate a non-class as a PEAR_ErrorStack in
+ * the singleton method.
+ */
+define('PEAR_ERRORSTACK_ERR_NONCLASS', 1);
+
+/**
+ * Error code for an attempt to pass an object into {@link PEAR_ErrorStack::getMessage()}
+ * that has no __toString() method
+ */
+define('PEAR_ERRORSTACK_ERR_OBJTOSTRING', 2);
+/**
+ * Error Stack Implementation
+ *
+ * Usage:
+ * <code>
+ * // global error stack
+ * $global_stack = &PEAR_ErrorStack::singleton('MyPackage');
+ * // local error stack
+ * $local_stack = new PEAR_ErrorStack('MyPackage');
+ * </code>
+ * @author Greg Beaver <cellog@php.net>
+ * @version 1.9.2
+ * @package PEAR_ErrorStack
+ * @category Debugging
+ * @copyright 2004-2008 Greg Beaver
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version CVS: $Id: ErrorStack.php 307683 2011-01-23 21:56:12Z dufuz $
+ * @link http://pear.php.net/package/PEAR_ErrorStack
+ */
+class PEAR_ErrorStack {
+ /**
+ * Errors are stored in the order that they are pushed on the stack.
+ * @since 0.4alpha Errors are no longer organized by error level.
+ * This renders pop() nearly unusable, and levels could be more easily
+ * handled in a callback anyway
+ * @var array
+ * @access private
+ */
+ var $_errors = array();
+
+ /**
+ * Storage of errors by level.
+ *
+ * Allows easy retrieval and deletion of only errors from a particular level
+ * @since PEAR 1.4.0dev
+ * @var array
+ * @access private
+ */
+ var $_errorsByLevel = array();
+
+ /**
+ * Package name this error stack represents
+ * @var string
+ * @access protected
+ */
+ var $_package;
+
+ /**
+ * Determines whether a PEAR_Error is thrown upon every error addition
+ * @var boolean
+ * @access private
+ */
+ var $_compat = false;
+
+ /**
+ * If set to a valid callback, this will be used to generate the error
+ * message from the error code, otherwise the message passed in will be
+ * used
+ * @var false|string|array
+ * @access private
+ */
+ var $_msgCallback = false;
+
+ /**
+ * If set to a valid callback, this will be used to generate the error
+ * context for an error. For PHP-related errors, this will be a file
+ * and line number as retrieved from debug_backtrace(), but can be
+ * customized for other purposes. The error might actually be in a separate
+ * configuration file, or in a database query.
+ * @var false|string|array
+ * @access protected
+ */
+ var $_contextCallback = false;
+
+ /**
+ * If set to a valid callback, this will be called every time an error
+ * is pushed onto the stack. The return value will be used to determine
+ * whether to allow an error to be pushed or logged.
+ *
+ * The return value must be one an PEAR_ERRORSTACK_* constant
+ * @see PEAR_ERRORSTACK_PUSHANDLOG, PEAR_ERRORSTACK_PUSH, PEAR_ERRORSTACK_LOG
+ * @var false|string|array
+ * @access protected
+ */
+ var $_errorCallback = array();
+
+ /**
+ * PEAR::Log object for logging errors
+ * @var false|Log
+ * @access protected
+ */
+ var $_logger = false;
+
+ /**
+ * Error messages - designed to be overridden
+ * @var array
+ * @abstract
+ */
+ var $_errorMsgs = array();
+
+ /**
+ * Set up a new error stack
+ *
+ * @param string $package name of the package this error stack represents
+ * @param callback $msgCallback callback used for error message generation
+ * @param callback $contextCallback callback used for context generation,
+ * defaults to {@link getFileLine()}
+ * @param boolean $throwPEAR_Error
+ */
+ function PEAR_ErrorStack($package, $msgCallback = false, $contextCallback = false,
+ $throwPEAR_Error = false)
+ {
+ $this->_package = $package;
+ $this->setMessageCallback($msgCallback);
+ $this->setContextCallback($contextCallback);
+ $this->_compat = $throwPEAR_Error;
+ }
+
+ /**
+ * Return a single error stack for this package.
+ *
+ * Note that all parameters are ignored if the stack for package $package
+ * has already been instantiated
+ * @param string $package name of the package this error stack represents
+ * @param callback $msgCallback callback used for error message generation
+ * @param callback $contextCallback callback used for context generation,
+ * defaults to {@link getFileLine()}
+ * @param boolean $throwPEAR_Error
+ * @param string $stackClass class to instantiate
+ * @static
+ * @return PEAR_ErrorStack
+ */
+ function &singleton($package, $msgCallback = false, $contextCallback = false,
+ $throwPEAR_Error = false, $stackClass = 'PEAR_ErrorStack')
+ {
+ if (isset($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package])) {
+ return $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package];
+ }
+ if (!class_exists($stackClass)) {
+ if (function_exists('debug_backtrace')) {
+ $trace = debug_backtrace();
+ }
+ PEAR_ErrorStack::staticPush('PEAR_ErrorStack', PEAR_ERRORSTACK_ERR_NONCLASS,
+ 'exception', array('stackclass' => $stackClass),
+ 'stack class "%stackclass%" is not a valid class name (should be like PEAR_ErrorStack)',
+ false, $trace);
+ }
+ $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package] =
+ new $stackClass($package, $msgCallback, $contextCallback, $throwPEAR_Error);
+
+ return $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package];
+ }
+
+ /**
+ * Internal error handler for PEAR_ErrorStack class
+ *
+ * Dies if the error is an exception (and would have died anyway)
+ * @access private
+ */
+ function _handleError($err)
+ {
+ if ($err['level'] == 'exception') {
+ $message = $err['message'];
+ if (isset($_SERVER['REQUEST_URI'])) {
+ echo '<br />';
+ } else {
+ echo "\n";
+ }
+ var_dump($err['context']);
+ die($message);
+ }
+ }
+
+ /**
+ * Set up a PEAR::Log object for all error stacks that don't have one
+ * @param Log $log
+ * @static
+ */
+ function setDefaultLogger(&$log)
+ {
+ if (is_object($log) && method_exists($log, 'log') ) {
+ $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER'] = &$log;
+ } elseif (is_callable($log)) {
+ $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER'] = &$log;
+ }
+ }
+
+ /**
+ * Set up a PEAR::Log object for this error stack
+ * @param Log $log
+ */
+ function setLogger(&$log)
+ {
+ if (is_object($log) && method_exists($log, 'log') ) {
+ $this->_logger = &$log;
+ } elseif (is_callable($log)) {
+ $this->_logger = &$log;
+ }
+ }
+
+ /**
+ * Set an error code => error message mapping callback
+ *
+ * This method sets the callback that can be used to generate error
+ * messages for any instance
+ * @param array|string Callback function/method
+ */
+ function setMessageCallback($msgCallback)
+ {
+ if (!$msgCallback) {
+ $this->_msgCallback = array(&$this, 'getErrorMessage');
+ } else {
+ if (is_callable($msgCallback)) {
+ $this->_msgCallback = $msgCallback;
+ }
+ }
+ }
+
+ /**
+ * Get an error code => error message mapping callback
+ *
+ * This method returns the current callback that can be used to generate error
+ * messages
+ * @return array|string|false Callback function/method or false if none
+ */
+ function getMessageCallback()
+ {
+ return $this->_msgCallback;
+ }
+
+ /**
+ * Sets a default callback to be used by all error stacks
+ *
+ * This method sets the callback that can be used to generate error
+ * messages for a singleton
+ * @param array|string Callback function/method
+ * @param string Package name, or false for all packages
+ * @static
+ */
+ function setDefaultCallback($callback = false, $package = false)
+ {
+ if (!is_callable($callback)) {
+ $callback = false;
+ }
+ $package = $package ? $package : '*';
+ $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK'][$package] = $callback;
+ }
+
+ /**
+ * Set a callback that generates context information (location of error) for an error stack
+ *
+ * This method sets the callback that can be used to generate context
+ * information for an error. Passing in NULL will disable context generation
+ * and remove the expensive call to debug_backtrace()
+ * @param array|string|null Callback function/method
+ */
+ function setContextCallback($contextCallback)
+ {
+ if ($contextCallback === null) {
+ return $this->_contextCallback = false;
+ }
+ if (!$contextCallback) {
+ $this->_contextCallback = array(&$this, 'getFileLine');
+ } else {
+ if (is_callable($contextCallback)) {
+ $this->_contextCallback = $contextCallback;
+ }
+ }
+ }
+
+ /**
+ * Set an error Callback
+ * If set to a valid callback, this will be called every time an error
+ * is pushed onto the stack. The return value will be used to determine
+ * whether to allow an error to be pushed or logged.
+ *
+ * The return value must be one of the ERRORSTACK_* constants.
+ *
+ * This functionality can be used to emulate PEAR's pushErrorHandling, and
+ * the PEAR_ERROR_CALLBACK mode, without affecting the integrity of
+ * the error stack or logging
+ * @see PEAR_ERRORSTACK_PUSHANDLOG, PEAR_ERRORSTACK_PUSH, PEAR_ERRORSTACK_LOG
+ * @see popCallback()
+ * @param string|array $cb
+ */
+ function pushCallback($cb)
+ {
+ array_push($this->_errorCallback, $cb);
+ }
+
+ /**
+ * Remove a callback from the error callback stack
+ * @see pushCallback()
+ * @return array|string|false
+ */
+ function popCallback()
+ {
+ if (!count($this->_errorCallback)) {
+ return false;
+ }
+ return array_pop($this->_errorCallback);
+ }
+
+ /**
+ * Set a temporary overriding error callback for every package error stack
+ *
+ * Use this to temporarily disable all existing callbacks (can be used
+ * to emulate the @ operator, for instance)
+ * @see PEAR_ERRORSTACK_PUSHANDLOG, PEAR_ERRORSTACK_PUSH, PEAR_ERRORSTACK_LOG
+ * @see staticPopCallback(), pushCallback()
+ * @param string|array $cb
+ * @static
+ */
+ function staticPushCallback($cb)
+ {
+ array_push($GLOBALS['_PEAR_ERRORSTACK_OVERRIDE_CALLBACK'], $cb);
+ }
+
+ /**
+ * Remove a temporary overriding error callback
+ * @see staticPushCallback()
+ * @return array|string|false
+ * @static
+ */
+ function staticPopCallback()
+ {
+ $ret = array_pop($GLOBALS['_PEAR_ERRORSTACK_OVERRIDE_CALLBACK']);
+ if (!is_array($GLOBALS['_PEAR_ERRORSTACK_OVERRIDE_CALLBACK'])) {
+ $GLOBALS['_PEAR_ERRORSTACK_OVERRIDE_CALLBACK'] = array();
+ }
+ return $ret;
+ }
+
+ /**
+ * Add an error to the stack
+ *
+ * If the message generator exists, it is called with 2 parameters.
+ * - the current Error Stack object
+ * - an array that is in the same format as an error. Available indices
+ * are 'code', 'package', 'time', 'params', 'level', and 'context'
+ *
+ * Next, if the error should contain context information, this is
+ * handled by the context grabbing method.
+ * Finally, the error is pushed onto the proper error stack
+ * @param int $code Package-specific error code
+ * @param string $level Error level. This is NOT spell-checked
+ * @param array $params associative array of error parameters
+ * @param string $msg Error message, or a portion of it if the message
+ * is to be generated
+ * @param array $repackage If this error re-packages an error pushed by
+ * another package, place the array returned from
+ * {@link pop()} in this parameter
+ * @param array $backtrace Protected parameter: use this to pass in the
+ * {@link debug_backtrace()} that should be used
+ * to find error context
+ * @return PEAR_Error|array if compatibility mode is on, a PEAR_Error is also
+ * thrown. If a PEAR_Error is returned, the userinfo
+ * property is set to the following array:
+ *
+ * <code>
+ * array(
+ * 'code' => $code,
+ * 'params' => $params,
+ * 'package' => $this->_package,
+ * 'level' => $level,
+ * 'time' => time(),
+ * 'context' => $context,
+ * 'message' => $msg,
+ * //['repackage' => $err] repackaged error array/Exception class
+ * );
+ * </code>
+ *
+ * Normally, the previous array is returned.
+ */
+ function push($code, $level = 'error', $params = array(), $msg = false,
+ $repackage = false, $backtrace = false)
+ {
+ $context = false;
+ // grab error context
+ if ($this->_contextCallback) {
+ if (!$backtrace) {
+ $backtrace = debug_backtrace();
+ }
+ $context = call_user_func($this->_contextCallback, $code, $params, $backtrace);
+ }
+
+ // save error
+ $time = explode(' ', microtime());
+ $time = $time[1] + $time[0];
+ $err = array(
+ 'code' => $code,
+ 'params' => $params,
+ 'package' => $this->_package,
+ 'level' => $level,
+ 'time' => $time,
+ 'context' => $context,
+ 'message' => $msg,
+ );
+
+ if ($repackage) {
+ $err['repackage'] = $repackage;
+ }
+
+ // set up the error message, if necessary
+ if ($this->_msgCallback) {
+ $msg = call_user_func_array($this->_msgCallback,
+ array(&$this, $err));
+ $err['message'] = $msg;
+ }
+ $push = $log = true;
+ $die = false;
+ // try the overriding callback first
+ $callback = $this->staticPopCallback();
+ if ($callback) {
+ $this->staticPushCallback($callback);
+ }
+ if (!is_callable($callback)) {
+ // try the local callback next
+ $callback = $this->popCallback();
+ if (is_callable($callback)) {
+ $this->pushCallback($callback);
+ } else {
+ // try the default callback
+ $callback = isset($GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK'][$this->_package]) ?
+ $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK'][$this->_package] :
+ $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_CALLBACK']['*'];
+ }
+ }
+ if (is_callable($callback)) {
+ switch(call_user_func($callback, $err)){
+ case PEAR_ERRORSTACK_IGNORE:
+ return $err;
+ break;
+ case PEAR_ERRORSTACK_PUSH:
+ $log = false;
+ break;
+ case PEAR_ERRORSTACK_LOG:
+ $push = false;
+ break;
+ case PEAR_ERRORSTACK_DIE:
+ $die = true;
+ break;
+ // anything else returned has the same effect as pushandlog
+ }
+ }
+ if ($push) {
+ array_unshift($this->_errors, $err);
+ if (!isset($this->_errorsByLevel[$err['level']])) {
+ $this->_errorsByLevel[$err['level']] = array();
+ }
+ $this->_errorsByLevel[$err['level']][] = &$this->_errors[0];
+ }
+ if ($log) {
+ if ($this->_logger || $GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER']) {
+ $this->_log($err);
+ }
+ }
+ if ($die) {
+ die();
+ }
+ if ($this->_compat && $push) {
+ return $this->raiseError($msg, $code, null, null, $err);
+ }
+ return $err;
+ }
+
+ /**
+ * Static version of {@link push()}
+ *
+ * @param string $package Package name this error belongs to
+ * @param int $code Package-specific error code
+ * @param string $level Error level. This is NOT spell-checked
+ * @param array $params associative array of error parameters
+ * @param string $msg Error message, or a portion of it if the message
+ * is to be generated
+ * @param array $repackage If this error re-packages an error pushed by
+ * another package, place the array returned from
+ * {@link pop()} in this parameter
+ * @param array $backtrace Protected parameter: use this to pass in the
+ * {@link debug_backtrace()} that should be used
+ * to find error context
+ * @return PEAR_Error|array if compatibility mode is on, a PEAR_Error is also
+ * thrown. see docs for {@link push()}
+ * @static
+ */
+ function staticPush($package, $code, $level = 'error', $params = array(),
+ $msg = false, $repackage = false, $backtrace = false)
+ {
+ $s = &PEAR_ErrorStack::singleton($package);
+ if ($s->_contextCallback) {
+ if (!$backtrace) {
+ if (function_exists('debug_backtrace')) {
+ $backtrace = debug_backtrace();
+ }
+ }
+ }
+ return $s->push($code, $level, $params, $msg, $repackage, $backtrace);
+ }
+
+ /**
+ * Log an error using PEAR::Log
+ * @param array $err Error array
+ * @param array $levels Error level => Log constant map
+ * @access protected
+ */
+ function _log($err)
+ {
+ if ($this->_logger) {
+ $logger = &$this->_logger;
+ } else {
+ $logger = &$GLOBALS['_PEAR_ERRORSTACK_DEFAULT_LOGGER'];
+ }
+ if (is_a($logger, 'Log')) {
+ $levels = array(
+ 'exception' => PEAR_LOG_CRIT,
+ 'alert' => PEAR_LOG_ALERT,
+ 'critical' => PEAR_LOG_CRIT,
+ 'error' => PEAR_LOG_ERR,
+ 'warning' => PEAR_LOG_WARNING,
+ 'notice' => PEAR_LOG_NOTICE,
+ 'info' => PEAR_LOG_INFO,
+ 'debug' => PEAR_LOG_DEBUG);
+ if (isset($levels[$err['level']])) {
+ $level = $levels[$err['level']];
+ } else {
+ $level = PEAR_LOG_INFO;
+ }
+ $logger->log($err['message'], $level, $err);
+ } else { // support non-standard logs
+ call_user_func($logger, $err);
+ }
+ }
+
+
+ /**
+ * Pop an error off of the error stack
+ *
+ * @return false|array
+ * @since 0.4alpha it is no longer possible to specify a specific error
+ * level to return - the last error pushed will be returned, instead
+ */
+ function pop()
+ {
+ $err = @array_shift($this->_errors);
+ if (!is_null($err)) {
+ @array_pop($this->_errorsByLevel[$err['level']]);
+ if (!count($this->_errorsByLevel[$err['level']])) {
+ unset($this->_errorsByLevel[$err['level']]);
+ }
+ }
+ return $err;
+ }
+
+ /**
+ * Pop an error off of the error stack, static method
+ *
+ * @param string package name
+ * @return boolean
+ * @since PEAR1.5.0a1
+ */
+ function staticPop($package)
+ {
+ if ($package) {
+ if (!isset($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package])) {
+ return false;
+ }
+ return $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package]->pop();
+ }
+ }
+
+ /**
+ * Determine whether there are any errors on the stack
+ * @param string|array Level name. Use to determine if any errors
+ * of level (string), or levels (array) have been pushed
+ * @return boolean
+ */
+ function hasErrors($level = false)
+ {
+ if ($level) {
+ return isset($this->_errorsByLevel[$level]);
+ }
+ return count($this->_errors);
+ }
+
+ /**
+ * Retrieve all errors since last purge
+ *
+ * @param boolean set in order to empty the error stack
+ * @param string level name, to return only errors of a particular severity
+ * @return array
+ */
+ function getErrors($purge = false, $level = false)
+ {
+ if (!$purge) {
+ if ($level) {
+ if (!isset($this->_errorsByLevel[$level])) {
+ return array();
+ } else {
+ return $this->_errorsByLevel[$level];
+ }
+ } else {
+ return $this->_errors;
+ }
+ }
+ if ($level) {
+ $ret = $this->_errorsByLevel[$level];
+ foreach ($this->_errorsByLevel[$level] as $i => $unused) {
+ // entries are references to the $_errors array
+ $this->_errorsByLevel[$level][$i] = false;
+ }
+ // array_filter removes all entries === false
+ $this->_errors = array_filter($this->_errors);
+ unset($this->_errorsByLevel[$level]);
+ return $ret;
+ }
+ $ret = $this->_errors;
+ $this->_errors = array();
+ $this->_errorsByLevel = array();
+ return $ret;
+ }
+
+ /**
+ * Determine whether there are any errors on a single error stack, or on any error stack
+ *
+ * The optional parameter can be used to test the existence of any errors without the need of
+ * singleton instantiation
+ * @param string|false Package name to check for errors
+ * @param string Level name to check for a particular severity
+ * @return boolean
+ * @static
+ */
+ function staticHasErrors($package = false, $level = false)
+ {
+ if ($package) {
+ if (!isset($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package])) {
+ return false;
+ }
+ return $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package]->hasErrors($level);
+ }
+ foreach ($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'] as $package => $obj) {
+ if ($obj->hasErrors($level)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Get a list of all errors since last purge, organized by package
+ * @since PEAR 1.4.0dev BC break! $level is now in the place $merge used to be
+ * @param boolean $purge Set to purge the error stack of existing errors
+ * @param string $level Set to a level name in order to retrieve only errors of a particular level
+ * @param boolean $merge Set to return a flat array, not organized by package
+ * @param array $sortfunc Function used to sort a merged array - default
+ * sorts by time, and should be good for most cases
+ * @static
+ * @return array
+ */
+ function staticGetErrors($purge = false, $level = false, $merge = false,
+ $sortfunc = array('PEAR_ErrorStack', '_sortErrors'))
+ {
+ $ret = array();
+ if (!is_callable($sortfunc)) {
+ $sortfunc = array('PEAR_ErrorStack', '_sortErrors');
+ }
+ foreach ($GLOBALS['_PEAR_ERRORSTACK_SINGLETON'] as $package => $obj) {
+ $test = $GLOBALS['_PEAR_ERRORSTACK_SINGLETON'][$package]->getErrors($purge, $level);
+ if ($test) {
+ if ($merge) {
+ $ret = array_merge($ret, $test);
+ } else {
+ $ret[$package] = $test;
+ }
+ }
+ }
+ if ($merge) {
+ usort($ret, $sortfunc);
+ }
+ return $ret;
+ }
+
+ /**
+ * Error sorting function, sorts by time
+ * @access private
+ */
+ function _sortErrors($a, $b)
+ {
+ if ($a['time'] == $b['time']) {
+ return 0;
+ }
+ if ($a['time'] < $b['time']) {
+ return 1;
+ }
+ return -1;
+ }
+
+ /**
+ * Standard file/line number/function/class context callback
+ *
+ * This function uses a backtrace generated from {@link debug_backtrace()}
+ * and so will not work at all in PHP < 4.3.0. The frame should
+ * reference the frame that contains the source of the error.
+ * @return array|false either array('file' => file, 'line' => line,
+ * 'function' => function name, 'class' => class name) or
+ * if this doesn't work, then false
+ * @param unused
+ * @param integer backtrace frame.
+ * @param array Results of debug_backtrace()
+ * @static
+ */
+ function getFileLine($code, $params, $backtrace = null)
+ {
+ if ($backtrace === null) {
+ return false;
+ }
+ $frame = 0;
+ $functionframe = 1;
+ if (!isset($backtrace[1])) {
+ $functionframe = 0;
+ } else {
+ while (isset($backtrace[$functionframe]['function']) &&
+ $backtrace[$functionframe]['function'] == 'eval' &&
+ isset($backtrace[$functionframe + 1])) {
+ $functionframe++;
+ }
+ }
+ if (isset($backtrace[$frame])) {
+ if (!isset($backtrace[$frame]['file'])) {
+ $frame++;
+ }
+ $funcbacktrace = $backtrace[$functionframe];
+ $filebacktrace = $backtrace[$frame];
+ $ret = array('file' => $filebacktrace['file'],
+ 'line' => $filebacktrace['line']);
+ // rearrange for eval'd code or create function errors
+ if (strpos($filebacktrace['file'], '(') &&
+ preg_match(';^(.*?)\((\d+)\) : (.*?)\\z;', $filebacktrace['file'],
+ $matches)) {
+ $ret['file'] = $matches[1];
+ $ret['line'] = $matches[2] + 0;
+ }
+ if (isset($funcbacktrace['function']) && isset($backtrace[1])) {
+ if ($funcbacktrace['function'] != 'eval') {
+ if ($funcbacktrace['function'] == '__lambda_func') {
+ $ret['function'] = 'create_function() code';
+ } else {
+ $ret['function'] = $funcbacktrace['function'];
+ }
+ }
+ }
+ if (isset($funcbacktrace['class']) && isset($backtrace[1])) {
+ $ret['class'] = $funcbacktrace['class'];
+ }
+ return $ret;
+ }
+ return false;
+ }
+
+ /**
+ * Standard error message generation callback
+ *
+ * This method may also be called by a custom error message generator
+ * to fill in template values from the params array, simply
+ * set the third parameter to the error message template string to use
+ *
+ * The special variable %__msg% is reserved: use it only to specify
+ * where a message passed in by the user should be placed in the template,
+ * like so:
+ *
+ * Error message: %msg% - internal error
+ *
+ * If the message passed like so:
+ *
+ * <code>
+ * $stack->push(ERROR_CODE, 'error', array(), 'server error 500');
+ * </code>
+ *
+ * The returned error message will be "Error message: server error 500 -
+ * internal error"
+ * @param PEAR_ErrorStack
+ * @param array
+ * @param string|false Pre-generated error message template
+ * @static
+ * @return string
+ */
+ function getErrorMessage(&$stack, $err, $template = false)
+ {
+ if ($template) {
+ $mainmsg = $template;
+ } else {
+ $mainmsg = $stack->getErrorMessageTemplate($err['code']);
+ }
+ $mainmsg = str_replace('%__msg%', $err['message'], $mainmsg);
+ if (is_array($err['params']) && count($err['params'])) {
+ foreach ($err['params'] as $name => $val) {
+ if (is_array($val)) {
+ // @ is needed in case $val is a multi-dimensional array
+ $val = @implode(', ', $val);
+ }
+ if (is_object($val)) {
+ if (method_exists($val, '__toString')) {
+ $val = $val->__toString();
+ } else {
+ PEAR_ErrorStack::staticPush('PEAR_ErrorStack', PEAR_ERRORSTACK_ERR_OBJTOSTRING,
+ 'warning', array('obj' => get_class($val)),
+ 'object %obj% passed into getErrorMessage, but has no __toString() method');
+ $val = 'Object';
+ }
+ }
+ $mainmsg = str_replace('%' . $name . '%', $val, $mainmsg);
+ }
+ }
+ return $mainmsg;
+ }
+
+ /**
+ * Standard Error Message Template generator from code
+ * @return string
+ */
+ function getErrorMessageTemplate($code)
+ {
+ if (!isset($this->_errorMsgs[$code])) {
+ return '%__msg%';
+ }
+ return $this->_errorMsgs[$code];
+ }
+
+ /**
+ * Set the Error Message Template array
+ *
+ * The array format must be:
+ * <pre>
+ * array(error code => 'message template',...)
+ * </pre>
+ *
+ * Error message parameters passed into {@link push()} will be used as input
+ * for the error message. If the template is 'message %foo% was %bar%', and the
+ * parameters are array('foo' => 'one', 'bar' => 'six'), the error message returned will
+ * be 'message one was six'
+ * @return string
+ */
+ function setErrorMessageTemplate($template)
+ {
+ $this->_errorMsgs = $template;
+ }
+
+
+ /**
+ * emulate PEAR::raiseError()
+ *
+ * @return PEAR_Error
+ */
+ function raiseError()
+ {
+ require_once 'PEAR.php';
+ $args = func_get_args();
+ return call_user_func_array(array('PEAR', 'raiseError'), $args);
+ }
+}
+$stack = &PEAR_ErrorStack::singleton('PEAR_ErrorStack');
+$stack->pushCallback(array('PEAR_ErrorStack', '_handleError'));
+?>
*
* PHP versions 4 and 5
*
- * LICENSE: This source file is subject to version 3.0 of the PHP license
- * that is available through the world-wide-web at the following URI:
- * http://www.php.net/license/3_0.txt. If you did not receive a copy of
- * the PHP License and are unable to obtain it through the web, please
- * send a note to license@php.net so we can mail you a copy immediately.
- *
* @category pear
* @package PEAR
* @author Tomas V. V. Cox <cox@idecnet.com>
* @author Hans Lellelid <hans@velum.net>
* @author Bertrand Mansion <bmansion@mamasam.com>
* @author Greg Beaver <cellog@php.net>
- * @copyright 1997-2008 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version CVS: $Id: Exception.php,v 1.29 2008/01/03 20:26:35 cellog Exp $
+ * @copyright 1997-2009 The Authors
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version CVS: $Id: Exception.php 307683 2011-01-23 21:56:12Z dufuz $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.3.3
*/
* @author Hans Lellelid <hans@velum.net>
* @author Bertrand Mansion <bmansion@mamasam.com>
* @author Greg Beaver <cellog@php.net>
- * @copyright 1997-2008 The PHP Group
- * @license http://www.php.net/license/3_0.txt PHP License 3.0
- * @version Release: 1.7.2
+ * @copyright 1997-2009 The Authors
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version Release: 1.9.2
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.3.3
*
}
public function getTraceSafe()
- {
+ {
if (!isset($this->_trace)) {
$this->_trace = $this->getTrace();
if (empty($this->_trace)) {
$trace = $this->getTraceSafe();
$causes = array();
$this->getCauseMessage($causes);
- $html = '<table border="1" cellspacing="0">' . "\n";
+ $html = '<table style="border: 1px" cellspacing="0">' . "\n";
foreach ($causes as $i => $cause) {
- $html .= '<tr><td colspan="3" bgcolor="#ff9999">'
+ $html .= '<tr><td colspan="3" style="background: #ff9999">'
. str_repeat('-', $i) . ' <b>' . $cause['class'] . '</b>: '
. htmlspecialchars($cause['message']) . ' in <b>' . $cause['file'] . '</b> '
. 'on line <b>' . $cause['line'] . '</b>'
. "</td></tr>\n";
}
- $html .= '<tr><td colspan="3" bgcolor="#aaaaaa" align="center"><b>Exception trace</b></td></tr>' . "\n"
- . '<tr><td align="center" bgcolor="#cccccc" width="20"><b>#</b></td>'
- . '<td align="center" bgcolor="#cccccc"><b>Function</b></td>'
- . '<td align="center" bgcolor="#cccccc"><b>Location</b></td></tr>' . "\n";
+ $html .= '<tr><td colspan="3" style="background-color: #aaaaaa; text-align: center; font-weight: bold;">Exception trace</td></tr>' . "\n"
+ . '<tr><td style="text-align: center; background: #cccccc; width:20px; font-weight: bold;">#</td>'
+ . '<td style="text-align: center; background: #cccccc; font-weight: bold;">Function</td>'
+ . '<td style="text-align: center; background: #cccccc; font-weight: bold;">Location</td></tr>' . "\n";
foreach ($trace as $k => $v) {
- $html .= '<tr><td align="center">' . $k . '</td>'
+ $html .= '<tr><td style="text-align: center;">' . $k . '</td>'
. '<td>';
if (!empty($v['class'])) {
$html .= $v['class'] . $v['type'];
. ':' . (isset($v['line']) ? $v['line'] : 'unknown')
. '</td></tr>' . "\n";
}
- $html .= '<tr><td align="center">' . ($k+1) . '</td>'
+ $html .= '<tr><td style="text-align: center;">' . ($k+1) . '</td>'
. '<td>{main}</td>'
. '<td> </td></tr>' . "\n"
. '</table>';
}
return $causeMsg . $this->getTraceAsString();
}
-}
-
-?>
\ No newline at end of file
+}
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * This is only meant for PHP 5 to get rid of certain strict warning
+ * that doesn't get hidden since it's in the shutdown function
+ */
+class PEAR5
+{
+ /**
+ * If you have a class that's mostly/entirely static, and you need static
+ * properties, you can use this method to simulate them. Eg. in your method(s)
+ * do this: $myVar = &PEAR5::getStaticProperty('myclass', 'myVar');
+ * You MUST use a reference, or they will not persist!
+ *
+ * @access public
+ * @param string $class The calling classname, to prevent clashes
+ * @param string $var The variable to retrieve.
+ * @return mixed A reference to the variable. If not set it will be
+ * auto initialised to NULL.
+ */
+ static function &getStaticProperty($class, $var)
+ {
+ static $properties;
+ if (!isset($properties[$class])) {
+ $properties[$class] = array();
+ }
+
+ if (!array_key_exists($var, $properties[$class])) {
+ $properties[$class][$var] = null;
+ }
+
+ return $properties[$class][$var];
+ }
+}
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * File/Directory manipulation
+ *
+ * PHP versions 4 and 5
+ *
+ * @category pear
+ * @package System
+ * @author Tomas V.V.Cox <cox@idecnet.com>
+ * @copyright 1997-2009 The Authors
+ * @license http://opensource.org/licenses/bsd-license.php New BSD License
+ * @version CVS: $Id: System.php 307683 2011-01-23 21:56:12Z dufuz $
+ * @link http://pear.php.net/package/PEAR
+ * @since File available since Release 0.1
+ */
+
+/**
+ * base class
+ */
+require_once 'PEAR.php';
+require_once 'Console/Getopt.php';
+
+$GLOBALS['_System_temp_files'] = array();
+
+/**
+* System offers cross plattform compatible system functions
+*
+* Static functions for different operations. Should work under
+* Unix and Windows. The names and usage has been taken from its respectively
+* GNU commands. The functions will return (bool) false on error and will
+* trigger the error with the PHP trigger_error() function (you can silence
+* the error by prefixing a '@' sign after the function call, but this
+* is not recommended practice. Instead use an error handler with
+* {@link set_error_handler()}).
+*
+* Documentation on this class you can find in:
+* http://pear.php.net/manual/
+*
+* Example usage:
+* if (!@System::rm('-r file1 dir1')) {
+* print "could not delete file1 or dir1";
+* }
+*
+* In case you need to to pass file names with spaces,
+* pass the params as an array:
+*
+* System::rm(array('-r', $file1, $dir1));
+*
+* @category pear
+* @package System
+* @author Tomas V.V. Cox <cox@idecnet.com>
+* @copyright 1997-2006 The PHP Group
+* @license http://opensource.org/licenses/bsd-license.php New BSD License
+* @version Release: 1.9.2
+* @link http://pear.php.net/package/PEAR
+* @since Class available since Release 0.1
+* @static
+*/
+class System
+{
+ /**
+ * returns the commandline arguments of a function
+ *
+ * @param string $argv the commandline
+ * @param string $short_options the allowed option short-tags
+ * @param string $long_options the allowed option long-tags
+ * @return array the given options and there values
+ * @static
+ * @access private
+ */
+ function _parseArgs($argv, $short_options, $long_options = null)
+ {
+ if (!is_array($argv) && $argv !== null) {
+ $argv = preg_split('/\s+/', $argv, -1, PREG_SPLIT_NO_EMPTY);
+ }
+ return Console_Getopt::getopt2($argv, $short_options);
+ }
+
+ /**
+ * Output errors with PHP trigger_error(). You can silence the errors
+ * with prefixing a "@" sign to the function call: @System::mkdir(..);
+ *
+ * @param mixed $error a PEAR error or a string with the error message
+ * @return bool false
+ * @static
+ * @access private
+ */
+ function raiseError($error)
+ {
+ if (PEAR::isError($error)) {
+ $error = $error->getMessage();
+ }
+ trigger_error($error, E_USER_WARNING);
+ return false;
+ }
+
+ /**
+ * Creates a nested array representing the structure of a directory
+ *
+ * System::_dirToStruct('dir1', 0) =>
+ * Array
+ * (
+ * [dirs] => Array
+ * (
+ * [0] => dir1
+ * )
+ *
+ * [files] => Array
+ * (
+ * [0] => dir1/file2
+ * [1] => dir1/file3
+ * )
+ * )
+ * @param string $sPath Name of the directory
+ * @param integer $maxinst max. deep of the lookup
+ * @param integer $aktinst starting deep of the lookup
+ * @param bool $silent if true, do not emit errors.
+ * @return array the structure of the dir
+ * @static
+ * @access private
+ */
+ function _dirToStruct($sPath, $maxinst, $aktinst = 0, $silent = false)
+ {
+ $struct = array('dirs' => array(), 'files' => array());
+ if (($dir = @opendir($sPath)) === false) {
+ if (!$silent) {
+ System::raiseError("Could not open dir $sPath");
+ }
+ return $struct; // XXX could not open error
+ }
+
+ $struct['dirs'][] = $sPath = realpath($sPath); // XXX don't add if '.' or '..' ?
+ $list = array();
+ while (false !== ($file = readdir($dir))) {
+ if ($file != '.' && $file != '..') {
+ $list[] = $file;
+ }
+ }
+
+ closedir($dir);
+ natsort($list);
+ if ($aktinst < $maxinst || $maxinst == 0) {
+ foreach ($list as $val) {
+ $path = $sPath . DIRECTORY_SEPARATOR . $val;
+ if (is_dir($path) && !is_link($path)) {
+ $tmp = System::_dirToStruct($path, $maxinst, $aktinst+1, $silent);
+ $struct = array_merge_recursive($struct, $tmp);
+ } else {
+ $struct['files'][] = $path;
+ }
+ }
+ }
+
+ return $struct;
+ }
+
+ /**
+ * Creates a nested array representing the structure of a directory and files
+ *
+ * @param array $files Array listing files and dirs
+ * @return array
+ * @static
+ * @see System::_dirToStruct()
+ */
+ function _multipleToStruct($files)
+ {
+ $struct = array('dirs' => array(), 'files' => array());
+ settype($files, 'array');
+ foreach ($files as $file) {
+ if (is_dir($file) && !is_link($file)) {
+ $tmp = System::_dirToStruct($file, 0);
+ $struct = array_merge_recursive($tmp, $struct);
+ } else {
+ if (!in_array($file, $struct['files'])) {
+ $struct['files'][] = $file;
+ }
+ }
+ }
+ return $struct;
+ }
+
+ /**
+ * The rm command for removing files.
+ * Supports multiple files and dirs and also recursive deletes
+ *
+ * @param string $args the arguments for rm
+ * @return mixed PEAR_Error or true for success
+ * @static
+ * @access public
+ */
+ function rm($args)
+ {
+ $opts = System::_parseArgs($args, 'rf'); // "f" does nothing but I like it :-)
+ if (PEAR::isError($opts)) {
+ return System::raiseError($opts);
+ }
+ foreach ($opts[0] as $opt) {
+ if ($opt[0] == 'r') {
+ $do_recursive = true;
+ }
+ }
+ $ret = true;
+ if (isset($do_recursive)) {
+ $struct = System::_multipleToStruct($opts[1]);
+ foreach ($struct['files'] as $file) {
+ if (!@unlink($file)) {
+ $ret = false;
+ }
+ }
+
+ rsort($struct['dirs']);
+ foreach ($struct['dirs'] as $dir) {
+ if (!@rmdir($dir)) {
+ $ret = false;
+ }
+ }
+ } else {
+ foreach ($opts[1] as $file) {
+ $delete = (is_dir($file)) ? 'rmdir' : 'unlink';
+ if (!@$delete($file)) {
+ $ret = false;
+ }
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * Make directories.
+ *
+ * The -p option will create parent directories
+ * @param string $args the name of the director(y|ies) to create
+ * @return bool True for success
+ * @static
+ * @access public
+ */
+ function mkDir($args)
+ {
+ $opts = System::_parseArgs($args, 'pm:');
+ if (PEAR::isError($opts)) {
+ return System::raiseError($opts);
+ }
+
+ $mode = 0777; // default mode
+ foreach ($opts[0] as $opt) {
+ if ($opt[0] == 'p') {
+ $create_parents = true;
+ } elseif ($opt[0] == 'm') {
+ // if the mode is clearly an octal number (starts with 0)
+ // convert it to decimal
+ if (strlen($opt[1]) && $opt[1]{0} == '0') {
+ $opt[1] = octdec($opt[1]);
+ } else {
+ // convert to int
+ $opt[1] += 0;
+ }
+ $mode = $opt[1];
+ }
+ }
+
+ $ret = true;
+ if (isset($create_parents)) {
+ foreach ($opts[1] as $dir) {
+ $dirstack = array();
+ while ((!file_exists($dir) || !is_dir($dir)) &&
+ $dir != DIRECTORY_SEPARATOR) {
+ array_unshift($dirstack, $dir);
+ $dir = dirname($dir);
+ }
+
+ while ($newdir = array_shift($dirstack)) {
+ if (!is_writeable(dirname($newdir))) {
+ $ret = false;
+ break;
+ }
+
+ if (!mkdir($newdir, $mode)) {
+ $ret = false;
+ }
+ }
+ }
+ } else {
+ foreach($opts[1] as $dir) {
+ if ((@file_exists($dir) || !is_dir($dir)) && !mkdir($dir, $mode)) {
+ $ret = false;
+ }
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Concatenate files
+ *
+ * Usage:
+ * 1) $var = System::cat('sample.txt test.txt');
+ * 2) System::cat('sample.txt test.txt > final.txt');
+ * 3) System::cat('sample.txt test.txt >> final.txt');
+ *
+ * Note: as the class use fopen, urls should work also (test that)
+ *
+ * @param string $args the arguments
+ * @return boolean true on success
+ * @static
+ * @access public
+ */
+ function &cat($args)
+ {
+ $ret = null;
+ $files = array();
+ if (!is_array($args)) {
+ $args = preg_split('/\s+/', $args, -1, PREG_SPLIT_NO_EMPTY);
+ }
+
+ $count_args = count($args);
+ for ($i = 0; $i < $count_args; $i++) {
+ if ($args[$i] == '>') {
+ $mode = 'wb';
+ $outputfile = $args[$i+1];
+ break;
+ } elseif ($args[$i] == '>>') {
+ $mode = 'ab+';
+ $outputfile = $args[$i+1];
+ break;
+ } else {
+ $files[] = $args[$i];
+ }
+ }
+ $outputfd = false;
+ if (isset($mode)) {
+ if (!$outputfd = fopen($outputfile, $mode)) {
+ $err = System::raiseError("Could not open $outputfile");
+ return $err;
+ }
+ $ret = true;
+ }
+ foreach ($files as $file) {
+ if (!$fd = fopen($file, 'r')) {
+ System::raiseError("Could not open $file");
+ continue;
+ }
+ while ($cont = fread($fd, 2048)) {
+ if (is_resource($outputfd)) {
+ fwrite($outputfd, $cont);
+ } else {
+ $ret .= $cont;
+ }
+ }
+ fclose($fd);
+ }
+ if (is_resource($outputfd)) {
+ fclose($outputfd);
+ }
+ return $ret;
+ }
+
+ /**
+ * Creates temporary files or directories. This function will remove
+ * the created files when the scripts finish its execution.
+ *
+ * Usage:
+ * 1) $tempfile = System::mktemp("prefix");
+ * 2) $tempdir = System::mktemp("-d prefix");
+ * 3) $tempfile = System::mktemp();
+ * 4) $tempfile = System::mktemp("-t /var/tmp prefix");
+ *
+ * prefix -> The string that will be prepended to the temp name
+ * (defaults to "tmp").
+ * -d -> A temporary dir will be created instead of a file.
+ * -t -> The target dir where the temporary (file|dir) will be created. If
+ * this param is missing by default the env vars TMP on Windows or
+ * TMPDIR in Unix will be used. If these vars are also missing
+ * c:\windows\temp or /tmp will be used.
+ *
+ * @param string $args The arguments
+ * @return mixed the full path of the created (file|dir) or false
+ * @see System::tmpdir()
+ * @static
+ * @access public
+ */
+ function mktemp($args = null)
+ {
+ static $first_time = true;
+ $opts = System::_parseArgs($args, 't:d');
+ if (PEAR::isError($opts)) {
+ return System::raiseError($opts);
+ }
+
+ foreach ($opts[0] as $opt) {
+ if ($opt[0] == 'd') {
+ $tmp_is_dir = true;
+ } elseif ($opt[0] == 't') {
+ $tmpdir = $opt[1];
+ }
+ }
+
+ $prefix = (isset($opts[1][0])) ? $opts[1][0] : 'tmp';
+ if (!isset($tmpdir)) {
+ $tmpdir = System::tmpdir();
+ }
+
+ if (!System::mkDir(array('-p', $tmpdir))) {
+ return false;
+ }
+
+ $tmp = tempnam($tmpdir, $prefix);
+ if (isset($tmp_is_dir)) {
+ unlink($tmp); // be careful possible race condition here
+ if (!mkdir($tmp, 0700)) {
+ return System::raiseError("Unable to create temporary directory $tmpdir");
+ }
+ }
+
+ $GLOBALS['_System_temp_files'][] = $tmp;
+ if (isset($tmp_is_dir)) {
+ //$GLOBALS['_System_temp_files'][] = dirname($tmp);
+ }
+
+ if ($first_time) {
+ PEAR::registerShutdownFunc(array('System', '_removeTmpFiles'));
+ $first_time = false;
+ }
+
+ return $tmp;
+ }
+
+ /**
+ * Remove temporary files created my mkTemp. This function is executed
+ * at script shutdown time
+ *
+ * @static
+ * @access private
+ */
+ function _removeTmpFiles()
+ {
+ if (count($GLOBALS['_System_temp_files'])) {
+ $delete = $GLOBALS['_System_temp_files'];
+ array_unshift($delete, '-r');
+ System::rm($delete);
+ $GLOBALS['_System_temp_files'] = array();
+ }
+ }
+
+ /**
+ * Get the path of the temporal directory set in the system
+ * by looking in its environments variables.
+ * Note: php.ini-recommended removes the "E" from the variables_order setting,
+ * making unavaible the $_ENV array, that s why we do tests with _ENV
+ *
+ * @static
+ * @return string The temporary directory on the system
+ */
+ function tmpdir()
+ {
+ if (OS_WINDOWS) {
+ if ($var = isset($_ENV['TMP']) ? $_ENV['TMP'] : getenv('TMP')) {
+ return $var;
+ }
+ if ($var = isset($_ENV['TEMP']) ? $_ENV['TEMP'] : getenv('TEMP')) {
+ return $var;
+ }
+ if ($var = isset($_ENV['USERPROFILE']) ? $_ENV['USERPROFILE'] : getenv('USERPROFILE')) {
+ return $var;
+ }
+ if ($var = isset($_ENV['windir']) ? $_ENV['windir'] : getenv('windir')) {
+ return $var;
+ }
+ return getenv('SystemRoot') . '\temp';
+ }
+ if ($var = isset($_ENV['TMPDIR']) ? $_ENV['TMPDIR'] : getenv('TMPDIR')) {
+ return $var;
+ }
+ return realpath('/tmp');
+ }
+
+ /**
+ * The "which" command (show the full path of a command)
+ *
+ * @param string $program The command to search for
+ * @param mixed $fallback Value to return if $program is not found
+ *
+ * @return mixed A string with the full path or false if not found
+ * @static
+ * @author Stig Bakken <ssb@php.net>
+ */
+ function which($program, $fallback = false)
+ {
+ // enforce API
+ if (!is_string($program) || '' == $program) {
+ return $fallback;
+ }
+
+ // full path given
+ if (basename($program) != $program) {
+ $path_elements[] = dirname($program);
+ $program = basename($program);
+ } else {
+ // Honor safe mode
+ if (!ini_get('safe_mode') || !$path = ini_get('safe_mode_exec_dir')) {
+ $path = getenv('PATH');
+ if (!$path) {
+ $path = getenv('Path'); // some OSes are just stupid enough to do this
+ }
+ }
+ $path_elements = explode(PATH_SEPARATOR, $path);
+ }
+
+ if (OS_WINDOWS) {
+ $exe_suffixes = getenv('PATHEXT')
+ ? explode(PATH_SEPARATOR, getenv('PATHEXT'))
+ : array('.exe','.bat','.cmd','.com');
+ // allow passing a command.exe param
+ if (strpos($program, '.') !== false) {
+ array_unshift($exe_suffixes, '');
+ }
+ // is_executable() is not available on windows for PHP4
+ $pear_is_executable = (function_exists('is_executable')) ? 'is_executable' : 'is_file';
+ } else {
+ $exe_suffixes = array('');
+ $pear_is_executable = 'is_executable';
+ }
+
+ foreach ($exe_suffixes as $suff) {
+ foreach ($path_elements as $dir) {
+ $file = $dir . DIRECTORY_SEPARATOR . $program . $suff;
+ if (@$pear_is_executable($file)) {
+ return $file;
+ }
+ }
+ }
+ return $fallback;
+ }
+
+ /**
+ * The "find" command
+ *
+ * Usage:
+ *
+ * System::find($dir);
+ * System::find("$dir -type d");
+ * System::find("$dir -type f");
+ * System::find("$dir -name *.php");
+ * System::find("$dir -name *.php -name *.htm*");
+ * System::find("$dir -maxdepth 1");
+ *
+ * Params implmented:
+ * $dir -> Start the search at this directory
+ * -type d -> return only directories
+ * -type f -> return only files
+ * -maxdepth <n> -> max depth of recursion
+ * -name <pattern> -> search pattern (bash style). Multiple -name param allowed
+ *
+ * @param mixed Either array or string with the command line
+ * @return array Array of found files
+ * @static
+ *
+ */
+ function find($args)
+ {
+ if (!is_array($args)) {
+ $args = preg_split('/\s+/', $args, -1, PREG_SPLIT_NO_EMPTY);
+ }
+ $dir = realpath(array_shift($args));
+ if (!$dir) {
+ return array();
+ }
+ $patterns = array();
+ $depth = 0;
+ $do_files = $do_dirs = true;
+ $args_count = count($args);
+ for ($i = 0; $i < $args_count; $i++) {
+ switch ($args[$i]) {
+ case '-type':
+ if (in_array($args[$i+1], array('d', 'f'))) {
+ if ($args[$i+1] == 'd') {
+ $do_files = false;
+ } else {
+ $do_dirs = false;
+ }
+ }
+ $i++;
+ break;
+ case '-name':
+ $name = preg_quote($args[$i+1], '#');
+ // our magic characters ? and * have just been escaped,
+ // so now we change the escaped versions to PCRE operators
+ $name = strtr($name, array('\?' => '.', '\*' => '.*'));
+ $patterns[] = '('.$name.')';
+ $i++;
+ break;
+ case '-maxdepth':
+ $depth = $args[$i+1];
+ break;
+ }
+ }
+ $path = System::_dirToStruct($dir, $depth, 0, true);
+ if ($do_files && $do_dirs) {
+ $files = array_merge($path['files'], $path['dirs']);
+ } elseif ($do_dirs) {
+ $files = $path['dirs'];
+ } else {
+ $files = $path['files'];
+ }
+ if (count($patterns)) {
+ $dsq = preg_quote(DIRECTORY_SEPARATOR, '#');
+ $pattern = '#(^|'.$dsq.')'.implode('|', $patterns).'($|'.$dsq.')#';
+ $ret = array();
+ $files_count = count($files);
+ for ($i = 0; $i < $files_count; $i++) {
+ // only search in the part of the file below the current directory
+ $filepart = basename($files[$i]);
+ if (preg_match($pattern, $filepart)) {
+ $ret[] = $files[$i];
+ }
+ }
+ return $ret;
+ }
+ return $files;
+ }
+}
\ No newline at end of file
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:09+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:35+0000\n"
"Language-Team: Arabic <http://translatewiki.net/wiki/Portal:ar>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ( (n == 1) ? 1 : ( (n == "
"2) ? 2 : ( (n%100 >= 3 && n%100 <= 10) ? 3 : ( (n%100 >= 11 && n%100 <= "
"99) ? 4 : 5 ) ) ) );\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "لم يمكن ضم المستخدم %1$s إلى المجموعة %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "حالة %1$s في يوم %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
#. TRANS: User admin panel title
msgctxt "TITLE"
msgid "License"
-msgstr ""
+msgstr "الرخصة"
#. TRANS: Form instructions for the site license admin panel.
msgid "License for this StatusNet site"
-msgstr ""
+msgstr "رخصة موقع ستاتس نت هذا"
#. TRANS: Client error displayed selecting an invalid license in the license admin panel.
msgid "Invalid license selection."
-msgstr ""
+msgstr "اختيار غير صالح للرخصة."
#. TRANS: Client error displayed when not specifying an owner for the all rights reserved license in the license admin panel.
msgid ""
msgstr "امنع هذا المستخدم"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "مصدر صندوق وارد غير معروف %d."
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "هذه طويلة جدًا. أطول حجم للإشعار %d حرفًا."
-
msgid "Leave"
msgstr "غادر"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr "لا مدخلات رجوع إلى."
msgid "Repeat this notice?"
-msgstr "أأكرّر هذا الإشعار؟ّ"
+msgstr "أأكرّر هذا الإشعار؟"
msgid "Yes"
msgstr "نعم"
#. TRANS: Button text for searching site.
msgctxt "BUTTON"
msgid "Search"
-msgstr ""
+msgstr "ابحث"
msgid "People"
msgstr "أشخاص"
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "إشعارات"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 حرفًا إنجليزيًا أو رقمًا بدون نقاط أو مسافات"
+#, fuzzy
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "هذه طويلة جدًا. أطول حجم للإشعار %d حرفًا."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:10+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:36+0000\n"
"Language-Team: Egyptian Spoken Arabic <http://translatewiki.net/wiki/Portal:"
"arz>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "ما نفعش يضم %1$s للجروپ %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s ساب جروپ %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "امنع هذا المستخدم"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "مصدر الـinbox مش معروف %d."
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
-
msgid "Leave"
msgstr "غادر"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr ""
#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "الإشعارات"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:12+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:37+0000\n"
"Language-Team: Bulgarian <http://translatewiki.net/wiki/Portal:bg>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Грешка при обновяване на групата."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Бележка на %1$s от %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Блокиране на потребителя"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Непознат език \"%s\"."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Съобщението е твърде дълго. Най-много може да е %1$d знака, а сте въвели %2"
-"$d."
-
msgid "Leave"
msgstr "Напускане"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Бележки"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "От 1 до 64 малки букви или цифри, без пунктоация и интервали"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Съобщението е твърде дълго. Най-много може да е %1$d знака, а сте въвели %"
+#~ "2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:14+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:38+0000\n"
"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Dibosupl eo stagañ an implijer %1$s d'ar strollad %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Statud %1$s war %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Stankañ an implijer-mañ"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Yezh \"%s\" dizanv."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
-"arouezenn ho peus lakaet."
-
msgid "Leave"
msgstr "Kuitaat"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Ali"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
+#~ "arouezenn ho peus lakaet."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:16+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:40+0000\n"
"Language-Team: Catalan <http://translatewiki.net/wiki/Portal:ca>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "No s'ha pogut afegir l'usuari %1$s al grup %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "estat de %1$s a %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloca aquest usuari"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "Descriviu el grup o la temàtica en %d caràcter"
-msgstr[1] "Descriviu el grup o la temàtica en %d caràcters"
+msgstr[0] "Descriviu el grup o la temàtica en %d caràcter o menys."
+msgstr[1] "Descriviu el grup o la temàtica en %d caràcters o menys."
#. TRANS: Field title on group edit form.
msgid ""
msgid "Unknown inbox source %d."
msgstr "Font %d de la safata d'entrada desconeguda."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"El missatge és massa llarg - el màxim és %1$d caràcters, i n'heu enviat %2$d."
-
msgid "Leave"
msgstr "Deixa"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Es recupera la còpia de seguretat del fitxer '%s'."
-#~ msgid "Notice"
-#~ msgstr "Avisos"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
#~ msgstr ""
-#~ "1-64 lletres en minúscula o nombres, sense signes de puntuació o espais."
+#~ "El missatge és massa llarg - el màxim és %1$d caràcters, i n'heu enviat %2"
+#~ "$d."
# Author: Brion
# Author: Koo6
# Author: Kuvaly
+# Author: Veritaslibero
# --
# This file is distributed under the same license as the StatusNet package.
#
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:17+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:41+0000\n"
"Language-Team: Czech <http://translatewiki.net/wiki/Portal:cs>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: cs\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n >= 2 && n <= 4) ? 1 : "
"2 );\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
"Please return to the application and enter the following security code to "
"complete the process."
msgstr ""
+"Prosím vraťte se do aplikace a zadejte následující bezpečnostní kód k "
+"dokončení procesu."
#. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
#. TRANS: %s is the authorised application name.
-#, fuzzy, php-format
+#, php-format
msgid "You have successfully authorized %s"
-msgstr "Nejste autorizován."
+msgstr "Úspěšně jste autorizoval %s"
#. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
#. TRANS: %s is the authorised application name.
#. TRANS: Client exception thrown when using an unsupported HTTP method.
#. TRANS: Client error shown when using a non-supported HTTP method.
#. TRANS: Client exception thrown when using an unsupported HTTP method.
-#, fuzzy
msgid "HTTP method not supported."
-msgstr " API metoda nebyla nalezena."
+msgstr "Metoda HTTP není podporována."
#. TRANS: Exception thrown requesting an unsupported notice output format.
#. TRANS: %s is the requested output format.
#. TRANS: Client error displayed when a user has no rights to delete notices of other users.
#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
-#, fuzzy
msgid "Cannot delete this notice."
msgstr "Toto oznámení nelze odstranit."
#. TRANS: Client error displayed when trying to approve or cancel a group join request without
#. TRANS: being a group administrator.
msgid "Only group admin can approve or cancel join requests."
-msgstr ""
+msgstr "Pouze správce skupiny smí schválit nebo zrušit požadavky k připojení."
#. TRANS: Client error displayed trying to approve group membership without specifying a profile to approve.
#, fuzzy
msgstr "Nemohu připojit uživatele %1$s do skupiny %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "status %1 na %2"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
#. TRANS: Title for backup account page.
#. TRANS: Option in profile settings to create a backup of the account of the currently logged in user.
msgid "Backup account"
-msgstr ""
+msgstr "Zálohovat účet"
#. TRANS: Client exception thrown when trying to backup an account while not logged in.
#, fuzzy
#. TRANS: Title for submit button to backup an account on the backup account page.
msgid "Backup your account."
-msgstr ""
+msgstr "Zálohovat váš účet."
#. TRANS: Client error displayed when blocking a user that has already been blocked.
msgid "You already blocked that user."
msgstr "Zablokovat tohoto uživatele"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Neznámý zdroj inboxu %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
-
msgid "Leave"
msgstr "Opustit"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Sdělení"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 znaků nebo čísel, bez teček, čárek a mezer"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:19+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:42+0000\n"
"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Konnte Benutzer %1$s nicht der Gruppe %2$s hinzufügen."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Status von %1$s auf %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Diesen Benutzer blockieren"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Unbekannte inbox-Quelle %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Nachricht zu lang - maximal %1$d Zeichen erlaubt, du hast %2$d gesendet."
-
msgid "Leave"
msgstr "Verlassen"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Hole Backup von der Datei „%s“."
-#~ msgid "Notice"
-#~ msgstr "Nachrichten"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 Kleinbuchstaben oder Zahlen, keine Satz- oder Leerzeichen"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Nachricht zu lang - maximal %1$d Zeichen erlaubt, du hast %2$d gesendet."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:21+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:43+0000\n"
"Language-Team: British English <http://translatewiki.net/wiki/Portal:en-gb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Could not join user %1$s to group %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s's status on %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Block this user"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Message too long - maximum is %1$d characters, you sent %2$d."
-
msgid "Leave"
msgstr "Leave"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Notices"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Message too long - maximum is %1$d characters, you sent %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:23+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:45+0000\n"
"Language-Team: Esperanto <http://translatewiki.net/wiki/Portal:eo>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: eo\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "La uzanto %1$*s ne povas aliĝi al la grupo %2$*s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Stato de %1$s ĉe %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloki la uzanton"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Nekonata alvenkesta fonto %d"
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
-
msgid "Leave"
msgstr "Forlasi"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Avizoj"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 minusklaj literoj aŭ ciferoj, neniu interpunkcio aŭ spaco"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:24+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:46+0000\n"
"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "No se pudo unir el usuario %s al grupo %s"
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "estado de %1$s en %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloquear este usuario."
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Origen de bandeja de entrada %d desconocido."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
-
msgid "Leave"
msgstr "Abandonar"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Mensajes"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr ""
-#~ "1-64 letras en minúscula o números, sin signos de puntuación o espacios"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:26+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:47+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian <http://translatewiki.net/wiki/Portal:fa>\n"
"MIME-Version: 1.0\n"
"X-Language-Code: fa\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "نمیتوان کاربر %1$s را عضو گروه %2$s کرد."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "وضعیت %1$s در %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "کاربر را مسدود کن"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "منبع صندوق ورودی نامعلوم است %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"پیام خیلی طولانی است - حداکثر تعداد مجاز %1$d نویسه است که شما %2$d نویسه را "
-"فرستادید."
-
msgid "Leave"
msgstr "ترک کردن"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "پیامها"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "۱-۶۴ کاراکتر کوچک یا اعداد، بدون نقطه گذاری یا فاصله"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "پیام خیلی طولانی است - حداکثر تعداد مجاز %1$d نویسه است که شما %2$d نویسه "
+#~ "را فرستادید."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:28+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:48+0000\n"
"Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Käyttäjä %1$s ei voinut liittyä ryhmään %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Käyttäjän %1$s päivitys %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Estä tämä käyttäjä"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
-
msgid "Leave"
msgstr "Eroa"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Päivitykset"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr ""
-#~ "1-64 pientä kirjainta tai numeroa, ei ääkkösiä eikä välimerkkejä tai "
-#~ "välilyöntejä"
+#, fuzzy
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:29+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:49+0000\n"
"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Impossible d’inscrire l’utilisateur %1$s au groupe %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Statut de %1$s sur %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloquer cet utilisateur"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Source %d inconnue pour la boîte de réception."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
-"entré %2$d."
-
msgid "Leave"
msgstr "Quitter"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Obtention de la sauvegarde depuis le fichier « %s »."
-#~ msgid "Notice"
-#~ msgstr "Avis"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces."
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Message trop long ! La taille maximale est de %1$d caractères ; vous en "
+#~ "avez entré %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:31+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:50+0000\n"
"Language-Team: Friulian <http://translatewiki.net/wiki/Portal:fur>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fur\n"
"X-Message-Group: #out-statusnet-core\n"
msgstr "No si à podût zontâ l'utent %1$s al grup %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Stât di %1$s su %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloche chest utent"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Il messaç al è masse lunc. Il massim al è %1$d caratar, tu tu'nd âs mandâts %"
-"2$d."
-
msgid "Leave"
msgstr "Lasse"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr ""
#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Avîs"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Il messaç al è masse lunc. Il massim al è %1$d caratar, tu tu'nd âs "
+#~ "mandâts %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:32+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:51+0000\n"
"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: gl\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "O usuario %1$s non se puido engadir ao grupo %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Estado de %1$s en %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloquear este usuario"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Non se coñece a fonte %d da caixa de entrada."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"A mensaxe é longa de máis, o límite de caracteres é de %1$d, e enviou %2$d."
-
msgid "Leave"
msgstr "Deixar"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Notas"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
#~ msgstr ""
-#~ "Entre 1 e 64 letras minúsculas ou números, sen signos de puntuación, "
-#~ "espazos, tiles ou eñes"
+#~ "A mensaxe é longa de máis, o límite de caracteres é de %1$d, e enviou %2"
+#~ "$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:34+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:52+0000\n"
"Language-Team: Upper Sorbian <http://translatewiki.net/wiki/Portal:hsb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : (n%100==3 || "
"n%100==4) ? 2 : 3)\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Njebě móžno wužiwarja %1$s skupinje %2%s přidać."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Status %1$s na %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Tutoho wužiwarja blokować"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "Skupinu abo temu w %d znamješce wopisać"
-msgstr[1] "Skupinu abo temu w %d znamješkomaj wopisać"
-msgstr[2] "Skupinu abo temu w %d znamješkach wopisać"
-msgstr[3] "Skupinu abo temu w %d znamješkach wopisać"
+msgstr[0] "Skupinu abo temu w %d znamješce abo mjenje wopisać"
+msgstr[1] "Skupinu abo temu w %d znamješkomaj abo mjenje wopisać"
+msgstr[2] "Skupinu abo temu w %d znamješkach abo mjenje wopisać"
+msgstr[3] "Skupinu abo temu w %d znamješkach abo mjenje wopisać"
#. TRANS: Field title on group edit form.
msgid ""
msgid "Unknown inbox source %d."
msgstr "Njeznate žórło postoweho kašćika %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
-"pósłał."
-
msgid "Leave"
msgstr "Wopušćić"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Wobstaruje so zawěsćenje z dataje \"%s\"-"
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Zdźělenki"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
#~ msgstr ""
-#~ "1-64 małopisanych pismikow abo ličbow, žane interpunkciske znamješka abo "
-#~ "mjezery."
+#~ "Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+#~ "pósłał."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:35+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:54+0000\n"
"Language-Team: Hungarian <http://translatewiki.net/wiki/Portal:hu>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hu\n"
"X-Message-Group: #out-statusnet-core\n"
msgstr "Nem sikerült %1$s felhasználót hozzáadni a %2$s csoporthoz."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s / %2$s kedvencei"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Felhasználó blokkolása"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
-
msgid "Leave"
msgstr "Távozzunk"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr ""
#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Hírek"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 kisbetű vagy számjegy, nem lehet benne írásjel vagy szóköz"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:37+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:55+0000\n"
"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
#. TRANS: Client error displayed trying to approve group membership while not logged in.
#. TRANS: Client error displayed when trying to leave a group while not logged in.
-#, fuzzy
msgid "Must be logged in."
-msgstr "Tu non ha aperite un session."
+msgstr "Es necessari aperir session."
#. TRANS: Client error displayed trying to approve group membership while not a group administrator.
#. TRANS: Client error displayed when trying to approve or cancel a group join request without
#. TRANS: being a group administrator.
msgid "Only group admin can approve or cancel join requests."
msgstr ""
+"Solmente un administrator del gruppo pote approbar o cancellar le requestas "
+"de adhesion."
#. TRANS: Client error displayed trying to approve group membership without specifying a profile to approve.
-#, fuzzy
msgid "Must specify a profile."
-msgstr "Profilo mancante."
+msgstr "Es necessari specificar un profilo."
#. TRANS: Client error displayed trying to approve group membership for a non-existing request.
#. TRANS: Client error displayed when trying to approve a non-existing group join request.
#. TRANS: %s is a user nickname.
-#, fuzzy, php-format
+#, php-format
msgid "%s is not in the moderation queue for this group."
-msgstr "Un lista de usatores in iste gruppo."
+msgstr "%s non es in le cauda de moderation pro iste gruppo."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received neither cancel nor abort."
-msgstr ""
+msgstr "Error interne: ni cancellation ni abortamento recipite."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received both cancel and abort."
-msgstr ""
+msgstr "Error interne: e cancellation e abortamento recipite."
#. TRANS: Server error displayed when cancelling a queued group join request fails.
#. TRANS: %1$s is the leaving user's nickname, $2$s is the group nickname for which the leave failed.
-#, fuzzy, php-format
+#, php-format
msgid "Could not cancel request for user %1$s to join group %2$s."
-msgstr "Non poteva inscriber le usator %1$s in le gruppo %2$s."
+msgstr ""
+"Non poteva cancellar le requesta de adhesion del usator %1$s al gruppo %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
-#, fuzzy, php-format
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
+#, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
-msgstr "Le stato de %1$s in %2$s"
+msgstr "Le requesta de %1$s pro %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
-msgstr ""
+msgstr "Requesta de adhesion approbate."
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
-msgstr ""
+msgstr "Requesta de adhesion cancellate."
#. TRANS: Client exception thrown when requesting a favorite feed for a non-existing profile.
#. TRANS: Client exception.
#. TRANS: Client error displayed when trying to approve group applicants without being a group administrator.
msgid "Only the group admin may approve users."
-msgstr ""
+msgstr "Solmente un administrator del gruppo pote approbar usatores."
#. TRANS: Title of the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %s is the name of the group.
-#, fuzzy, php-format
+#, php-format
msgid "%s group members awaiting approval"
-msgstr "Membratos del gruppo %s"
+msgstr "Membros attendente approbation del gruppo %s"
#. TRANS: Title of all but the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %1$s is the name of the group, %2$d is the page number of the members list.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members awaiting approval, page %2$d"
-msgstr "Membros del gruppo %1$s, pagina %2$d"
+msgstr "Membros attendente approbation del gruppo %1$s, pagina %2$d"
#. TRANS: Page notice for group members page.
-#, fuzzy
msgid "A list of users awaiting approval to join this group."
-msgstr "Un lista de usatores in iste gruppo."
+msgstr "Un lista de usatores attendente approbation a adherer a iste gruppo."
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#, php-format
msgstr "%1$s se jungeva al gruppo %2$s"
#. TRANS: Exception thrown when there is an unknown error joining a group.
-#, fuzzy
msgid "Unknown error joining group."
-msgstr "Gruppo incognite."
+msgstr "Error incognite durante le adhesion al gruppo."
#. TRANS: Client error displayed when trying to join a group while already a member.
#. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
msgstr "Usator es ja in cassa de sablo."
#. TRANS: Title for the sessions administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Sessions"
msgstr "Sessiones"
msgstr "Parametros de session pro iste sito StatusNet"
#. TRANS: Fieldset legend on the sessions administration panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Sessions"
msgstr "Sessiones"
#. TRANS: Checkbox title on the sessions administration panel.
#. TRANS: Indicates if StatusNet should handle session administration.
-#, fuzzy
msgid "Handle sessions ourselves."
-msgstr "Si nos debe gerer le sessiones nos mesme."
+msgstr "Gerer le sessiones nos mesme."
#. TRANS: Checkbox label on the sessions administration panel.
#. TRANS: Indicates if StatusNet should write session debugging output.
msgstr "Cercar defectos de session"
#. TRANS: Checkbox title on the sessions administration panel.
-#, fuzzy
msgid "Enable debugging output for sessions."
-msgstr "Producer informationes technic pro cercar defectos in sessiones."
+msgstr "Activar informationes technic pro cercar defectos in sessiones."
#. TRANS: Title for submit button on the sessions administration panel.
-#, fuzzy
msgid "Save session settings"
-msgstr "Salveguardar configurationes de accesso"
+msgstr "Salveguardar configurationes de session"
#. TRANS: Client error displayed trying to display an OAuth application while not logged in.
msgid "You must be logged in to view an application."
#. TRANS: Information output on an OAuth application page.
#. TRANS: %1$s is the application creator, %2$s is "read-only" or "read-write",
#. TRANS: %3$d is the number of users using the OAuth application.
-#, fuzzy, php-format
+#, php-format
msgid "Created by %1$s - %2$s access by default - %3$d user"
msgid_plural "Created by %1$s - %2$s access by default - %3$d users"
-msgstr[0] "Create per %1$s - accesso %2$s per predefinition - %3$d usatores"
+msgstr[0] "Create per %1$s - accesso %2$s per predefinition - %3$d usator"
msgstr[1] "Create per %1$s - accesso %2$s per predefinition - %3$d usatores"
#. TRANS: Header on the OAuth application page.
msgstr "Actiones de application"
#. TRANS: Link text to edit application on the OAuth application page.
-#, fuzzy
msgctxt "EDITAPP"
msgid "Edit"
msgstr "Modificar"
msgstr "Info del application"
#. TRANS: Note on the OAuth application page about signature support.
-#, fuzzy
msgid ""
"Note: HMAC-SHA1 signatures are supported. The plaintext signature method is "
"not supported."
msgstr ""
-"Nota: Nos supporta le signaturas HMAC-SHA1. Nos non accepta signaturas in "
-"texto simple."
+"Nota: Le signaturas HMAC-SHA1 es supportate. Le methodo de signaturas in "
+"texto simple non es supportate."
#. TRANS: Text in confirmation dialog to reset consumer key and secret for an OAuth application.
msgid "Are you sure you want to reset your consumer key and secret?"
"lor vita e interesses. "
#. TRANS: Title for list of group administrators on a group page.
-#, fuzzy
msgctxt "TITLE"
msgid "Admins"
msgstr "Administratores"
msgstr "Usator es ja silentiate."
#. TRANS: Title for site administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Site"
msgstr "Sito"
msgstr "Le limite de duplicatos debe esser un o plus secundas."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "General"
msgstr "General"
#. TRANS: Field label on site settings panel.
-#, fuzzy
msgctxt "LABEL"
msgid "Site name"
msgstr "Nomine del sito"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "The name of your site, like \"Yourcompany Microblog\"."
msgstr "Le nomine de tu sito, como \"Le microblog de TuCompania\""
msgstr "Realisate per"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Text used for credits link in footer of each page."
-msgstr "Le texto usate pro le ligamine al creditos in le pede de cata pagina"
+msgstr "Le texto usate pro le ligamine al creditos in le pede de cata pagina."
#. TRANS: Field label on site settings panel.
msgid "Brought by URL"
msgstr "URL pro \"Realisate per\""
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "URL used for credits link in footer of each page."
-msgstr "URL usate pro le ligamine al creditos in le pede de cata pagina"
+msgstr "URL usate pro le ligamine al creditos in le pede de cata pagina."
#. TRANS: Field label on site settings panel.
msgid "Email"
msgstr "E-mail"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Contact email address for your site."
-msgstr "Le adresse de e-mail de contacto pro tu sito"
+msgstr "Le adresse de e-mail de contacto pro tu sito."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Local"
msgstr "Local"
"navigator non es disponibile"
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Limits"
msgstr "Limites"
#. TRANS: Exception thrown trying to approve a non-existing group join request.
msgid "Invalid group join approval: not pending."
-msgstr ""
+msgstr "Approbation de adhesion a gruppo invalide: non pendente."
#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
msgstr "Blocar iste usator"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgstr "URL del pagina initial o blog del gruppo o topico."
#. TRANS: Text area title for group description when there is no text limit.
-#, fuzzy
msgid "Describe the group or topic."
-msgstr "Describe le gruppo o topico"
+msgstr "Describe le gruppo o topico."
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "Describe le gruppo o topico in %d character o minus"
-msgstr[1] "Describe le gruppo o topico in %d characteres o minus"
+msgstr[0] "Describe le gruppo o topico in %d character o minus."
+msgstr[1] "Describe le gruppo o topico in %d characteres o minus."
#. TRANS: Field title on group edit form.
msgid ""
"maximo de %d aliases es permittite."
#. TRANS: Dropdown fieldd label on group edit form.
-#, fuzzy
msgid "Membership policy"
-msgstr "Membro depost"
+msgstr "Politica de adhesion"
msgid "Open to all"
-msgstr ""
+msgstr "Aperte a totes"
msgid "Admin must approve all members"
-msgstr ""
+msgstr "Administrator debe approbar tote le membros"
#. TRANS: Dropdown field title on group edit form.
msgid "Whether admin approval is required to join this group."
msgstr ""
+"Si approbation per administrator es necessari pro adherer a iste gruppo."
#. TRANS: Indicator in group members list that this user is a group administrator.
-#, fuzzy
msgctxt "GROUPADMIN"
msgid "Admin"
msgstr "Administrator"
msgctxt "MENU"
msgid "Pending members (%d)"
msgid_plural "Pending members (%d)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Membro pendente"
+msgstr[1] "Membros pendente (%d)"
#. TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
#. TRANS: %s is the nickname of the group.
-#, fuzzy, php-format
+#, php-format
msgctxt "TOOLTIP"
msgid "%s pending members"
-msgstr "Membros del gruppo %s"
+msgstr "%s membros pendente"
#. TRANS: Menu item in the group navigation page. Only shown for group administrators.
msgctxt "MENU"
msgid "Unknown inbox source %d."
msgstr "Fonte de cassa de entrata \"%s\" incognite"
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Message troppo longe - maximo es %1$d characteres, tu inviava %2$d."
-
msgid "Leave"
msgstr "Quitar"
#. TRANS: Common footer block for StatusNet notification emails.
#. TRANS: %1$s is the StatusNet sitename,
#. TRANS: %2$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid ""
"Faithfully yours,\n"
"%1$s.\n"
"----\n"
"Change your email address or notification options at %2$s"
msgstr ""
-"%1$s seque ora tu notas in %2$s.\n"
-"\n"
-"%3$s\n"
-"\n"
-"%4$s%5$s%6$s\n"
-"Cordialmente,\n"
-"%2$s.\n"
+"Con optime salutes,\n"
+"%1$s.\n"
"\n"
"----\n"
-"Cambia tu adresse de e-mail o optiones de notification a %7$s\n"
+"Cambia tu adresse de e-mail o optiones de notification a %2$s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is a URL.
-#, fuzzy, php-format
+#, php-format
msgid "Profile: %s"
-msgstr "Profilo"
+msgstr "Profilo: %s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is biographical information.
#. TRANS: This is a paragraph in a new-subscriber e-mail.
#. TRANS: %s is a URL where the subscriber can be reported as abusive.
-#, fuzzy, php-format
+#, php-format
msgid ""
"If you believe this account is being used abusively, you can block them from "
"your subscribers list and report as spam to site administrators at %s."
msgstr ""
"Si tu crede que iste conto es usate abusivemente, tu pote blocar lo de tu "
"lista de subscriptores e reportar lo como spam al administratores del sito a "
-"%s"
+"%s."
#. TRANS: Subject of notification mail for new posting email address.
#. TRANS: %s is the StatusNet sitename.
#. TRANS: Body of notification mail for new posting email address.
#. TRANS: %1$s is the StatusNet sitename, %2$s is the e-mail address to send
#. TRANS: to to post by e-mail, %3$s is a URL to more instructions.
-#, fuzzy, php-format
+#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
"\n"
"\n"
"Invia e-mail a %2$s pro publicar nove messages.\n"
"\n"
-"Ulterior informationes se trova a %3$s.\n"
-"\n"
-"Cordialmente,\n"
-"%1$s"
+"Ulterior instructiones super e-mail se trova a %3$s."
#. TRANS: Subject line for SMS-by-email notification messages.
#. TRANS: %s is the posting user's nickname.
#. TRANS: Body for 'nudge' notification email.
#. TRANS: %1$s is the nuding user's long name, $2$s is the nudging user's nickname,
#. TRANS: %3$s is a URL to post notices at.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
"to post some news.\n"
"\n"
"Don't reply to this email; it won't get to them."
msgstr ""
-"%1$s (%2$s) se demanda lo que tu face iste dies e te invita a scriber alique "
-"de nove.\n"
+"%1$s (%2$s) se demanda lo que tu face iste dies e te invita a scriber "
+"qualcosa de nove.\n"
"\n"
-"Dunque face audir de te :)\n"
+"Dunque, face nos audir de te :)\n"
"\n"
"%3$s\n"
"\n"
-"Non responde a iste message; le responsa non arrivara.\n"
-"\n"
-"Con salutes cordial,\n"
-"%4$s\n"
+"Non responde a iste message; le responsa non arrivara."
#. TRANS: Subject for direct-message notification email.
#. TRANS: %s is the sending user's nickname.
#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
"\n"
"\n"
"%4$s\n"
"\n"
-"Non responde per e-mail; le responsa non arrivara.\n"
-"\n"
-"Con salutes cordial,\n"
-"%5$s\n"
+"Non responde per e-mail; le responsa non arrivara."
#. TRANS: Subject for favorite notification e-mail.
#. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
#. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
#. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
#. TRANS: %7$s is the adding user's nickname.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
"\n"
"\n"
"%5$s"
msgstr ""
-"%1$s (@%7$s) addeva ante un momento tu nota de %2$s como un de su "
-"favorites.\n"
+"%1$s (@%7$s) ha justo addite tu nota de %2$s como un de su favorites.\n"
"\n"
"Le URL de tu nota es:\n"
"\n"
"\n"
"Tu pote vider le lista del favorites de %1$s hic:\n"
"\n"
-"%5$s\n"
-"\n"
-"Cordialmente,\n"
-"%6$s\n"
+"%5$s"
#. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
#, php-format
#. TRANS: %3$s is a URL to the notice, %4$s is the notice text,
#. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
#. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replies for the addressed user,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s just sent a notice to your attention (an '@-reply') on %2$s.\n"
"\n"
"\n"
"%7$s"
msgstr ""
-"%1$s (@%9$s) ha inviate un nota a tu attention (un '@-responsa') in %2$s.\n"
+"%1$s ha inviate un nota a tu attention (un \"responsa @\") in %2$s.\n"
"\n"
"Le nota es hic:\n"
"\n"
"\n"
"%6$s\n"
"\n"
-"Le lista de tote le @-responsas pro te es hic:\n"
-"\n"
-"%7$s\n"
+"Le lista de tote le \"responsas @\" pro te es hic:\n"
"\n"
-"Cordialmente,\n"
-"%2$s\n"
-"\n"
-"P.S. Tu pote disactivar iste notificationes electronic hic: %8$s\n"
+"%7$s"
#. TRANS: Subject of group join notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
#. TRANS: %4$s is a block of profile info about the subscriber.
#. TRANS: %5$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s has joined your group %2$s on %3$s."
-msgstr "%1$s se ha jungite al gruppo %2$s."
+msgstr "%1$s ha adherite al gruppo %2$s in %3$s."
#. TRANS: Subject of pending group join request notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s wants to join your group %2$s on %3$s."
-msgstr "%1$s se ha jungite al gruppo %2$s."
+msgstr "%1$s ha adherite al gruppo %2$s in %3$s."
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
"their group membership at %4$s"
msgstr ""
+"%1$s vole adherer a tu gruppo %2$s in %3$s. Tu pote approbar o rejectar su "
+"adhesion al gruppo a %4$s"
msgid "Only the user can read their own mailboxes."
msgstr "Solmente le usator pote leger su proprie cassas postal."
msgid "Getting backup from file '%s'."
msgstr "Obtene copia de reserva ex file '%s'."
-#~ msgid "Notice"
-#~ msgstr "Nota"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Message troppo longe - maximo es %1$d characteres, tu inviava %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:39+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:56+0000\n"
"Language-Team: Italian <http://translatewiki.net/wiki/Portal:it>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Impossibile iscrivere l'utente %1$s al gruppo %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Stato di %1$s su %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Blocca questo utente"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Sorgente casella in arrivo %d sconosciuta."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
-
msgid "Leave"
msgstr "Lascia"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Messaggi"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr ""
-#~ "1-64 lettere minuscole o numeri, senza spazi o simboli di punteggiatura"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:40+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:57+0000\n"
"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "ユーザ %1$s はグループ %2$s に参加できません。"
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%2$s における %1$s のステータス"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "このユーザをブロックする"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "不明な受信箱のソース %d。"
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "メッセージが長すぎます - 最大 %1$d 字、あなたが送ったのは %2$d。"
-
msgid "Leave"
msgstr "離れる"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "つぶやき"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64文字の、小文字アルファベットか数字で、スペースや句読点は除く"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "メッセージが長すぎます - 最大 %1$d 字、あなたが送ったのは %2$d。"
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:42+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:04:59+0000\n"
"Language-Team: Georgian <http://translatewiki.net/wiki/Portal:ka>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ka\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "ვერ მოხერხდა მომხმარებელ %1$s-სთან ერთად ჯგუფ %2$s-ში გაერთიანება."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s–ის სტატუსი %2$s–ზე"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "დაბლოკე ეს მომხმარებელი"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"შეტყობინება ძალიან გრძელია - დასაშვები რაოდენობაა %1$d სიმბოლომდე, თქვენ "
-"გააგზავნეთ %2$d."
-
msgid "Leave"
msgstr "დატოვება"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "შეტყობინებები"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
#~ msgstr ""
-#~ "1–64 პატარა ასოები ან ციფრები. პუნქტუაციები ან სივრცეები დაუშვებელია"
+#~ "შეტყობინება ძალიან გრძელია - დასაშვები რაოდენობაა %1$d სიმბოლომდე, თქვენ "
+#~ "გააგზავნეთ %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:43+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:00+0000\n"
"Language-Team: Korean <http://translatewiki.net/wiki/Portal:ko>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "이용자 %1$s 의 그룹 %2$s 가입에 실패했습니다."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s의 상태 (%2$s에서)"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "이 사용자 차단하기"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
-
msgid "Leave"
msgstr "떠나기"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "통지"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr ""
-#~ "1-64자 사이에 영소문자, 숫자로만 씁니다. 기호나 공백을 쓰면 안 됩니다."
+#, fuzzy
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:45+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:01+0000\n"
"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
#. TRANS: Client error displayed trying to approve group membership while not logged in.
#. TRANS: Client error displayed when trying to leave a group while not logged in.
-#, fuzzy
msgid "Must be logged in."
-msgstr "Ð\9dе сте најавени."
+msgstr "Ð\9cоÑ\80а да сте најавени."
#. TRANS: Client error displayed trying to approve group membership while not a group administrator.
#. TRANS: Client error displayed when trying to approve or cancel a group join request without
#. TRANS: being a group administrator.
msgid "Only group admin can approve or cancel join requests."
msgstr ""
+"Само администратор на група може да одобрува и откажува барања за членување."
#. TRANS: Client error displayed trying to approve group membership without specifying a profile to approve.
-#, fuzzy
msgid "Must specify a profile."
-msgstr "Ð\9dедоÑ\81Ñ\82аÑ\81Ñ\83ва профил."
+msgstr "Ð\9cоÑ\80а да наведеÑ\82е профил."
#. TRANS: Client error displayed trying to approve group membership for a non-existing request.
#. TRANS: Client error displayed when trying to approve a non-existing group join request.
#. TRANS: %s is a user nickname.
-#, fuzzy, php-format
+#, php-format
msgid "%s is not in the moderation queue for this group."
-msgstr "Список на корисниците на оваа група."
+msgstr "%s не е редицата за модерација на оваа група."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received neither cancel nor abort."
-msgstr ""
+msgstr "Внатрешна грешка: не примив ни откажување ни прекин."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received both cancel and abort."
-msgstr ""
+msgstr "Внатрешна грешка: примив и откажување и прекин."
#. TRANS: Server error displayed when cancelling a queued group join request fails.
#. TRANS: %1$s is the leaving user's nickname, $2$s is the group nickname for which the leave failed.
-#, fuzzy, php-format
+#, php-format
msgid "Could not cancel request for user %1$s to join group %2$s."
-msgstr "Не можам да го зачленам корисникот %1$s во групата 2$s."
+msgstr ""
+"Не можев да го откажам барањето да го зачленам корисникот %1$s во групата %2"
+"$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
-#, fuzzy, php-format
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
+#, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
-msgstr "%1$s статус на %2$s"
+msgstr "Барањето на %1$s за %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
-msgstr ""
+msgstr "Барањето за зачленување е одобрено."
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
-msgstr ""
+msgstr "Барањето за зачленување е откажано."
#. TRANS: Client exception thrown when requesting a favorite feed for a non-existing profile.
#. TRANS: Client exception.
#. TRANS: Client error displayed when trying to approve group applicants without being a group administrator.
msgid "Only the group admin may approve users."
-msgstr ""
+msgstr "Само администраторот на групата може да одобрува корисници."
#. TRANS: Title of the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %s is the name of the group.
-#, fuzzy, php-format
+#, php-format
msgid "%s group members awaiting approval"
-msgstr "Членства на групата %s"
+msgstr "Членови на групата %s што чекаат одобрение"
#. TRANS: Title of all but the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %1$s is the name of the group, %2$d is the page number of the members list.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members awaiting approval, page %2$d"
-msgstr "Членови на групата %1$s, стр. %2$d"
+msgstr "Членови на групата %1$s што чекаат одобрение, страница %2$d"
#. TRANS: Page notice for group members page.
-#, fuzzy
msgid "A list of users awaiting approval to join this group."
-msgstr "Список на корисниците на оваа група."
+msgstr ""
+"Список на корисниците што чекаат одобрение за да се зачленат во групата."
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#, php-format
msgstr "%1$s се зачлени во групата %2$s"
#. TRANS: Exception thrown when there is an unknown error joining a group.
-#, fuzzy
msgid "Unknown error joining group."
-msgstr "Непозната група."
+msgstr "Непозната грешка при зачленување во групата."
#. TRANS: Client error displayed when trying to join a group while already a member.
#. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
msgstr "Корисникот е веќе во песочен режим."
#. TRANS: Title for the sessions administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Sessions"
msgstr "Сесии"
msgstr "Сесиски нагодувања за ова StatusNet-мрежно место"
#. TRANS: Fieldset legend on the sessions administration panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Sessions"
msgstr "Сесии"
#. TRANS: Checkbox title on the sessions administration panel.
#. TRANS: Indicates if StatusNet should handle session administration.
-#, fuzzy
msgid "Handle sessions ourselves."
-msgstr "Ð\94али Ñ\81амиÑ\82е да Ñ\81и раководиме со сесиите."
+msgstr "СамиÑ\82е да раководиме со сесиите."
#. TRANS: Checkbox label on the sessions administration panel.
#. TRANS: Indicates if StatusNet should write session debugging output.
msgstr "Поправка на грешки во сесија"
#. TRANS: Checkbox title on the sessions administration panel.
-#, fuzzy
msgid "Enable debugging output for sessions."
msgstr "Вклучи извод од поправка на грешки за сесии."
#. TRANS: Title for submit button on the sessions administration panel.
-#, fuzzy
msgid "Save session settings"
-msgstr "Зачувај нагодувања на пристап"
+msgstr "Зачувај нагодувања на сесијата"
#. TRANS: Client error displayed trying to display an OAuth application while not logged in.
msgid "You must be logged in to view an application."
#. TRANS: Information output on an OAuth application page.
#. TRANS: %1$s is the application creator, %2$s is "read-only" or "read-write",
#. TRANS: %3$d is the number of users using the OAuth application.
-#, fuzzy, php-format
+#, php-format
msgid "Created by %1$s - %2$s access by default - %3$d user"
msgid_plural "Created by %1$s - %2$s access by default - %3$d users"
-msgstr[0] "Создадено од %1$s - основен пристап: %2$s - %3$d корисници"
+msgstr[0] "Создадено од %1$s - основен пристап: %2$s - %3$d корисник"
msgstr[1] "Создадено од %1$s - основен пристап: %2$s - %3$d корисници"
#. TRANS: Header on the OAuth application page.
msgstr "Дејства на програмот"
#. TRANS: Link text to edit application on the OAuth application page.
-#, fuzzy
msgctxt "EDITAPP"
msgid "Edit"
msgstr "Уреди"
msgstr "Инфо за програмот"
#. TRANS: Note on the OAuth application page about signature support.
-#, fuzzy
msgid ""
"Note: HMAC-SHA1 signatures are supported. The plaintext signature method is "
"not supported."
"членови си разменуваат кратки пораки за нивниот живот и интереси. "
#. TRANS: Title for list of group administrators on a group page.
-#, fuzzy
msgctxt "TITLE"
msgid "Admins"
msgstr "Администратори"
msgstr "Корисникот е веќе замолчен."
#. TRANS: Title for site administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Site"
msgstr "Мреж. место"
msgstr "Ограничувањето на дуплирањето мора да изнесува барем 1 секунда."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "General"
msgstr "Општи"
#. TRANS: Field label on site settings panel.
-#, fuzzy
msgctxt "LABEL"
msgid "Site name"
-msgstr "Име на мрежното место"
+msgstr "Име на мреж. место"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "The name of your site, like \"Yourcompany Microblog\"."
-msgstr "Името на Вашето мрежно место, како на пр. „Микроблог на Вашафирма“"
+msgstr "Името на Вашето мрежно место, како на пр. „Микроблог на Вашафирма“."
#. TRANS: Field label on site settings panel.
msgid "Brought by"
msgstr "Овозможено од"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Text used for credits link in footer of each page."
msgstr ""
-"Текст за врската за наведување на авторите во долната колонцифра на секоја "
-"страница"
+"Текст за врската за наведување на авторите во подножјето на секоја страница."
#. TRANS: Field label on site settings panel.
msgid "Brought by URL"
msgstr "URL-адреса на овозможувачот на услугите"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "URL used for credits link in footer of each page."
msgstr ""
-"URL-адÑ\80еÑ\81аÑ\82а коÑ\98а е коÑ\80иÑ\81Ñ\82и за вÑ\80Ñ\81ки за авÑ\82оÑ\80и во долнаÑ\82а колоÑ\86иÑ\84Ñ\80а на "
-"секоја страница"
+"URL-адÑ\80еÑ\81аÑ\82а коÑ\98а е коÑ\80иÑ\81Ñ\82и за вÑ\80Ñ\81ки за авÑ\82оÑ\80и во подножÑ\98еÑ\82о на Ñ\81екоÑ\98а "
+"страница."
#. TRANS: Field label on site settings panel.
msgid "Email"
msgstr "Е-пошта"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Contact email address for your site."
-msgstr "Контактна е-пошта за Вашето мрежното место"
+msgstr "Контактна е-пошта за Вашето мрежното место."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Local"
-msgstr "Ð\9bокално"
+msgstr "Ð\9bокални"
#. TRANS: Dropdown label on site settings panel.
msgid "Default timezone"
msgstr "Јазик на мрежното место ако прелистувачот не може да го препознае сам"
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Limits"
msgstr "Ограничувања"
#. TRANS: Exception thrown trying to approve a non-existing group join request.
msgid "Invalid group join approval: not pending."
-msgstr ""
+msgstr "Неважечко одобрение за членство: не е во исчекување."
#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
msgstr "Блокирај го корисников"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgstr "URL на страницата или блогот на групата или темата"
#. TRANS: Text area title for group description when there is no text limit.
-#, fuzzy
msgid "Describe the group or topic."
-msgstr "Опишете ја групата или темата"
+msgstr "Опишете ја групата или темата."
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
msgstr[0] "Опишете ја групата или темата со највеќе %d знак"
"највеќе до %d"
#. TRANS: Dropdown fieldd label on group edit form.
-#, fuzzy
msgid "Membership policy"
-msgstr "Член од"
+msgstr "Ð\9fÑ\80авило за Ñ\87ленÑ\81Ñ\82во"
msgid "Open to all"
-msgstr ""
+msgstr "Отворено за сите"
msgid "Admin must approve all members"
-msgstr ""
+msgstr "Администраторот мора да ги одобри сите членови"
#. TRANS: Dropdown field title on group edit form.
msgid "Whether admin approval is required to join this group."
-msgstr ""
+msgstr "Дали се бара одобрение од администраторот за зачленување во групава."
#. TRANS: Indicator in group members list that this user is a group administrator.
-#, fuzzy
msgctxt "GROUPADMIN"
msgid "Admin"
msgstr "Администратор"
msgctxt "MENU"
msgid "Pending members (%d)"
msgid_plural "Pending members (%d)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Член во исчекување (%d)"
+msgstr[1] "Членови во исчекување (%d)"
#. TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
#. TRANS: %s is the nickname of the group.
-#, fuzzy, php-format
+#, php-format
msgctxt "TOOLTIP"
msgid "%s pending members"
-msgstr "Членови на групата %s"
+msgstr "Ð\9aоÑ\80иÑ\81ниÑ\86и во иÑ\81Ñ\87екÑ\83ваÑ\9aе на одобÑ\80ение за Ñ\87лнÑ\81Ñ\82во во групата %s"
#. TRANS: Menu item in the group navigation page. Only shown for group administrators.
msgctxt "MENU"
msgid "Unknown inbox source %d."
msgstr "Непознат извор на приемна пошта %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2$d."
-
msgid "Leave"
msgstr "Напушти"
#. TRANS: Common footer block for StatusNet notification emails.
#. TRANS: %1$s is the StatusNet sitename,
#. TRANS: %2$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid ""
"Faithfully yours,\n"
"%1$s.\n"
"----\n"
"Change your email address or notification options at %2$s"
msgstr ""
-"%1$s сега ги следи Вашите забелешки на %2$s.\n"
-"\n"
-"%3$s\n"
-"\n"
-"%4$s%5$s%6$s\n"
"Со искрена почит,\n"
-"%2$s.\n"
+"%1$s.\n"
"\n"
"----\n"
-"Изменете си ја е-поштенската адреса или ги нагодувањата за известувања на %7"
-"$s\n"
+"Изменете си ја е-поштенската адреса или ги нагодувањата за известувања на %2"
+"$s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is a URL.
-#, fuzzy, php-format
+#, php-format
msgid "Profile: %s"
-msgstr "Профил"
+msgstr "Профил: %s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is biographical information.
#. TRANS: This is a paragraph in a new-subscriber e-mail.
#. TRANS: %s is a URL where the subscriber can be reported as abusive.
-#, fuzzy, php-format
+#, php-format
msgid ""
"If you believe this account is being used abusively, you can block them from "
"your subscribers list and report as spam to site administrators at %s."
msgstr ""
"Доколку сметате дека сметкава се злоупотребува, тогаш можете да ја блокирате "
"од списокот на претплатници и да ја пријавите како спам кај администраторите "
-"на %s"
+"на %s."
#. TRANS: Subject of notification mail for new posting email address.
#. TRANS: %s is the StatusNet sitename.
#. TRANS: Body of notification mail for new posting email address.
#. TRANS: %1$s is the StatusNet sitename, %2$s is the e-mail address to send
#. TRANS: to to post by e-mail, %3$s is a URL to more instructions.
-#, fuzzy, php-format
+#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
"\n"
msgstr ""
"Имате нова адреса за објавување пораки на %1$s.\n"
"\n"
-"Ð\98Ñ\81пÑ\80аÑ\9cаÑ\98Ñ\82е е-поÑ\88Ñ\82а до %2$s за да објавувате нови пораки.\n"
+"Ð\98Ñ\81пÑ\80аÑ\9cаÑ\98Ñ\82е е-поÑ\88Ñ\82а на %2$s за да објавувате нови пораки.\n"
"\n"
-"Повеќе напатствија за е-пошта на %3$s.\n"
-"\n"
-"Со искрена почит,\n"
-"%1$s"
+"Повеќе напатствија за е-пошта на %3$s."
#. TRANS: Subject line for SMS-by-email notification messages.
#. TRANS: %s is the posting user's nickname.
#. TRANS: Body for 'nudge' notification email.
#. TRANS: %1$s is the nuding user's long name, $2$s is the nudging user's nickname,
#. TRANS: %3$s is a URL to post notices at.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
"to post some news.\n"
"\n"
"%3$s\n"
"\n"
-"Не одговарајте на ова писмо; никој нема да го добие одговорот.\n"
-"\n"
-"Со почит,\n"
-"%4$s\n"
+"Не одговарајте на ова писмо; никој нема да го добие одговорот."
#. TRANS: Subject for direct-message notification email.
#. TRANS: %s is the sending user's nickname.
#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
"\n"
"\n"
"%4$s\n"
"\n"
-"Не одговарајте на ова писмо; никој нема да го добие одговорот.\n"
-"\n"
-"Со почит,\n"
-"%5$s\n"
+"Не одговарајте на ова писмо; никој нема да го добие одговорот."
#. TRANS: Subject for favorite notification e-mail.
#. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
#. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
#. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
#. TRANS: %7$s is the adding user's nickname.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
"\n"
"\n"
"Погледнете список на бендисаните забелешки на %1$s тука:\n"
"\n"
-"%5$s\n"
-"\n"
-"Со искрена почит,\n"
-"%6$s\n"
+"%5$s"
#. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
#, php-format
#. TRANS: %3$s is a URL to the notice, %4$s is the notice text,
#. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
#. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replies for the addressed user,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s just sent a notice to your attention (an '@-reply') on %2$s.\n"
"\n"
"\n"
"%7$s"
msgstr ""
-"%1$s (@%9$s) штотуку Ви даде на знаење за забелешката ('@-одговор') на %2"
-"$s.\n"
+"%1$s штотуку Ви даде на знаење за забелешката („@-одговор“) на %2$s.\n"
"\n"
"Еве ја забелешката:\n"
"\n"
"\n"
"%6$s\n"
"\n"
-"Еве список на сите @-одговори за Вас:\n"
+"Еве список на сите „@-одговори“ за Вас:\n"
"\n"
-"%7$s\n"
-"\n"
-"Со почит,\n"
-"%2$s\n"
-"\n"
-"П.С. Можете да ги исклучите овие известувања по е-пошта тука: %8$s\n"
+"%7$s"
#. TRANS: Subject of group join notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
#. TRANS: %4$s is a block of profile info about the subscriber.
#. TRANS: %5$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s has joined your group %2$s on %3$s."
-msgstr "%1$s Ñ\81е заÑ\87лени во гÑ\80Ñ\83паÑ\82а %2$s."
+msgstr "%1$s Ñ\81е заÑ\87лени во Ð\92аÑ\88аÑ\82а гÑ\80Ñ\83па %2$s на %3$s."
#. TRANS: Subject of pending group join request notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s wants to join your group %2$s on %3$s."
-msgstr "%1$s Ñ\81е заÑ\87лени во гÑ\80Ñ\83паÑ\82а %2$s."
+msgstr "%1$s Ñ\81ака да Ñ\81е заÑ\87лени во Ð\92аÑ\88аÑ\82а гÑ\80Ñ\83па %2$s на %3$s."
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
"their group membership at %4$s"
msgstr ""
+"%1$s сака да се зачлени во Вашата група %2$s на %3$s. Можете да го одобрите "
+"или одбиете барањето на %4$s"
msgid "Only the user can read their own mailboxes."
msgstr "Само корисникот може да го чита своето сандаче."
msgid "Getting backup from file '%s'."
msgstr "Земам резерва на податотеката „%s“."
-#~ msgid "Notice"
-#~ msgstr "Ð\97абелеÑ\88ки"
+#~ msgid "BUTTON"
+#~ msgstr "Ð\9aÐ\9eÐ\9fЧÐ\95"
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 мали букви или бројки, без интерпукциски знаци и празни места."
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2"
+#~ "$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:47+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:02+0000\n"
"Language-Team: Malayalam <http://translatewiki.net/wiki/Portal:ml>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ml\n"
"X-Message-Group: #out-statusnet-core\n"
msgstr "%2$s എന്ന സംഘത്തിൽ %1$s എന്ന ഉപയോക്താവിനെ ചേർക്കാൻ കഴിഞ്ഞില്ല."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%2$s പദ്ധതിയിൽ %1$s എന്ന ഉപയോക്താവിന്റെ സ്ഥിതിവിവരം"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "ഈ ഉപയോക്താവിനെ തടയുക"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
msgstr[0] "സംഘത്തെക്കുറിച്ചോ വിഷയത്തെക്കുറിച്ചോ %d അക്ഷരത്തിൽ കൂടാതെ വിവരിക്കുക."
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"സന്ദേശത്തിന് നീളം കൂടുതലാണ്. പരമാവധി %1$d അക്ഷരം മാത്രം, താങ്കൾ അയച്ചത് %2$d അക്ഷരങ്ങൾ."
-
msgid "Leave"
msgstr "ഒഴിവായി പോവുക"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr ""
#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "അറിയിപ്പുകൾ"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "സന്ദേശത്തിന് നീളം കൂടുതലാണ്. പരമാവധി %1$d അക്ഷരം മാത്രം, താങ്കൾ അയച്ചത് %2$d അക്ഷരങ്ങൾ."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:50+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:05+0000\n"
"Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Kunne ikke legge bruker %1$s til gruppe %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s sin status på %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Blokker denne brukeren"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Ukjent innbokskilde %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Melding for lang - maks er %1$d tegn, du sendte %2$d."
-
msgid "Leave"
msgstr "Forlat"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Notiser"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Melding for lang - maks er %1$d tegn, du sendte %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:49+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:04+0000\n"
"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
#. TRANS: Client error displayed trying to approve group membership while not logged in.
#. TRANS: Client error displayed when trying to leave a group while not logged in.
-#, fuzzy
msgid "Must be logged in."
-msgstr "Niet aangemeld."
+msgstr "U moet aangemeld zijn."
#. TRANS: Client error displayed trying to approve group membership while not a group administrator.
#. TRANS: Client error displayed when trying to approve or cancel a group join request without
#. TRANS: being a group administrator.
msgid "Only group admin can approve or cancel join requests."
msgstr ""
+"Alleen de beheerdersgroep kan verzoeken om lid te worden accepteren of "
+"afwijzen."
#. TRANS: Client error displayed trying to approve group membership without specifying a profile to approve.
-#, fuzzy
msgid "Must specify a profile."
-msgstr "Ontbrekend profiel."
+msgstr "Er moet een profiel opgegeven worden."
#. TRANS: Client error displayed trying to approve group membership for a non-existing request.
#. TRANS: Client error displayed when trying to approve a non-existing group join request.
#. TRANS: %s is a user nickname.
-#, fuzzy, php-format
+#, php-format
msgid "%s is not in the moderation queue for this group."
-msgstr "Ledenlijst van deze groep"
+msgstr "%s heeft geen openstaand verzoek voor deze groep."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received neither cancel nor abort."
-msgstr ""
+msgstr "Interne fout: zowel annuleren als afbreken is niet ontvangen."
#. TRANS: Client error displayed trying to approve/deny group membership.
msgid "Internal error: received both cancel and abort."
-msgstr ""
+msgstr "Interne fout: er is zowel annuleren als afbreken ontvangen."
#. TRANS: Server error displayed when cancelling a queued group join request fails.
#. TRANS: %1$s is the leaving user's nickname, $2$s is the group nickname for which the leave failed.
-#, fuzzy, php-format
+#, php-format
msgid "Could not cancel request for user %1$s to join group %2$s."
-msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
+msgstr ""
+"Het was niet mogelijk het verzoek van gebruiker %1$s om lid te worden van de "
+"groep %2$s te annuleren."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
-#, fuzzy, php-format
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
+#, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
-msgstr "Status van %1$s op %2$s"
+msgstr "Verzoek van %1$s voor %2$s."
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
-msgstr ""
+msgstr "Uw verzoek om lid te worden is geaccepteerd."
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
-msgstr ""
+msgstr "Het verzoek voor lidmaatschap is geweigerd."
#. TRANS: Client exception thrown when requesting a favorite feed for a non-existing profile.
#. TRANS: Client exception.
#. TRANS: Client error displayed when trying to approve group applicants without being a group administrator.
msgid "Only the group admin may approve users."
-msgstr ""
+msgstr "Alleen groepsbeheerders mogen gebruikers accepteren."
#. TRANS: Title of the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %s is the name of the group.
-#, fuzzy, php-format
+#, php-format
msgid "%s group members awaiting approval"
-msgstr "groepslidmaatschappen van %s"
+msgstr "Groepslidmaatschapsaanvragen voor %s die wachten op goedkeuring"
#. TRANS: Title of all but the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %1$s is the name of the group, %2$d is the page number of the members list.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members awaiting approval, page %2$d"
-msgstr "%1$s groeps leden, pagina %2$d"
+msgstr ""
+"Groepslidmaatschapsaanvragen voor %1$s die wachten op goedkeuring, pagina %2"
+"$d"
#. TRANS: Page notice for group members page.
-#, fuzzy
msgid "A list of users awaiting approval to join this group."
-msgstr "Ledenlijst van deze groep"
+msgstr ""
+"Een lijst met gebruikers die wachten om geaccepteerd te worden voor deze "
+"groep."
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#, php-format
msgstr "%1$s is lid geworden van de groep %2$s"
#. TRANS: Exception thrown when there is an unknown error joining a group.
-#, fuzzy
msgid "Unknown error joining group."
-msgstr "Onbekende groep."
+msgstr "Er is een onbekende fout opgetreden bij het lid worden van de groep."
#. TRANS: Client error displayed when trying to join a group while already a member.
#. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
msgstr "Deze gebruiker is al in de zandbak geplaatst."
#. TRANS: Title for the sessions administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Sessions"
msgstr "Sessies"
msgstr "Sessieinstellingen voor deze StatusNet-website"
#. TRANS: Fieldset legend on the sessions administration panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Sessions"
msgstr "Sessies"
#. TRANS: Checkbox title on the sessions administration panel.
#. TRANS: Indicates if StatusNet should handle session administration.
-#, fuzzy
msgid "Handle sessions ourselves."
-msgstr "Of sessies door de software zelf afgehandeld moeten worden."
+msgstr "De software moet sessies zelf afhandelen."
#. TRANS: Checkbox label on the sessions administration panel.
#. TRANS: Indicates if StatusNet should write session debugging output.
msgstr "Sessies debuggen"
#. TRANS: Checkbox title on the sessions administration panel.
-#, fuzzy
msgid "Enable debugging output for sessions."
msgstr "Debuguitvoer voor sessies inschakelen."
#. TRANS: Title for submit button on the sessions administration panel.
-#, fuzzy
msgid "Save session settings"
-msgstr "Toegangsinstellingen opslaan"
+msgstr "Sessie-instellingen opslaan"
#. TRANS: Client error displayed trying to display an OAuth application while not logged in.
msgid "You must be logged in to view an application."
#. TRANS: Information output on an OAuth application page.
#. TRANS: %1$s is the application creator, %2$s is "read-only" or "read-write",
#. TRANS: %3$d is the number of users using the OAuth application.
-#, fuzzy, php-format
+#, php-format
msgid "Created by %1$s - %2$s access by default - %3$d user"
msgid_plural "Created by %1$s - %2$s access by default - %3$d users"
-msgstr[0] "Aangemaakt door %1$s - standaardtoegang \"%2$s\" - %3$d gebruikers"
+msgstr[0] "Aangemaakt door %1$s - standaardtoegang \"%2$s\" - %3$d gebruiker"
msgstr[1] "Aangemaakt door %1$s - standaardtoegang \"%2$s\" - %3$d gebruikers"
#. TRANS: Header on the OAuth application page.
msgstr "Applicatiehandelingen"
#. TRANS: Link text to edit application on the OAuth application page.
-#, fuzzy
msgctxt "EDITAPP"
msgid "Edit"
msgstr "Bewerken"
msgstr "Applicatieinformatie"
#. TRANS: Note on the OAuth application page about signature support.
-#, fuzzy
msgid ""
"Note: HMAC-SHA1 signatures are supported. The plaintext signature method is "
"not supported."
"over hun ervaringen en interesses. "
#. TRANS: Title for list of group administrators on a group page.
-#, fuzzy
msgctxt "TITLE"
msgid "Admins"
msgstr "Beheerders"
msgstr "Deze gebruiker is al gemuilkorfd."
#. TRANS: Title for site administration panel.
-#, fuzzy
msgctxt "TITLE"
msgid "Site"
msgstr "Website"
msgstr "De duplicaatlimiet moet één of meer seconden zijn."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "General"
msgstr "Algemeen"
#. TRANS: Field label on site settings panel.
-#, fuzzy
msgctxt "LABEL"
msgid "Site name"
msgstr "Websitenaam"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "The name of your site, like \"Yourcompany Microblog\"."
-msgstr "De naam van de website, zoals \"UwBedrijf Microblog\""
+msgstr "De naam van de website, zoals \"UwBedrijf Microblog\"."
#. TRANS: Field label on site settings panel.
msgid "Brought by"
msgstr "Mogelijk gemaakt door"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Text used for credits link in footer of each page."
msgstr ""
"De tekst die gebruikt worden in de \"creditsverwijzing\" in de voettekst van "
-"iedere pagina"
+"iedere pagina."
#. TRANS: Field label on site settings panel.
msgid "Brought by URL"
msgstr "\"Mogelijk gemaakt door\"-URL"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "URL used for credits link in footer of each page."
msgstr ""
-"URL die wordt gebruikt voor de verwijzing naar de hoster en dergelijke in de "
-"voettekst van iedere pagina"
+"De URL die wordt gebruikt voor de verwijzing de credits in de voettekst van "
+"iedere pagina."
#. TRANS: Field label on site settings panel.
msgid "Email"
msgstr "E-mail"
#. TRANS: Field title on site settings panel.
-#, fuzzy
msgid "Contact email address for your site."
-msgstr "E-mailadres om contact op te nemen met de websitebeheerder"
+msgstr "E-mailadres om contact op te nemen met de websitebeheerder."
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Local"
msgstr "Lokaal"
"kan worden"
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Limits"
msgstr "Limieten"
#. TRANS: Exception thrown trying to approve a non-existing group join request.
msgid "Invalid group join approval: not pending."
-msgstr ""
+msgstr "Ongeldig groepslidmaatschapverzoek: niet in behandeling."
#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
msgstr "Deze gebruiker blokkeren"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgstr "De URL van de thuispagina of de blog van de groep of het onderwerp"
#. TRANS: Text area title for group description when there is no text limit.
-#, fuzzy
msgid "Describe the group or topic."
-msgstr "Beschrijf de groep of het onderwerp"
+msgstr "Beschrijf de groep of het onderwerp."
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "Beschrijf de group in %d teken of minder"
-msgstr[1] "Beschrijf de group in %d tekens of minder"
+msgstr[0] "Beschrijf de groep in %d teken of minder."
+msgstr[1] "Beschrijf de groep in %d tekens of minder."
#. TRANS: Field title on group edit form.
msgid ""
"aliasen toegestaan."
#. TRANS: Dropdown fieldd label on group edit form.
-#, fuzzy
msgid "Membership policy"
-msgstr "Lid sinds"
+msgstr "Lidmaatschapsbeleid"
msgid "Open to all"
-msgstr ""
+msgstr "Open voor iedereen"
msgid "Admin must approve all members"
-msgstr ""
+msgstr "Beheerders moeten alle leden accepteren"
#. TRANS: Dropdown field title on group edit form.
msgid "Whether admin approval is required to join this group."
msgstr ""
+"Voor lidmaatschap van de groep is toestemming van de groepsbeheerder vereist."
#. TRANS: Indicator in group members list that this user is a group administrator.
-#, fuzzy
msgctxt "GROUPADMIN"
msgid "Admin"
msgstr "Beheerder"
msgctxt "MENU"
msgid "Pending members (%d)"
msgid_plural "Pending members (%d)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Opstaande aanvraag voor groepslidmaatschap"
+msgstr[1] "Openstaande aanvragen voor groepslidmaatschap (%d)"
#. TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
#. TRANS: %s is the nickname of the group.
-#, fuzzy, php-format
+#, php-format
msgctxt "TOOLTIP"
msgid "%s pending members"
-msgstr "leden van de groep %s"
+msgstr "Groepslidmaatschapsaanvragen voor de groep %s"
#. TRANS: Menu item in the group navigation page. Only shown for group administrators.
msgctxt "MENU"
msgid "Unknown inbox source %d."
msgstr "Onbekende bron Postvak IN %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van uw "
-"bericht was %2$d."
-
msgid "Leave"
msgstr "Verlaten"
#. TRANS: Common footer block for StatusNet notification emails.
#. TRANS: %1$s is the StatusNet sitename,
#. TRANS: %2$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid ""
"Faithfully yours,\n"
"%1$s.\n"
"----\n"
"Change your email address or notification options at %2$s"
msgstr ""
-"%1$s volgt nu uw medelingen op %2$s.\n"
-"\n"
-"%3$s\n"
-"\n"
-"%4$s%5$s%6$s\n"
-"\n"
"Met vriendelijke groet,\n"
-"%2$s.\n"
+"%1$s.\n"
+"\n"
"----\n"
-"Wijzig uw e-mailadres of instellingen op %7$s\n"
+"Wijzig uw e-mailadres of instellingen op %2$s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is a URL.
-#, fuzzy, php-format
+#, php-format
msgid "Profile: %s"
-msgstr "Profiel"
+msgstr "Profiel: %s"
#. TRANS: Profile info line in notification e-mail.
#. TRANS: %s is biographical information.
#. TRANS: This is a paragraph in a new-subscriber e-mail.
#. TRANS: %s is a URL where the subscriber can be reported as abusive.
-#, fuzzy, php-format
+#, php-format
msgid ""
"If you believe this account is being used abusively, you can block them from "
"your subscribers list and report as spam to site administrators at %s."
msgstr ""
"Als u denkt dat deze gebruiker wordt misbruikt, dan kunt u deze voor uw "
-"abonnees blokkeren en als spam rapporteren naar de websitebeheerders op %s."
+"abonnees blokkeren en als spam rapporteren naar de websitebeheerders via de "
+"volgende verwijzing: %s."
#. TRANS: Subject of notification mail for new posting email address.
#. TRANS: %s is the StatusNet sitename.
#. TRANS: Body of notification mail for new posting email address.
#. TRANS: %1$s is the StatusNet sitename, %2$s is the e-mail address to send
#. TRANS: to to post by e-mail, %3$s is a URL to more instructions.
-#, fuzzy, php-format
+#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
"\n"
"\n"
"Zend een e-mail naar %2$s om nieuwe berichten te versturen.\n"
"\n"
-"Meer informatie over e-mailen vindt u op %3$s.\n"
-"\n"
-"Met vriendelijke groet,\n"
-"%1$s"
+"Meer informatie over e-mailen vindt u op %3$s."
#. TRANS: Subject line for SMS-by-email notification messages.
#. TRANS: %s is the posting user's nickname.
#. TRANS: Body for 'nudge' notification email.
#. TRANS: %1$s is the nuding user's long name, $2$s is the nudging user's nickname,
#. TRANS: %3$s is a URL to post notices at.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
"to post some news.\n"
"%3$s\n"
"\n"
"Schrijf geen antwoord op deze e-mail. Die komt niet aan bij de juiste "
-"gebruiker.\n"
-"\n"
-"Met vriendelijke groet,\n"
-"%4$s\n"
+"gebruiker."
#. TRANS: Subject for direct-message notification email.
#. TRANS: %s is the sending user's nickname.
#. TRANS: Body for direct-message notification email.
#. TRANS: %1$s is the sending user's long name, %2$s is the sending user's nickname,
#. TRANS: %3$s is the message content, %4$s a URL to the message,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
"\n"
"%4$s\n"
"\n"
"Schrijf geen antwoord op deze e-mail. Die komt niet aan bij de juiste "
-"gebruiker.\n"
-"\n"
-"Met vriendelijke groet,\n"
-"%5$s\n"
+"gebruiker."
#. TRANS: Subject for favorite notification e-mail.
#. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
#. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
#. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
#. TRANS: %7$s is the adding user's nickname.
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
"\n"
"\n"
"U kunt de favorietenlijst van %1$s via de volgende verwijzing bekijken:\n"
"\n"
-"%5$s\n"
-"\n"
-"Met vriendelijke groet,\n"
-"%6$s\n"
+"%5$s"
#. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
#, php-format
#. TRANS: %3$s is a URL to the notice, %4$s is the notice text,
#. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
#. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replies for the addressed user,
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s just sent a notice to your attention (an '@-reply') on %2$s.\n"
"\n"
"\n"
"%7$s"
msgstr ""
-"%1$s (@%9$s) heeft u zojuist een mededeling gezonden (een '@-antwoord') op %2"
-"$s.\n"
+"%1$s heeft u zojuist een mededeling gezonden (een '@-antwoord') op %2$s.\n"
"\n"
"De mededeling is hier te vinden:\n"
"\n"
"\n"
"De lijst met alle @-antwoorden aan u:\n"
"\n"
-"%7$s\n"
-"\n"
-"Groet,\n"
-"%2$s\n"
-"\n"
-"Ps. U kunt de e-mailmeldingen hier uitschakelen: %8$s\n"
+"%7$s"
#. TRANS: Subject of group join notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
#. TRANS: %4$s is a block of profile info about the subscriber.
#. TRANS: %5$s is a link to the addressed user's e-mail settings.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s has joined your group %2$s on %3$s."
-msgstr "%1$s is lid geworden van de groep %2$s."
+msgstr "%1$s is lid geworden van de groep %2$s op %3$s."
#. TRANS: Subject of pending group join request notification e-mail.
#. TRANS: %1$s is the joining user's nickname, %2$s is the group name, and %3$s is the StatusNet sitename.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s wants to join your group %2$s on %3$s."
-msgstr "%1$s is lid geworden van de groep %2$s."
+msgstr "%1$s wil lid worden van de groep %2$s op %3$s."
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
"their group membership at %4$s"
msgstr ""
+"%1$s wil lid worden van de groep %2$s op %3$s. U kunt dit verzoek accepteren "
+"of weigeren via de volgende verwijzing: %4$s."
msgid "Only the user can read their own mailboxes."
msgstr "Gebruikers kunnen alleen hun eigen postvakken lezen."
msgid "Getting backup from file '%s'."
msgstr "De back-up wordt uit het bestand \"%s\" geladen."
-#~ msgid "Notice"
-#~ msgstr "Mededeling"
+#~ msgid "BUTTON"
+#~ msgstr "X"
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties."
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van "
+#~ "uw bericht was %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:52+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:06+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && "
"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n"
"X-Message-Group: #out-statusnet-core\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Nie można dołączyć użytkownika %1$s do grupy %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Stan użytkownika %1$s na %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Zablokuj tego użytkownika"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "Opisz grupę lub temat w %d znaku"
-msgstr[1] "Opisz grupę lub temat w %d znakach"
-msgstr[2] "Opisz grupę lub temat w %d znakach"
+msgstr[0] "Opisz grupę lub temat w %d znaku."
+msgstr[1] "Opisz grupę lub temat w %d znakach lub mniej."
+msgstr[2] "Opisz grupę lub temat w %d znakach lub mniej."
#. TRANS: Field title on group edit form.
msgid ""
msgid "Unknown inbox source %d."
msgstr "Nieznane źródło skrzynki odbiorczej %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
-
msgid "Leave"
msgstr "Opuść"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Pobieranie kopii zapasowej z pliku \"%s\"."
-#~ msgid "Notice"
-#~ msgstr "Wpisy"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 małe litery lub liczby, bez spacji i znaków przestankowych."
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:54+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:07+0000\n"
"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Estado de %1$s em %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloquear este utilizador"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Origem da caixa de entrada desconhecida \"%s\"."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
-
msgid "Leave"
msgstr "Afastar-me"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Notas"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:55+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:08+0000\n"
"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
"br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Não foi possível associar o usuário %1$s ao grupo %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Mensagem de %1$s no %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bloquear este usuário"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Fonte da caixa de entrada desconhecida %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
-
msgid "Leave"
msgstr "Sair"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Mensagens"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 letras minúsculas ou números, sem pontuações ou espaços."
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2"
+#~ "$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:57+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:10+0000\n"
"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-core\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"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Не удаётся присоединить пользователя %1$s к группе %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "Статус %1$s на %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgid ""
"You can update your personal profile info here so people know more about you."
msgstr ""
-"Вы можете обновить ваш профиль ниже, так что люди узнают о вас немного "
-"больше."
+"Ниже вы можете обновить свой профиль, чтобы люди узнали о вас немного больше."
#. TRANS: Profile settings form legend.
msgid "Profile information"
#. TRANS: Field label on account registration page.
#. TRANS: Field label on group edit form.
msgid "Location"
-msgstr "Месторасположение"
+msgstr "Местоположение"
#. TRANS: Tooltip for field label in form for profile settings.
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Главная"
msgid "Admin"
-msgstr "Ð\9dаÑ\81Ñ\82Ñ\80ойки"
+msgstr "Ð\90дминиÑ\81Ñ\82Ñ\80иÑ\80ование"
#. TRANS: Menu item title/tooltip
msgid "Basic site configuration"
msgstr "Заблокировать пользователя."
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Неизвестный источник входящих сообщений %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
-
msgid "Leave"
msgstr "Покинуть"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgctxt "Send button for sending notice"
msgid "Send"
-msgstr "Отправить"
+msgstr "↵"
msgid "Messages"
msgstr "Сообщения"
msgid "Getting backup from file '%s'."
msgstr "Получение резервной копии из файла «%s»."
-#~ msgid "Notice"
-#~ msgstr "Записи"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 латинских строчных буквы или цифры, без пробелов"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr ""
+#~ "Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#. TRANS: Server error displayed when group aliases could not be added.
#. TRANS: Server exception thrown when creating group aliases failed.
#: actions/apigroupprofileupdate.php:195 actions/editgroup.php:283
-#: classes/User_group.php:578
+#: classes/User_group.php:548
msgid "Could not create aliases."
msgstr ""
msgstr ""
#. TRANS: Title for leave group page after group join request is approved/disapproved.
-#: actions/approvegroup.php:172
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
+#: actions/approvegroup.php:173
#, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr ""
-#: actions/approvegroup.php:178
+#. TRANS: Message on page for group admin after approving a join request.
+#: actions/approvegroup.php:180
msgid "Join request approved."
msgstr ""
-#: actions/approvegroup.php:180
+#. TRANS: Message on page for group admin after rejecting a join request.
+#: actions/approvegroup.php:183
msgid "Join request canceled."
msgstr ""
msgstr ""
#. TRANS: Client exception thrown when a user tries to create a group while banned.
-#: actions/newgroup.php:73 classes/User_group.php:518
+#: actions/newgroup.php:73 classes/User_group.php:488
msgid "You are not allowed to create groups on this site."
msgstr ""
msgstr ""
#. TRANS: Activity title when marking a notice as favorite.
-#: classes/Fave.php:176
+#: classes/Fave.php:112
msgid "Favor"
msgstr ""
#. TRANS: Ntofication given when a user marks a notice as favorite.
#. TRANS: %1$s is a user nickname or full name, %2$s is a notice URI.
-#: classes/Fave.php:179
+#: classes/Fave.php:115
#, php-format
msgid "%1$s marked notice %2$s as a favorite."
msgstr ""
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:939
+#: classes/Notice.php:865
msgid "Bad type provided to saveKnownGroups."
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1038
+#: classes/Notice.php:964
msgid "Problem saving group inbox."
msgstr ""
#. TRANS: Server exception thrown when a reply cannot be saved.
#. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1154
+#: classes/Notice.php:1080
#, php-format
msgid "Could not save reply for %1$d, %2$d."
msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1618
+#: classes/Notice.php:1544
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
#. TRANS: Full name of a profile or group followed by nickname in parens
-#: classes/Profile.php:172 classes/User_group.php:275
+#: classes/Profile.php:172 classes/User_group.php:245
#, php-format
msgctxt "FANCYNAME"
msgid "%1$s (%2$s)"
msgstr ""
#. TRANS: Exception thrown trying to approve a non-existing group join request.
-#: classes/Profile.php:407
+#: classes/Profile.php:335
msgid "Invalid group join approval: not pending."
msgstr ""
#. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:865
+#: classes/Profile.php:793
#, php-format
msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
msgstr ""
#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:874
+#: classes/Profile.php:802
#, php-format
msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
msgstr ""
msgstr ""
#. TRANS: Server exception.
-#: classes/User.php:946
+#: classes/User.php:871
msgid "No single user defined for single-user mode."
msgstr ""
#. TRANS: Server exception.
-#: classes/User.php:950
+#: classes/User.php:875
msgid "Single-user mode code called when not enabled."
msgstr ""
#. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:560
+#: classes/User_group.php:530
msgid "Could not create group."
msgstr ""
#. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:570
+#: classes/User_group.php:540
msgid "Could not set group URI."
msgstr ""
#. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:593
+#: classes/User_group.php:563
msgid "Could not set group membership."
msgstr ""
#. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:608
+#: classes/User_group.php:578
msgid "Could not save local group info."
msgstr ""
#. TRANS: Submit button text on form to cancel group join request.
#: lib/cancelgroupform.php:115
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Message given if content is too long. %1$sd is used for plural.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:494
+#: lib/command.php:494 lib/implugin.php:486
#, php-format
msgid "Message too long - maximum is %1$d character, you sent %2$d."
msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
msgid "Unknown inbox source %d."
msgstr ""
-#: lib/implugin.php:485
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-
#: lib/leaveform.php:114
msgid "Leave"
msgstr ""
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#: lib/mail.php:836
#, php-format
msgid ""
msgid "You have favored this notice."
msgstr ""
-#: lib/threadednoticelist.php:428
+#: lib/threadednoticelist.php:427
#, php-format
msgctxt "FAVELIST"
msgid "One person has favored this notice."
msgstr[1] ""
#. TRANS: List message for notice repeated by logged in user.
-#: lib/threadednoticelist.php:482
+#: lib/threadednoticelist.php:481
msgctxt "REPEATLIST"
msgid "You have repeated this notice."
msgstr ""
-#: lib/threadednoticelist.php:488
+#: lib/threadednoticelist.php:486
#, php-format
msgctxt "REPEATLIST"
msgid "One person has repeated this notice."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:12:59+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:11+0000\n"
"Language-Team: Swedish <http://translatewiki.net/wiki/Portal:sv>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Kunde inte ansluta användare %1$s till grupp %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$ss status den %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Blockera denna användare"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr "Okänd källa för inkorg %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
-
msgid "Leave"
msgstr "Lämna"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#~ msgid "Notice"
-#~ msgstr "Notiser"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 små bokstäver eller nummer, inga punkter eller mellanslag"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:13:00+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:12+0000\n"
"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "వాడుకరి %1$sని %2$s గుంపులో చేర్చలేకపోయాం"
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%2$sలో %1$s యొక్క స్థితి"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
#. TRANS: Instructions for design adminsitration panel.
msgid "Design settings for this StatusNet site"
-msgstr ""
+msgstr "ఈ స్టేటస్‌నెట్ సైటుకి రూపురేఖల అమరికలు"
#. TRANS: Client error displayed when a logo URL does is not valid.
msgid "Invalid logo URL."
msgstr "నేపథ్య చిత్రం మరియు రంగుల ఎంపికతో మీ గుంపు ఎలా కనిపించాలో మలచుకోండి."
#. TRANS: Form validation error displayed when group design settings could not be updated because of an application issue.
-#, fuzzy
msgid "Unable to update your design settings."
-msgstr "à°®à±\80 à°°à±\82à°ªà±\81à°°à±\87à°\96à°² à°\85మరిà°\95లని భద్రపరచలేకున్నాం."
+msgstr "à°®à±\80 à°°à±\82à°ªà±\81à°°à±\87à°\96à°² à°\85మరిà°\95లనà±\81 భద్రపరచలేకున్నాం."
#. TRANS: Form text to confirm saved group design settings.
#. TRANS: Confirmation message on Profile design page when saving design settings has succeeded.
#. TRANS: Title of the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %s is the name of the group.
-#, fuzzy, php-format
+#, php-format
msgid "%s group members awaiting approval"
-msgstr "%s గుంపు సభ్యత్వాలు"
+msgstr "అనుతికోసం వేచివున్న %s గుంపు సభ్యులు"
#. TRANS: Title of all but the first page showing pending group members still awaiting approval to join the group.
#. TRANS: %1$s is the name of the group, %2$d is the page number of the members list.
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members awaiting approval, page %2$d"
-msgstr "%1$s గుంపు సభ్యులు, పేజీ %2$d"
+msgstr "అనుమతి కోసం వేచివున్న %1$s గుంపు సభ్యులు, %2$dవ పుట"
#. TRANS: Page notice for group members page.
-#, fuzzy
msgid "A list of users awaiting approval to join this group."
-msgstr "à°\88 à°\97à±\81à°\82à°ªà±\81à°²à±\8b వాడà±\81à°\95à°°à±\81à°²à±\81 జాబితా."
+msgstr "à°\88 à°\97à±\81à°\82à°ªà±\81à°²à±\8b à°\9aà±\87రడానిà°\95à°¿ à°\85à°¨à±\81మతి à°\95à±\8bà°¸à°\82 à°µà±\87à°\9aà°¿à°µà±\81à°¨à±\8dà°¨ వాడà±\81à°\95à°°à±\81à°² జాబితా."
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#, php-format
msgstr "ఆ IM చిరునామా సరైనది కాదు."
#. TRANS: Server error thrown on database error canceling IM address confirmation.
-#, fuzzy
msgid "Could not delete confirmation."
-msgstr "à°\88à°®à±\86యిలà±\8d నిరà±\8dధారణని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aà°²à±\87à°\95à±\81à°¨à±\8dనాà°\82."
+msgstr "నిర్ధారణని తొలగించలేకున్నాం."
#. TRANS: Message given after successfully canceling IM address confirmation.
msgid "IM confirmation cancelled."
msgstr "ఈమెయిలు చిరునామాలు"
#. TRANS: Tooltip for field label for a list of e-mail addresses.
-#, fuzzy
msgid "Addresses of friends to invite (one per line)."
-msgstr "à°\86à°¹à±\8dవానిà°\82à°\9aాలà±\8dసిన మితà±\8dà°°à±\81à°² à°\9aà°¿à°°à±\81నామాలà±\81 (à°²à±\88à°¨à±\81à°\95à°¿ à°\92à°\95à°\9fà°¿ à°\9aà±\8aà°ªà±\8dà°ªà±\81à°¨)"
+msgstr "à°\86à°¹à±\8dవానిà°\82à°\9aాలà±\8dసిన మితà±\8dà°°à±\81à°² à°\9aà°¿à°°à±\81నామాలà±\81 (à°ªà°\82à°\95à±\8dతిà°\95à°¿ à°\92à°\95à°\9fà°¿ à°\9aà±\8aà°ªà±\8dà°ªà±\81à°¨)."
#. TRANS: Field label for a personal message to send to invitees.
msgid "Personal message"
msgstr "గుంపుల్లో చేరడానికి మీరు ప్రవేశించి ఉండాలి."
#. TRANS: Title for join group page after joining.
-#, fuzzy, php-format
+#, php-format
msgctxt "TITLE"
msgid "%1$s joined group %2$s"
-msgstr "%1$s %2$s గుంపులో చేరారు"
+msgstr "%2$s గుంపులో %1$s చేరారు"
#. TRANS: Exception thrown when there is an unknown error joining a group.
-#, fuzzy
msgid "Unknown error joining group."
-msgstr "à°\97à±\81à°°à±\8dà°¤à±\81à°¤à±\86లియని à°\97à±\81à°\82à°ªà±\81."
+msgstr "à°\97à±\81à°\82à°ªà±\81à°²à±\8b à°\9aà±\87à°°à°¡à°\82à°²à±\8b à°\8fà°¦à±\8b à°¤à±\86లియని à°ªà±\8aరపాà°\9fà±\81 à°\9cà°°à°¿à°\97à°¿à°\82ది."
#. TRANS: Client error displayed when trying to join a group while already a member.
#. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
#. TRANS: Field title in the license admin panel.
msgid "Name of the owner of the site's content (if applicable)."
-msgstr ""
+msgstr "ఈ సైటులోని సమాచారానికి యజమాని యొక్క పేరు (ఒకవేళ ఉంటే)."
#. TRANS: Field label in the license admin panel.
msgid "License Title"
msgstr "ఇవి మీరు పంపివున్న అంతరంగిక సందేశాలు."
#. TRANS: Title for page where to change password.
-#, fuzzy
msgctxt "TITLE"
msgid "Change password"
-msgstr "à°¸à°\82à°\95à±\87తపదà°\82 మారà±\8dà°\9aà±\81à°\95à±\8bà°\82à°¡à°¿"
+msgstr "à°¸à°\82à°\95à±\87తపదà°\82 మారà±\8dà°ªà±\81"
#. TRANS: Instructions for page where to change password.
msgid "Change your password."
msgstr "6 లేదా అంతకంటే ఎక్కువ అక్షరాలు."
#. TRANS: Field label on page where to change password. In this field the new password should be typed a second time.
-#, fuzzy
msgctxt "LABEL"
msgid "Confirm"
-msgstr "నిరà±\8dథారిà°\82à°\9aà±\81"
+msgstr "నిరà±\8dథారిà°\82à°\9aà°\82à°¡à°¿"
#. TRANS: Field title on page where to change password.
#. TRANS: Ttile for field label for password reset form where the password has to be typed again.
msgstr "పై సంకేతపదం వలెనే."
#. TRANS: Button text on page where to change password.
-#, fuzzy
msgctxt "BUTTON"
msgid "Change"
msgstr "మార్చు"
#. TRANS: Form validation error on password change when password confirmation does not match.
#. TRANS: Form validation error displayed when trying to register with non-matching passwords.
-#, fuzzy
msgid "Passwords do not match."
msgstr "సంకేతపదాలు సరిపోలలేదు."
#. TRANS: Form validation error on page where to change password.
-#, fuzzy
msgid "Incorrect old password."
-msgstr "పాత సంకేతపదం తప్పు"
+msgstr "పాత సంకేతపదం తప్పు."
#. TRANS: Form validation error on page where to change password.
msgid "Error saving user; invalid."
msgstr ""
#. TRANS: Fieldset legend in Paths admin panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Theme"
msgstr "అలంకారం"
msgstr ""
#. TRANS: Field label in Paths admin panel.
-#, fuzzy
msgid "Directory"
-msgstr "à°\85à°²à°\82à°\95ార à°¸à°\82à°\9aà°¯à°\82"
+msgstr "సంచయం"
#. TRANS: Tooltip for field label in Paths admin panel.
msgid "Directory where themes are located."
msgstr ""
#. TRANS: Fieldset legend in Paths admin panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "SSL"
-msgstr "SSLని ఉపయోగించు"
+msgstr "SSL"
#. TRANS: Drop down option in Paths admin panel (option for "When to use SSL").
msgid "Never"
msgstr "SSLని ఉపయోగించు"
#. TRANS: Tooltip for field label in Paths admin panel.
-#, fuzzy
msgid "When to use SSL."
-msgstr "SSLని ఎప్పుడు ఉపయోగించాలి"
+msgstr "SSLని ఎప్పుడు ఉపయోగించాలి."
#. TRANS: Tooltip for field label in Paths admin panel.
msgid "Server to direct SSL requests to."
msgstr "మీరు ప్లగిన్లను నిర్వహించలేరు."
#. TRANS: Client error displayed when trying to enable or disable a non-existing plugin.
-#, fuzzy
msgid "No such plugin."
-msgstr "à°\85à°\9fà±\81à°µà°\82à°\9fà°¿ à°ªà±\87à°\9cà±\80 లేదు."
+msgstr "à°\85à°\9fà±\81à°µà°\82à°\9fà°¿ à°ªà±\8dà°²à°\97à°¿à°¨à±\8d లేదు."
#. TRANS: Page title for AJAX form return when enabling a plugin.
msgctxt "plugin"
#. TRANS: Tooltip for field label in form for profile settings. Plural
#. TRANS: is decided by the number of characters available for the
#. TRANS: biography (%d).
-#, fuzzy, php-format
+#, php-format
msgid "Describe yourself and your interests in %d character"
msgid_plural "Describe yourself and your interests in %d characters"
msgstr[0] "మీ గురించి మరియు మీ ఆసక్తుల గురించి %d అక్షరాల్లో చెప్పండి"
#. TRANS: characters for the biography (%d).
#. TRANS: Form validation error on registration page when providing too long a bio text.
#. TRANS: %d is the maximum number of characters for bio; used for plural.
-#, fuzzy, php-format
+#, php-format
msgid "Bio is too long (maximum %d character)."
msgid_plural "Bio is too long (maximum %d characters)."
-msgstr[0] "స్వపరిచయం చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
-msgstr[1] "స్వపరిచయం చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
+msgstr[0] "(%d అక్షరం గరిష్ఠం)."
+msgstr[1] "(%d అక్షరాలు గరిష్ఠం)."
#. TRANS: Validation error in form for profile settings.
#. TRANS: Client error displayed trying to save site settings without a timezone.
msgstr "కాలమండలాన్ని ఎంచుకోలేదు."
#. TRANS: Validation error in form for profile settings.
-#, fuzzy
msgid "Language is too long (maximum 50 characters)."
msgstr "భాష మరీ పెద్దగా ఉంది (50 అక్షరాలు గరిష్ఠం)."
#. TRANS: Additional text displayed for public feed when there are no public notices for a logged in user.
msgid "Be the first to post!"
-msgstr ""
+msgstr "వ్రాసే మొదటివారు మీరే అవ్వండి!"
#. TRANS: Additional text displayed for public feed when there are no public notices for a not logged in user.
#, php-format
#. TRANS: Message shown to a logged in user for the public tag cloud
#. TRANS: while no tags exist yet. "One" refers to the non-existing hashtag.
msgid "Be the first to post one!"
-msgstr ""
+msgstr "మీరే మొదటివారవ్వండి!"
#. TRANS: Message shown to a anonymous user for the public tag cloud
#. TRANS: while no tags exist yet. "One" refers to the non-existing hashtag.
msgstr ""
#. TRANS: Title for password recovery page in password saved mode.
-#, fuzzy
msgid "Password saved"
-msgstr "సంకేతపదం భద్రమయ్యింది."
+msgstr "సంకేతపదం భద్రమయ్యింది"
#. TRANS: Title for password recovery page when an unknown action has been specified.
msgid "Unknown action"
msgstr "తెలియని చర్య"
#. TRANS: Title for field label for password reset form.
-#, fuzzy
msgid "6 or more characters, and do not forget it!"
msgstr "6 లేదా అంతకంటే ఎక్కువ అక్షరాలు, మర్చిపోకండి!"
msgstr ""
#. TRANS: Reset password form validation error message.
-#, fuzzy
msgid "Password must be 6 characters or more."
-msgstr "సంకేతపదం 6 లేదా అంతకంటే ఎక్కవ అక్షరాలుండాలి."
+msgstr "సంకేతపదం తప్పనిసరిగా 6 లేదా అంతకంటే ఎక్కవ అక్షరాలుండాలి."
#. TRANS: Reset password form validation error message.
msgid "Password and confirmation do not match."
#. TRANS: Client exception thrown when an invalid ID parameter was provided for a file.
#. TRANS: %d is the provided ID for which the file is not present (number).
-#, fuzzy, php-format
+#, php-format
msgid "No such file \"%d\"."
-msgstr "\"%d\" అనే దస్త్రం లేదు"
+msgstr "\"%d\" అనే దస్త్రం లేదు."
#. TRANS: Client error displayed when trying to register to an invite-only site without an invitation.
msgid "Sorry, only invited people can register."
msgstr "నమోదు విజయవంతం"
#. TRANS: Title for registration page.
-#, fuzzy
msgctxt "TITLE"
msgid "Register"
msgstr "నమోదు"
msgstr ""
#. TRANS: Field label on account registration page. In this field the password has to be entered a second time.
-#, fuzzy
msgctxt "PASSWORD"
msgid "Confirm"
-msgstr "నిరà±\8dథారిà°\82à°\9aà±\81"
+msgstr "నిరà±\8dథారిà°\82à°\9aà°\82à°¡à°¿"
#. TRANS: Field label on account registration page.
#, fuzzy
msgstr[1] "మీ గురించి మరియు మీ ఆసక్తుల గురించి %d అక్షరాల్లో చెప్పండి"
#. TRANS: Text area title on account registration page.
-#, fuzzy
msgid "Describe yourself and your interests."
-msgstr "మీ గురించి మరియు మీ ఆసక్తుల గురించి చెప్పండి"
+msgstr "మీ గురించి మరియు మీ ఆసక్తుల గురించి చెప్పండి."
#. TRANS: Field title on account registration page.
msgid "Where you are, like \"City, State (or Region), Country\"."
msgstr "మీరు ఎక్కడివారు, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\"."
#. TRANS: Field label on account registration page.
-#, fuzzy
msgctxt "BUTTON"
msgid "Register"
msgstr "నమోదు"
"doc.help%%%%))"
#. TRANS: Title for list of group administrators on a group page.
-#, fuzzy
msgctxt "TITLE"
msgid "Admins"
msgstr "నిర్వాహకులు"
msgstr "విహారిణి అమరికల నుండి భాషని స్వయంచాలకంగా పొందలేకపోయినప్పుడు ఉపయోగించే సైటు భాష"
#. TRANS: Fieldset legend on site settings panel.
-#, fuzzy
msgctxt "LEGEND"
msgid "Limits"
msgstr "పరిమితులు"
msgstr "సైటు గమనికని భద్రపరచు"
#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
-#, fuzzy
msgid "Maximum length for the site-wide notice is 255 characters."
msgstr "సైటు-వారీ నోటీసుకి గరిష్ఠ పొడవు 255 అక్షరాలు."
msgstr "సైటు గమనిక పాఠ్యం"
#. TRANS: Tooltip for site-wide notice text field in admin panel.
-#, fuzzy
msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
-msgstr "à°¸à±\88à°\9fà±\81-వారà±\80 à°¨à±\8bà°\9fà±\80à°¸à±\81 పాఠà±\8dà°¯à°\82 (255 à°\85à°\95à±\8dషరాలà±\81 à°\97à°°à°¿à°·à±\8dà° à°\82; HTML పరà±\8dà°²à±\87à°¦ు)"
+msgstr "à°¸à±\88à°\9fà±\81-వారà±\80 à°¨à±\8bà°\9fà±\80à°¸à±\81 పాఠà±\8dà°¯à°\82 (255 à°\85à°\95à±\8dషరాలà±\81 à°\97à°°à°¿à°·à±\8dà° à°\82; HTML à°\87à°µà±\8dà°µà±\8aà°\9aà±\8dà°\9aు)"
#. TRANS: Title for button to save site notice in admin panel.
-#, fuzzy
msgid "Save site notice."
-msgstr "à°¸à±\88à°\9fà±\81 à°\97మనిà°\95ని à°à°¦à±\8dరపరà°\9aà±\81"
+msgstr "à°¸à±\88à°\9fà±\81 à°\97మనిà°\95à°¨à±\81 à°à°¦à±\8dరపరà°\9aà°\82à°¡à°¿."
#. TRANS: Title for SMS settings.
msgid "SMS settings"
msgid " (free service)"
msgstr " (స్వేచ్ఛా సేవ)"
-#, fuzzy
msgid "[none]"
-msgstr "ఏమీలేదు"
+msgstr "[ఏమీలేదు]"
msgid "[internal]"
msgstr "[అంతర్గతం]"
msgstr "రచయిత(లు)"
#. TRANS: Column header for plugins table on version page.
-#, fuzzy
msgctxt "HEADER"
msgid "Description"
msgstr "వివరణ"
msgid "No content for notice %s."
msgstr "మీ నోటీసుని మీరే పునరావృతించలేరు."
-#, fuzzy, php-format
+#, php-format
msgid "No such user %s."
-msgstr "అటువంటి వాడుకరి లేరు."
+msgstr "%s అనే వాడుకరి లేరు."
#. TRANS: Client exception thrown when post to collection fails with a 400 status.
#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
#. TRANS: Exception thrown when post to collection fails with a status that is not handled.
#. TRANS: %1$s is a URL, %2$s is the status, %s$s is the fail reason.
-#, fuzzy, php-format
+#, php-format
msgctxt "URLSTATUSREASON"
msgid "%1$s %2$s %3$s"
-msgstr "%1$s - %2$s"
+msgstr "%1$s %2$s %3$s"
#. TRANS: Client exception thrown when there is no source attribute.
msgid "Can't handle remote content yet."
#. TRANS: Form input field instructions.
#. TRANS: %d is the number of available characters for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe your application in %d character"
msgid_plural "Describe your application in %d characters"
-msgstr[0] "à°®à±\80 à°\89à°ªà°\95à°°à°£à°\82 à°\97à±\81à°°à°¿à°\82à°\9aà°¿ %d à°\85à°\95à±\8dషరాలà±\8dలో వివరించండి"
+msgstr[0] "à°®à±\80 à°\89à°ªà°\95à°°à°£à°\82 à°\97à±\81à°°à°¿à°\82à°\9aà°¿ %d à°\85à°\95à±\8dà°·à°°à°\82లో వివరించండి"
msgstr[1] "మీ ఉపకరణం గురించి %d అక్షరాల్లో వివరించండి"
#. TRANS: Form input field instructions.
msgstr "ఈ వాడుకరిని నిరోధించు"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Message given if content is too long. %1$sd is used for plural.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#, fuzzy, php-format
+#, php-format
msgid "Message too long - maximum is %1$d character, you sent %2$d."
msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr[0] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
-msgstr[1] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
+msgstr[0] "%1$d అక్షరం గరిష్ఠం, మీరు %2$d పంపించారు."
+msgstr[1] "%1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
#. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
msgid "You can't send a message to this user."
#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#, fuzzy, php-format
+#, php-format
msgid "Notice too long - maximum is %1$d character, you sent %2$d."
msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr[0] "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
-msgstr[1] "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
+msgstr[0] "%1$d అక్షరం గరిష్ఠం, మీరు %2$d పంపించారు"
+msgstr[1] "%1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు"
#. TRANS: Text shown having sent a reply to a notice successfully.
#. TRANS: %s is the nickname of the user of the notice the reply was sent to.
#. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
#. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#, fuzzy
msgid "Command not yet implemented."
-msgstr "à°\95à±\8dషమిà°\82à°\9aà°\82à°¡à°¿, à°\88 à°\86à°¦à±\87à°¶à°\82 à°\87à°\82à°\95à°¾ à°\85మలà±\81పరà°\9aబడలేదు."
+msgstr "à°\88 à°\86à°¦à±\87శానà±\8dని à°\87à°\82à°\95à°¾ à°\85మలà±\81పరà°\9aలేదు."
#. TRANS: Text shown when issuing the command "off" successfully.
#, fuzzy
msgstr[1] "మీరు ఇప్పటికే లోనికి ప్రవేశించారు!"
#. TRANS: Header line of help text for commands.
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "Commands:"
-msgstr "ఆదేశ ఫలితాలు"
+msgstr "ఆదేశాలు:"
#. TRANS: Help message for IM/SMS command "on"
#, fuzzy
#. TRANS: Help message for IM/SMS command "groups"
msgctxt "COMMANDHELP"
msgid "lists the groups you have joined"
-msgstr ""
+msgstr "మీరు చేరిన గుంపులను చూపిస్తుంది"
#. TRANS: Help message for IM/SMS command "subscriptions"
msgctxt "COMMANDHELP"
msgid "list the people you follow"
-msgstr ""
+msgstr "మీరు అనుసరించే వ్యక్తులను చూపిస్తుంది"
#. TRANS: Help message for IM/SMS command "subscribers"
msgctxt "COMMANDHELP"
msgid "list the people that follow you"
-msgstr ""
+msgstr "మిమ్మల్ని అనుసరించే వ్యక్తులను చూపిస్తుంది"
#. TRANS: Help message for IM/SMS command "leave <nickname>"
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "unsubscribe from user"
-msgstr "à°\88 వాడà±\81à°\95à°°à°¿ à°¨à±\81à°\82à°¡à°¿ à°\9aà°\82దామానà±\81"
+msgstr "వాడà±\81à°\95à°°à°¿ à°¨à±\81à°\82à°¡à°¿ à°\9aà°\82దామానà°\82à°¡à°¿"
#. TRANS: Help message for IM/SMS command "d <nickname> <text>"
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "direct message to user"
-msgstr "%s కి నేరు సందేశాలు"
+msgstr "వాడుకరికి నేరు సందేశం"
#. TRANS: Help message for IM/SMS command "get <nickname>"
msgctxt "COMMANDHELP"
msgstr "ఈ నోటీసుపై స్పందించండి"
#. TRANS: Help message for IM/SMS command "join <group>"
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "join group"
-msgstr "à°\97à±\81à°°à±\8dà°¤à±\81à°¤à±\86లియని à°\97à±\81à°\82à°ªà±\81."
+msgstr "à°\97à±\81à°\82à°ªà±\81à°²à±\8b à°\9aà±\87à°°à°\82à°¡à°¿"
#. TRANS: Help message for IM/SMS command "login"
msgctxt "COMMANDHELP"
msgstr ""
#. TRANS: Help message for IM/SMS command "drop <group>"
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "leave group"
-msgstr "à°\97à±\81à°\82à°ªà±\81 à°¤à±\8aà°²à°\97à°¿à°\82à°ªà±\81"
+msgstr "à°\97à±\81à°\82à°ªà±\81 à°¨à±\81à°\82à°¡à°¿ à°µà±\88à°¦à±\8aà°²à°\97à°\82à°¡à°¿"
#. TRANS: Help message for IM/SMS command "stats"
msgctxt "COMMANDHELP"
#. TRANS: Help message for IM/SMS command "untrack all"
#. TRANS: Help message for IM/SMS command "tracks"
#. TRANS: Help message for IM/SMS command "tracking"
-#, fuzzy
msgctxt "COMMANDHELP"
msgid "not yet implemented."
-msgstr "à°\95à±\8dషమిà°\82à°\9aà°\82à°¡à°¿, à°\88 à°\86à°¦à±\87à°¶à°\82 à°\87à°\82à°\95à°¾ à°\85మలà±\81పరà°\9aబడలà±\87à°¦à±\81."
+msgstr "ఇంకా అమలుపరచబడలేదు."
#. TRANS: Help message for IM/SMS command "nudge <nickname>"
msgctxt "COMMANDHELP"
msgstr "ఈ నోటీసుని పునరావృతించు"
#. TRANS: Button text for adding the favourite status to a notice.
-#, fuzzy
msgctxt "BUTTON"
msgid "Favor"
-msgstr "à°\87à°·à±\8dà°\9fపడà±\81"
+msgstr "à°\87à°·à±\8dà°\9fపడà°\82à°¡à°¿"
msgid "RSS 1.0"
msgstr "RSS 1.0"
msgstr "ఈ ఉపకరణం యొక్క హోమ్‌పేజీ చిరునామా"
#. TRANS: Text area title for group description when there is no text limit.
-#, fuzzy
msgid "Describe the group or topic."
-msgstr "గుంపుని లేదా విషయాన్ని వివరించండి"
+msgstr "గుంపుని లేదా విషయాన్ని వివరించండి."
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
msgstr[1] "గుంపు లేదా విషయాన్ని గురించి %d అక్షరాల్లో వివరించండి"
#. TRANS: Field title on group edit form.
-#, fuzzy
msgid ""
"Location for the group, if any, like \"City, State (or Region), Country\"."
-msgstr "గుంపు యొక్క ప్రాంతం, ఉంటే, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\""
+msgstr "గుంపు యొక్క ప్రాంతం, ఉంటే, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\"."
#. TRANS: Field label on group edit form.
msgid "Aliases"
msgid "Unknown inbox source %d."
msgstr "గుర్తు తెలియని భాష \"%s\"."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
-
msgid "Leave"
msgstr "వైదొలగు"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr ""
-#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "సందేశాలు"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1-64 చిన్నబడి అక్షరాలు లేదా అంకెలు, విరామచిహ్నాలు మరియు ఖాళీలు తప్ప"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:13:02+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:13+0000\n"
"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "%1$s kullanıcısı, %2$s grubuna katılamadı."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s'in %2$s'deki durum mesajları "
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Bu kullanıcıyı engelle"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
msgid "Unknown inbox source %d."
msgstr ""
-#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
-
#, fuzzy
msgid "Leave"
msgstr "Kaydet"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgstr ""
#, fuzzy
-#~ msgid "Notice"
-#~ msgstr "Durum mesajları"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr ""
-#~ "1-64 küçük harf veya rakam, noktalama işaretlerine ve boşluklara izin "
-#~ "verilmez"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:13:03+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:14+0000\n"
"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-core\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"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "Не вдалось долучити користувача %1$s до спільноти %2$s."
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s має статус на %2$s"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "Блокувати користувача"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
msgstr[0] "Опишіть спільноту або тему, вкладаючись у %d знак"
msgid "Unknown inbox source %d."
msgstr "Невідоме джерело вхідного повідомлення %d."
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Повідомлення надто довге, максимум становить %1$d символів, натомість ви "
-"надсилаєте %2$d."
-
msgid "Leave"
msgstr "Залишити"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "Отримання резервної копії файлу «%s»."
-#~ msgid "Notice"
-#~ msgstr "Дописи"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
#~ msgstr ""
-#~ "1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
+#~ "Повідомлення надто довге, максимум становить %1$d символів, натомість ви "
+#~ "надсилаєте %2$d."
msgstr ""
"Project-Id-Version: StatusNet - Core\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:13:05+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:15+0000\n"
"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
"hans>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: #out-statusnet-core\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2011-03-18 20:10:59+0000\n"
+"X-POT-Import-Date: 2011-03-24 15:23:28+0000\n"
#. TRANS: Page title for Access admin panel that allows configuring site access.
#. TRANS: Menu item for site administration
msgstr "无法把用户%1$s添加到%2$s小组"
#. TRANS: Title for leave group page after group join request is approved/disapproved.
+#. TRANS: %1$s is the user nickname, %2$s is the group nickname.
#, fuzzy, php-format
msgctxt "TITLE"
msgid "%1$s's request for %2$s"
msgstr "%1$s在%2$s时发的消息"
+#. TRANS: Message on page for group admin after approving a join request.
msgid "Join request approved."
msgstr ""
+#. TRANS: Message on page for group admin after rejecting a join request.
msgid "Join request canceled."
msgstr ""
msgstr "屏蔽这个用户"
#. TRANS: Submit button text on form to cancel group join request.
-msgid "BUTTON"
+msgctxt "BUTTON"
+msgid "Cancel join request"
msgstr ""
#. TRANS: Title for command results.
#. TRANS: Text area title for group description.
#. TRANS: %d is the number of characters available for the description.
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d character or less."
msgid_plural "Describe the group or topic in %d characters or less."
-msgstr[0] "用不超过%d个字符描述下这个小组或者主题"
+msgstr[0] ""
#. TRANS: Field title on group edit form.
msgid ""
msgid "Unknown inbox source %d."
msgstr "未知的收件箱来源%d。"
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "消息包含%2$d个字符,超出长度限制 - 不能超过%1$d个字符。"
-
msgid "Leave"
msgstr "离开"
#. TRANS: Main body of pending group join request notification e-mail.
#. TRANS: %1$s is the subscriber's long name, %2$s is the group name, and %3$s is the StatusNet sitename,
-#. TRANS: %3$s is the URL to the moderation queue page.
+#. TRANS: %4$s is the URL to the moderation queue page.
#, php-format
msgid ""
"%1$s would like to join your group %2$s on %3$s. You may approve or reject "
msgid "Getting backup from file '%s'."
msgstr "从文件'%s'获取备份。"
-#~ msgid "Notice"
-#~ msgstr "消息"
-
-#~ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-#~ msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
+#~ msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#~ msgstr "消息包含%2$d个字符,超出长度限制 - 不能超过%1$d个字符。"
--- /dev/null
+# Translation of StatusNet - AccountManager to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AccountManager\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:16+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-24 15:23:13+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-accountmanager\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid ""
+"The Account Manager plugin implements the Account Manager specification."
+msgstr ""
+"Ipinatutupad ng pampasak na Tagapamahala ng Akawnt ang mga pagtutukoy ng "
+"Tagapamahala ng Akawnt."
--- /dev/null
+# Translation of StatusNet - Aim to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Aim\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:19+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-18 20:06:11+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-aim\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Send me a message to post a notice"
+msgstr "Padalhan ako ng isang mensahe upang makapagpaskil ng isang pabatid"
+
+msgid "AIM"
+msgstr "AIM"
+
+msgid ""
+"The AIM plugin allows users to send and receive notices over the AIM network."
+msgstr ""
+"Nagpapahintulot sa mga tagagamit ang pampasak na AIM upang makapagpadala at "
+"makatanggap ng mga pabatid sa ibabaw ng kalambatan ng AIM."
--- /dev/null
+# Translation of StatusNet - ExtendedProfile to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ExtendedProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:05:50+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-24 15:25:02+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-extendedprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Extended profile settings"
+msgstr "Dinugtungang mga katakdaan ng balangkas"
+
+#. TRANS: Usage instructions for profile settings.
+msgid ""
+"You can update your personal profile info here so people know more about you."
+msgstr ""
+"Maisasapanahon mo rito ang kabatiran sa iyong pansariling balangkas upang "
+"makaalam pa ng mas marami ang mga tao tungkol sa iyo."
+
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"May isang suliranin sa iyong sesyon ng kahalip. Mangyaring subukan uli."
+
+#. TRANS: Message given submitting a form with an unknown action.
+msgid "Unexpected form submission."
+msgstr "Hindi inaasahang pagpapasa ng pormularyo."
+
+msgid "Details saved."
+msgstr "Nasagip na ang mga detalye."
+
+#. TRANS: Exception thrown when no date was entered in a required date field.
+#. TRANS: %s is the field name.
+#, php-format
+msgid "You must supply a date for \"%s\"."
+msgstr "Dapat kang magbigay ng isang petsa para sa \"%s\"."
+
+#. TRANS: Exception thrown on incorrect data input.
+#. TRANS: %1$s is a field name, %2$s is the incorrect input.
+#, php-format
+msgid "Invalid date entered for \"%1$s\": %2$s."
+msgstr "Hindi katanggap-tanggap na ipinasok na petsa para sa \"%1$s\": %2$s."
+
+#. TRANS: Exception thrown when entering an invalid URL.
+#. TRANS: %s is the invalid URL.
+#, php-format
+msgid "Invalid URL: %s."
+msgstr "Hindi katanggap-tanggap na URL: %s."
+
+msgid "Could not save profile details."
+msgstr "Hindi masagip ang mga detalye ng balangkas."
+
+#. TRANS: Validation error in form for profile settings.
+#. TRANS: %s is an invalid tag.
+#, php-format
+msgid "Invalid tag: \"%s\"."
+msgstr "Hindi katanggap-tanggap na tatak: \"%s\"."
+
+#. TRANS: Server error thrown when user profile settings could not be saved.
+msgid "Could not save profile."
+msgstr "Hindi masagip ang balangkas."
+
+#. TRANS: Server error thrown when user profile settings tags could not be saved.
+msgid "Could not save tags."
+msgstr "Hindi masagip ang mga tatak."
+
+#. TRANS: Link title for link on user profile.
+msgid "Edit extended profile settings"
+msgstr "Baguhin ang mga katakdaan ng dinugtungang balangkas."
+
+#. TRANS: Link text for link on user profile.
+msgid "Edit"
+msgstr "Baguhin"
+
+msgid "UI extensions for additional profile fields."
+msgstr "Mga dutong ng UI para sa mga kahanayan ng karagdagang balangkas."
+
+msgid "More details..."
+msgstr "Marami pang mga detalye..."
+
+msgid "Company"
+msgstr "Kumpanya"
+
+msgid "Start"
+msgstr "Magsimula"
+
+msgid "End"
+msgstr "Tapusin"
+
+msgid "Current"
+msgstr "Pangkasalukuyan"
+
+msgid "Institution"
+msgstr "Institusyon"
+
+msgid "Degree"
+msgstr "Antas"
+
+msgid "Description"
+msgstr "Paglalarawan"
+
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Sagipin"
+
+msgid "Phone"
+msgstr "Telepono"
+
+msgid "IM"
+msgstr "Biglaang Mensahe"
+
+msgid "Website"
+msgstr "Websayt"
+
+msgid "Employer"
+msgstr "Tagapagpahanapbuhay"
+
+msgid "Personal"
+msgstr "Pansarili"
+
+msgid "Full name"
+msgstr "Buong pangalan"
+
+msgid "Title"
+msgstr "Pamagat"
+
+msgid "Manager"
+msgstr "Tagapamahala"
+
+msgid "Location"
+msgstr "Kinalalagyan"
+
+msgid "Bio"
+msgstr "Talambuhay"
+
+msgid "Tags"
+msgstr "Mga tatak"
+
+msgid "Contact"
+msgstr "Kaugnayan"
+
+msgid "Birthday"
+msgstr "Kaarawan"
+
+msgid "Spouse's name"
+msgstr "Pangalan ng asawa"
+
+msgid "Kids' names"
+msgstr "Pangalan ng mga anak"
+
+msgid "Work experience"
+msgstr "Karanasan sa hanapbuhay"
+
+msgid "Education"
+msgstr "Pag-aaral"
--- /dev/null
+# Translation of StatusNet - GroupPrivateMessage to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupPrivateMessage\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:07+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-18 20:07:12+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-groupprivatemessage\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Inbox"
+msgstr "Kahong-tanggapan"
+
+msgid "Private messages for this group"
+msgstr "Pribadong mga mensahe para sa pangkat na ito"
+
+msgid "Allow posting DMs to a group."
+msgstr "Payagan ang pagpapaskil ng mga DM sa isang pangkat."
+
+msgid "This group has not received any private messages."
+msgstr ""
+"Ang pangkat na ito ay hindi pa nakatatanggap ng anumang mga mensaheng "
+"pribado."
+
+#. TRANS: Instructions for user inbox page.
+msgid ""
+"This is the group inbox, which lists all incoming private messages for this "
+"group."
+msgstr ""
+"Ito ang kahong-tanggapan ng pangkat, na nagtatala ng lahat ng pumapasok na "
+"mga mensahe para sa pangkat na ito."
+
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Ipadala"
+
+#, php-format
+msgid "That's too long. Maximum message size is %d character."
+msgid_plural "That's too long. Maximum message size is %d characters."
+msgstr[0] ""
+"Napakahaba niyan. Ang pinakamalaking sukat ng mensahe ay %d panitik."
+msgstr[1] "Napakahaba niyan. Ang pinakamalaking sukat ay %d na mga panitik."
--- /dev/null
+# Translation of StatusNet - Irc to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Irc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:11+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-24 15:25:05+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-irc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "IRC"
+msgstr "IRC"
+
+msgid ""
+"The IRC plugin allows users to send and receive notices over an IRC network."
+msgstr ""
+"Ang pampasak na IRC ay nagpapahintulot sa mga tagagamit na makapagpadala at "
+"makatanggap ng mga pabatid sa ibabaw ng kalambatan ng IRC."
+
+#, php-format
+msgid "Could not increment attempts count for %d"
+msgstr "Hindi masudlungan ang bilang ng pagtatangka para sa %d"
+
+msgid "Your nickname is not registered so IRC connectivity cannot be enabled"
+msgstr "Hindi nakatala ang palayaw mo kaya mapagana ang ugnayan ng IRC"
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:05+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:26+0000\n"
"Language-Team: Arabic <http://translatewiki.net/wiki/Portal:ar>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:20+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:07+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
msgstr ""
msgid "Home"
-msgstr ""
+msgstr "الرئيسية"
msgid "Account"
msgstr "الحساب"
--- /dev/null
+# Translation of StatusNet - Msn to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Msn\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:30+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-24 15:25:07+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-msn\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "MSN"
+msgstr "MSN"
+
+msgid ""
+"The MSN plugin allows users to send and receive notices over the MSN network."
+msgstr ""
+"Ang pampasak ng MSN ay nagpapahintulot sa mga tagagamit na makapagpadala at "
+"makatanggap ng mga pabatid sa ibabaw ng kalambatan ng MSN."
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:28+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Einen Salmon-Slap von einem unidentifizierten Aktor empfangen."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "Beitritt in Remote-Gruppe abgebrochen!"
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:28+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Réception d’une giffle Salmon d’un acteur non identifié."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "L’adhésion au groupe distant a été avortée !"
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:29+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Recipeva un claffo de salmon de un actor non identificate."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "Le adhesion al gruppo remote ha essite abortate!"
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:29+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Примив Salmon-шамар од непознат учесник."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "Придружувањето на далечинската група е откажано!"
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:29+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Er is een Salmonslap ontvangen van een niet-geïdentificeerde actor."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "Het lid worden van de groep bij een andere dienst is afgebroken."
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-24 11:10+0000\n"
-"PO-Revision-Date: 2011-03-24 11:14:29+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:06:53+0000\n"
"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-18 20:08:26+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84667); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Отримано ляпаса від невизначеного учасника за протоколом Salmon."
-
-#~ msgid "Remote group join aborted!"
-#~ msgstr "Приєднання до віддаленої спільноти перервано!"
--- /dev/null
+# Translation of StatusNet - StrictTransportSecurity to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - StrictTransportSecurity\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:17+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-18 20:10:00+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-stricttransportsecurity\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid ""
+"The Strict Transport Security plugin implements the Strict Transport "
+"Security header, improving the security of HTTPS only sites."
+msgstr ""
+"Ipinatutupad ng pampasak na Strict Transport Security ang paulo ng Strict "
+"Transport Security, na nagpapainam sa kaligtasan ng mga sityong may HTTPS "
+"lamang."
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "Sign in with Twitter"
msgstr ""
-#: twitter.php:409
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#: twitter.php:428
+msgid "Your Twitter bridge has been disabled"
msgstr ""
-#: twitter.php:413
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
+#: twitter.php:435
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:00+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Kevreañ gant Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+msgid "Your Twitter bridge has been disabled"
msgstr ""
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:00+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Catalan <http://translatewiki.net/wiki/Portal:ca>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Inici de sessió amb el Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "S'ha inhabilitat el vostre pont del Twitter."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Persian <http://translatewiki.net/wiki/Portal:fa>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fa\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "با حساب کاربری توییتر وارد شوید"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "پل توییتر شما غیر فعال شده است."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "S’inscrire avec Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "Votre passerelle Twitter a été désactivée."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Aperir session con Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "Tu ponte a Twitter ha essite disactivate."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Најава со Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "Вашиот мост до Twitter е оневозможен."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Aanmelden met Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "Uw koppeling naar Twitter is uitgeschakeld."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr ""
-msgid "Your Twitter bridge has been disabled."
-msgstr ""
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
+msgstr "Twitter köprü ayarları"
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:31+0000\n"
"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "Увійти з акаунтом Twitter"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "Ваш місток до Twitter було відключено."
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
msgstr ""
"Project-Id-Version: StatusNet - TwitterBridge\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-03-18 19:45+0000\n"
-"PO-Revision-Date: 2011-03-18 19:50:01+0000\n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:32+0000\n"
"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
"hans>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2011-03-06 02:19:37+0000\n"
-"X-Generator: MediaWiki 1.18alpha (r84232); Translate extension (2011-03-11)\n"
+"X-POT-Import-Date: 2011-03-18 20:10:06+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
msgid "Sign in with Twitter"
msgstr "使用 Twitter 登录"
-msgid "Your Twitter bridge has been disabled."
+#. TRANS: Mail subject after forwarding notices to Twitter has stopped working.
+#, fuzzy
+msgid "Your Twitter bridge has been disabled"
msgstr "你的 Twitter bridge 已被禁用。"
+#. TRANS: Mail body after forwarding notices to Twitter has stopped working.
+#. TRANS: %1$ is the name of the user the mail is sent to, %2$s is a URL to the
+#. TRANS: Twitter settings, %3$s is the StatusNet sitename.
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
--- /dev/null
+# Translation of StatusNet - Xmpp to Tagalog (Tagalog)
+# Exported from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Xmpp\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-03-26 11:02+0000\n"
+"PO-Revision-Date: 2011-03-26 11:07:39+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2011-03-18 20:10:10+0000\n"
+"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-xmpp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid "Send me a message to post a notice"
+msgstr "Padalhan ako ng isang mensahe upang makapagpaskil ng isang pabatid"
+
+msgid "XMPP/Jabber/GTalk"
+msgstr "XMPP/Jabber/GTalk"
+
+msgid ""
+"The XMPP plugin allows users to send and receive notices over the XMPP/"
+"Jabber network."
+msgstr ""
+"Nagpapahintulot ang pampasak ng XMPP sa mga tagagamit upang makapagpadala at "
+"makatanggap ng mga pabatid sa ibabaw ng kalambatan ng XMPP/Jabber."
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-$shortoptions = 'u:n:b:t:x:';
-$longoptions = array('users=', 'notices=', 'subscriptions=', 'tags=', 'prefix=');
+$shortoptions = 'u:n:b:g:j:t:x:z:';
+$longoptions = array('users=', 'notices=', 'subscriptions=', 'groups=', 'joins=', 'tags=', 'prefix=');
$helptext = <<<END_OF_CREATESIM_HELP
Creates a lot of test users and notices to (loosely) simulate a real server.
-u --users Number of users (default 100)
-n --notices Average notices per user (default 100)
-b --subscriptions Average subscriptions per user (default no. users/20)
+ -g --groups Number of groups (default 20)
+ -j --joins Number of groups per user (default 5)
-t --tags Number of distinct hash tags (default 10000)
-x --prefix User name prefix (default 'testuser')
}
}
+function newGroup($i, $j)
+{
+ global $groupprefix;
+ global $userprefix;
+
+ // Pick a random user to be the admin
+
+ $n = rand(0, max($j - 1, 0));
+ $user = User::staticGet('nickname', sprintf('%s%d', $userprefix, $n));
+
+ $group = User_group::register(array('nickname' => sprintf('%s%d', $groupprefix, $i),
+ 'local' => true,
+ 'userid' => $user->id,
+ 'fullname' => sprintf('Test Group %d', $i)));
+}
+
function newNotice($i, $tagmax)
{
global $userprefix;
+ $options = array();
+
$n = rand(0, $i - 1);
$user = User::staticGet('nickname', sprintf('%s%d', $userprefix, $n));
- $is_reply = rand(0, 4);
+ $is_reply = rand(0, 1);
$content = 'Test notice content';
if ($is_reply == 0) {
- $n = rand(0, $i - 1);
- $content = "@$userprefix$n " . $content;
+ common_set_user($user);
+ $notices = $user->noticesWithFriends(0, 20);
+ if ($notices->N > 0) {
+ $nval = rand(0, $notices->N - 1);
+ $notices->fetch(); // go to 0th
+ for ($i = 0; $i < $nval; $i++) {
+ $notices->fetch();
+ }
+ $options['reply_to'] = $notices->id;
+ $dont_use_nickname = rand(0, 2);
+ if ($dont_use_nickname != 0) {
+ $rprofile = $notices->getProfile();
+ $content = "@".$rprofile->nickname." ".$content;
+ }
+ }
}
$has_hash = rand(0, 2);
}
}
- $notice = Notice::saveNew($user->id, $content, 'system');
+ $in_group = rand(0, 5);
+
+ if ($in_group == 0) {
+ $groups = $user->getGroups();
+ if ($groups->N > 0) {
+ $gval = rand(0, $group->N - 1);
+ $groups->fetch(); // go to 0th
+ for ($i = 0; $i < $gval; $i++) {
+ $groups->fetch();
+ }
+ $options['groups'] = array($groups->id);
+ $content = "!".$groups->nickname." ".$content;
+ }
+ }
- $user->free();
- $notice->free();
+ $notice = Notice::saveNew($user->id, $content, 'system', $options);
}
function newSub($i)
$to->free();
}
-function main($usercount, $noticeavg, $subsavg, $tagmax)
+function newJoin($u, $g)
+{
+ global $userprefix;
+ global $groupprefix;
+
+ $userNumber = rand(0, $u - 1);
+
+ $userNick = sprintf('%s%d', $userprefix, $userNumber);
+
+ $user = User::staticGet('nickname', $userNick);
+
+ if (empty($user)) {
+ throw new Exception("Can't find user '$fromnick'.");
+ }
+
+ $groupNumber = rand(0, $g - 1);
+
+ $groupNick = sprintf('%s%d', $groupprefix, $groupNumber);
+
+ $group = User_group::staticGet('nickname', $groupNick);
+
+ if (empty($group)) {
+ throw new Exception("Can't find group '$groupNick'.");
+ }
+
+ if (!$user->isMember($group)) {
+ $user->joinGroup($group);
+ }
+}
+
+function main($usercount, $groupcount, $noticeavg, $subsavg, $joinsavg, $tagmax)
{
global $config;
$config['site']['dupelimit'] = -1;
$n = 1;
+ $g = 1;
newUser(0);
+ newGroup(0, $n);
// # registrations + # notices + # subs
- $events = $usercount + ($usercount * ($noticeavg + $subsavg));
+ $events = $usercount + $groupcount + ($usercount * ($noticeavg + $subsavg + $joinsavg));
+
+ $ut = $usercount;
+ $gt = $ut + $groupcount;
+ $nt = $gt + ($usercount * $noticeavg);
+ $st = $nt + ($usercount * $subsavg);
+ $jt = $st + ($usercount * $joinsavg);
+
+ printfv("$events events ($ut, $gt, $nt, $st, $jt)\n");
for ($i = 0; $i < $events; $i++)
{
- $e = rand(0, 1 + $noticeavg + $subsavg);
+ $e = rand(0, $events);
- if ($e == 0) {
+ if ($e >= 0 && $e <= $ut) {
+ printfv("$i Creating user $n\n");
newUser($n);
$n++;
- } else if ($e < $noticeavg + 1) {
+ } else if ($e > $ut && $e <= $gt) {
+ printfv("$i Creating group $g\n");
+ newGroup($g, $n);
+ $g++;
+ } else if ($e > $gt && $e <= $nt) {
+ printfv("$i Making a new notice\n");
newNotice($n, $tagmax);
- } else {
+ } else if ($e > $nt && $e <= $st) {
+ printfv("$i Making a new subscription\n");
newSub($n);
+ } else if ($e > $st && $e <= $jt) {
+ printfv("$i Making a new group join\n");
+ newJoin($n, $g);
+ } else {
+ printfv("No event for $i!");
}
}
}
-$usercount = (have_option('u', 'users')) ? get_option_value('u', 'users') : 100;
-$noticeavg = (have_option('n', 'notices')) ? get_option_value('n', 'notices') : 100;
-$subsavg = (have_option('b', 'subscriptions')) ? get_option_value('b', 'subscriptions') : max($usercount/20, 10);
-$tagmax = (have_option('t', 'tags')) ? get_option_value('t', 'tags') : 10000;
-$userprefix = (have_option('x', 'prefix')) ? get_option_value('x', 'prefix') : 'testuser';
-
-main($usercount, $noticeavg, $subsavg, $tagmax);
+$usercount = (have_option('u', 'users')) ? get_option_value('u', 'users') : 100;
+$groupcount = (have_option('g', 'groups')) ? get_option_value('g', 'groups') : 20;
+$noticeavg = (have_option('n', 'notices')) ? get_option_value('n', 'notices') : 100;
+$subsavg = (have_option('b', 'subscriptions')) ? get_option_value('b', 'subscriptions') : max($usercount/20, 10);
+$joinsavg = (have_option('j', 'joins')) ? get_option_value('j', 'joins') : 5;
+$tagmax = (have_option('t', 'tags')) ? get_option_value('t', 'tags') : 10000;
+$userprefix = (have_option('x', 'prefix')) ? get_option_value('x', 'prefix') : 'testuser';
+$groupprefix = (have_option('z', 'groupprefix')) ? get_option_value('z', 'groupprefix') : 'testgroup';
+
+try {
+ main($usercount, $groupcount, $noticeavg, $subsavg, $joinsavg, $tagmax);
+} catch (Exception $e) {
+ printfv("Got an exception: ".$e->getMessage());
+}